New target controller console routine for fetching the stack pointer

This commit is contained in:
Nav
2021-11-11 19:05:59 +00:00
parent cc553d2295
commit a305761ab5
2 changed files with 17 additions and 2 deletions

View File

@@ -8,6 +8,9 @@ using namespace Bloom::Targets;
using namespace Bloom::Events;
using namespace Bloom::Exceptions;
TargetControllerConsole::TargetControllerConsole(EventManager& eventManager, EventListener& eventListener)
:eventManager(eventManager), eventListener(eventListener) {}
TargetControllerState TargetControllerConsole::getTargetControllerState() {
return this->triggerTargetControllerEventAndWaitForResponse(
std::make_shared<ReportTargetControllerState>()
@@ -128,3 +131,9 @@ void TargetControllerConsole::setPinState(TargetPinDescriptor pinDescriptor, Tar
this->triggerTargetControllerEventAndWaitForResponse(updateEvent);
}
std::uint32_t TargetControllerConsole::getStackPointer() {
return this->triggerTargetControllerEventAndWaitForResponse(
std::make_shared<RetrieveStackPointerFromTarget>()
)->stackPointer;
}

View File

@@ -23,8 +23,7 @@ namespace Bloom
class TargetControllerConsole
{
public:
TargetControllerConsole(EventManager& eventManager, EventListener& eventListener):
eventManager(eventManager), eventListener(eventListener) {};
TargetControllerConsole(EventManager& eventManager, EventListener& eventListener);
void setDefaultTimeout(std::chrono::milliseconds timeout) {
this->defaultTimeout = timeout;
@@ -155,6 +154,13 @@ namespace Bloom
*/
void setPinState(Targets::TargetPinDescriptor pinDescriptor, Targets::TargetPinState pinState);
/**
* Retrieves the current stack pointer value from the target.
*
* @return
*/
std::uint32_t getStackPointer();
private:
EventManager& eventManager;
EventListener& eventListener;