Кёф, Модульность пришла исходя из того, что хочется попробовать все же получить массовый продукт, а как следствие - неизвестно сколько чего надо. Я изнвчально хотел разработать именно макетный контроллер, со всем нужным на борту. Но потом все же начинает точить - допустим я поставлю, условно, 16 серв. А на макете их 17, услово (просто больше, не важно сколько именно). И что делать в таком случае? Ставить еще один контроллер, и подключать к нему остальные сервы. Таже история с токовыми датчиками, бустерами и т.д. Сколько независимых каналов бустера должно быть на борту? И т.д. А ставить еще один контроллер ради пары плюшек - а не будет ли затратно? Ибо помимо, скажем 2 серв покупается и все что есть на борту, но не исползуется. По этому, скрипя зубами, решил все же модульную архитектуру. Тем более, что проще расширять.. Можно будет просто добавлять новые модули с новыми функциями.
Да и это хобби, а на данный момент времени именно это мне интересно.
По поводу обновлений и т.д. - тут тоже есть мысли,как это поудобнее сделать. Да и, скажем так, обновление простого модуля - это не частое явление. Скажем, тот же серводекодер - смысл постоянно обновлять прошивку - у него есть ограниченная функция, которую он должен выполнять. Посему, частых обновлений, теоретически, не будет.
Да, идея выкристализовалась в довольно сложную схему. По идее да, перевод бустеров на цифру с аналога будет незаметен, т.к. это будет сугубо программное переключение. В принципе, можно даже сразу поддерживать 2 режима, а в конфигурации определять как именно работать будет.
При желании, никто не мешает добавить модуль-гейт для поддержки цифровых интерфейсов.
Пока получился следующий концепт:
1 - Базовый, он же логический модуль. У него 2 задачи:
- поддерживать связь с внутренней сетью (другие базовые модули, гипотетический сервер);
- управлять своими устройствами по внутренней шине
У него же содержится логика управления своей зоной ответственности
2 - исполнительные модули - это всякого рода серводекодеры, освещение, датчики ОС
3 - пока не понятно как, но поддержка пультов. (в том числе там с мнемосхемами и.т.д.)
Как верно было замечено, железки ничего не стоят, вся засада именно в разработке ПО.
Почему пока аналог? Да просто интересно. С цифрой дело по проще, но в то же время без поддержки railcom сильно смысла не вижу, ибо "правильной" автоматики не получится.
Пока мысли о таком составе модулей:
1 - серво
2 - токовые датчики
3 - освещение
4 - бустер