cMicroOrp  1.0.0
C code for microcontrollers - provides ORP remote interface
crcccitt.h File Reference
#include "orp.h"

Go to the source code of this file.

Macros

#define CRC_POLY_16   0xA001
 
#define CRC_POLY_32   0xEDB88320ul
 
#define CRC_POLY_64   0x42F0E1EBA9EA3693ull
 
#define CRC_POLY_CCITT   0x1021
 
#define CRC_POLY_DNP   0xA6BC
 
#define CRC_POLY_KERMIT   0x8408
 
#define CRC_POLY_SICK   0x8005
 
#define CRC_START_8   0x00
 
#define CRC_START_16   0x0000
 
#define CRC_START_MODBUS   0xFFFF
 
#define CRC_START_XMODEM   0x0000
 
#define CRC_START_CCITT_1D0F   0x1D0F
 
#define CRC_START_CCITT_FFFF   0xFFFF
 
#define CRC_START_KERMIT   0x0000
 
#define CRC_START_SICK   0x0000
 
#define CRC_START_DNP   0x0000
 
#define CRC_START_32   0xFFFFFFFFul
 
#define CRC_START_64_ECMA   0x0000000000000000ull
 
#define CRC_START_64_WE   0xFFFFFFFFFFFFFFFFull
 

Functions

unsigned char * checksum_NMEA (const unsigned char *input_str, unsigned char *result)
 
uint8_t crc_8 (const unsigned char *input_str, size_t num_bytes)
 
uint16_t crc_16 (const unsigned char *input_str, size_t num_bytes)
 
uint32_t crc_32 (const unsigned char *input_str, size_t num_bytes)
 
uint64_t crc_64_ecma (const unsigned char *input_str, size_t num_bytes)
 
uint64_t crc_64_we (const unsigned char *input_str, size_t num_bytes)
 
uint16_t crc_ccitt_1d0f (const unsigned char *input_str, size_t num_bytes)
 
uint16_t crc_ccitt_ffff (const unsigned char *input_str, size_t num_bytes)
 
uint16_t crc_dnp (const unsigned char *input_str, size_t num_bytes)
 
uint16_t crc_kermit (const unsigned char *input_str, size_t num_bytes)
 
uint16_t crc_modbus (const unsigned char *input_str, size_t num_bytes)
 
uint16_t crc_sick (const unsigned char *input_str, size_t num_bytes)
 
uint16_t crc_xmodem (const unsigned char *input_str, size_t num_bytes)
 
uint8_t update_crc_8 (uint8_t crc, unsigned char c)
 
uint16_t update_crc_16 (uint16_t crc, unsigned char c)
 
uint32_t update_crc_32 (uint32_t crc, unsigned char c)
 
uint64_t update_crc_64_ecma (uint64_t crc, unsigned char c)
 
uint16_t update_crc_ccitt (uint16_t crc, unsigned char c)
 
uint16_t update_crc_dnp (uint16_t crc, unsigned char c)
 
uint16_t update_crc_kermit (uint16_t crc, unsigned char c)
 
uint16_t update_crc_sick (uint16_t crc, unsigned char c, unsigned char prev_byte)
 

Variables

const uint32_t crc_tab32 []
 
const uint64_t crc_tab64 []
 

Macro Definition Documentation

◆ CRC_POLY_16

#define CRC_POLY_16   0xA001

◆ CRC_POLY_32

#define CRC_POLY_32   0xEDB88320ul

◆ CRC_POLY_64

#define CRC_POLY_64   0x42F0E1EBA9EA3693ull

◆ CRC_POLY_CCITT

#define CRC_POLY_CCITT   0x1021

◆ CRC_POLY_DNP

#define CRC_POLY_DNP   0xA6BC

◆ CRC_POLY_KERMIT

#define CRC_POLY_KERMIT   0x8408

◆ CRC_POLY_SICK

#define CRC_POLY_SICK   0x8005

◆ CRC_START_16

#define CRC_START_16   0x0000

◆ CRC_START_32

#define CRC_START_32   0xFFFFFFFFul

◆ CRC_START_64_ECMA

#define CRC_START_64_ECMA   0x0000000000000000ull

◆ CRC_START_64_WE

#define CRC_START_64_WE   0xFFFFFFFFFFFFFFFFull

◆ CRC_START_8

#define CRC_START_8   0x00

◆ CRC_START_CCITT_1D0F

#define CRC_START_CCITT_1D0F   0x1D0F

◆ CRC_START_CCITT_FFFF

#define CRC_START_CCITT_FFFF   0xFFFF

◆ CRC_START_DNP

#define CRC_START_DNP   0x0000

◆ CRC_START_KERMIT

#define CRC_START_KERMIT   0x0000

◆ CRC_START_MODBUS

#define CRC_START_MODBUS   0xFFFF

◆ CRC_START_SICK

#define CRC_START_SICK   0x0000

◆ CRC_START_XMODEM

#define CRC_START_XMODEM   0x0000

Function Documentation

◆ checksum_NMEA()

unsigned char* checksum_NMEA ( const unsigned char *  input_str,
unsigned char *  result 
)

◆ crc_16()

uint16_t crc_16 ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_32()

uint32_t crc_32 ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_64_ecma()

uint64_t crc_64_ecma ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_64_we()

uint64_t crc_64_we ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_8()

uint8_t crc_8 ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_ccitt_1d0f()

uint16_t crc_ccitt_1d0f ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_ccitt_ffff()

uint16_t crc_ccitt_ffff ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_dnp()

uint16_t crc_dnp ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_kermit()

uint16_t crc_kermit ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_modbus()

uint16_t crc_modbus ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_sick()

uint16_t crc_sick ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ crc_xmodem()

uint16_t crc_xmodem ( const unsigned char *  input_str,
size_t  num_bytes 
)

◆ update_crc_16()

uint16_t update_crc_16 ( uint16_t  crc,
unsigned char  c 
)

◆ update_crc_32()

uint32_t update_crc_32 ( uint32_t  crc,
unsigned char  c 
)

◆ update_crc_64_ecma()

uint64_t update_crc_64_ecma ( uint64_t  crc,
unsigned char  c 
)

◆ update_crc_8()

uint8_t update_crc_8 ( uint8_t  crc,
unsigned char  c 
)

◆ update_crc_ccitt()

uint16_t update_crc_ccitt ( uint16_t  crc,
unsigned char  c 
)

◆ update_crc_dnp()

uint16_t update_crc_dnp ( uint16_t  crc,
unsigned char  c 
)

◆ update_crc_kermit()

uint16_t update_crc_kermit ( uint16_t  crc,
unsigned char  c 
)

◆ update_crc_sick()

uint16_t update_crc_sick ( uint16_t  crc,
unsigned char  c,
unsigned char  prev_byte 
)

Variable Documentation

◆ crc_tab32

const uint32_t crc_tab32[]

◆ crc_tab64

const uint64_t crc_tab64[]