Обработка кнопок с автоматическим подавлением дребезга и поддержкой одиночных, двойных и долгих нажатий через callback-функции или опрос в основном цикле
Архитектура: RP2040 (Raspberry Pi Pico)
Библиотеки, совместимые с этой платформой, а также универсальные библиотеки для любых Arduino-совместимых плат.
Отслеживание состояния кнопки с различием между нажатием, отпусканием и удержанием
Распознавание типов нажатий кнопки: короткие клики, длительные нажатия, двойные клики с подсчётом и измерением времени
Обработка нажатий кнопок с подавлением дребезга контактов через программную фильтрацию
Управление одиночными кнопками и группами через распознавание паттернов нажатия с встроенным дебаунсингом
Распознавание одной кнопкой простых нажатий, двойных и тройных кликов, длительных удержаний для назначения нескольких действий
Работа с матричными клавиатурами, подключёнными напрямую или через I2C расширители вроде MCP23017, с поддержкой событий клика и длинного нажатия
Обработка кнопок через прерывания микроконтроллера с встроенной функцией toggle
Неблокирующий обработчик кнопок и селекторов с поддержкой дребезга, автоповтора и событийных колбэков
Развязка дребезга кнопок, подключённых к земле, без использования прерываний
Многокнопочный драйвер с защитой от дребезга, распознаванием кликов, удержаний и комбинаций через event-колбэки
Механическая кнопка с несколькими режимами работы: моментарная, фиксирующая, счётчик, с защитой от дребезга
Превращает кнопки в переключатели с дебаунсингом, отслеживанием состояний и поддержкой сложных сценариев включения-выключения
Упрощает управление пьезозвукоизлучателями на Arduino: включение, отключение и воспроизведение последовательностей звуков
Управление несколькими зуммерами с гибкими паттернами сигналов без блокировки основного цикла программы
Воспроизведение мелодий на пьезозвучащих зуммерах без блокировки основного цикла программы
Управление пассивным пищащим динамиком с PWM, эффектами, мелодиями и командами через UART
Управление платой BuzzKill Sound Effects для генерации звуков и музыкальных эффектов через SPI или I2C
Управление аудиомодулем BY8001-16P/BY8301-16P с поддержкой воспроизведения файлов, очереди звуков и эквалайзера через Arduino и совместимые платформы
Общение с платой Byte Sized Encoder Decoder для считывания 8 квадратурных энкодеров по I2C
Легковесный буфер с move-семантикой для безкопийной передачи данных между функциями и эффективной работы с последовательными протоколами
Конвертация переменных в массивы байтов и обратно для передачи по I2C, SPI и serial
Кодирование COBS с опциональной контрольной суммой для надёжной синхронизации пакетов по UART и радиоканалам без динамической памяти
Сериализация данных в буферы с явным little-endian форматом и подсчётом размера на этапе компиляции, без динамической памяти
Подключение ESP8266 к облачной платформе CafeIOT через TCP/IP
Интеграция Arduino с облачной платформой CafeIot для IoT-приложений
Управление платой CAGEduino и её компонентами в Arduino IDE и TREMA IDE для робототехники на платформе CAGEBOT
Численное интегрирование и дифференцирование для микроконтроллеров с методом Симпсона и автоподбором коэффициентов PID
Калибровка скорости DC моторов путём перемасштабирования значений для компенсации различий в мощности и мёртвых зон
Унифицированный интерфейс для работы с функциями, методами и лямбда-выражениями в качестве обратных вызовов