StateMachineLib
Реализация конечного автомата с поддержкой состояний, переходов и callback'ов для управления режимами работы проекта
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:b1cf4273a8f61924bfa8567ac1f7cf5053e4c483c19919381e0112288f917503StateMachineLib-1.0.0-b1cf4273.zipОписание
Машина состояний на Arduino — полезная вещь, когда логика проекта строится на переходах между разными режимами работы. StateMachineLib реализует именно это: вы определяете состояния (до 256 штук), связываете их переходами и указываете условия срабатывания. Каждый переход можно привязать к функции-обработчику, которая выполнится в момент смены состояния. При этом сами состояния тоже поддерживают callback'и на вход и выход. Работает просто: инициализируете машину с нужным числом состояний и переходов, настраиваете переходы через AddTransition или SetTransition, затем регулярно вызываете Update() в основном цикле. Конкретных датчиков или протоколов библиотека не использует — это базовая логическая схема, под которую вы сами подстраиваете свои проверки условий. Удобно создавать перечисления для номеров состояний, это упрощает код и делает его читаемым.