15#ifndef TRC_TIMESTAMP_H
16#define TRC_TIMESTAMP_H
18#if (TRC_USE_TRACEALYZER_RECORDER == 1)
20#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
61#if ((TRC_CFG_USE_TRACE_ASSERT) == 1)
153#if ((TRC_HWTC_TYPE == TRC_FREE_RUNNING_32BIT_INCR) || (TRC_HWTC_TYPE == TRC_CUSTOM_TIMER_INCR))
154#define xTraceTimestampGet(puiTimestamp) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4(*(puiTimestamp) = TRC_HWTC_COUNT, (*(puiTimestamp) < pxTraceTimestamp->latestTimestamp) ? pxTraceTimestamp->wraparounds++ : 0, pxTraceTimestamp->latestTimestamp = *(puiTimestamp), TRC_SUCCESS)
155#elif ((TRC_HWTC_TYPE == TRC_FREE_RUNNING_32BIT_DECR) || (TRC_HWTC_TYPE == TRC_CUSTOM_TIMER_DECR))
156#define xTraceTimestampGet(puiTimestamp) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4(*(puiTimestamp) = TRC_HWTC_COUNT, (*(puiTimestamp) > pxTraceTimestamp->latestTimestamp) ? pxTraceTimestamp->wraparounds++ : 0, pxTraceTimestamp->latestTimestamp = *(puiTimestamp), TRC_SUCCESS)
157#elif ((TRC_HWTC_TYPE == TRC_OS_TIMER_INCR) || (TRC_HWTC_TYPE == TRC_OS_TIMER_DECR))
158#define xTraceTimestampGet(puiTimestamp) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4(*(puiTimestamp) = ((TRC_HWTC_COUNT) & 0x00FFFFFFU) + ((pxTraceTimestamp->osTickCount & 0x000000FFU) << 24), pxTraceTimestamp->wraparounds = pxTraceTimestamp->osTickCount, pxTraceTimestamp->latestTimestamp = *(puiTimestamp), TRC_SUCCESS)
169#define xTraceTimestampGetWraparounds(puiTimerWraparounds) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiTimerWraparounds) = pxTraceTimestamp->wraparounds, TRC_SUCCESS)
179#define xTraceTimestampSetFrequency(uxFrequency) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTimestamp->frequency = uxFrequency, TRC_SUCCESS)
189#define xTraceTimestampSetPeriod(uiPeriod) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTimestamp->period = uiPeriod, TRC_SUCCESS)
199#define xTraceTimestampSetOsTickCount(uiOsTickCount) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTimestamp->osTickCount = uiOsTickCount, TRC_SUCCESS)
209#define xTraceTimestampGetFrequency(puxFrequency) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puxFrequency) = pxTraceTimestamp->frequency, TRC_SUCCESS)
219#define xTraceTimestampGetPeriod(puiPeriod) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiPeriod) = pxTraceTimestamp->period, TRC_SUCCESS)
229#define xTraceTimestampGetOsTickCount(puiOsTickCount) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(puiOsTickCount) = pxTraceTimestamp->osTickCount, TRC_SUCCESS)
#define xTraceTimestampSetOsTickCount(uiOsTickCount)
Sets trace timestamp OS tick count.
Definition: trcTimestamp.h:199
#define xTraceTimestampGetOsTickCount(puiOsTickCount)
Gets trace timestamp OS tick count.
Definition: trcTimestamp.h:229
#define xTraceTimestampSetFrequency(uxFrequency)
Sets trace timestamp frequency.
Definition: trcTimestamp.h:179
struct TraceTimestampData TraceTimestampData_t
Trace Timestamp Structure.
#define xTraceTimestampGetFrequency(puxFrequency)
Gets trace timestamp frequency.
Definition: trcTimestamp.h:209
#define xTraceTimestampGetPeriod(puiPeriod)
Gets trace timestamp period.
Definition: trcTimestamp.h:219
#define xTraceTimestampSetPeriod(uiPeriod)
Sets trace timestamp period.
Definition: trcTimestamp.h:189
#define xTraceTimestampGetWraparounds(puiTimerWraparounds)
Gets trace timestamp wraparounds.
Definition: trcTimestamp.h:169
#define xTraceTimestampGet(puiTimestamp)
Gets current trace timestamp.
Definition: trcTimestamp.h:154
Trace Timestamp Structure.
Definition: trcTimestamp.h:38
uint32_t latestTimestamp
Definition: trcTimestamp.h:44
uint32_t type
Definition: trcTimestamp.h:39
uint32_t osTickHz
Definition: trcTimestamp.h:43
uint32_t osTickCount
Definition: trcTimestamp.h:45
TraceUnsignedBaseType_t frequency
Definition: trcTimestamp.h:41
uint32_t wraparounds
Definition: trcTimestamp.h:42
uint32_t period
Definition: trcTimestamp.h:40