Statechart
Иерархические конечные автоматы на C++11 с полностью статическим выделением памяти для встроенных систем
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:c7efb42317ddf6c4adb0ccbcd6d9bad699bf6a4a6e53e019030350620ffe1f58Statechart-0.2.0-c7efb423.zipОписание
Если вы пишете сложную логику с множеством состояний и переходов, Statechart — это библиотека для иерархических автоматов на C++11, которая работает полностью в статической памяти без динамического выделения. Поддерживает вложенные составные состояния неограниченной глубины, историю (поверхностную и глубокую), охранные условия на переходах и асинхронные действия. События наследуются вверх по цепочке родителей, а выход/вход в состояния следует правилам UML statechart с корректным порядком. Конфигурируется через fluent API с цепочкой методов addState().onEnter().onExit().on(), вся память распределяется в шаблонных параметрах ещё на этапе компиляции. Подойдёт для встроенных систем, где нельзя использовать динамическую память или где нужна предсказуемость поведения автомата.