Skip to content

Latest Updates

Anatoli Arkhipenko edited this page Dec 26, 2020 · 72 revisions

December 26, 2020

Version 3.2.2 pushed into master branch.

Changes:

  • feature: added method cancel() to Task class - execution of the task stops with setting a "canceled" flag.

NOTE: onDisable() is called after canceled flag is set.

  • feature: added method canceled() - check if task was canceled during onDisable() or other subsequent processing.
  • feature: added method abort() to Task class - execution of the task stops with setting a "canceled" flag.

NOTE: onDisable() is NOT called by the cancel() method.

December 17, 2020

Version 3.2.2 pushed into testing branch.

Changes:

  • feature: added method cancel() to Task class - execution of the task stops with setting a "canceled" flag. NOTE: onDisable() is called after canceled flag is set.
  • feature: added method canceled() - check if task was canceled during onDisable() or other subsequent processing.

October 04, 2020

Version 3.2.1 pushed into testing branch.

Changes:

  • feature: added method abort() to Task class - execution of the task stops without calling OnDisable() method.

September 16, 2020

Commercial version 3.2.0 available from xs:code

Changes:

  • update: starting from September 16, 2020, a separate commercial version of TaskScheduler is available from xs:code

September 16, 2020

Version 3.2.0 pushed into master branch as a v3.2.0 release.

