ProcessScheduler
Кооперативный планировщик процессов для организации многозадачности без millis() вызовов в скетче
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:68d002823abce340fe98582ebbb89dbca7106624dd2f6a750de2e37c5dde324cProcessScheduler-1.0.0-68d00282.zipОписание
Если ваш скетч растёт и начинает превращаться в кашу из millis() вызовов, эта библиотека помогает навести порядок. ProcessScheduler — это кооперативный планировщик процессов, где каждый процесс — это полноценный объект со своим состоянием, а не просто функция-callback. Можно создавать несколько независимых экземпляров одного процесса, динамически добавлять и удалять их во время работы, задавать разные частоты выполнения для разных задач. Планировщик работает на прерываниях — безопасно добавлять или отключать процессы прямо из interrupt-обработчика. Поддерживаются уровни приоритета, статистика по CPU времени и обработка исключений. Минус кооперативного подхода: процессы не вытесняют друг друга, поэтому долгая операция одного процесса замедлит всё остальное, но зато не нужно дробить оперативную память между стеком каждой задачи, как в preemptive планировщиках.