1
0
Fork 0

arbitrary data checksumming

This commit is contained in:
Kevin Matz 2023-05-03 15:57:37 -04:00
parent c0074e62b7
commit 6c7d62ca6b
2 changed files with 14 additions and 0 deletions

View File

@ -269,7 +269,20 @@ uint16_t Message::checksum() const
addSum_(sum, mdb.pdl());
for (const auto &val : mdb.pd)
addSum_(sum, val);
return sum;
}
/**
* @brief Message::checksum
* @param data
* @return
*/
uint16_t Message::checksum(std::vector<uint8_t> data)
{
uint16_t sum = 0;
for (const auto &byte : data)
addSum_(sum, byte);
return sum;
}

View File

@ -67,6 +67,7 @@ struct Message
} mdb; //!< \cite RDM 6.2.10 Message Data Block (MDB)
uint16_t checksum() const; //!< \cite RDM 6.2.11 Checksum
static uint16_t checksum(std::vector<uint8_t> data);
union {
uint8_t failure_mode;