aboutsummaryrefslogtreecommitdiff
path: root/docs/references/tasks.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/references/tasks.md')
-rw-r--r--docs/references/tasks.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/references/tasks.md b/docs/references/tasks.md
new file mode 100644
index 0000000..e4f71df
--- /dev/null
+++ b/docs/references/tasks.md
@@ -0,0 +1,38 @@
+Tasks
+=====
+Tasks can be used for sharing processor for example during period of waiting for
+interrupt. Planing is based on priority.
+
+## Functions
+### tasks_run
+```C
+int8_t tasks_run(void)
+```
+This function starts tasks execution. Should be called after all task slots are
+prepared and at least one task is started. This function exits if no task exist or
+all existing tasks exited.
+
+### task_init
+
+## Structures
+### Task
+```C
+typedef struct {
+ uint8_t flags;
+ void (*func) (void);
+} Task;
+```
+
+### TaskSlot
+```C
+typedef struct {
+ uint8_t flags;
+ Task *task;
+ uint8_t stack_size;
+ uint8_t stack[];
+} TaskSlot;
+```
+
+### Mutex
+
+### Semaphore