| 329 | } |
| 330 | |
| 331 | static uint16_t CRC16ForByte(uint8_t value) |
| 332 | { |
| 333 | uint16_t crc = 0; |
| 334 | for (uint32_t i = 0; i < 8; ++i) |
| 335 | { |
| 336 | crc = (uint16_t) ((((crc ^ value) & 1) ? 0xA001 : 0) ^ (crc >> 1)); |
| 337 | value >>= 1; |
| 338 | } |
| 339 | return crc; |
| 340 | } |
| 341 | |
| 342 | static uint16_t UpdateCRC16(uint16_t crc, const char* string) |
| 343 | { |