Простая реализация конечного автомата с состояниями и переходами, управляемыми функциями-условиями
Архитектура: STM32
Библиотеки, совместимые с этой платформой, а также универсальные библиотеки для любых Arduino-совместимых плат.
Фреймворк конечных автоматов на основе TaskScheduler с таблицей состояний и переходов для неблокирующего кода
Реализация конечного автомата с поддержкой состояний, переходов и callback'ов для управления режимами работы проекта
Многоканальный регулятор с обратной связью в пространстве состояний для синтеза контроллеров и стабилизации систем на Arduino
Функции для вычисления перестановок, сочетаний и факториалов с поддержкой работы с массивами и большими числами
Облегченная замена std::function без динамической памяти для встроенных систем — поддерживает функции, методы и лямбды
Статистический анализ потоков данных: подсчёт, минимум, максимум, среднее, дисперсия и стандартное отклонение с оптимизацией по памяти и точности вычислений
Статистический анализ потоков и массивов данных с минимальным расходом памяти: среднее, медиана, стандартное отклонение, регрессия, сортировка
Отслеживание состояния переменных с историей изменений и упрощение логики на основе пороговых значений
Отправка метрик на StatsD-сервер через UDP с поддержкой тегов для Telegraf и Datadog
Клиент для отправки метрик на statsd-сервер через Arduino по TCP или UDP с поддержкой WiFi и Ethernet
Управление светодиодом с готовыми паттернами: включение, моргание, подсчёт импульсов, вспышки
Структуры данных для Arduino: списки, пары ключ-значение, приоритизированные очереди и перечисления на базе C++ шаблонов
Стабилизация показаний HC-SR04 с помощью медианной фильтрации и отсечки шумов
Управление DC-моторами на Arduino через PWM с контролем направления и скорости
Безопасная передача телеметрии датчиков в облако с шифрованием и интеграцией через 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
Управление 6-разрядным LED-дисплеем и матрицей клавиш размером до 8×2 через контроллер STLED316S по SPI
Датчик влажности и температуры HTS221 с интерфейсом I2C для STM32-плат