Вычисление контрольных сумм Fletcher16 для проверки целостности данных при передаче
Архитектура: mbed_giga
Библиотеки, совместимые с этой платформой, а также универсальные библиотеки для любых Arduino-совместимых плат.
Циклический буфер FIFO для буферизации данных с контролем переполнения и поддержкой массивов
Алгоритмы управления для Arduino: усилитель с ограничением и ПИД-контроллер с защитой от насыщения интегратора
Портирование библиотеки Eigen для матричной математики и линейной алгебры на ARM-микроконтроллеры
Синтез возбуждающих сигналов для тестирования и идентификации динамических систем: импульсы, chirp-сигналы и многочастотные волны
Цифровая фильтрация данных на основе рациональной передаточной функции с поддержкой IIR-фильтров для обработки сенсорных данных и сглаживания шума
Работа с инерциальным измерительным модулем Honeywell HG4930 через интерфейс RS422
Преобразование float-значений в целые числа для компактной передачи и хранения данных
Кодирование и декодирование целых чисел в формат LEB128 с переменной длиной для минимизации объёма данных
Кодирование и декодирование данных в UART-фреймы с контрольной суммой Fletcher16 и экранированием служебных байтов
Работа с девятиосевыми IMU датчиками MPU-9250 и MPU-9255 через I2C и SPI с поддержкой акселерометра, гироскопа и магнитометра
Работа с датчиками давления MS4525DO через I2C с разрешением 14 бит и поддержкой частоты опроса до 2 кHz
Подгонка полиномов к экспериментальным данным и вычисление их значений через polyfit и polyval
Управление PWM-сервоприводами с одновременной отправкой импульсов на все каналы, поддерживается только на платах Teensy
Управление сервоприводами и приёмниками через SBUS — последовательный протокол с поддержкой до 16 каналов через один провод
Обработка потоковых данных в реальном времени методом Велфорда для вычисления среднего, дисперсии и стандартного отклонения
Драйвер для работы с сенсорным хабом Terabee Evo Hub через UART, позволяющий одновременно считывать данные с восьми дальномеров
Общение с GPS-приёмниками uBlox через бинарный протокол UBX вместо парсинга NMEA
Кодирование ULEB128 для компактного хранения больших беззнаковых целых чисел с переменной длиной представления
Преобразование единиц измерения для ускорения, скорости, давления, температуры и других физических величин
Драйвер для навигационных датчиков VectorNav VN-100/200/300 с поддержкой IMU, INS и GNSS через SPI
Управление микросхемой 74HC595 для расширения количества выходных портов Arduino
Управление шаговым двигателем через драйвер A4988 с упрощённым интерфейсом
Вычисление контрольных сумм и криптографических хешей для валидации данных и проверки их целостности
Работа с датчиками температуры и влажности DHT11/DHT22 с поддержкой вывода в Цельсиях и Фаренгейтах
Драйвер для датчика температуры и влажности DHT22 с готовым интерфейсом для снятия показаний
Управление шаговым двигателем через драйвер DRV8825 с поддержкой микрошагов и позиционирования
Драйвер микросхемы DS1307 для работы с часами реального времени по интерфейсу I2C
Драйвер для модуля реального времени DS3231 с поддержкой I2C, датчиком температуры и высокой точностью хода
Парсер NMEA-предложений от GPS-модулей для извлечения координат и данных через последовательный порт