New GetTargetProgramCounter TC command

This commit is contained in:
Nav
2022-05-01 18:44:04 +01:00
parent 96cae9d1e4
commit 4209d9eb20
8 changed files with 85 additions and 0 deletions

View File

@@ -38,12 +38,14 @@ namespace Bloom::TargetController
using Commands::GetTargetPinStates;
using Commands::SetTargetPinState;
using Commands::GetTargetStackPointer;
using Commands::GetTargetProgramCounter;
using Responses::Response;
using Responses::TargetRegistersRead;
using Responses::TargetMemoryRead;
using Responses::TargetPinStates;
using Responses::TargetStackPointer;
using Responses::TargetProgramCounter;
TargetControllerComponent::TargetControllerComponent(
const ProjectConfig& projectConfig,
@@ -410,6 +412,7 @@ namespace Bloom::TargetController
this->deregisterCommandHandler(GetTargetPinStates::type);
this->deregisterCommandHandler(SetTargetPinState::type);
this->deregisterCommandHandler(GetTargetStackPointer::type);
this->deregisterCommandHandler(GetTargetProgramCounter::type);
this->eventListener->deregisterCallbacksForEventType<Events::DebugSessionFinished>();
@@ -492,6 +495,10 @@ namespace Bloom::TargetController
std::bind(&TargetControllerComponent::handleGetTargetStackPointer, this, std::placeholders::_1)
);
this->registerCommandHandler<GetTargetProgramCounter>(
std::bind(&TargetControllerComponent::handleGetTargetProgramCounter, this, std::placeholders::_1)
);
this->eventListener->registerCallbackForEventType<Events::DebugSessionFinished>(
std::bind(&TargetControllerComponent::onDebugSessionFinishedEvent, this, std::placeholders::_1)
);
@@ -895,4 +902,10 @@ namespace Bloom::TargetController
) {
return std::make_unique<TargetStackPointer>(this->target->getStackPointer());
}
std::unique_ptr<TargetProgramCounter> TargetControllerComponent::handleGetTargetProgramCounter(
GetTargetProgramCounter& command
) {
return std::make_unique<TargetProgramCounter>(this->target->getProgramCounter());
}
}