Percepio Trace Recorder  v4.6.6
trcInterval.h
Go to the documentation of this file.
1 /*
2 * Percepio Trace Recorder for Tracealyzer v4.6.6
3 * Copyright 2021 Percepio AB
4 * www.percepio.com
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8 
15 #ifndef TRC_INTERVAL_H
16 #define TRC_INTERVAL_H
17 
18 #if (TRC_USE_TRACEALYZER_RECORDER == 1)
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 #if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
25 
26 #include <trcTypes.h>
27 
28 #define TRC_INTERVAL_CHANNEL_SET_INDEX 0
29 
45  traceResult xTraceIntervalChannelSetCreate(const char* szName, TraceIntervalChannelSetHandle_t* pxIntervalChannelSetHandle);
46 
57 traceResult xTraceIntervalChannelCreate(const char *szName, TraceIntervalChannelSetHandle_t xIntervalChannelSetHandle, TraceIntervalChannelHandle_t *pxIntervalChannelHandle);
58 
69 traceResult xTraceIntervalStart(TraceIntervalChannelHandle_t xIntervalChannelHandle, TraceUnsignedBaseType_t uxValue, TraceIntervalInstanceHandle_t* pxIntervalInstanceHandle);
70 
80 traceResult xTraceIntervalStop(TraceIntervalChannelHandle_t xIntervalChannelHandle, TraceIntervalInstanceHandle_t xIntervalInstanceHandle);
81 
91 #define xTraceIntervalGetState(xIntervalChannelHandle, puxState) xTraceEntryGetState((TraceEntryHandle_t)(xIntervalChannelHandle), TRC_INTERVAL_CHANNEL_SET_INDEX, puxState)
92 
95 #else
96 
100 #define xTraceIntervalChannelSetCreate(__szName, __pxIntervalChannelSetHandle) ((void)(__szName), *(__pxIntervalChannelSetHandle) = 0, TRC_SUCCESS)
101 
105 #define xTraceIntervalChannelCreate(__szName, __xIntervalChannelSetHandle, __pxIntervalChannelHandle) ((void)(__szName), (void)(__xIntervalChannelSetHandle), *(__pxIntervalChannelHandle) = 0, TRC_SUCCESS)
106 
110 #define xTraceIntervalStart(__xIntervalHandle, __uxValue, __pxIntervalInstanceHandle) ((void)(__xIntervalHandle), (void)(__uxValue), *(__pxIntervalInstanceHandle) = 0, TRC_SUCCESS)
111 
115 #define xTraceIntervalStop(__xIntervalHandle, __xIntervalInstanceHandle) ((void)(__xIntervalHandle), (void)(__xIntervalInstanceHandle), TRC_SUCCESS)
116 
120 #define xTraceIntervalGetState(__xIntervalHandle, __puxState) ((void)(__xIntervalHandle), *(__puxState) = 0, TRC_SUCCESS)
121 
122 #endif
123 
124 #ifdef __cplusplus
125 }
126 #endif
127 
128 #endif
129 
130 #endif
xTraceIntervalChannelCreate
traceResult xTraceIntervalChannelCreate(const char *szName, TraceIntervalChannelSetHandle_t xIntervalChannelSetHandle, TraceIntervalChannelHandle_t *pxIntervalChannelHandle)
Creates trace interval channel.
Definition: trcInterval.c:38
xTraceIntervalChannelSetCreate
traceResult xTraceIntervalChannelSetCreate(const char *szName, TraceIntervalChannelSetHandle_t *pxIntervalChannelSetHandle)
Creates trace interval channel set.
Definition: trcInterval.c:17
xTraceIntervalStart
traceResult xTraceIntervalStart(TraceIntervalChannelHandle_t xIntervalChannelHandle, TraceUnsignedBaseType_t uxValue, TraceIntervalInstanceHandle_t *pxIntervalInstanceHandle)
Starts trace interval instance.
Definition: trcInterval.c:62
xTraceIntervalStop
traceResult xTraceIntervalStop(TraceIntervalChannelHandle_t xIntervalChannelHandle, TraceIntervalInstanceHandle_t xIntervalInstanceHandle)
Stops trace interval instance.
Definition: trcInterval.c:82