Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

LOW_helper_CRC Class Reference

Static functions for CRC calculation. More...

#include <LOW_helper_crc.h>

List of all members.

Static Public Member Functions

const uint8_t calcCRC8 (const uint8_t *inBuf, const unsigned int inLen, const uint8_t inPreloadCRC=0)
 Calculate 8 bit CRC from piece of memory.

const uint8_t calcCRC8 (const byteVec_t &inVec, const uint8_t inPreloadCRC=0)
 Calculate 8 bit CRC from byte vector.

const uint16_t calcCRC16 (const uint8_t *inBuf, const unsigned int inLen, const uint16_t inPreloadCRC=0)
 Calculate 16 bit CRC from piece of memory.

const uint16_t calcCRC16 (const byteVec_t &inVec, const uint16_t inPreloadCRC=0)
 Calculate 16 bit CRC from byte vector.


Private Member Functions

 LOW_helper_CRC ()
 Default constructor.

 ~LOW_helper_CRC ()
 Destructor.


Static Private Attributes

const uint8_t crc8Table [256]
 Preinitialize CRC-8 table.

const uint16_t crc16Table [256]
 Preinitialize CRC-16 table.


Detailed Description

Static functions for CRC calculation.

This class is thread-safe.

Author:
Harald Roelle

Definition at line 33 of file LOW_helper_crc.h.


Constructor & Destructor Documentation

LOW_helper_CRC::LOW_helper_CRC  )  [private]
 

Default constructor.

It is private to prevent creating objects from this class as this is a static helper class.

Definition at line 88 of file LOW_helper_crc.cpp.

LOW_helper_CRC::~LOW_helper_CRC  )  [private]
 

Destructor.

It is private to prevent creating objects from this class as this is a static helper class.

Definition at line 93 of file LOW_helper_crc.cpp.


Member Function Documentation

const uint16_t LOW_helper_CRC::calcCRC16 const byteVec_t inVec,
const uint16_t  inPreloadCRC = 0
[static]
 

Calculate 16 bit CRC from byte vector.

Parameters:
inVec Reference to byte vector.
inPreloadCRC Initial CRC value.

Definition at line 137 of file LOW_helper_crc.cpp.

References crc16Table.

const uint16_t LOW_helper_CRC::calcCRC16 const uint8_t *  inBuf,
const unsigned int  inLen,
const uint16_t  inPreloadCRC = 0
[static]
 

Calculate 16 bit CRC from piece of memory.

Parameters:
inBuf Pointer to memoty segment.
inLen Length of memory segment.
inPreloadCRC Initial CRC value.

Definition at line 126 of file LOW_helper_crc.cpp.

References crc16Table.

Referenced by LOW_devDS2406::cmd_WriteStatus(), and LOW_devDS2406::readMemUniversal().

const uint8_t LOW_helper_CRC::calcCRC8 const byteVec_t inVec,
const uint8_t  inPreloadCRC = 0
[static]
 

Calculate 8 bit CRC from byte vector.

Parameters:
inVec Reference to byte vector.
inPreloadCRC Initial CRC value.

Definition at line 115 of file LOW_helper_crc.cpp.

References crc8Table.

const uint8_t LOW_helper_CRC::calcCRC8 const uint8_t *  inBuf,
const unsigned int  inLen,
const uint8_t  inPreloadCRC = 0
[static]
 

Calculate 8 bit CRC from piece of memory.

Parameters:
inBuf Pointer to memoty segment.
inLen Length of memory segment.
inPreloadCRC Initial CRC value.

Definition at line 104 of file LOW_helper_crc.cpp.

References crc8Table.

Referenced by LOW_deviceID::checkCRC(), and LOW_devDS1820::cmd_ReadScratchpad().


Member Data Documentation

const uint16_t LOW_helper_CRC::crc16Table [static, private]
 

Preinitialize CRC-16 table.

Definition at line 46 of file LOW_helper_crc.cpp.

Referenced by calcCRC16(), and LOW_helper_CRC::crc_error::crc_error().

const uint8_t LOW_helper_CRC::crc8Table [static, private]
 

Initial value:

 {
     0, 94,188,226, 97, 63,221,131,194,156,126, 32,163,253, 31, 65,
   157,195, 33,127,252,162, 64, 30, 95,  1,227,189, 62, 96,130,220,
    35,125,159,193, 66, 28,254,160,225,191, 93,  3,128,222, 60, 98,
   190,224,  2, 92,223,129, 99, 61,124, 34,192,158, 29, 67,161,255,
    70, 24,250,164, 39,121,155,197,132,218, 56,102,229,187, 89,  7,
   219,133,103, 57,186,228,  6, 88, 25, 71,165,251,120, 38,196,154,
   101, 59,217,135,  4, 90,184,230,167,249, 27, 69,198,152,122, 36,
   248,166, 68, 26,153,199, 37,123, 58,100,134,216, 91,  5,231,185,
   140,210, 48,110,237,179, 81, 15, 78, 16,242,172, 47,113,147,205,
    17, 79,173,243,112, 46,204,146,211,141,111, 49,178,236, 14, 80,
   175,241, 19, 77,206,144,114, 44,109, 51,209,143, 12, 82,176,238,
    50,108,142,208, 83, 13,239,177,240,174, 76, 18,145,207, 45,115,
   202,148,118, 40,171,245, 23, 73,  8, 86,180,234,105, 55,213,139,
    87,  9,235,181, 54,104,138,212,149,203, 41,119,244,170, 72, 22,
   233,183, 85, 11,136,214, 52,106, 43,117,151,201, 74, 20,246,168,
   116, 42,200,150, 21, 75,169,247,182,232, 10, 84,215,137,107, 53,
}
Preinitialize CRC-8 table.

Definition at line 27 of file LOW_helper_crc.cpp.

Referenced by calcCRC8(), and LOW_helper_CRC::crc_error::crc_error().


The documentation for this class was generated from the following files:
Generated on Tue Feb 3 11:30:57 2004 for OneWireLibrary++ by doxygen 1.3.2