libcli
Асинхронный интерфейс командной строки для неблокирующего взаимодействия с пользователем через серийный порт
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:dadc9b4c1f2d52b7f77b261c6edb727ebab94a58d76502c1f94262779aac74calibcli-1.4.2-dadc9b4c.zipОписание
Если пишешь скетчи для Arduino, где нужно одновременно взаимодействовать с пользователем через серийный порт и управлять железом, стандартный Serial.available() и Serial.read() становятся головной болью — легко заблокировать весь цикл обработки. libcli решает это асинхронным интерфейсом командной строки. Библиотека работает с запросами и колбэками: вызваешь readHex(), readLine() или другую функцию чтения, передаёшь функцию обратного вызова, и когда пользователь завершит ввод пробелом или Enter, колбэк сработает с полученным значением. Поддерживает чтение букв, слов, строк, чисел в десятичном, шестнадцатеричном, восьмеричном и двоичном формате. Заодно работает как Stream, так что можешь использовать обычный print() с форматированием вроде "%6d" или "%-8s" для выравнивания и фиксированной ширины. Примеры есть в проектах libasm и retro-bionic.