Это библиотека для Arduino-проектов. Она предназначена для организации процессов во времени за счёт функционала программных таймеров.
Основным критерием при разработке данной библиотеки была простота использования. При этом библиотека обладает широким функционалом и возможностями, но они реализованы так, чтобы не усложнять базовое использование.
- Таймеры
- Отложенный запуск (запуск с задержкой)
- Таймауты
- Псевдопотоки / задачи
- Мониторинг производительности
При запуске программы создаётся менеджер таймеров SoftTimerManager, который затем работает в бесконечном цикле и вызывает функции таймеров.
Функция, которая должна вызываться по таймеру, просто добавляется в менеджер, и он сам вызывает её в нужное время:
// Функция таймера, вызывается раз в 500 миллисекунд
void Timer500ms()
{
Serial.println("500ms");
}
// Добавление таймера в менеджер с периодом 500 мс
ST.AddTimer(Timer500ms, 500);Более подробные инструкции реализованы на базе примеров:
- Timer — базовый пример использования таймеров
- DelayCall — базовый пример использования запуска с задержкой
- Task — базовый пример работы с заданиями/псевдо потоками