Tuesday, May 26, 2020

A task scheduler for AVR Arduino #Arduino

TaskScheduler is a library to run small lightweight tasks in the background of an AVR microcontroller while a main loop() does non-repetitive work. dntruong writes:

It’s difficult to control repetitive tasks on Arduino because all it gives you is a single threaded loop() body function. Beginners try usually just paste code blocks from other projects together when using different sensors/devices, in the hope to make something work, but it results in ugly if/else code that’s poorly understood. The Arduino forum will point you to the “how to do multiple things at the same time” post, but it’s a simple methodology that forces you to keep track of time in your own variables.

The TaskScheduler class I wrote uses the timer interrupt to schedule repetitive tasks at a specified time interval. No need for if blocks, contrived time management, nor the need to call delay().

See this post for more information and code on GitHub.

No comments:

Post a Comment