... | ... | @@ -29,6 +29,22 @@ The number of tasks available to the user and their stack size can be set in `pr |
|
|
|
|
|
If you do not plan to use such tasks, you can set `CONFIG_OWNTECH_SCHEDULING_ENABLE_ASYNCHRONOUS_TASKS` to `n`, fully disabling the functionality and freeing associated memory.
|
|
|
|
|
|
## Available functions list
|
|
|
|
|
|
All functions are available on the `scheduuling` object after including `Scheduling.h`.
|
|
|
|
|
|
### Functions related to the uninterruptible synchronous task
|
|
|
|
|
|
* `int8_t defineUninterruptibleSynchronousTask(void (*periodic_task)(), uint32_t task_period_us)`
|
|
|
* `void startUninterruptibleSynchronousTask()`
|
|
|
|
|
|
### Functions related to the asynchronous tasks
|
|
|
|
|
|
* `int8_t defineAsynchronousTask(task_function_t routine)`
|
|
|
* `void startAsynchronousTask(uint8_t task_number)`
|
|
|
* `void suspendCurrentTaskMs(uint32_t duration_ms)`
|
|
|
* `void suspendCurrentTaskUs(uint32_t duration_us)`
|
|
|
|
|
|
# Module enable and dependencies
|
|
|
|
|
|
This module is loaded by default. The user explicitly has to set `CONFIG_OWNTECH_SCHEDULING=n` in `prj.conf` to prevent the module from loading.
|
... | ... | |