Иерархические конечные автоматы на C++11 с полностью статическим выделением памяти для встроенных систем
Библиотеки
Ищите по названию, автору, категории или строчке #include. У каждой библиотеки видно, готов ли ZIP к скачиванию с зеркала TREMA.
Простая реализация конечного автомата с состояниями и переходами, управляемыми функциями-условиями
Фреймворк конечных автоматов на основе TaskScheduler с таблицей состояний и переходов для неблокирующего кода
Реализация конечного автомата с поддержкой состояний, переходов и callback'ов для управления режимами работы проекта
Многоканальный регулятор с обратной связью в пространстве состояний для синтеза контроллеров и стабилизации систем на Arduino
Функции для вычисления перестановок, сочетаний и факториалов с поддержкой работы с массивами и большими числами
Облегченная замена std::function без динамической памяти для встроенных систем — поддерживает функции, методы и лямбды
Статистический анализ потоков данных: подсчёт, минимум, максимум, среднее, дисперсия и стандартное отклонение с оптимизацией по памяти и точности вычислений
Статистический анализ потоков и массивов данных с минимальным расходом памяти: среднее, медиана, стандартное отклонение, регрессия, сортировка
Отслеживание состояния переменных с историей изменений и упрощение логики на основе пороговых значений
Отправка метрик на StatsD-сервер через UDP с поддержкой тегов для Telegraf и Datadog
Клиент для отправки метрик на statsd-сервер через Arduino по TCP или UDP с поддержкой WiFi и Ethernet
Управление светодиодом с готовыми паттернами: включение, моргание, подсчёт импульсов, вспышки
Структуры данных для Arduino: списки, пары ключ-значение, приоритизированные очереди и перечисления на базе C++ шаблонов
Стабилизация показаний HC-SR04 с помощью медианной фильтрации и отсечки шумов
Управление DC-моторами на Arduino через PWM с контролем направления и скорости
Управление роботом STEAMbot: моторы, датчики, кнопки, LED и динамик через готовые объекты библиотеки
Безопасная передача телеметрии датчиков в облако с шифрованием и интеграцией через MQTT
Управление дифференциальным приводом робота с двумя колёсами через мотор-драйвер TB6612
Управление шестиногим роботом STEMI Hexapod v3: движение, анимация и RGB-светодиоды через BLE
Управление униполярными и биполярными шаговыми двигателями с настройкой направления, скорости и количества шагов
Управление шаговым двигателем 28BYJ-48 через драйвер ULN2003 с простым API для задания шагов, направления и скорости
Асинхронное управление шаговыми двигателями без блокировки основного loop микроконтроллера
Управление шаговыми двигателями через драйверы DRV8825 и A4988 с настройкой скорости, направления и количества шагов
Управление шаговыми двигателями через драйверы STEP+DIR (A4988, DRV8825, TMC2100) с поддержкой микрошага и неблокирующей работой с ускорением
Управление шаговыми моторами на STM32F4x1 с трапециальными профилями, S-кривыми и компенсацией люфта
Управление шаговым двигателем через драйвер с точным задаванием положения и скорости
Управление несколькими шаговыми двигателями одновременно без блокирующих задержек через неблокирующие вызовы step()
Управление шаговыми двигателями через каскадированные сдвиговые регистры 74HC595, используя всего три вывода микроконтроллера
Обработка кнопок на основе событий: нажатие, удержание, отпускание с поддержкой INPUT и INPUT_PULLUP