CHG: extracted a #define for the crc16 poly

This commit is contained in:
iceman1001 2016-02-12 12:34:54 +01:00
commit 6b6815bccb
2 changed files with 7 additions and 7 deletions

View file

@ -7,7 +7,8 @@
//-----------------------------------------------------------------------------
#include "crc16.h"
#define CRC16_MASK_CCITT 0x1021
#define CRC16_POLY_CCITT 0x1021
#define CRC16_POLY 0x8408
unsigned short update_crc16( unsigned short crc, unsigned char c )
{
@ -15,11 +16,11 @@ unsigned short update_crc16( unsigned short crc, unsigned char c )
v = (crc ^ c) & 0xff;
for (i = 0; i < 8; i++) {
tcrc = ( (tcrc ^ v) & 1 ) ? ( tcrc >> 1 ) ^ 0x8408 : tcrc >> 1;
tcrc = ( (tcrc ^ v) & 1 ) ? ( tcrc >> 1 ) ^ CRC16_POLY : tcrc >> 1;
v >>= 1;
}
return ((crc >> 8) ^ tcrc)&0xffff;
return ((crc >> 8) ^ tcrc) & 0xffff;
}
uint16_t crc16(uint8_t const *message, int length, uint16_t remainder, uint16_t polynomial) {
@ -41,11 +42,11 @@ uint16_t crc16(uint8_t const *message, int length, uint16_t remainder, uint16_t
}
uint16_t crc16_ccitt(uint8_t const *message, int length) {
return crc16(message, length, 0xffff, CRC16_MASK_CCITT);
return crc16(message, length, 0xffff, CRC16_POLY_CCITT);
}
uint16_t crc16_ccitt_kermit(uint8_t const *message, int length) {
return bit_reverse_uint16(crc16(message, length, 0x0000, CRC16_MASK_CCITT));
return bit_reverse_uint16(crc16(message, length, 0x0000, CRC16_POLY_CCITT));
}
uint16_t bit_reverse_uint16 (uint16_t value) {
const uint16_t mask0 = 0x5555;

View file

@ -135,8 +135,7 @@ uint32_t bytebits_to_byte(uint8_t *src, size_t numbits)
uint32_t bytebits_to_byteLSBF(uint8_t *src, size_t numbits)
{
uint32_t num = 0;
for(int i = 0 ; i < numbits ; i++)
{
for(int i = 0 ; i < numbits ; i++) {
num = (num << 1) | *(src + (numbits-(i+1)));
}
return num;