Cyclic Redundancy Code (CRC)#

Functions that provide access to cyclic redundancy code (CRC) calculation. See crc.h for source code.

Functions#

uint16_t
halCommonCrc16(uint8_t newByte, uint16_t prevResult)

Calculates 16-bit cyclic redundancy code (CITT CRC 16).

uint32_t
halCommonCrc32(uint8_t newByte, uint32_t prevResult)

Calculates 32-bit cyclic redundancy code.

Macros#

#define
INITIAL_CRC 0xFFFFFFFFL
#define
CRC32_START INITIAL_CRC
#define
CRC32_END 0xDEBB20E3L

Function Documentation#

halCommonCrc16#

uint16_t halCommonCrc16 (uint8_t newByte, uint16_t prevResult)

Calculates 16-bit cyclic redundancy code (CITT CRC 16).

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AnewByte

The new byte to be run through CRC.

uint16_tN/AprevResult

The previous CRC result.

Applies the standard CITT CRC 16 polynomial to a single byte. It should support being called first with an initial value, then repeatedly until all data is processed.

Returns

  • The new CRC result.


Definition at line 38 of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/platform/base/hal/micro/crc.h

halCommonCrc32#

uint32_t halCommonCrc32 (uint8_t newByte, uint32_t prevResult)

Calculates 32-bit cyclic redundancy code.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AnewByte

The new byte to be run through CRC.

uint32_tN/AprevResult

The previous CRC result.

Note

  • On some radios or micros, the CRC for error detection on packet data is calculated in hardware.

Applies a CRC32 polynomial to a single byte. It should support being called first with an initial value, then repeatedly until all data is processed.

Returns

  • The new CRC result.


Definition at line 55 of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/platform/base/hal/micro/crc.h