У товарища
Федюнь есть задумка сделать диспетчерский пульт, с которого можно будет управлять стрелками и светофорами, в чем я стараюсь ему помочь, однако в процессе работы возникло 2 параллельных варианта реализации.
Основные концепции - отсутствие компьютера, разделение функций управления макетом между машинистом и диспетчером.
1) (его) светофоры с мозгами, которые можно закрывать и открывать с пульта, но они сами определяют какой сигнал выдать в зависимости от положения стрелок и датчиков занятости (что описано в постах выше). Главный минус по моему мнению в том, что для индикации придется к пульту тащить приличное количество проводков (сам пульт при этом просто индикатор+простая командная станция для управления стрелками и светофорами).
2) (мой) тупые светофоры, полностью управляемые пультом; пульт решает какой сигнал выдать на основе своих кнопок и данных от положении стрелок и датчиков занятости (обратную связь думаю сделать на RS485).
Собственно вопрос к людям, разбирающимся в протоколе DCC.
Для управления аксессуарными декодерами есть два формата команд, базовый (10AAAAAA 0 1AAACDDD) и расширенный (10AAAAAA 0 0AAA0AA1 0 000XXXXX).
Для первого варианта реализации вполне подходит базовый формат, т.к. там во-первых один светофор на одном адресе, во вторых нужно передавать только два значения "открыт-закрыт".
Но вот для второго я хочу использовать расширенный формат, потому как планируется задействовать один декодер для нескольких светофоров (пост как раз по теме, не правда ли
?), например 3х5 или 6х2, а для конкретной комбинации сигналов удобно использовать те самые XXXXX (00000 - красный, 00001-зеленый, 00010-два желтых и т.д.).
Если с базовым вариантом все более менее понятно, то для второго в целях совместимости с существующими разработками хотелось бы узнать:
1) есть ли какая-то договоренность об кодировании сигнала (в стандарте написано что 00000 это стоп, т.е. как я понял "красный", а про остальные сказано - определяется системой под которую макет строится)?
2) как используются биты адреса второго байта команды (0AAA0AA1), можно ли это использовать, чтобы не занимать несколькими светофорами адресное пространство 128-191? Хотелось бы увидеть примеры, т.к. мое убогое piko digi1 такого кажется не умеет, и подсмотреть негде...
PS: насколько я понял из описания к ORA-2, в них используется базовый формат команды, это так? Если так, то как реализуется мигающий сигнал? Просто периодической подачей команд?