Библиотека использует Timer1 (16 бит). Целью библиотеки является удобный асинхронный запуск задач с задержкой.
- Arduino Uno
- Arduino Nano
sudo git clone https://github.com/OrelSokolov/Timeout /usr/share/arduino/libraries/Timeout
Либо в папку с установленной Arduino IDE.
Чтобы сконфигурировать таймер для выполнения функии один раз после промежутка времени:
Timer1.delay(delay_ms, callback)
delay_ms
- Задержка в милисикундах. Допустимый интервал [1, 8000]. При превышении устанавливается значение 100.
callback
- Указатель типа void (*)()
на функцию. Для привязки методов используйте обертку и указатель на объект:
Чтобы сконфиругировать таймер для выполнение функции регулярно через промежуток времени:
Timer1.every(delay_ms, callback)
Затем можно запускать таймер:
Timer1.start();
Либо можно сделать это сразу после настройки:
Timer1.every(1000, do_cool_stuff).start();
Timer1.delay(1000, do_cool_stuff).start();
Чтобы прервать таймер:
Timer1.kill();