18#if (TRC_USE_TRACEALYZER_RECORDER == 1)
32#ifndef TRC_CFG_ENABLE_STACK_MONITOR
33#define TRC_CFG_ENABLE_STACK_MONITOR 0
39typedef struct TraceTaskData
41 void* coreTasks[TRC_CFG_CORE_COUNT];
44extern TraceTaskData_t* pxTraceTaskData;
55traceResult xTraceTaskInitialize(TraceTaskData_t* pxBuffer);
68#define xTraceTaskRegister(pvTask, szName, uxPriority, pxTaskHandle) ((((pvTask) != 0) && (xTraceObjectRegister(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority, (TraceObjectHandle_t*)(pxTaskHandle)) == TRC_SUCCESS)) ? ((void)xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)
79#define xTraceTaskUnregister(xTaskHandle, uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)xTraceStackMonitorRemove(pvTraceEntryGetAddressReturn((TraceEntryHandle_t)(xTaskHandle))), (void)xTraceTaskMonitorUnregister(pvTraceEntryGetAddressReturn((TraceEntryHandle_t)(xTaskHandle))), xTraceObjectUnregister((TraceObjectHandle_t)(xTaskHandle), PSF_EVENT_TASK_DELETE, uxPriority))
90#define xTraceTaskSetName xTraceObjectSetName
101#define xTraceTaskGetName xTraceObjectGetName
124#define xTraceTaskRegisterWithoutHandle(pvTask, szName, uxPriority) ((((pvTask) != 0) && (xTraceObjectRegisterWithoutHandle(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority) == TRC_SUCCESS)) ? ((void)xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)
135#define xTraceTaskUnregisterWithoutHandle(pvTask, uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)xTraceStackMonitorRemove(pvTask), xTraceObjectUnregisterWithoutHandle(PSF_EVENT_TASK_DELETE, pvTask, uxPriority))
146#define xTraceTaskSetNameWithoutHandle xTraceObjectSetNameWithoutHandle
168traceResult
xTraceTaskSwitch(
void* pvTask, TraceUnsignedBaseType_t uxPriority);
170#if (TRC_CFG_INCLUDE_READY_EVENTS == 1)
179#define xTraceTaskReady(pvTask) xTraceEventCreate1(PSF_EVENT_TASK_READY, (TraceUnsignedBaseType_t)(pvTask))
181#define xTraceTaskReady(p) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)p, TRC_SUCCESS)
193#define xTraceTaskSetCurrentOnCore(coreId, pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTaskData->coreTasks[coreId] = (pvTask), TRC_SUCCESS)
203#define xTraceTaskSetCurrent(pvTask) xTraceTaskSetCurrentOnCore(TRC_CFG_GET_CURRENT_CORE(), pvTask)
214#define xTraceTaskGetCurrentOnCore(coreId, ppvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvTask) = pxTraceTaskData->coreTasks[coreId], TRC_SUCCESS)
224#define xTraceTaskGetCurrent(ppvTask) xTraceTaskGetCurrentOnCore(TRC_CFG_GET_CURRENT_CORE(), ppvTask)
234#define xTraceTaskGetCurrentOnCoreReturn(coreId) (pxTraceTaskData->coreTasks[coreId])
241#define xTraceTaskGetCurrentReturn() xTraceTaskGetCurrentOnCoreReturn(TRC_CFG_GET_CURRENT_CORE())
254#define xTraceTaskInstanceFinishedNow() xTraceEventCreate0(PSF_EVENT_IFE_DIRECT)
269#define xTraceTaskInstanceFinishedNext() xTraceEventCreate0(PSF_EVENT_IFE_NEXT)
280#define xTraceTaskFind(pvTask, pxTaskHandle) xTraceObjectFind(pvTask, (TraceObjectHandle_t*)pxTaskHandle)
291#define xTraceTaskGetAddress(xTaskHandle, ppvTask) xTraceObjectGetAddress((TraceObjectHandle_t)xTaskHandle, ppvTask)
301#define pvTraceTaskGetAddressReturn(xTaskHandle) pvTraceObjectGetAddressReturn((TraceObjectHandle_t)xTaskHandle)
311#define xTraceTaskRegister(__pvTask, ___szName, __uxPriority, __pxTaskHandle) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_5((void)(__pvTask), (void)(__szName), (void)(__uxPriority), (void)(__pxTaskHandle), TRC_SUCCESS)
313#define xTraceTaskUnregister(__xTaskHandle, __uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__xTaskHandle), (void)(__uxPriority), TRC_SUCCESS)
315#define xTraceTaskSetName(__xTaskHandle, __szName) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__xTaskHandle), (void)(__szName), TRC_SUCCESS)
317#define xTraceTaskSetPriority(__xTaskHandle, __uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__xTaskHandle), (void)(__uxPriority), TRC_SUCCESS)
319#define xTraceTaskRegisterWithoutHandle(__pvTask, __szName, __uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(__pvTask), (void)(__szName), (void)(__uxPriority), TRC_SUCCESS)
321#define xTraceTaskUnregisterWithoutHandle(__pvTask, __uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__pvTask), (void)(__uxPriority), TRC_SUCCESS)
323#define xTraceTaskSetNameWithoutHandle(__pvTask, __szName) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__pvTask), (void)(__szName), TRC_SUCCESS)
325#define xTraceTaskSetPriorityWithoutHandle(__pvTask, __uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__pvTask), (void)(__uxPriority), TRC_SUCCESS)
327#define xTraceTaskSwitch(__pvTask, __uxPriority) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__pvTask), (void)(__uxPriority), TRC_SUCCESS)
329#define xTraceTaskReady(__pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(__pvTask), TRC_SUCCESS)
331#define xTraceTaskSetCurrent(__pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(__pvTask), TRC_SUCCESS)
333#define xTraceTaskSetCurrentOnCore(__coreId, __pvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__coreId), (void)(__pvTask), TRC_SUCCESS)
335#define xTraceTaskGetCurrent(__ppvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(__ppvTask), TRC_SUCCESS)
337#define xTraceTaskGetCurrentOnCore(__coreId, __ppvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__coreId), (void)(__ppvTask), TRC_SUCCESS)
339#define xTraceTaskGetCurrentReturn() ((void*)0)
341#define xTraceTaskGetCurrentOnCoreReturn(__coreId) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(__coreId), (void*)0)
343#define xTraceTaskInstanceFinishedNow() (TRC_SUCCESS)
345#define xTraceTaskInstanceFinishedNext() (TRC_SUCCESS)
347#define xTraceTaskFind(__pvTask, __pxTaskHandle) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__pvTask), (void)(__pxTaskHandle), TRC_SUCCESS)
349#define xTraceTaskGetAddress(__xTaskHandle, __ppvTask) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(__xTaskHandle), (void)(__ppvTask), TRC_SUCCESS)
351#define pvTraceTaskGetAddressReturn(__xTaskHandle) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(__xTaskHandle), (void*)0)
traceResult xTraceTaskSetPriority(TraceTaskHandle_t xTaskHandle, TraceUnsignedBaseType_t uxPriority)
Sets trace task priority.
Definition trcTask.c:46
traceResult xTraceTaskSwitch(void *pvTask, TraceUnsignedBaseType_t uxPriority)
Registers trace task switch event.
Definition trcTask.c:79
traceResult xTraceTaskSetPriorityWithoutHandle(void *pvTask, TraceUnsignedBaseType_t uxPriority)
Sets trace task priority without trace task handle.
Definition trcTask.c:61