[an error occurred while processing this directive]
typedef unsigned char byte; byte crc16h, crc16l; void UpdateCRC16(byte c) { c ^= crc16h; c ^= (c >> 4); crc16h = crc16l ^ (c << 4) ^ (c >> 3); crc16l = c ^ (c << 5); }