36#ifndef PROTOCORE_TELEMETRY_H
37#define PROTOCORE_TELEMETRY_H
41#if PROTOCORE_ENABLE_TELEMETRY
98 TelemetryTotalizer *t;
101} TelemetryTotalizerArgs;
139 TelemetryWindowArgs window;
140 TelemetryRateArgs rate;
141 TelemetryTotalizerArgs totalizer;
149extern TelemetryVars TelemetryV;
154 void (*
const window_init)(uint8_t *work);
155 void (*
const window_push)(uint8_t *work);
156 void (*
const window_count)(uint8_t *work);
157 void (*
const window_mean)(uint8_t *work);
158 void (*
const window_variance)(uint8_t *work);
159 void (*
const window_stddev)(uint8_t *work);
160 void (*
const window_min)(uint8_t *work);
161 void (*
const window_max)(uint8_t *work);
162 void (*
const rate_init)(uint8_t *work);
163 void (*
const rate_update)(uint8_t *work);
164 void (*
const totalizer_init)(uint8_t *work);
165 void (*
const totalizer_add)(uint8_t *work);
166 void (*
const totalizer_total)(uint8_t *work);
167 void (*
const totalizer_reset)(uint8_t *work);
172void protocore_telemetry_window_init(uint8_t *work);
173void protocore_telemetry_window_push(uint8_t *work);
174void protocore_telemetry_window_count(uint8_t *work);
175void protocore_telemetry_window_mean(uint8_t *work);
176void protocore_telemetry_window_variance(uint8_t *work);
177void protocore_telemetry_window_stddev(uint8_t *work);
178void protocore_telemetry_window_min(uint8_t *work);
179void protocore_telemetry_window_max(uint8_t *work);
180void protocore_telemetry_rate_init(uint8_t *work);
181void protocore_telemetry_rate_update(uint8_t *work);
182void protocore_telemetry_totalizer_init(uint8_t *work);
183void protocore_telemetry_totalizer_add(uint8_t *work);
184void protocore_telemetry_totalizer_total(uint8_t *work);
190static const TelemetryNs Telemetry __attribute__((unused)) = {
191 .window_init = protocore_telemetry_window_init,
192 .window_push = protocore_telemetry_window_push,
193 .window_count = protocore_telemetry_window_count,
194 .window_mean = protocore_telemetry_window_mean,
195 .window_variance = protocore_telemetry_window_variance,
196 .window_stddev = protocore_telemetry_window_stddev,
197 .window_min = protocore_telemetry_window_min,
198 .window_max = protocore_telemetry_window_max,
199 .rate_init = protocore_telemetry_rate_init,
200 .rate_update = protocore_telemetry_rate_update,
201 .totalizer_init = protocore_telemetry_totalizer_init,
202 .totalizer_add = protocore_telemetry_totalizer_add,
203 .totalizer_total = protocore_telemetry_totalizer_total,
204 .totalizer_reset = protocore_telemetry_totalizer_init,
#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