Browse Source

AP_Math: move crc8_dvb_update into crc library

gps-1.3.1
Peter Barker 4 years ago committed by Peter Barker
parent
commit
2251e442cc
  1. 9
      libraries/AP_Math/crc.cpp
  2. 1
      libraries/AP_Math/crc.h

9
libraries/AP_Math/crc.cpp

@ -122,6 +122,15 @@ uint8_t crc8_dvb_s2_update(uint8_t crc, const void *data, uint32_t length) @@ -122,6 +122,15 @@ uint8_t crc8_dvb_s2_update(uint8_t crc, const void *data, uint32_t length)
return crc;
}
// copied from AP_FETtecOneWire.cpp
uint8_t crc8_dvb_update(uint8_t crc, const uint8_t* buf, const uint16_t buf_len)
{
for (uint16_t i = 0; i < buf_len; i++) {
crc = crc8_dvb(buf[i], crc, 0x7);
}
return crc;
}
/*
CRC8-Maxim implementation based on FastCRC library
see https://github.com/FrankBoesing/FastCRC

1
libraries/AP_Math/crc.h

@ -22,6 +22,7 @@ uint8_t crc_crc8(const uint8_t *p, uint8_t len); @@ -22,6 +22,7 @@ uint8_t crc_crc8(const uint8_t *p, uint8_t len);
uint8_t crc8_dvb_s2(uint8_t crc, uint8_t a);
uint8_t crc8_dvb(uint8_t crc, uint8_t a, uint8_t seed);
uint8_t crc8_dvb_s2_update(uint8_t crc, const void *data, uint32_t length);
uint8_t crc8_dvb_update(uint8_t crc, const uint8_t* buf, const uint16_t buf_len);
uint8_t crc8_maxim(const uint8_t *data, uint16_t length);
uint16_t crc_xmodem_update(uint16_t crc, uint8_t data);
uint16_t crc_xmodem(const uint8_t *data, uint16_t len);

Loading…
Cancel
Save