mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 05:43:48 -07:00
CHG: extracted a #define for the crc16 poly
This commit is contained in:
parent
ee4e281675
commit
6b6815bccb
2 changed files with 7 additions and 7 deletions
|
@ -7,7 +7,8 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "crc16.h"
|
#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 )
|
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;
|
v = (crc ^ c) & 0xff;
|
||||||
for (i = 0; i < 8; i++) {
|
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;
|
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) {
|
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) {
|
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) {
|
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) {
|
uint16_t bit_reverse_uint16 (uint16_t value) {
|
||||||
const uint16_t mask0 = 0x5555;
|
const uint16_t mask0 = 0x5555;
|
||||||
|
|
|
@ -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 bytebits_to_byteLSBF(uint8_t *src, size_t numbits)
|
||||||
{
|
{
|
||||||
uint32_t num = 0;
|
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)));
|
num = (num << 1) | *(src + (numbits-(i+1)));
|
||||||
}
|
}
|
||||||
return num;
|
return num;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue