Dynasonics TFXP Series Transit Time Ultrasonic Flow Meter User Manual
Page 121

0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,
0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040,
};
unsigned short
calculate_crc(const unsigned char *pv, int size)
{
unsigned short crc = 0xFFFF;
for ( ;size-- ; pv++)
{
crc = (crc >> 8) ^ crc_table[(crc ^ *pv) & 0xFF];
}
return crc;
}