• Stars
    star
    146
  • Rank 252,769 (Top 5 %)
  • Language
    C
  • License
    MIT License
  • Created over 10 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fast CRC library for PC and ARDUINO

FastCRC

Fast CRC Arduino library Up to 30 times faster than crc16.h (_avr_libc)

  • uses the on-chip hardware for Teensy 3.0 / 3.1 / 3.2 / 3.5 / 3.6
  • uses fast table-algorithms for other chips

List of supported CRC calculations:

7 BIT:

CRC7 (poly=0x09 init=0x00 refin=false refout=false xorout=0x00 check=0x75) MultiMediaCard interface

8 BIT:

SMBUS (poly=0x07 init=0x00 refin=false refout=false xorout=0x00 check=0xf4)

MAXIM (poly=0x31 init=0x00 refin=true refout=true xorout=0x00 check=0xa1)

16 BIT:

KERMIT (Alias CRC-16/CCITT, CRC-16/CCITT-TRUE, CRC-CCITT) (poly=0x1021 init=0x0000 refin=true refout=true xorout=0x0000 check=0x2189 Attention: sometimes you'll find byteswapped presentation of result in other implementations)

CCITT-FALSE (poly=0x1021 init=0xffff refin=false refout=false xorout=0x0000 check=0x29b1)

MCRF4XX (poly=0x1021 init=0xffff refin=true refout=true xorout=0x0000 check=0x6f91)

MODBUS (poly=0x8005 init=0xffff refin=true refout=true xorout=0x0000 check=0x4b37)

XMODEM (Alias ZMODEM, CRC-16/ACORN) (poly=0x1021 init=0x0000 refin=false refout=false xorout=0x0000 check=0x31c3)

X25 (Alias CRC-16/IBM-SDLC, CRC-16/ISO-HDLC, CRC-B) (poly=0x1021 init=0xffff refin=true refout=true xorout=0xffff check=0x906e)

32 BIT:

CRC32, CRC-32/ADCCP, PKZIP, ETHERNET, 802.3 (poly=0x04c11db7 init=0xffffffff refin=true refout=true xorout=0xffffffff check=0xcbf43926)

CKSUM, CRC-32/POSIX (poly=0x04c11db7 init=0x00000000 refin=false refout=false xorout=0xffffffff check=0x765e7680)