37 TYPE_RESPONSE, TYPE_ERROR};
77 REG_LEFT_SPEED_MEASURED,
78 REG_RIGHT_SPEED_MEASURED,
126 this->data[3] = (data >> 0) & 0xFF;
127 this->data[2] = (data >> 8) & 0xFF;
128 this->data[1] = (data >> 16) & 0xFF;
129 this->data[0] = (data >> 24) & 0xFF;
134 return (this->
data[0] << 24) | (this->
data[1] << 16) |
135 (this->
data[2] << 8) | (this->
data[3] << 0);
143 std::copy(
data.begin(),
data.end(), out.begin() + 3);
154 this->
type = serialized[1] & 0x0F;
156 std::copy(serialized.begin() + 3,
157 serialized.begin() + 7,
data.begin());
198 int sum = std::accumulate(data.begin() + 1, data.end() - 1, 0);
204 return 0xFF - (sum - tmp);
static const uint8_t delimeter
void setData(int32_t data)
static uint8_t generateChecksum(const std::vector< uint8_t > &data)
boost::array< uint8_t, 8 > RawMotorMessage
static const uint8_t protocol_version
static const uint8_t valid_types[]
MotorMessage::MessageTypes getType() const
static int verifyType(uint8_t t)
MotorMessage::ErrorCodes deserialize(const RawMotorMessage &serialized)
boost::array< uint8_t, 4 > data
void setRegister(MotorMessage::Registers reg)
RawMotorMessage serialize() const
void setType(MotorMessage::MessageTypes type)
static const uint8_t valid_registers[]
static int verifyRegister(uint8_t r)
MotorMessage::Registers getRegister() const