Task Priority Range | |
| Maximum and minimum task priorities | |
| #define | RTDM_TASK_LOWEST_PRIORITY XNCORE_LOW_PRIO |
| #define | RTDM_TASK_HIGHEST_PRIORITY XNCORE_HIGH_PRIO |
Task Priority Modification | |
| Raise or lower task priorities by one level | |
| #define | RTDM_TASK_RAISE_PRIORITY (+1) |
| #define | RTDM_TASK_LOWER_PRIORITY (-1) |
Typedefs | |
| typedef void(* | rtdm_task_proc_t )(void *arg) |
| Real-time task procedure. | |
Functions | |
| int | rtdm_task_init (rtdm_task_t *task, const char *name, rtdm_task_proc_t task_proc, void *arg, int priority, nanosecs_rel_t period) |
| Intialise and start a real-time task. | |
| void | rtdm_task_destroy (rtdm_task_t *task) |
| Destroy a real-time task. | |
| void | rtdm_task_set_priority (rtdm_task_t *task, int priority) |
| Adjust real-time task priority. | |
| int | rtdm_task_set_period (rtdm_task_t *task, nanosecs_rel_t period) |
| Adjust real-time task period. | |
| int | rtdm_task_wait_period (void) |
| Wait on next real-time task period. | |
| int | rtdm_task_unblock (rtdm_task_t *task) |
| Activate a blocked real-time task. | |
| rtdm_task_t * | rtdm_task_current (void) |
| Get current real-time task. | |
| void | rtdm_task_join_nrt (rtdm_task_t *task, unsigned int poll_delay) |
| Wait on a real-time task to terminate. | |
| int | rtdm_task_sleep (nanosecs_rel_t delay) |
| Sleep a specified amount of time. | |
| int | rtdm_task_sleep_until (nanosecs_abs_t wakeup_time) |
| Sleep until a specified absolute time. | |
| void | rtdm_task_busy_sleep (nanosecs_rel_t delay) |
| Busy-wait a specified amount of time. | |
|
|
Real-time task procedure.
|
|
|
Busy-wait a specified amount of time.
This service can be called from:
Rescheduling: never (except due to external interruptions). |
|
|
Get current real-time task.
This service can be called from:
Rescheduling: never. |
|
|
Destroy a real-time task.
This service can be called from:
Rescheduling: never. |
|
||||||||||||||||||||||||||||
|
Intialise and start a real-time task. After initialising a task, the task handle remains valid and can be passed to RTDM services until either rtdm_task_destroy() or rtdm_task_join_nrt() was invoked.
This service can be called from:
Rescheduling: possible. |
|
||||||||||||
|
Wait on a real-time task to terminate.
This service can be called from:
Rescheduling: possible. |
|
||||||||||||
|
Adjust real-time task period.
This service can be called from:
Rescheduling: possible. |
|
||||||||||||
|
Adjust real-time task priority.
This service can be called from:
Rescheduling: possible. |
|
|
Sleep a specified amount of time.
Environments: This service can be called from:
Rescheduling: always. |
|
|
Sleep until a specified absolute time.
Environments: This service can be called from:
Rescheduling: always, unless the specified time already passed. |
|
|
Activate a blocked real-time task.
This service can be called from:
Rescheduling: possible. |
|
|
Wait on next real-time task period.
Environments: This service can be called from:
Rescheduling: always, unless a timer overrun occured. |
1.4.6