Data Structures | |
struct | wsfMsgHdr_t |
Common message structure passed to event handler. More... | |
Macros | |
#define | WSF_OS_DIAG FALSE |
OS Diagnostics. More... | |
#define | WSF_TASK_FROM_ID(handlerID) (((handlerID) >> 4) & 0x0F) |
Derive task from handler ID. More... | |
#define | WSF_HANDLER_FROM_ID(handlerID) ((handlerID) & 0x0F) |
Derive handler from handler ID. More... | |
#define | WSF_INVALID_TASK_ID 0xFF |
Invalid Task Identifier. More... | |
#define | WSF_OS_GET_ACTIVE_HANDLER_ID() WSF_INVALID_TASK_ID |
Get Diagnostic Task Identifier. More... | |
Typedefs | |
typedef uint8_t | wsfHandlerId_t |
Event handler ID data type. More... | |
typedef uint16_t | wsfEventMask_t |
Event handler event mask data type. More... | |
typedef wsfHandlerId_t | wsfTaskId_t |
Task ID data type. More... | |
typedef uint8_t | wsfTaskEvent_t |
Task event mask data type. More... | |
typedef uint8_t(* | WsfOsIdleCheckFunc_t) (void) |
Idle check function. More... | |
typedef void(* | wsfEventHandler_t) (wsfEventMask_t event, wsfMsgHdr_t *pMsg) |
Event handler callback function. More... | |
Functions | |
void | WsfSetEvent (wsfHandlerId_t handlerId, wsfEventMask_t event) |
Set an event for an event handler. More... | |
void | WsfTaskLock (void) |
Lock task scheduling. More... | |
void | WsfTaskUnlock (void) |
Unlock task scheduling. More... | |
void | WsfTaskSetReady (wsfHandlerId_t handlerId, wsfTaskEvent_t event) |
Set the task used by the given handler as ready to run. More... | |
wsfQueue_t * | WsfTaskMsgQueue (wsfHandlerId_t handlerId) |
Return the task message queue used by the given handler. More... | |
wsfHandlerId_t | WsfOsSetNextHandler (wsfEventHandler_t handler) |
Set the next WSF handler function in the WSF OS handler array. This function should only be called as part of the OS initialization procedure. More... | |
uint8_t | wsfOsReadyToSleep (void) |
Check if WSF is ready to sleep. More... | |
void | wsfOsDispatcher (void) |
Event dispatched. Designed to be called repeatedly from infinite loop. More... | |
void | WsfOsInit (void) |
Initialize OS control structure. More... | |
void | WsfOsEnterMainLoop (void) |
OS starts main loop. More... | |
void | WsfOsRegisterSleepCheckFunc (WsfOsIdleCheckFunc_t func) |
Register service check functions. More... | |
Variables | |
wsfHandlerId_t | WsfActiveHandler |
Diagnostic Task Identifier. More... | |
WSF Task Events | |
#define | WSF_MSG_QUEUE_EVENT 0x01 |
Message queued for event handler. More... | |
#define | WSF_TIMER_EVENT 0x02 |
Timer expired for event handler. More... | |
#define | WSF_HANDLER_EVENT 0x04 |
Event set for event handler. More... | |
#define WSF_HANDLER_FROM_ID | ( | handlerID | ) | ((handlerID) & 0x0F) |
#define WSF_MSG_QUEUE_EVENT 0x01 |
#define WSF_OS_GET_ACTIVE_HANDLER_ID | ( | ) | WSF_INVALID_TASK_ID |
#define WSF_TASK_FROM_ID | ( | handlerID | ) | (((handlerID) >> 4) & 0x0F) |
#define WSF_TIMER_EVENT 0x02 |
typedef void(* wsfEventHandler_t) (wsfEventMask_t event, wsfMsgHdr_t *pMsg) |
typedef uint16_t wsfEventMask_t |
typedef uint8_t wsfHandlerId_t |
typedef uint8_t(* WsfOsIdleCheckFunc_t) (void) |
typedef uint8_t wsfTaskEvent_t |
typedef wsfHandlerId_t wsfTaskId_t |
void wsfOsDispatcher | ( | void | ) |
Event dispatched. Designed to be called repeatedly from infinite loop.
void WsfOsEnterMainLoop | ( | void | ) |
OS starts main loop.
void WsfOsInit | ( | void | ) |
Initialize OS control structure.
uint8_t wsfOsReadyToSleep | ( | void | ) |
Check if WSF is ready to sleep.
void WsfOsRegisterSleepCheckFunc | ( | WsfOsIdleCheckFunc_t | func | ) |
Register service check functions.
func | Service function. |
wsfHandlerId_t WsfOsSetNextHandler | ( | wsfEventHandler_t | handler | ) |
Set the next WSF handler function in the WSF OS handler array. This function should only be called as part of the OS initialization procedure.
handler | WSF handler function. |
void WsfSetEvent | ( | wsfHandlerId_t | handlerId, |
wsfEventMask_t | event | ||
) |
Set an event for an event handler.
handlerId | Handler ID. |
event | Event or events to set. |
void WsfTaskLock | ( | void | ) |
Lock task scheduling.
wsfQueue_t* WsfTaskMsgQueue | ( | wsfHandlerId_t | handlerId | ) |
Return the task message queue used by the given handler.
handlerId | Event handler ID. |
void WsfTaskSetReady | ( | wsfHandlerId_t | handlerId, |
wsfTaskEvent_t | event | ||
) |
Set the task used by the given handler as ready to run.
handlerId | Event handler ID. |
event | Task event mask. |
void WsfTaskUnlock | ( | void | ) |
Unlock task scheduling.
wsfHandlerId_t WsfActiveHandler |
Diagnostic Task Identifier.