Cooperative multitasking for Arduino, ESPx, STM32 and other microcontrollers. A lightweight implementation of cooperative multitasking (task scheduling). An easier alternative to preemptive programming and frameworks like FreeRTOS. You mostly do not need to worry about pitfalls of concurrent processing (races, deadlocks, livelocks, resource sharing, etc.). The fact of cooperative processing takes care of such issues by design.

Features

  • Periodic task execution, with dynamic execution period in milliseconds (default) or microseconds (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)

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

BSD License

Follow Task Scheduler

Task Scheduler Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Task Scheduler!

Additional Project Details

Programming Language

C++

Related Categories

C++ Libraries

Registered

2024-05-24