40#ifndef PROTOCORE_TRACE_CAPTURE_H
41#define PROTOCORE_TRACE_CAPTURE_H
45#if PROTOCORE_ENABLE_TRACE_CAPTURE
52 const uint16_t *samples;
54 uint16_t pretrigger_samples;
56 uint32_t assembly_cycles;
60typedef void (*protocore_tc_sink_fn)(
const protocore_tc_window *win,
void *ctx);
65 uint16_t pretrigger_samples;
66 uint16_t posttrigger_samples;
67 protocore_tc_sink_fn sink;
74 uint32_t windows_completed;
75 uint32_t triggers_dropped;
76 uint32_t samples_dropped;
82 const uint16_t *samples;
84 protocore_tc_stats *stats;
109 const protocore_tc_config *cfg;
116extern TraceCaptureVars TraceCaptureV;
121 void (*
const begin)(uint8_t *work);
122 void (*
const feed_in)(uint8_t *work);
123 void (*
const trigger)(uint8_t *work);
124 void (*
const get_stats)(uint8_t *work);
125 void (*
const capturing)(uint8_t *work);
126 void (*
const end)(uint8_t *work);
131void protocore_trace_capture_begin(uint8_t *work);
132void protocore_trace_capture_feed_in(uint8_t *work);
133void protocore_trace_capture_trigger(uint8_t *work);
134void protocore_trace_capture_get_stats(uint8_t *work);
135void protocore_trace_capture_capturing(uint8_t *work);
136void protocore_trace_capture_end(uint8_t *work);
142static const TraceCaptureNs TraceCapture __attribute__((unused)) = {
143 .begin = protocore_trace_capture_begin,
144 .feed_in = protocore_trace_capture_feed_in,
145 .trigger = protocore_trace_capture_trigger,
146 .get_stats = protocore_trace_capture_get_stats,
147 .capturing = protocore_trace_capture_capturing,
148 .end = protocore_trace_capture_end,
160uint8_t *protocore_trace_capture_span(
void);
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS