Every
Неблокирующие замены для delay(): классы для повторяющихся действий, единовременных ожиданий и чередования интервалов
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:2c9ac6240e25a7c9da7c438692610fe5a13b8be6ea4a3be23f3cd38e3e0aafd7Every-3.1.0-2c9ac624.zipОписание
Если устаёшь писать delay() и блокировать весь код, Every поможет запускать повторяющиеся действия без остановки программы. Библиотека предоставляет несколько классов: Every срабатывает каждые n миллисекунд, Timer ждёт один раз, пока пройдёт заданный интервал, Toggle отслеживает переключение булева значения, Pattern позволяет чередовать разные интервалы в последовательности. Объекты должны быть статическими или глобальными, так как они запоминают момент последнего срабатывания. Синтаксис простой: `if (t1()) { действие; }` — вернёт true один раз после истечения интервала. Интервалы поддерживают полный диапазон millis() до 2³² миллисекунд; для больших чисел используй суффикс UL. Библиотека занимает всего 8 байт на объект и сопротивляется дрейфу за счёт переподстройки при обнаружении рассинхронизации.