Percepio Trace Recorder  v4.6.6
trcPrint.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_PRINT_H
16 #define TRC_PRINT_H
17 
18 #if (TRC_USE_TRACEALYZER_RECORDER == 1)
19 
20 #if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
21 
22 #include <stdarg.h>
23 #include <trcTypes.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
35 #if (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1)
36 
38 #define TRC_PRINT_BUFFER_SIZE (sizeof(TraceStringHandle_t) + sizeof(TraceStringHandle_t))
39 
43 typedef struct TracePrintBuffer
44 {
45  uint32_t buffer[(TRC_PRINT_BUFFER_SIZE) / sizeof(uint32_t)];
46 } TracePrintBuffer_t;
47 
57 traceResult xTracePrintInitialize(TracePrintBuffer_t* pxBuffer);
58 
87 traceResult xTracePrint(TraceStringHandle_t xChannel, const char* szString);
88 
109 traceResult xTraceConsoleChannelPrintF(const char* szFormat, ...);
110 
163 traceResult xTracePrintF(TraceStringHandle_t xChannel, const char* szFormat, ...);
164 
175 traceResult xTraceVPrintF(TraceStringHandle_t xChannel, const char* szFormat, va_list xVL);
176 
177 #else /* (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1) */
178 
179 typedef struct TracePrintBuffer
180 {
181  uint32_t buffer[1];
182 } TracePrintBuffer_t;
183 
184 #define xTracePrintInitialize(p) ((void)p, p != 0 ? TRC_SUCCESS : TRC_FAIL)
185 
186 #define xTracePrint(c, s) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)c, (void)s, TRC_SUCCESS)
187 
188 #define xTracePrintF(c, s, ...) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)c, (void)s, TRC_SUCCESS)
189 
190 #define xTraceConsoleChannelPrintF(s, ...) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)s, TRC_SUCCESS)
191 
192 #define xTraceVPrintF(c, s, v) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)c, (void)s, (void)v, TRC_SUCCESS)
193 
194 #endif /* (TRC_CFG_SCHEDULING_ONLY == 0) && (TRC_CFG_INCLUDE_USER_EVENTS == 1) */
195 
198 #ifdef __cplusplus
199 }
200 #endif
201 
202 #endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */
203 
204 #endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */
205 
206 
207 #endif /* TRC_PRINT_H */
xTracePrintF
traceResult xTracePrintF(TraceStringHandle_t xChannel, const char *szFormat,...)
Generates "User Events" with formatted text and data.
Definition: trcPrint.c:185
xTraceConsoleChannelPrintF
traceResult xTraceConsoleChannelPrintF(const char *szFormat,...)
Wrapper for vTracePrintF for printing to default channel.
Definition: trcPrint.c:113
xTracePrint
traceResult xTracePrint(TraceStringHandle_t xChannel, const char *szString)
Generate "User Events" with unformatted text.
Definition: trcPrint.c:72
xTraceVPrintF
traceResult xTraceVPrintF(TraceStringHandle_t xChannel, const char *szFormat, va_list xVL)
Generates "User Events" with formatted text and data.
Definition: trcPrint.c:210