Tiny cooperative (run-to-completion) task scheduler for ESP8266, ESP32 and AVR.
Pump LionTask::Loop() from loop(); each task runs to completion on the main context (no preemption, no per-task stack). Subclass LionTimerTask / LionShortTimerTask / LionCrudeTimerTask / LionCriticalTask and override TaskInnerBody(), or use LionSimpleTask to run a lambda without subclassing (ESP only). Critical tasks also run during Yield()/Delay(). Tasks register themselves by pointer and are non-copyable: create each once as a global/static or via new. Depends on LionArray. ESP8266, ESP32 and AVR: on ESP32 real FreeRTOS tasks (LionRtosTask) are usually the better fit, but this scheduler is supported there and is the safe way to port a codebase that relies on single-threaded execution.
| Filename | Release Date | File Size |
|---|---|---|
| LionTask-1.1.0.zip | 2026-09-07 | 15.25 KiB |
| LionTask-1.0.0.zip | 2026-06-29 | 13.94 KiB |