Я сделяль!

Выяснил для себя несколько моментов, которые очень помогли разобраться с приборкой:
- CRC-8 на всё, что после стартового бита, poly=0x13, init=0x00
- Стаффинг биты добавляются от стартового бита и до CRC включительно
- Если после стаффинг бита идут еще 4 таких бита - снова добавляем стаффинг бит
- Приоритет не важен для проверки - можно ставить любой
- Если данных больше чем нужно - не страшно. Лишние игнорируются.
- Многое управляется побитово 1=вкл, 0=выкл. Соответственно, 0xFF=0b11111111=вкл всё.
Из сообщений выше можно догадаться, что
DID приборки = 0xFE
Делаем заготовку сообщения вида:
0D FE xx FF FF FF FF FF FF FF FF FF FF FF CRC 7e
MID (xx) перебираем от 0x0 до 0xFF, каждый раз пересчитывая crc, отправляем и наблюдаем за приборкой.
Я делал это с помощью ардуино и выводил текущий MID в Serial
После того, как приборка показала, что она умеет включать, меняем сообщение на
0D FE xx 00 00 00 00 00 00 00 00 00 00 00 CRC 7e
и смотрим что она умеет гасить и на каких MID
Дальше можно разбираться с каждым сообщением индивидуально. (Выбираем MID и меняем data биты по одному)
Почти всё было разгадано за один вечер, без подопытной машины и мозгов.