Library for calculating CRC8/CRC16/CRC32/CRC64
Project description
libscrc is a library for calculating CRC8 CRC16 CRC32 CRC64.
CRC8 |
CRC16 |
CRC32 |
CRC64 |
---|---|---|---|
Intel |
Modbus |
FSC |
ISO |
BCC |
IBM |
FILE |
ECMA182 |
LRC |
XModem |
||
CCITT |
|||
Kermit |
|||
Sick |
|||
DNP |
Installation
Compile and install the library:
pip3 install libscrc
or:
python setup.py build python setup.py install
You will need the administrative privileges to execute the last command.
After installation you can run unit tests to make sure that the library works fine. Execute:
python -m libscrc.testmodbus python -m libscrc.testcrc64
Usage
In Python 3:
import libscrc crc16 = libscrc.modbus(b'1234') # Calculate ASCII of modbus crc16 = libscrc.modbus(b'\x01\x02') # Calculate HEX of modbusYou can also calculate CRC gradually:
import libscrc crc16 = libscrc.xmodem(b'1234') crc16 = libscrc.xmodem(b'5678', crc16)
Example
CRC8:
crc8 = libscrc.intel(b'1234') crc8 = libscrc.bcc(b'1234') crc8 = libscrc.lrc(b'1234') crc8 = libscrc.verb(b'1234')
CRC16:
crc16 = libscrc.ibm(b'1234') crc16 = libscrc.modbus(b'1234') crc16 = libscrc.xmodem(b'1234') crc16 = libscrc.ccitt(b'1234', 0xFFFF) # poly=0x1021 initvalue=0xFFFF or 0x1D0F crc16 = libscrc.kermit(b'1234') crc16 = libscrc.sick(b'1234') crc16 = libscrc.dnp(b'1234')
CRC32:
crc32 = libscrc.fsc(b'1234') crc32 = libscrc.crc32(b'1234')
CRC64:
crc64 = libscrc.iso(b'1234') crc64 = libscrc.ecma182(b'1234')
V0.1.2 (2017-08-22)
- Platform Support
Win32
Linux_x86_64
MacOSX_10_6_intel
ARMv7 (Toradex Ixora iMX6 Linux-4.1.41)
- Bugfixes
Coding C99 standard.
Python/C API parsing arguments type error in linux.
V0.1.1 (2017-08-20)
New CRC16-NDP and CRC16-SICK
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for libscrc-0.1.2-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71314060ce053e28a18a80216c16a858a4b239f4f295ceae0090eb7178ad2e4a |
|
MD5 | c08eb0920fb4682cccef83f9521689f6 |
|
BLAKE2b-256 | cd990c0af200bbac7f80b1e53c093c7b5133070457954e908aa09c912555c1c0 |
Hashes for libscrc-0.1.2-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38b52eb463e18bc36c4e3a3c86c406a4524760d62d241a6a259d3c77142ddea3 |
|
MD5 | b1ebc81259ec50de93d14e6af2ff4b18 |
|
BLAKE2b-256 | 79cbf38201f9903af10cf827b132e972c4a70a6acc569cacea85c86553e67614 |
Hashes for libscrc-0.1.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d3d69b108181600a1d7c2c88576a392e509c302183f1b897bf231e4ae178bb5 |
|
MD5 | 4f9a5b1fe996804e19fd320c1ec0a0fd |
|
BLAKE2b-256 | 91b75cc9a34f09742dde517dce736d9ec5a4567bd62ed947539c8b6a8525ff0c |
Hashes for libscrc-0.1.2-cp35-cp35m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55b46fe1c68481f68025d6af50dc247a08f787f54f42806cd2be206ad0a3ef5b |
|
MD5 | 165b58f1a00f1e4854cfcda729fe15d8 |
|
BLAKE2b-256 | b164a05cc91b5fd875492c055784894375a9c7dbf3e5d7999a3867d1da25967f |
Hashes for libscrc-0.1.2-cp35-cp35m-linux_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fd83338d808f21ef6e077662257bdbeb2e0b40257328df91c4e5b3774524269 |
|
MD5 | b8f1e06a591f5ac8bbbea51cbfc24c04 |
|
BLAKE2b-256 | 6cef6c394d1cae5d00748a02c249530cd5c4c48414a672d085aa3c7b209f93ae |
Hashes for libscrc-0.1.2-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32b64d097da468ba2c1473d74c9311a6ec7c4e52f0eed033cf07533ee39a7856 |
|
MD5 | ff264ac1733ff5988fa6bc4714423650 |
|
BLAKE2b-256 | 6d7821c8470c2cf1f0f575739cab51552757b099373aebc5cd7dd5afa75d7bab |
Hashes for libscrc-0.1.2-cp27-cp27m-macosx_10_12_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5080492aa0902cd8dc6ed697cf3f5d2c0aae7e76d28c97f978a4e224f238c6a8 |
|
MD5 | 7fa4e8e0d1f13c8772bde7bcf3dd50c6 |
|
BLAKE2b-256 | b7ea585d535eab0505c96b7481eadd32ae44864592eee8b82b769e6e127083bb |
Hashes for libscrc-0.1.2-cp27-cp27m-linux_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d623c585ed810e49773540d2fdfcb08106e249c145a728a8c2937f4009008e31 |
|
MD5 | 4f17be4ad884c2bf5ef3f94032411e63 |
|
BLAKE2b-256 | 2926c54318359fc09906a394f6b9be22de374c220f8700fac501553d647b0875 |