Changes:

  • feature: scheduling options with priority for original schedule, original schedule without "catch-up", and interval (see Issue #103) for explanations.
  • update: non-Avr power-saving features are now available with the premium license only via xs:code

August 16, 2020

Version 3.2.0 pushed into testing branch.

Changes:

  • feature: scheduling options with priority for original schedule, original schedule without "catch-up", and interval (see Issue #103) for explanations.

July 07, 2020

Version 3.1.7 pushed into testing branch.

Changes:

  • warning fix: unused parameter 'aRecursive' (Issue #99)

May 14, 2020

Version 3.1.6 pushed into master branch.

Changes:

  • bug fix: deleteTask() and addTask() should check task ownership first (Issue #97).
  • feature: light sleep for ESP32 chip.

May 12, 2020

Version 3.1.6 pushed into testing branch.

Changes:

  • bug fix: deleteTask() and addTask() should check task ownership first (Issue #97).

May 8, 2020

Version 3.1.5 pushed into testing branch.

Changes:

  • feature: light sleep for ESP32 chip.

February 28, 2020

Version 3.1.4 released into master branch.

Changes:

  • bug fix: fixed compiler warnings about unused variables under certain compile options.
  • feature: _TASK_EXPOSE_CHAIN compile option giving access to task execution chain: Task* Scheduler::getFirstTask(), Task* Scheduler::getLastTask(), Task* Task::getPreviousTask(), and Task* Task::getNextTask()

January 17, 2020

Version 3.1.2 released into master branch.

Changes:

  • bug fix: corrected external forward definitions for millis() and micros().

January 9, 2020

Version 3.1.1 released into master branch.

Version 3.1.1 is a collection of updates from testing branch from version 3.0.0

January 9, 2020

Version 3.1.1 updated into testing branch.

Changes:

  • update: more precise CPU load measuring. Ability to define idle sleep threshold for ESP chips. Please see example #24.

January 7, 2020

Version 3.1.0 updated into testing branch.

Changes:

  • feature: added 4 CPU load monitoring methods for _TASK_TIMECRITICAL compilation option; Please see example #24. Issue #81

June 11, 2019

Version 3.0.3 updated into testing branch.

Changes:

  • feature: Custom idle sleep function support via TaskScheduler setSleepMethod method; Please see example #23. Also Idle Sleep support for MSP430 and MSP432 boards. PR #75

March 22, 2019

Version 3.0.2 updated into testing branch

Changes:

  • bug fixed: Example #19 uses appropriate freeMemory() method and properly deletes the tasks on STM32F1 boards (Tested on Mini USB STM32F103RCBT6 ARM Cortex-M3 leaflabs Leaf maple mini module).

January 04, 2019

ESP32 compatibility update

Due to the multi-core nature of ESP32, it is not recommended to use TaskScheduler on that chip. Pre-emptive multitasking between the cores breaks the cooperative paradigm of TaskScheduler leading to crashes and core dumps. I would recommend using FreeRTOS instead as it is supported by ESP32 natively. For more details see comment for Issue #41

November 15, 2018

Version 3.0 released

New features:

  • Dynamic Callback binding via compilation parameter _TASK_OO_CALLBACKS. See example #21 for details of how to program Tasks in a true Object Oriented way
  • Sketch template. Located here this sketch is available as a TaskScheduler example in the IDE to jump-start your Task-enabled project
  • Support for STM32 devices
  • Various bug fixes and tuning

November 14, 2018

Version 3.0.2 pushed into testing branch

Changes:

  • bug fixed: default constructor if ambiguous when compiled for Status Requests Issue #65
  • support for STM32F1 boards (IDLE sleep and examples). Tested on Mini USB STM32F103RCBT6 ARM Cortex-M3 leaflabs Leaf maple mini module F

November 09, 2018

Version 3.0.1 pushed into testing branch

Changes:

  • bug fixed: task deleted from the execution chain cannot be added back Issue #67
  • created a template sketch: a minimal TS-enabled code with all the compile parameters explained in the code.

March 15, 2018

Version 3.0.0 MAJOR RELEASE - pushed into testing branch

Version 3.0.0 is a major release which add significant new functionality to the TaskScheduler library. The main added feature is:

  • Support for dynamic callback methods binding via compilation parameter _TASK_OO_CALLBACKS

March 15, 2018

Version 2.6.1 pushed into master branch

Version 2.6.1 has been regression tested and pushed into the master branch. It should be picked up by Arduino IDE and available for an upgrade now. The main features are:

  • 2 small corner case bug fixes
  • Added example 19: dynamic task creation and destruction.
  • Added example 20: use of local task storage to work with task-specific class objects

Enjoy.

March 13, 2018

Version 2.6.1 pushed into testing branch

This iteration contains Example #20 which illustrated the use of task-specific class objects via local task storage functionality (LTS). Also, a corner-case bug was discovered and fixed: if low priority scheduler has an empty chain, high priority scheduler is executed. Fixed now. Example 20 is basically example 19 with random number of sensors using task-specific class object.

February 13, 2018

Version 2.6.1 pushed into testing branch

Version 2.6.1 fixes a bug that prevented tasks from correctly self-destructing inside the OnDisable method. Example 19 is provided illustrating the use of dynamically created and deleted Tasks.

February 7, 2018

Version 2.6.0 pushed into master branch

Version 2.6.0 has been regression tested and pushed into the master branch. It should be picked up by Arduino IDE and available for an upgrade now. The main features are:

  • Support for ESP32
  • Overall task timeout functionality
  • Support for "bare metal" compilation

Enjoy.

January 31, 2018

New example posted

New example that illustrated the use of several compilation directives has been posted. Example 18 is a rewrite of example 5 using TIMEOUT, LTS, WTD, and other directives. Please check out here.

January 30, 2018

Support for ESP32, bare metal compilation and overall Task timeouts

Multiple updates pushed for testing into "testing" branch:

  • Support for ESP32 (Pull Request #47)
  • Forward definitions of millis() and micros() for bare metal compilation (Pull Request #43)
  • Support for overall Task Timeouts. (please see example: here)

January 14, 2018

Writing TaskScheduler-friendly libraries

If you consider writing or changing a library to be TaskScheduler friendly, please consider reading this first.

January 10, 2018

Testing branch updates

Testing branch updated with 2.5.2 version introducing "bare metal" functionality: _TASK_BARE_METAL compilation directive added, which requires forward definition of arduino-specific methods, i.e.:

millis()
micros()
delay()

Pull Request #43

January 09, 2018

Testing branch updates

Testing branch updated with 2.5.1 version introducing _TASK_INLINE compilation directive. _TASK_INLINE compilation directive marks all methods of Task, Scheduler and StatusRequest object as inline. This was requested by a few people who use multi-tab and non-Arduino IDEs, or use TaskScheduler declarations inside other C++ classes.

Issue #42

Clone this wiki locally