Показать сообщение отдельно
Старый 04.10.2017, 19:07   #158
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,865
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,665
Поблагодарили 3,280 раз(а) в 1,176 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (3291)
По умолчанию

Вот и допилил режим двухзначных светофоров. Теперь, в CV режима PWM канала в битах 2..0 можно выбрать собственно режим для каждого из 32-х каналов:

PWM_MODE_SIMPLE = 0,
PWM_MODE_SMOOTH = 1,
PWM_MODE_SMOOTH_DETACH = 2,
PWM_MODE_TL_GREEN = 3,
PWM_MODE_TL_RED = 4
т.е. задать свет огня лампы,
в бите 3 - режим сохранять в EEPROM последнее положение или нет.
а в битах 7..4 указать номер светофора от 0 до 15.

Еще есть запас на 3 типа режима. Потом биты CV кончатся

Можно добавить режим плавного "разгорания" огней светофора, правда они будут одновременно это делать: один начнет гаснуть, другой разгораться. Нужно ли это?

В итоге:
Код:
Скетч использует 13702 байт (44%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1679 байт (81%) динамической памяти, оставляя 369 байт для локальных переменных. Максимум: 2048 байт.
Недостаточно памяти, программа может работать нестабильно.


---------- Сообщение добавлено в 20:07 ---------- Предыдущие сообщение было в 19:51 ----------

Пожалуй нужно зарезервировать CV(или ответные команды по Loconet) для служебных целей:
- идентификация модулей: масштаб, ID модуля, ID модульной тусовки
- тип модуля (если дойдет до базы данных с полным описанием для автоматизации)
- версия прошивки
- показатели жизнеспособности: есть ли DCC на входе, наличие КЗ, полярность, потребляемый ток на рельсах
- что-то еще


Свои команды в локонет добавлять еще не приходилось, надо попробовать

Последний раз редактировалось shalex; 04.10.2017 в 20:35.
shalex вне форума  
Вверх