firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
vTaskGetInfo
Collaboration diagram for vTaskGetInfo:

task. h

eTaskState eTaskGetState( TaskHandle_t xTask );
eTaskState
Definition task.h:103
struct tskTaskControlBlock * TaskHandle_t
Definition task.h:92

INCLUDE_eTaskGetState must be defined as 1 for this function to be available. See the configuration section for more information.

Obtain the state of any task. States are encoded by the eTaskState enumerated type.

Parameters
xTaskHandle of the task to be queried.
Returns
The state of xTask at the time the function was called. Note the state of the task might change between the function being called, and the functions return value being tested by the calling task. task. h
void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState );
long BaseType_t
Definition portmacro.h:59
struct xTASK_STATUS TaskStatus_t

configUSE_TRACE_FACILITY must be defined as 1 for this function to be available. See the configuration section for more information.

Populates a TaskStatus_t structure with information about a task.

Parameters
xTaskHandle of the task being queried. If xTask is NULL then information will be returned about the calling task.
pxTaskStatusA pointer to the TaskStatus_t structure that will be filled with information about the task referenced by the handle passed using the xTask parameter.
xGetFreeStackSpaceThe TaskStatus_t structure contains a member to report the stack high water mark of the task being queried. Calculating the stack high water mark takes a relatively long time, and can make the system temporarily unresponsive - so the xGetFreeStackSpace parameter is provided to allow the high water mark checking to be skipped. The high watermark value will only be written to the TaskStatus_t structure if xGetFreeStackSpace is not set to pdFALSE;
eStateThe TaskStatus_t structure contains a member to report the state of the task being queried. Obtaining the task state is not as fast as a simple assignment - so the eState parameter is provided to allow the state information to be omitted from the TaskStatus_t structure. To obtain state information then set eState to eInvalid - otherwise the value passed in eState will be reported as the task state in the TaskStatus_t structure.

Example usage:

void vAFunction( void )
{
TaskHandle_t xHandle;
TaskStatus_t xTaskDetails;
// Obtain the handle of a task from its name.
xHandle = xTaskGetHandle( "Task_Name" );
// Check the handle is not NULL.
configASSERT( xHandle );
// Use the handle to obtain further information about the task.
vTaskGetInfo( xHandle,
&xTaskDetails,
pdTRUE, // Include the high water mark in xTaskDetails.
eInvalid ); // Include the task state in xTaskDetails.
}
#define configASSERT(x)
Definition FreeRTOSConfig.h:167
#define pdTRUE
Definition projdefs.h:53
@ eInvalid
Definition task.h:109