calculateCrc static method

int calculateCrc(
  1. Uint8List data
)

Calculates CRC16-CCITT/XMODEM checksum.

Polynomial: 0x1021, Initial value: 0xFFFF

Implementation

static int calculateCrc(Uint8List data) {
  int crc = 0xFFFF;
  for (final byte in data) {
    crc ^= (byte << 8);
    for (int i = 0; i < 8; i++) {
      if ((crc & 0x8000) != 0) {
        crc = ((crc << 1) ^ 0x1021) & 0xFFFF;
      } else {
        crc = (crc << 1) & 0xFFFF;
      }
    }
  }
  return crc;
}