ant/src/ant/message.cpp

33 lines
819 B
C++

#include "message.hpp"
#include "ant.hpp"
namespace ant {
Message::Message() { Init(); }
Message::Message(uint8_t length, uint8_t type, uint8_t b3, uint8_t b4,
uint8_t b5, uint8_t b6, uint8_t b7, uint8_t b8, uint8_t b9,
uint8_t b10, uint8_t b11, uint8_t b12) {
data[0] = kSyncByte;
data[1] = length;
data[2] = type;
data[3] = b3;
data[4] = b4;
data[5] = b5;
data[6] = b6;
data[7] = b7;
data[8] = b8;
data[9] = b9;
data[10] = b10;
data[11] = b11;
uint8_t crc = 0;
// iterate over header + actual payload length
for (int i = 0; i < (length + kHeaderSize); ++i) {
crc ^= data[i];
}
// crc goes after header + payload
data[length + kHeaderSize] = crc;
data_length = length + kHeaderSize + kCrcSize;
}
void Message::Init() {}
} // namespace ant