PxTaskSignalEvents()
Signal events to a task (task service).
- APPLIES TO
-
1.0.0
- SYNOPSIS
-
PxError_t PxTaskSignalEvents (PxTask_t TaskId, PxEvents_t events);
- ARGUMENTS
|
|
|
- RETURN VALUES
-
-
PXROS error code
-
- ERROR CODES
-
PXERR_TASK_ILLTASK
TaskId
is not a valid task object - DESCRIPTION
-
PxTaskSignalEvents
signals the events specified inevents
toTaskId
. There they are saved until handled by task.If
TaskId
waits for any of the events (with aPxAwaitEvents
call or a call with the_EvWait
suffix), the task is readied and the service returns. If some of the task’s aborting events occur (seePxExpectAbort
) and task’s abort mechanism is enabled, thePxExpectAbort
call returns prematurely. If the events are signaled to a task on an other core, PXROS will allocate an object for intercore communication to send this request to the other core for execution.PxTaskSignalEvents
can only be called from a task (not handler).
- IMPLEMENTATION GUIDELINES
-
- Before call
-
-
The parameter
TaskId
must be a valid task object id. This id may be-
the calling task’s own id read by calling
PxGetId()
(V) -
the return value of a
PxTaskCreate()
call (V) -
the result of a
nameserver
query (V) -
part of a message sent by another task (V)
-
-
Additionally the task id may be checked with
PxTaskCheck()
(F).
-
- After call
-
-
The function returns
PXERR_NOERROR
if the event could be signaled to the task. Any other return value describes an error, which has to be interpreted. (C)
-
- Best Practice
-
-
This function may be called from tasks only. (V)
-
- SEE ALSO
- USAGE
-
#include "pxdef.h" #define MY_EVENT 0x1l PxError_t Err = PxTaskSignalEvents(TaskId, MY_EVENT); if (Err != PXERR_NOERROR) { // Report error }