A lightweight implementation of cooperative multitasking (task scheduling) supporting:
- Periodic task execution, with dynamic execution period in
milliseconds(default) ormicroseconds(if explicitly enabled) – frequency of execution - Number of iterations (limited or infinite number of iterations)
- Execution of tasks in predefined sequence
- Dynamic change of task execution parameters (frequency, number of iterations, callback methods)
- Power saving via entering IDLE sleep mode when tasks are not scheduled to run
- Support for event-driven task invocation via Status Request object
- Support for task IDs and Control Points for error handling and watchdog timer
- Support for Local Task Storage pointer (allowing use of same callback code for multiple tasks)
- Support for layered task prioritization
- Support for
std::functions(ESP8266only)
Scheduling overhead: between 15 and 18 microseconds per scheduling pass (Arduino UNO rev 3 @ 16MHz clock, single scheduler w/o prioritization)
TaskScheduler was tested on the following platforms:
- Arduino Uno R3
- Arduino Nano
- Arduino Micro
- ATtiny85
- ESP8266 (Node MCU v2.0)
- Teensy (tested on Teensy 3.6)
| Version | Version 1 | Version 2 |
|---|---|---|
| 1.9.2 | 2.5.0 (current version) | |
| 1.9.0 | 2.4.0 | |
| 1.8.5 | 2.3.0 | |
| 1.8.4 | 2.2.1 | |
| 1.8.3 | 2.2.0 | |
| 1.8.2 | 2.1.0 | |
| 1.8.1 | 2.0.1 | |
| 1.8.0 | 2.0.0 | |
| 1.7.0 | ||
| 1.6.0 | ||
| 1.5.1 | ||
| 1.5.0 | ||
| 1.4.1 | ||
| 1.0.0 |
For detailed functionality overview please refer to TaskScheduler documentation in the 'extras' folder or in the Wiki page.
-
3 Devo - Quality 3D printing filament, now made accessible and affordable
(http://3devo.eu/license-information/) -
Houston midi clock project - TaskScheduler with microseconds resolution
by chaffneue:
My first arduino project. It's a multi-master midi controller with a shared clock and auto count in behaviour.
-
Hackabot Nano by Funnyvale - Compact Plug and Play Arduino compatible robotic kit
https://www.kickstarter.com/projects/hackarobot/hackabot-nano-compact-plug-and-play-arduino-robot -
Arduino Nano based Hexbug Scarab Robotic Spider
(by arkhipenko: http://www.instructables.com/id/Arduino-Nano-based-Hexbug-Scarab-Robotic-Spider/) -
Wave your hand to control OWI Robotic Arm... no strings attached
(by arkhipenko: http://www.instructables.com/id/Wave-your-hand-to-control-OWI-Robotic-Arm-no-strin/) -
APIS - Automated Plant Irrigation System
(by arkhipenko: http://www.instructables.com/id/APIS-Automated-Plant-Irrigation-System/) -
IoT APIS v2 - Autonomous IoT-enabled Automated Plant Irrigation System
(by arkhipenko: http://www.instructables.com/id/IoT-APIS-V2-Autonomous-IoT-enabled-Automated-Plant/) -
Interactive Halloween Pumpkin
(by arkhipenko: http://www.instructables.com/id/Interactive-Halloween-Pumpkin/)