OS
v7.3.3
Documentation
|
API interface for task Notifications. More...
Enumerations | |
enum | qTask_NotifyMode_t { qTask_NotifyNULL , qTask_NotifySimple , qTask_NotifyQueued } |
An enum that defines the modes in which a notification can be spread. More... | |
enum | qTask_ClrParam_t { qTask_ClearIterations , qTask_ClearTimeElapsed , qTask_ClearCycles , qTask_ClearSimpleNotifications , qTask_ClearQueuedNotifications , qTask_ClearNotifications } |
An enum that defines the parameters than can be cleared for a task. More... | |
Functions | |
qBool_t | qOS_Notification_Spread (void *eventData, const qTask_NotifyMode_t mode) |
Try to spread a notification among all the tasks in the scheduling scheme. | |
qBool_t | qTask_Notification_Send (qTask_t *const Task, void *eventData) |
Sends a simple notification generating an asynchronous event. This method marks the task as ready for execution, therefore, the planner will launch the task immediately according to the scheduling rules (even if task is disabled) and setting the qEvent_t::Trigger flag to byNotificationSimple. Specific user-data can be passed through, and will be available in the respective callback inside the qEvent_t::EventData field. | |
qBool_t | qTask_Notification_Queue (qTask_t *const Task, void *eventData) |
Insert a notification in the FIFO priority queue. The scheduler get this notification as an asynchronous event, therefor, the task will be ready for execution according to the queue order (determined by priority), even if task is in a disabled or sleep operational state. When extracted, the scheduler will set qEvent_t::Trigger flag to byNotificationQueued. Specific user-data can be passed through, and will be available inside the qEvent_t::EventData field, only in corresponding launch. If the task is in a qSleep operation state, the scheduler will change the operational state to qAwaken setting the SHUTDOWN bit. | |
qBool_t | qTask_HasPendingNotifications (const qTask_t *const Task) |
Check if the task has pending notifications. | |
API interface for task Notifications.
enum qTask_ClrParam_t |
An enum that defines the parameters than can be cleared for a task.
enum qTask_NotifyMode_t |
qBool_t qOS_Notification_Spread | ( | void * | eventData, |
const qTask_NotifyMode_t | mode ) |
Try to spread a notification among all the tasks in the scheduling scheme.
[in] | eventData | Specific event user-data. |
[in] | mode | the method used to spread the event: qTask_NotifySimple or qTask_NotifyQueued. |
Insert a notification in the FIFO priority queue. The scheduler get this notification as an asynchronous event, therefor, the task will be ready for execution according to the queue order (determined by priority), even if task is in a disabled or sleep operational state. When extracted, the scheduler will set qEvent_t::Trigger flag to byNotificationQueued. Specific user-data can be passed through, and will be available inside the qEvent_t::EventData field, only in corresponding launch. If the task is in a qSleep
operation state, the scheduler will change the operational state to qAwaken setting the SHUTDOWN
bit.
[in] | Task | Pointer to the task node. |
[in] | eventData | Specific event user-data. |
Sends a simple notification generating an asynchronous event. This method marks the task as ready for execution, therefore, the planner will launch the task immediately according to the scheduling rules (even if task is disabled) and setting the qEvent_t::Trigger flag to byNotificationSimple. Specific user-data can be passed through, and will be available in the respective callback inside the qEvent_t::EventData field.
[in] | Task | Pointer to the task node. |
[in] | eventData | Specific event user-data. |