Initial commit
This commit is contained in:
52
src/DebugToolDrivers/Protocols/CMSIS-DAP/Command.hpp
Normal file
52
src/DebugToolDrivers/Protocols/CMSIS-DAP/Command.hpp
Normal file
@@ -0,0 +1,52 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
|
||||
namespace Bloom::DebugToolDrivers::Protocols::CmsisDap
|
||||
{
|
||||
class Command
|
||||
{
|
||||
private:
|
||||
unsigned char commandId = 0x00;
|
||||
std::vector<unsigned char> data;
|
||||
|
||||
public:
|
||||
unsigned char getCommandId() const {
|
||||
return this->commandId;
|
||||
}
|
||||
|
||||
void setCommandId(unsigned char commandId) {
|
||||
this->commandId = commandId;
|
||||
}
|
||||
|
||||
virtual std::vector<unsigned char> getData() const {
|
||||
return this->data;
|
||||
}
|
||||
|
||||
void setData(const std::vector<unsigned char>& data) {
|
||||
this->data = data;
|
||||
}
|
||||
|
||||
[[nodiscard]] int getCommandSize() const {
|
||||
// +1 for the command ID
|
||||
return (int) (1 + this->getData().size());
|
||||
}
|
||||
|
||||
std::uint16_t getDataSize() const {
|
||||
return (std::uint16_t) this->getData().size();
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts instance of a CMSIS Command to a vector of unsigned char (buffer), for sending
|
||||
* to the debug tool.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
explicit virtual operator std::vector<unsigned char>() const;
|
||||
|
||||
virtual ~Command() = default;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user