Sensor Fusion для ST MEMS датчиков на STM32: обработка акселерометра, гироскопа и магнитометра с выводом курса, тангажа и крена
Архитектура: stm32
Библиотеки, совместимые с этой платформой, а также универсальные библиотеки для любых Arduino-совместимых плат.
Драйвер для трансивера S2-LP sub-1GHz с поддержкой отправки пакетов, приёма данных через callback и взаимодействием по SPI
Отладка ARM-плат Arduino через semihosting с помощью J-Link или Black Magic Probe
Управление датчиком Time-of-Flight VL53L0X для измерения расстояния и распознавания жестов по I2C
Управление датчиком VL6180X для измерения расстояния и уровня освещённости через I2C
Работа с датчиком времени пролёта VL53L0X на плате X-NUCLEO-53L0A1 через I2C: измерение расстояния и распознавание жестов
Управление датчиком VL6180X на модуле X-NUCLEO-6180XA1 для измерения расстояния, уровня освещённости и распознавания жестов по I2C
Работа с GPS-модулем Teseo LIV3F на плате X-NUCLEO-GNSS1A1 через I2C или UART с поддержкой парсинга NMEA
Управление платой X-NUCLEO-IDB05A1 с Bluetooth Low Energy модулем для микроконтроллеров STM32
Управление шаговым двигателем через плату X-NUCLEO-IHM01A1 с чипом L6474 по SPI для STM32 Nucleo
Управление DC моторами через плату расширения X-NUCLEO-IHM04A1 с микросхемой L6206 для STM32 Nucleo
Управление биполярным шаговым двигателем через плату X-NUCLEO-IHM05A1 с драйвером L6208 для STM32 Nucleo
Управление двумя щёточными DC-моторами через плату X-NUCLEO-IHM12A1 на базе микросхемы STSPIN240
Захват звука с цифрового микрофона IMP34DT05 на STM32 с преобразованием PDM в PCM
Управление LED6001 драйвером на плате X-NUCLEO-LED61A1 с диммированием через PWM и детекцией неисправностей
STM32duinoBLE — форк ArduinoBLE с поддержкой BLE-модулей STM32WB, BLUENRG и других на платах STM32
Измерение интервалов времени и частоты сигналов с точностью до микросекунд
Последовательное выполнение неблокирующих задач с временными интервалами между ними
Вычисление доверительного интервала для среднего значения выборки через T-распределение Student
Субпиксельный рендеринг шрифтов для чётких надписей на маленьких дисплеях
Плавное управление сервомоторами с 30 вариантами easing-анимаций для естественных движений без блокирующих функций
Программная реализация I2C с простыми методами readFrom() и writeTo() для работы с датчиками и модулями на любой Arduino-плате
Синхронизированные волновые функции (синус, косинус, треугольник, пила) с периодом, независимые от частоты вызова основного цикла
Синтез речи на основе LPC с предзаписанным словарём из 1000+ слов для встраивания в Arduino-проекты
Планировщик задач для Arduino с поддержкой периодического и отложенного выполнения без блокирующих задержек
Управление E-Ink дисплеем Aurora Mb 4.41" через контроллер TCM2 с конвертированием графики в EPD формат
Фреймворк логирования для TcMenu с поддержкой пользовательских реализаций LoggingPort и совместимостью с Arduino, PicoSDK и mbed
TCP-клиент для Arduino через последовательный порт хоста с поддержкой любых серверов без Ethernet и WiFi шилдов
Улучшенная обёртка датчика TCS34725 с автоподстройкой чувствительности, асинхронным режимом и точным расчётом люксов и цветовой температуры
Управление FM-приёмником TEA5767 через I2C: настройка частоты, громкость и другие функции без работы с низкоуровневым протоколом