Найти в Дзене
Darvik

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

В интернетах очень много примеров для arduino с простой структурой. Все бы ничего - но хочется разделить логику работы с разными модулями, а не иметь один захламленный файл. И... почему бы и да... Дабы не писать еще один framework с нуля - давайте посмотрим на интересную библиотеку -  etlcpp Из этой библиотеки мы возьмём: С нашей стороны добавим 3 объекта: И, как мне кажется, теперь наш скетч выглядит получше: line 1: наследуем наше приложение от application заодно указываем сколько модулей мы ожидаем
line 7: инициализация логгера
line 9,10: создаем наши модули Пример пользовательского модуля: полные исходники можно найти здесь.
В следующей серии - ГАЗ-66 Шишига под нашим контролем. #arduino #etlcpp

В интернетах очень много примеров для 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