--- /dev/null
+unsigned short update_crc16( WORD crc, BYTE c ) {\r
+ WORD i, v, tcrc = 0;\r
+\r
+ v = (crc ^ c) & 0xff;\r
+ for (i = 0; i < 8; i++) {\r
+ tcrc = ( (tcrc ^ v) & 1 ) ? ( tcrc >> 1 ) ^ 0x8408 : tcrc >> 1;\r
+ v >>= 1;\r
+ }\r
+\r
+ return (crc >> 8) ^ tcrc;\r
+}\r