Releases: joysfera/arduino-tasker
Bumping version in Arduino library files
Just a little fix in keywords.txt
Tasker, cancel and loop are colored properly now.
Just a compiler warning fix
This release just fixes a compiler warning, no functional changes.
Query, update or cancel tasks, with or without optional parameter
This release brings several great new features: tasks waiting in Tasker queue can be queried when they will run, can be modified (their scheduled time, number of repeats and priority) at runtime and also can be stopped and canceled anytime. Task function definitions no longer need to include the unused int
parameter. Last but not least, the default priority handling has changed to get rid of eventual user surprises.
prioritized task handling is disabled by default now
This could be a breaking change for someone who relied on the default value of Tasker constructor. Previously, when Tasker was instantiated without any parameter the prioritized task handling was enabled by default. Now (since v1.4) the Tasker will not enable the prioritized handling by default unless you explicitly instantiate the Tasker like this:
Taker tasker(TRUE);
You can also set the priority value at runtime by setPrioritized(bool value)
and query it anytime by isPrioritized()
.
The goal of this change is to get rid of possible surprises that some tasks are sometimes not executed because previous tasks were running for too long - this could happen when you enabled the prioritized task handling and didn't realize how it changed the internal processing.
So for almost all users this version brings more predictable behavior and that's good (the less surprises when using a library the better).
Improved compatibility
This release improves compatibility with various platforms Arduino runs on by removing the tasker.run()
function. If you were using it please update your program to start calling the tasker.loop()
in the Arduino loop() { }
instead, like this:
void loop() {
tasker.loop();
}
If you weren't using the tasker.run()
previously then you don't need to change anything and your program will compile and run even on platforms that were complaining about an undefined yield()
previously.