Percepio Trace Recorder v4.11.0
Loading...
Searching...
No Matches
trcRunnable.h
Go to the documentation of this file.
1/*
2* Percepio Trace Recorder for Tracealyzer v4.11.0
3* Copyright 2025 Percepio AB
4* www.percepio.com
5*
6* SPDX-License-Identifier: Apache-2.0
7*/
8
14
15#ifndef TRC_RUNNABLE_H
16#define TRC_RUNNABLE_H
17
18typedef enum TraceRunnableRegisterMethod
19{
20 TRC_RUNNABLE_REGISTER_METHOD_USE_ENTRY_TABLE,
21 TRC_RUNNABLE_REGISTER_METHOD_USE_STRING_ADDRESS,
22 TRC_RUNNABLE_REGISTER_METHOD_USE_HANDLE_ADDRESS,
23} TraceRunnableRegisterMethod_t;
24
25#if (TRC_USE_TRACEALYZER_RECORDER == 1)
26
27#include <trcTypes.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
38
52traceResult xTraceRunnableRegister(const char* szName, TraceRunnableRegisterMethod_t uxRegisterMethod, TraceRunnableHandle_t* pxRunnableHandle);
53
62#define xTraceRunnableStart(xRunnableHandle) xTraceEventCreate1(PSF_EVENT_RUNNABLE_START, (TraceUnsignedBaseType_t)(xRunnableHandle))
63
70#define xTraceRunnableStop() xTraceEventCreate0(PSF_EVENT_RUNNABLE_STOP)
71
85#define xTraceRunnableRegisterStaticSet(szName, uiMajor, uiMinor, uiPatch, uiRunnableCount, pxRunnableSetHandle) xTraceExtensionCreate(szName, uiMajor, uiMinor, uiPatch, uiRunnableCount, pxRunnableSetHandle)
86
96#define xTraceRunnableStartStatic(xRunnableSetHandle, uiRunnableId) xTraceEventCreate0(xTraceExtensionGetEventId(xRunnableSetHandle, uiRunnableId))
97
104#define xTraceRunnableStopStatic() xTraceRunnableStop()
105
107
108#ifdef __cplusplus
109}
110#endif
111
112#else
113
114#define xTraceRunnableRegister(_szName, _uxRegisterMethod, _pxRunnableHandle) \
115 TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(_szName), (void)(_uxRegisterMethod), (void)(_pxRunnableHandle), TRC_SUCCESS)
116
117#define xTraceRunnableStart(_xRunnableHandle) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(_xRunnableHandle), TRC_SUCCESS)
118
119#define xTraceRunnableStop() (TRC_SUCCESS)
120
121#define xTraceRunnableRegisterStaticSet(_szName, _uiMajor, _uiMinor, _uiPatch, _uiRunnableCount, _pxRunnableSetHandle) \
122 TRC_COMMA_EXPR_TO_STATEMENT_EXPR_7((void)(_szName), (void)(_uiMajor), (void)(_uiMinor), (void)(_uiPatch), (void)(_uiRunnableCount), (void)(_pxRunnableSetHandle), TRC_SUCCESS)
123
124#define xTraceRunnableStartStatic(_xRunnableSetHandle, _uiRunnableId) \
125 TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_xRunnableSetHandle), (void)(_uiRunnableId), TRC_SUCCESS)
126
127#define xTraceRunnableStopStatic() (TRC_SUCCESS)
128
129#endif
130
131#endif
traceResult xTraceRunnableRegister(const char *szName, TraceRunnableRegisterMethod_t uxRegisterMethod, TraceRunnableHandle_t *pxRunnableHandle)
Registers a runnable. Can be called multiple times, will not create additional entries.
Definition trcRunnable.c:18