crc.h 487 B

123456789101112131415161718192021222324
  1. #ifndef _CRC_H_
  2. #define _CRC_H_
  3. #include <stdint.h>
  4. // CRC types
  5. #define CRC_TYPE_CCITT 0
  6. #define CRC_TYPE_IBM 1
  7. // Polynomial = X^16 + X^12 + X^5 + 1
  8. #define POLYNOMIAL_CCITT 0x1021
  9. // Polynomial = X^16 + X^15 + X^2 + 1
  10. #define POLYNOMIAL_IBM 0x8005
  11. // Seeds
  12. #define CRC_IBM_SEED 0xFFFF
  13. #define CRC_CCITT_SEED 0x1D0F
  14. uint16_t RadioComputeCRC( uint8_t *buffer, uint8_t length, uint8_t crcType );
  15. uint16_t ComputeCrc( uint16_t crc, uint8_t dataByte, uint16_t polynomial );
  16. #endif