Показать сообщение отдельно
Старый 04.02.2017, 11:13   #131
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,510
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 710
Поблагодарили 4,621 раз(а) в 2,052 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (4632)
По умолчанию

Цитата:
Сообщение от BR95009 Посмотреть сообщение
Почему же тогда они меняются в комбинациях: адрес - 0, адрес - 1, адрес+1 - 2, адрес+1 - 3. Data =0-3. ?
Формат "базового" аксессуарного пакета (NMRA S9.2.1). Бит 0 это номер выхода стрелки (условно "прямо" и "отклонение"), а бит 1 это уже номер стрелки. Бит 2 кстати тоже. В приведенном куске кода (BasicAccDecoderPacket_Handler) это хорошо видно, биты 1 и 2 (полученные из data) используются для вычисления адреса: (data & 0x06) >> 1. Код просто странноватый Т.о. data=2 и 3 это норма, учитывая что помимо команды (младший бит) есть младший бит стрелочного адреса (бит 1).

---------- Сообщение добавлено в 11:13 ---------- Предыдущие сообщение было в 11:11 ----------

Цитата:
Сообщение от laba Посмотреть сообщение
Есть ещё расширенные аксессуарные команды,
в данном контексте о них речи вообще нет. Экос "рулит" только базовыми (basic).
Alex_S на форуме  
Вверх