There was an error while loading. Please reload this page.
The two bytes at the end of a message are CRC16 generated from:
def crc16(msg): acc = 0x00 for x in msg: acc = (acc >> 8) ^ crc_table16[(acc ^ ord(x)) & 0xff] return acc
ID2, B9, BLEN and BODY are all included in the CRC16 the checksum.
The B9 byte includes a 4-bit packet sequence #, the top two bits of the 10-bit message length and an alarm bit.
Communications
Reference
Message decoding
Device drivers
Hardware