Найти тему
Darvik

Не loop'ом единым...

В интернетах очень много примеров для arduino с простой структурой.

Все бы ничего - но хочется разделить логику работы с разными модулями, а не иметь один захламленный файл. И... почему бы и да...

Дабы не писать еще один framework с нуля - давайте посмотрим на интересную библиотеку -  etlcpp

Из этой библиотеки мы возьмём:

  • etl::message - базовый класс для наших сообщений
  • etl::message_bus - шина сообщений
  • etl::message_router - базовый класс для модулей
  • etl::message_router_registry - реестр для роутеров
-2

С нашей стороны добавим 3 объекта:

  • registry - реестр объектов, предоставляет доступ к шине сообщений, к модулям системы
  • module - базовый класс для пользовательских компонентов
  • application - базовый класс для пользовательского приложения

И, как мне кажется, теперь наш скетч выглядит получше:

line 1: наследуем наше приложение от application заодно указываем сколько модулей мы ожидаем
l
ine 7: инициализация логгера
l
ine 9,10: создаем наши модули

Пример пользовательского модуля:

полные исходники можно найти здесь.
В следующей серии -
ГАЗ-66 Шишига под нашим контролем.

#arduino #etlcpp