UNPKG

inventoresed

Version:

Z-Wave driver written entirely in JavaScript/TypeScript

16 lines (13 loc) 401 B
// Implementation based on SDS13782 export function CRC16_CCITT(data: Buffer, startValue: number = 0x1d0f): number { let crc = startValue; const poly = 0x1021; for (let i = 0; i < data.length; i++) { for (let bitMask = 0x80; bitMask !== 0; bitMask >>= 1) { const xorFlag = !!(data[i] & bitMask) !== !!(crc & 0x8000); crc <<= 1; if (xorFlag) crc ^= poly; } } return crc & 0xffff; }