Skip to content

Commit bcbb2dd

Browse files
committed
Clarified "What" it does
fixes #5
1 parent f29966e commit bcbb2dd

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,19 @@ Arduino does not support "REAL" parallel tasks (aka Threads), but we can make us
44
improve our code, and easily schedule tasks with fixed (or variable) time between runs.
55

66
This Library helps to maintain organized and to facilitate the use of multiple tasks. We can
7-
use Timers Interrupts, and make it really powerfull, running "pseudo-background" tasks on the rug.
7+
use Timers Interrupts, and make it really powerfull, running "pseudo-background" tasks under the rug.
88

99
For example, I personaly use it for all my projects, and put all sensor aquisition and
1010
filtering inside it, leaving the main loop, just for logic and "cool" part.
1111

12+
#### ArduinoThreads is a library for managing the periodic execution of multiple tasks.
13+
14+
Blinking an LED is often the very first thing an Arduino user learns. And this demonstrates that periodically performing one single task, like toggling the LED state, is really easy. However, one may quickly discover that managing multiple periodic tasks is not so simple if the tasks have different execution periods.
15+
16+
ArduinoThreads is designed to simplify programs that need to perform multiple periodic tasks. The user defines a Thread object for each of those tasks, then lets the library manage their scheduled execution.
17+
18+
It should be noted that these are not “threads” in the real computer-science meaning of the term: tasks are implemented as functions that are periodically run to completion. On the one hand, this means that the only way a task can “yield” the CPU is by returning to the caller, and it is thus inadvisable to delay() or do long waits inside a task. On the other hand, this makes ArduinoThreads memory friendly, as no stack needs to be allocated per task.
19+
1220
## Instalation
1321

1422
1. "Download":https://github.com/ivanseidel/ArduinoThread/archive/master.zip the Master branch from gitHub.
@@ -170,4 +178,4 @@ interrupts(); // This will enable the interrupts egain. DO NOT FORGET!
170178
- `Thread* ThreadController::get(int index)` - Returns the Thread on the position `index`.
171179

172180
### You don't need to know:
173-
- Nothing, yet ;)
181+
- Nothing, yet ;)

0 commit comments

Comments
 (0)