после изучения разных протоколов типа xcp, canopen, j1939, vscp и некоторых других оказалось, что то чего мне хочется придется делать самому.
Мне нужно чтобы протокол поддерживал plug-and-play, позволял делать наладку контроллеров, их прошивку, имел data aquisition и систему диагностики при этом контроллер должен иметь встроенное описание всех своих возможностей, что бы не нужно было таскать какие-то дополнительные файлы с описаниями.
Также хотелось, чтобы вся информация генерировалась без дополнительный средств т.е. только препроцессор С (что исключает возможность неактуальной информации) и код был максимально платформонезависимый и с минимальными настройками
в CAN протокол использует расширенный идентификатор и может сосуществовать с j1939, есть мультифрейм
Особенности протокола:
Простое использование — достаточно включить один файл в проект, отключить/включить несколько #define и реализовать доступ к CAN
Написан на чистом (даже ограниченном подмножестве) С для максимальной переносимости
Все передаваемые данные называются регистрами и имеют свои номера.
для наладки/просмотра можно использовать обычные переменные С, включая массивы и структуры (в том числе и битовые). (ограничения: структуры состоят только из простых типов)
Переменные делятся на 2 типа — обычные (в которые контроллер записывает значения, после каких-то вычислений) и настроечные(которые влияют на работу контроллера)
Есть системные регистры, содержащие информацию о контроллере, производителе, переменных и пр.
data aquisition и диагностика пока не реализованы
Состояние на сегодня:
успешно работает на нескольких микроконтроллерах 16/32 разрядных big/little-endian
Для портирования на 8 разрядные вероятно потребуются дополнительные усилия т.к. изначально я на них не рассчитывал (мы их не используем)
Мастер пока не доделан, но будет в ближайшее время (на с++)
интерфейс, пример настройки и объявления переменных во вложении
собственно вопрос:
Интересно ли это разработчикам?
ну и если кто-то хочет поучаствовать — буду очень рад
--
p.s. название CAP2 от controller adjustment protocol. 2 — версия
pps прошу прощения за сумбурность — все нет времени сесть и нормально описать
ppps пока не решено будет ли это полностью free или частично т.к. все находится на достаточно ранней стадии