Генератор исходного кода обработки бинарного протокола https://camo.githubusercontent.com/9d6f2139d30c0db240d115394761e60429d55606/687474703a2f2f7777772e756e697261696c2e6f72672f77702d636f6e74656e742f75706c6f6164732f323031372f31322f536368656d322e706e67
https://github.com/cheblin/BlackBox
здесь BlackBox
BlackBox генерирует исходный код на следующих языках программирования
JAVA, C#, C. Планируется поддержка
SWIFT.
На данный момент, кодогенератор
BlackBox построен как
SaaS. Для получения сгенерированного и оттестированного кода необходимо:
Создать спецификацию протокола. По сути это обычный исходник на java.
Вот например как он выглядит для демо проекта управления с Android миганием светодиода на борде под STM8S103F3P6 через Bluetooth UART на HC 08. При написании спецификации необходимо к java проекту подключить
набор аннотаций описывающих характеристики данных, а также,
следуя небольшому набору правил описать пакеты, каналы, хосты, коммуникационные интерфейсы, топологию сети
Проверить, что спецификация успешно компилируется, и послать её исходник, в виде аттачмента письма на почтовый адрес
OneBlackBoxPlease@outlook.com. Сервер периодически забирает присланные спецификации из этого ящика, проверяет их корректность. Генерирует заказанный в спецификации исходный код на требуемых языках программирования. После этого создается несколько тестов и исходники прогоняются через них. Если все тесты прошли успешно, то сгенерированный код, последний прошедший тест, а также пример использования заказанного API упаковывается в архив и высылается адресату. В случае обнаружения ошибки, отправитель уведомляется о возможной задержке и служба поддержки BlackBox разбирается с возникшим затруднением.
Тут можно найти пример высылаемого сгенерированного кода,
а тут использование этого кода в выше упомянутом, демонстрационном проекте управления с андроида вспышками светодиода на демоплате собранной на
STM8.
Используя
BlackBox вы сможете с лёгкостью наладить связь не только между микроконтроллерами, мобильными устройствами но и обычными компьютерами. И что важно, с минимальными затратами времени и сил. Фактически код сгенерированный
BlackBox может стать каркасом Вашего распределенного приложения. Программисту останется просто добавить обработчики на события приёма пакета, а также логику создания пакета, заполнения его данными и отправки его получателю.