Arduino Playground is read-only starting December 31st, 2018. For more info please look at this Forum Post

Arduino Process Scheduler

A Cooperative OO Scheduler Library to Manage Multiple Running Processes
Last Updated At: 4/18/16

Features (Basic)

  • Truly object oriented (a Process is its own object)
  • Control Over How Often a Process Runs (Periodically, Iterations, or as Often as Possible)
  • Process Priority Levels (Easily make custom levels as well)
  • Dynamically Add/Remove and Enable/Disable Processes
  • Interrupt safe (add, disable, destroy, etc.. processes from interrupt routines)
  • Process concurrency protection (Process will always be in a valid state)


Features (Advanced)

  • Spawn new processes from within running processes
  • Automatic Process Monitoring Statistics (calculates % CPU time for process)
  • Exception Handling (wait what?!)
  • Scheduler can automatically interrupt stuck processes


Advantages Over Others

  • A Process is a full C++ class, not just a callback function
  • Not Preemptive (no splitting of stack sapce)
  • Concurrency protection (interrupt safe)


Download, Wiki, & Documentation