ButtonPoll
Неблокирующий обработчик кнопок и селекторов с поддержкой дребезга, автоповтора и событийных колбэков
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:1733a2f6b6fb8d9f3eeaa66818f1dd54e0a1f9be43569175c2115c7e05a658c4ButtonPoll-2.0.1-1733a2f6.zipОписание
Если вам надоело с батарейкой кнопок — постоянно дребезжание контактов, зависания, а код становится спагетти из if-ов — попробуйте ButtonPoll. Это полностью неблокирующий движок ввода на базе 32-битной маски, работает с одним циклом poll в момент без прерываний и задержек. Поддерживает обычные кнопки, переключатели-селекторы (с памятью состояния), автоповтор при удержании и комбинации из нескольких кнопок одновременно. Память не растет с количеством кнопок — до 32 пинов на постоянный расход ОЗУ. Каждая кнопка получает свой порог дребезга, есть инверсия для активного HIGH, а события приходят компактным числовым кодом (нажата ли кнопка N, отпущена ли, включился ли селектор). Подходит для Arduino и ESP, очень пригодится в проектах, где полиморфизм по времени или реактивность на входе критичны.