Все понятно. Реализовал свой вариант разбора и сборки пакетов. Одно маленькое НО меня гложет. У меня проблема с CRC8. Не совпадает реализация вычисления CRC в программе WakeUp (http://digit-el.com/files/open/wake/dn_wake/wakeup.zip) с описанным в протоколе.
Делаю по описанию протокола:
Пример:СRC: Байт контрольной суммы CRC-8. Может отсутствовать в некоторых реализациях протокола. Контрольная сумма CRC-8 рассчитывается перед операцией стаффинга для всего пакета, начиная с байта FEND и заканчивая последним байтом данных. Если в пакете передается адрес, то при вычислении контрольной суммы используется его истинное значение, т.е. единичный старший бит не учитывается. Для расчета контрольной суммы используется полином CRC = X8 + X5 + X4 + 1. Значение CRC перед вычислением инициализируется числом DEh.
Посылаем пакет

Ловим:

Дешифруем пакет и пробуем проверить CRC(по протоколу)

Как-то не совпадает. 0x96 != 0x33
Калькулятор верный(проверял). Что делать? Кто знает "правильный" полином и "нужный" байт инициализации?
С одной стороны можно забить и использовать свою реализацию CRC(которая на ура проверятся калькуляторами). С другой было желание использовать программу WakeUp(созданную разработчиком протокола) для тестирования/управления устройств с компа.
