Cyclic Redundancy Check (CRC) algorithms (crc8, crc16ccitt, crc32) programmatically converted from C99 code generated by pycrc (https://pycrc.org) to Arduino C++ using namespaces and PROGMEM flash memory.
For each algorithm, 4 implementation variants have been generated: The 'bit' variant uses brute force bit-by-bit loop (smallest and slowest); the 'nibble' variant uses a 4-bit table (potentially good balance between size and speed); `nibblem` variant is the same as `nibble` but 1.9X-2.7X faster on the ESP8266; and the 'byte' variant uses an 8-bit table (largest but fastest).
Maintainer: Brian T. Park
This library is compatible with all architectures so you should be able to use it on all the Arduino boards.
To use this library, open the Library Manager in the Arduino IDE and install it from there.