task. h
void vTaskGetInfo( task_t xTask, TaskStatus_t *pxTaskStatus, int32_t xGetFreeStackSpace, task_state_e_t eState );
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.
| xTask | Handle of the task being queried. If xTask is NULL then information will be returned about the calling task. |
| pxTaskStatus | A pointer to the TaskStatus_t structure that will be filled with information about the task referenced by the handle passed using the xTask parameter. |
@xGetFreeStackSpace The 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;
| eState | The 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 E_TASK_STATE_INVALID - otherwise the value passed in eState will be reported as the task state in the TaskStatus_t structure. |
Example usage:
void vAFunction( void )
{
task_t xHandle;
TaskStatus_t xTaskDetails;
// Obtain the handle of a task from its name.
xHandle = task_get_by_name( "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.
E_TASK_STATE_INVALID ); // Include the task state in xTaskDetails.
}