crc16 function
Calculate CRC16 checksum
Implementation
int crc16(List<int> data) {
_crcTable ??= (() {
_initCrcTable();
return _crcTable;
})()!;
int val = 0xFFFF;
for (final v in data) {
val = (val >> 8) ^ _crcTable![(val ^ v) & 0x00FF];
}
return val & 0xFFFF;
}