ConOpSys V2970
P004.07
ANVILEX control operating system
|
Cyclic redundancy check (CRC-16) base class. More...
#include <CRC_16_Base.h>
Public Member Functions | |
virtual U16 | Init ()=0 |
Get initial value of CRC. More... | |
BOOL | Check (VOID *void_Data, U32 u32_Size, U16 u16_Expected_CRC) |
Check CRC of the data buffer. More... | |
virtual U16 | Calculate (VOID *void_Data, U32 u32_Size) |
Calculate CRC of the data buffer. More... | |
virtual VOID | Update (U16 &u16_CRC, U8 u8_Data)=0 |
Update CRC with new data value. More... | |
virtual TRIL | Test () |
Test CRC calulation. More... | |
Cyclic redundancy check (CRC-16) base class.
Calculate CRC of the data buffer.
[in] | *void_Data | - Pointer to the data buffer |
[in] | u32_Size | - Size of the data buffer |
References Init(), and Update().
Referenced by Check(), TMODBUS_Response_PDU::Done(), and TMODBUS_Request_PDU::Is_CRC_Valid().
Check CRC of the data buffer.
[in] | *void_Data | - Pointer to the data buffer |
[in] | u32_Size | - Size of the data buffer |
[in] | u16_Expected_CRC | - Expected CRC of the data buffer |
false | - CRC of the buffer not match to expected CRC |
true | - CRC of the buffer match to expected CRC |
References Calculate().
|
pure virtual |
Get initial value of CRC.
Implemented in TCRC_16_MODBUS, TCRC_16_DNP, and TCRC_16_CCITT.
Referenced by Calculate().
|
virtual |
Test CRC calulation.
unset | - Test method not implemented |
false | - Test CRC calculation failed |
true | - Test CRC calculation successed |
Reimplemented in TCRC_16_MODBUS.
References unset.
Update CRC with new data value.
[in,out] | &u16_CRC | - Actual CRC value |
[in] | u8_Data | - Data value |
Implemented in TCRC_16_MODBUS, TCRC_16_DNP, and TCRC_16_CCITT.
Referenced by Calculate().