diff --git a/src/TargetController/TargetControllerComponent.cpp b/src/TargetController/TargetControllerComponent.cpp index 42fd166c..12633945 100644 --- a/src/TargetController/TargetControllerComponent.cpp +++ b/src/TargetController/TargetControllerComponent.cpp @@ -518,8 +518,9 @@ namespace TargetController this->target->activate(); Logger::info("Target activated"); + this->target->postActivate(); + Logger::info("Target name: " + this->targetDescriptor->name); - Logger::info("Target ID: " + this->targetDescriptor->marketId); this->targetState = std::make_unique( TargetExecutionState::UNKNOWN, diff --git a/src/Targets/Microchip/AVR8/Avr8.cpp b/src/Targets/Microchip/AVR8/Avr8.cpp index e0fe94c1..27603d30 100644 --- a/src/Targets/Microchip/AVR8/Avr8.cpp +++ b/src/Targets/Microchip/AVR8/Avr8.cpp @@ -253,6 +253,10 @@ namespace Targets::Microchip::Avr8 } } + void Avr8::postActivate() { + Logger::info("AVR signature: " + this->avr8DebugInterface->getDeviceId().toHex()); + } + TargetDescriptor Avr8::targetDescriptor() { auto descriptor = TargetDescriptor{ this->targetDescriptionFile.getName(), diff --git a/src/Targets/Microchip/AVR8/Avr8.hpp b/src/Targets/Microchip/AVR8/Avr8.hpp index 352e83fb..7d80a792 100644 --- a/src/Targets/Microchip/AVR8/Avr8.hpp +++ b/src/Targets/Microchip/AVR8/Avr8.hpp @@ -53,6 +53,8 @@ namespace Targets::Microchip::Avr8 void activate() override; void deactivate() override; + void postActivate() override; + TargetDescriptor targetDescriptor() override; void run(std::optional toAddress) override; diff --git a/src/Targets/RiscV/RiscV.cpp b/src/Targets/RiscV/RiscV.cpp index 07321c25..b0a15542 100644 --- a/src/Targets/RiscV/RiscV.cpp +++ b/src/Targets/RiscV/RiscV.cpp @@ -77,6 +77,10 @@ namespace Targets::RiscV this->riscVDebugInterface->deactivate(); } + void RiscV::postActivate() { + Logger::info("WCH target ID: " + this->riscVIdInterface->getDeviceId()); + } + TargetDescriptor RiscV::targetDescriptor() { auto descriptor = TargetDescriptor{ this->targetDescriptionFile.getName(), diff --git a/src/Targets/RiscV/RiscV.hpp b/src/Targets/RiscV/RiscV.hpp index e603230e..8c7d0535 100644 --- a/src/Targets/RiscV/RiscV.hpp +++ b/src/Targets/RiscV/RiscV.hpp @@ -34,6 +34,8 @@ namespace Targets::RiscV void activate() override; void deactivate() override; + void postActivate() override; + TargetDescriptor targetDescriptor() override; void run(std::optional toAddress = std::nullopt) override; diff --git a/src/Targets/Target.hpp b/src/Targets/Target.hpp index 8b9c9a2e..d99694ee 100644 --- a/src/Targets/Target.hpp +++ b/src/Targets/Target.hpp @@ -78,6 +78,13 @@ namespace Targets */ virtual void deactivate() = 0; + /** + * This function is called immediately after successful target activation. + * + * It's a good place to log any info that we can extract from the target, that will be useful to the user. + */ + virtual void postActivate() = 0; + /** * Should generate a TargetDescriptor for the current target. *