CRC-CCITT (0x1D0F)
| 39 | // CRC-CCITT (0x1D0F) |
| 40 | // |
| 41 | uint16 crc16(uint8 const * data_p, uint32 const _length){ |
| 42 | uint8 x; |
| 43 | uint16 crc = 0xF6AF; // 0x1D0F with first byte 0x56; |
| 44 | uint32 length = _length; |
| 45 | |
| 46 | while (length--){ |
| 47 | x = crc >> 8 ^ *data_p++; |
| 48 | x ^= x>>4; |
| 49 | crc = (crc << 8) ^ ((uint16)(x << 12)) ^ ((uint16)(x <<5)) ^ ((uint16)x); |
| 50 | } |
| 51 | return crc; |
| 52 | } |
| 53 | |
| 54 | enum CRC16EncapCmd |
| 55 | { |