DAVIS Vantage Pro Reference Manual page 33

Serial communication reference manual
Hide thumbs Also See for Vantage Pro:
Table of Contents

Advertisement

The CRC checking used by the WeatherLink is based on the CRC-CCITT standard. The heart of
the method involves a CRC-accumulator that uses the following formula on each successive data
byte. After all the data bytes have been "accumulated", there will be a two byte CRC checksum
that will get processed in the same manner as the data bytes. If there has been no transmission
error, then the final CRC-accumulator value will be 0 (assuming it was set to zero before
accumulating data).
In the following code, "crc" is the crc accumulator (16 bits or 2 bytes), "data" is the data or CRC
checksum byte to be accumulated, and "crc_table" is the table of CRC value found in the array
below. The operator "^" is an exclusive-or (XOR), ">> 8" shifts the data right by one byte
(divides by 256), and "<< 8" shifts the data left by one byte (multiplies by 256).
crc = crc_table [(crc >> 8) ^ data] ^ (crc << 8);
unsigned short crc_table [] = {
0x0,
0x1021,
0x2042,
0x8108,
0x9129,
0x1231,
0x210,
0x3273,
0x9339,
0x8318,
0x2462,
0x3443,
0xa56a,
0xb54b,
0x3653,
0x2672,
0xb75b,
0xa77a,
0x48c4,
0x58e5,
0xc9cc,
0xd9ed,
0x5af5,
0x4ad4,
0xdbfd,
0xcbdc,
0x6ca6,
0x7c87,
0xedae,
0xfd8f,
0x7e97,
0x6eb6,
0xff9f,
0xefbe,
0x9188,
0x81a9,
0x1080,
0xa1,
0x30c2,
0x83b9,
0x9398,
0x2b1,
0x1290,
0x22f3,
0xb5ea,
0xa5cb,
0x34e2,
0x24c3,
0xa7db,
0xb7fa,
0x26d3,
0x36f2,
0xd94c,
0xc96d,
0x5844,
0x4865,
0xcb7d,
0xdb5c,
0x4a75,
0x5a54,
0xfd2e,
0xed0f,
0x7c26,
0x6c07,
0xef1f,
0xff3e,
0x6e17,
0x7e36,
};
When sending a CRC to the console, always send the most significant byte first. This is the
opposite of how regular data values are sent where the least significant byte is sent first.
0x3063,
0x4084,
0xa14a,
0xb16b,
0x2252,
0x52b5,
0xb37b,
0xa35a,
0x420,
0x1401,
0x64e6,
0x8528,
0x9509,
0x1611,
0x630,
0x76d7,
0x9719,
0x8738,
0x6886,
0x78a7,
0xe98e,
0xf9af,
0x7ab7,
0x6a96,
0xfbbf,
0xeb9e,
0x4ce4,
0x5cc5,
0xcdec,
0xddcd,
0x5ed5,
0x4ef4,
0xdfdd,
0xcffc,
0xb1ca,
0xa1eb,
0x20e3,
0x5004,
0xa3fb,
0xb3da,
0x32d2,
0x4235,
0x95a8,
0x8589,
0x14a0,
0x481,
0x7466,
0x8799,
0x97b8,
0x691,
0x16b0,
0x6657,
0xf90e,
0xe92f,
0x7806,
0x6827,
0xeb3f,
0xfb1e,
0x6a37,
0x7a16,
0xdd6c,
0xcd4d,
0x5c64,
0x4c45,
0xcf5d,
0xdf7c,
0x4e55,
0x5e74,
Page 33 of 52
0x50a5,
0x60c6,
0xc18c,
0xd1ad,
0x4294,
0x72f7,
0xd3bd,
0xc39c,
0x74c7,
0x44a4,
0xe5ee,
0xf5cf,
0x66f6,
0x5695,
0xf7df,
0xe7fe,
0x840,
0x1861,
0x2802,
0x8948,
0x9969,
0x1a71,
0xa50,
0x3a33,
0x9b79,
0x8b58,
0x2c22,
0x3c03,
0xad2a,
0xbd0b,
0x3e13,
0x2e32,
0xbf1b,
0xaf3a,
0xd10c,
0xc12d,
0x4025,
0x7046,
0xc33d,
0xd31c,
0x5214,
0x6277,
0xf56e,
0xe54f,
0x6447,
0x5424,
0xe75f,
0xf77e,
0x7676,
0x4615,
0x99c8,
0x89e9,
0x18c0,
0x8e1,
0x3882,
0x8bf9,
0x9bd8,
0xaf1,
0x1ad0,
0x2ab3,
0xbdaa,
0xad8b,
0x3ca2,
0x2c83,
0xaf9b,
0xbfba,
0x2e93,
0x3eb2,
0x70e7,
0xe1ce,
0xf1ef,
0x62d6,
0xf3ff,
0xe3de,
0x5485,
0xc5ac,
0xd58d,
0x46b4,
0xd79d,
0xc7bc,
0x3823,
0xa90a,
0xb92b,
0x2a12,
0xbb3b,
0xab1a,
0xc60,
0x1c41,
0x8d68,
0x9d49,
0x1e51,
0xe70,
0x9f59,
0x8f78,
0xf14e,
0xe16f,
0x6067,
0xe37f,
0xf35e,
0x7256,
0xd52c,
0xc50d,
0x4405,
0xc71d,
0xd73c,
0x5634,
0xb98a,
0xa9ab,
0x28a3,
0xabbb,
0xbb9a,
0x3a92,
0x9de8,
0x8dc9,
0x1ce0,
0xcc1,
0x8fd9,
0x9ff8,
0xed1,
0x1ef0,

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Vantage pro2

Table of Contents