crc16 static method
Implementation
static int crc16(Uint8List data) {
int crctemp;
int crc = 0x0000ffff;
for (int i = 0;i < data.length - 2 ; i++) {
crc ^= data[i] & 0xff;
for (int j = 0;j < 8;j++) {
if ((crc & 0x01) != 0) {
crc >>= 1;
crc ^= 0x0000a001;
}else {
crc >>= 1;
}
}
}
crctemp = crc;
crc = ((crctemp << 8) | (crc>>8))&0x0000ffff;
data[data.length-2] = crc >> 8 & 0x00ff ;
data[data.length-1] = crc & 0x00ff ;
return crc;
}