Буферизованная трассировка сообщений для отладки без влияния на синхронизацию времязависимого кода
Архитектура: nano_esp32
Библиотеки, совместимые с этой платформой, а также универсальные библиотеки для любых Arduino-совместимых плат.
Извлекает дату и время компиляции из встроенных констант компилятора и предоставляет их в виде готовых переменных
Распознавание одиночных, двойных и длительных нажатий кнопок с назначением callback-функций для каждого типа события
Отслеживание состояния кнопки с различием между нажатием, отпусканием и удержанием
Распознавание типов нажатий кнопки: короткие клики, длительные нажатия, двойные клики с подсчётом и измерением времени
Управление одиночными кнопками и группами через распознавание паттернов нажатия с встроенным дебаунсингом
Распознавание одной кнопкой простых нажатий, двойных и тройных кликов, длительных удержаний для назначения нескольких действий
Работа с матричными клавиатурами, подключёнными напрямую или через I2C расширители вроде MCP23017, с поддержкой событий клика и длинного нажатия
Обработка кнопок через прерывания микроконтроллера с встроенной функцией toggle
Развязка дребезга кнопок, подключённых к земле, без использования прерываний
Управление пассивным пищащим динамиком с PWM, эффектами, мелодиями и командами через UART
Управление платой BuzzKill Sound Effects для генерации звуков и музыкальных эффектов через SPI или I2C
Легковесный буфер с move-семантикой для безкопийной передачи данных между функциями и эффективной работы с последовательными протоколами
Численное интегрирование и дифференцирование для микроконтроллеров с методом Симпсона и автоподбором коэффициентов PID
Калибровка скорости DC моторов путём перемасштабирования значений для компенсации различий в мощности и мёртвых зон
Унифицированный интерфейс для работы с функциями, методами и лямбда-выражениями в качестве обратных вызовов
Асинхронная обработка нажатий кнопки без блокировок, с распознаванием коротких, долгих и двойных кликов через callback-функции
Управление Calliope mini V1-V3: LED матрица, кнопки, RGB светодиоды, мотор и BLE (V1-V2)
Структуры данных для работы с фреймами CAN 2.0B, требует отдельного драйвера контроллера для полной функциональности
Помощник для отправки и планирования сообщений CAN шины на Arduino с поддержкой встроенного контроллера и MCP2515
Управление двухмоторной мобильной платформой с поддержкой ультразвукового и IR датчиков
Упрощённая обёртка для управления адресуемыми RGB-лентами WS2812 на базе Adafruit NeoPixel с примерами для новичков
Датчик качества воздуха CCS811 с измерением TVOC и eCO2 через I2C
Управление матрицей из 128 аналоговых переключателей CD22M3494EZ для коммутации сигналов постоянного тока и переменного тока до 1 МГц
Управление семисегментными индикаторами через микросхему CD4511B с минимумом пинов Arduino
Обработка нажатий кнопок с фильтрацией дребезга и определением типов касаний
Реализация паттерна State для конечных автоматов на чистом Си без макросов и зависимостей
API-клиент OpenAI ChatGPT для Arduino и ESP32 с поддержкой WiFi
Translations for C in one header: plurals for 71 languages, formatting, right-to-left text.
Пересчёт значений PWM для линейного увеличения яркости светодиода в соответствии с кривой CIE1931