SerialCommandCoordinator
Диспетчер команд по UART без фрагментации памяти и блокировок основного цикла
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:1868e60c08a7e1f65c992fc90702109187280b8a6050e0a019f262ed8388f32cSerialCommandCoordinator-0.1.1-1868e60c.zipОписание
Диспетчер серийных команд, который не трогает кучу и не блокирует основной цикл. Библиотека привязывает текстовые команды с UART к функциям, всё происходит на статически выделенной памяти — ни единого malloc, что критично для микроконтроллеров с жёсткими лимитами вроде ATmega328P. Команды хранятся прямо во Flash через макрос F(), SRAM остаётся под ваше приложение. Работает через конечный автомат, поэтому update() в цикле просто опрашивает буфер, не ждёт ввода. Если функция запустила долгий loop, в ней можно вызвать checkForBreak() для неблокирующей проверки сигнала остановки. Параметры команд достаются через getParam() без копирования — функция возвращает указатель на начало аргумента после пробела. Поддерживает произвольное количество команд и размер буфера (задаются шаблонными параметрами или берутся оптимальные значения по умолчанию), работает на 8-битной и 32-битной Arduino.