From 8a048311ac2289846dc8579b1ae1a12d5f56bbcb Mon Sep 17 00:00:00 2001 From: Nav Date: Tue, 20 Jul 2021 19:21:18 +0100 Subject: [PATCH] Target register tidying --- .../GdbRsp/ResponsePackets/TargetStopped.hpp | 8 -------- .../EDBG/AVR/EdbgAvr8Interface.cpp | 7 ++++++- src/Targets/TargetRegister.hpp | 17 +++++------------ 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/src/DebugServers/GdbRsp/ResponsePackets/TargetStopped.hpp b/src/DebugServers/GdbRsp/ResponsePackets/TargetStopped.hpp index ea2519e6..2d9566fb 100644 --- a/src/DebugServers/GdbRsp/ResponsePackets/TargetStopped.hpp +++ b/src/DebugServers/GdbRsp/ResponsePackets/TargetStopped.hpp @@ -15,7 +15,6 @@ namespace Bloom::DebugServers::Gdb::ResponsePackets { public: Signal signal; - std::optional registerMap; std::optional stopReason; explicit TargetStopped(Signal signal): signal(signal) {} @@ -32,13 +31,6 @@ namespace Bloom::DebugServers::Gdb::ResponsePackets } } - if (this->registerMap.has_value()) { - for (const auto& [registerId, registerValue] : this->registerMap.value()) { - output += Packet::dataToHex({static_cast(registerId)}); - output += ":" + Packet::dataToHex(registerValue.value) + ";"; - } - } - return std::vector(output.begin(), output.end()); } }; diff --git a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/EdbgAvr8Interface.cpp b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/EdbgAvr8Interface.cpp index 63aed875..6d1c0317 100644 --- a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/EdbgAvr8Interface.cpp +++ b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/EdbgAvr8Interface.cpp @@ -1197,7 +1197,12 @@ TargetRegisters EdbgAvr8Interface::readGeneralPurposeRegisters(std::set id; - TargetRegisterType type = TargetRegisterType::GENERAL_PURPOSE_REGISTER; + std::optional id; + TargetRegisterType type = TargetRegisterType::OTHER; TargetRegisterDescriptor() = default; explicit TargetRegisterDescriptor(TargetRegisterType type): type(type) {}; - TargetRegisterDescriptor(IdType id, TargetRegisterType type): id(id), type(type) {}; + TargetRegisterDescriptor(size_t id, TargetRegisterType type): id(id), type(type) {}; bool operator==(const TargetRegisterDescriptor& other) const { return this->id == other.id && this->type == other.type; @@ -31,19 +31,12 @@ namespace Bloom::Targets struct TargetRegister { - std::optional id; - std::vector value; TargetRegisterDescriptor descriptor; - - explicit TargetRegister(std::vector value): value(std::move(value)) {}; + std::vector value; TargetRegister(TargetRegisterDescriptor descriptor, std::vector value): value(std::move(value)), descriptor(descriptor) {}; - TargetRegister(size_t id, std::vector value): id(id), value(std::move(value)) { - this->descriptor.id = id; - }; - [[nodiscard]] size_t size() const { return this->value.size(); }