added crc convenience functio
This commit is contained in:
parent
7193fcc684
commit
fc3af22d1a
1 changed files with 10 additions and 0 deletions
|
|
@ -145,6 +145,16 @@ static inline uint16_t crc_xmodem_calculate(const uint8_t *data, uint8_t length)
|
|||
return crc;
|
||||
}
|
||||
|
||||
static inline uint16_t hydrolink_calculate_crc(const uint8_t *payload, uint8_t length, uint8_t crc_extra) {
|
||||
uint16_t crc;
|
||||
crc_xmodem_init(&crc);
|
||||
for(int i = 0; i < length; ++i) {
|
||||
crc_xmodem_accumulate(payload[i], &crc);
|
||||
}
|
||||
crc_xmodem_accumulate(crc_extra, &crc);
|
||||
return crc;
|
||||
}
|
||||
|
||||
void hydrolink_fill_header_and_crc(hydrolink_msg_t *msg, uint8_t msg_id, uint8_t payload_length, uint8_t dst_id, uint8_t src_id, uint8_t crc_extra) {
|
||||
msg->id = msg_id;
|
||||
msg->payload_length = payload_length;
|
||||
|
|
|
|||
Loading…
Reference in a new issue