15#ifndef TRC_INTERNAL_BUFFER_H
16#define TRC_INTERNAL_BUFFER_H
18#if (TRC_USE_TRACEALYZER_RECORDER == 1)
20#include <trcDefines.h>
22#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
24#ifndef TRC_USE_INTERNAL_BUFFER
25#define TRC_USE_INTERNAL_BUFFER 1
28#ifndef TRC_INTERNAL_EVENT_BUFFER_WRITE_MODE
29#define TRC_INTERNAL_EVENT_BUFFER_WRITE_MODE TRC_INTERNAL_EVENT_BUFFER_OPTION_WRITE_MODE_DIRECT
32#ifndef TRC_INTERNAL_EVENT_BUFFER_TRANSFER_MODE
33#define TRC_INTERNAL_EVENT_BUFFER_TRANSFER_MODE TRC_INTERNAL_EVENT_BUFFER_OPTION_TRANSFER_MODE_ALL
36#ifndef TRC_INTERNAL_BUFFER_CHUNK_SIZE
37#define TRC_INTERNAL_BUFFER_CHUNK_SIZE 1024UL
40#ifndef TRC_INTERNAL_BUFFER_PAGE_SIZE
41#define TRC_INTERNAL_BUFFER_PAGE_SIZE 1024UL
44#ifndef TRC_INTERNAL_BUFFER_CHUNK_TRANSFER_AGAIN_SIZE_LIMIT
45#define TRC_INTERNAL_BUFFER_CHUNK_TRANSFER_AGAIN_SIZE_LIMIT (TRC_INTERNAL_BUFFER_PAGE_SIZE / 2UL)
48#ifndef TRC_INTERNAL_BUFFER_CHUNK_TRANSFER_AGAIN_COUNT_LIMIT
49#define TRC_INTERNAL_BUFFER_CHUNK_TRANSFER_AGAIN_COUNT_LIMIT (5UL)
52#if (TRC_USE_INTERNAL_BUFFER == 1)
75traceResult xTraceInternalEventBufferInitialize(uint8_t* puiBuffer, uint32_t uiSize);
118#if (TRC_INTERNAL_EVENT_BUFFER_TRANSFER_MODE == TRC_INTERNAL_EVENT_BUFFER_OPTION_TRANSFER_MODE_ALL)
119#define xTraceInternalEventBufferTransfer xTraceInternalEventBufferTransferAll
121#define xTraceInternalEventBufferTransfer xTraceInternalEventBufferTransferChunk
173#define xTraceInternalEventBufferInitialize(puiBuffer, uiSize) ((void)(uiSize), (puiBuffer) != 0 ? TRC_SUCCESS : TRC_FAIL)
174#define xTraceInternalEventBufferAlloc(ppvData, uiSize) ((void)(uiSize), (ppvData) != 0 ? TRC_SUCCESS : TRC_FAIL)
175#define xTraceInternalEventBufferAllocCommit(pvData, uiSize, piBytesWritten) ((void)(pvData), (void)(uiSize), (void)(piBytesWritten), TRC_SUCCESS)
176#define xTraceInternalEventBufferPush(pvData, uiSize, piBytesWritten) ((void)(uiSize), (void)(piBytesWritten), (pvData) != 0 ? TRC_SUCCESS : TRC_FAIL)
177#define xTraceInternalEventBufferTransfer() (void)(TRC_SUCCESS)
178#define xTraceInternalEventBufferTransferChunk(piBytesWritten, uiChunkSize) ((void)(piBytesWritten), (void)(uiChunkSize), TRC_SUCCESS)
179#define xTraceInternalEventBufferClear() (void)(TRC_SUCCESS)
traceResult xTraceInternalEventBufferAlloc(uint32_t uiSize, void **ppvData)
Allocates a data slot directly from the internal event buffer.
traceResult xTraceInternalEventBufferTransferChunk(void)
Transfer internal trace event buffer data through streamport.
traceResult xTraceInternalEventBufferPush(void *pvData, uint32_t uiSize, int32_t *piBytesWritten)
Pushes data to the internal trace event buffer.
traceResult xTraceInternalEventBufferAllocCommit(void *pvData, uint32_t uiSize, int32_t *piBytesWritten)
Commits the last allocated block to the internal event buffer.
traceResult xTraceInternalEventBufferClear(void)
Clears all trace events in the internal trace event buffer.
traceResult xTraceInternalEventBufferTransferAll(void)
Transfers all internal trace event buffer data using the function xTraceStreamPortWriteData(....