39#ifndef WOZ_FLIGHT_RECORDER_H
40#define WOZ_FLIGHT_RECORDER_H
52#define FR_MAGIC 0x31435246u
57#define FR_FRAME_MAX 128u
58#define FR_URSK_LEN 32u
82 FR_EP_TRY_PREPOLL = 1,
96 char sha[FR_SHA_MAX + 1];
107 uint8_t sync_code_index;
108 uint16_t slot_duration_rstu;
109 uint32_t block_duration_ms;
110 uint8_t slot_per_round;
112 uint64_t uwb_time_us;
113 uint8_t ursk[FR_URSK_LEN];
115 uint8_t rc[FR_RC_MAX];
134 uint8_t frame[FR_FRAME_MAX];
173int fr_write_meta(fr_writer_t *w, uint16_t port,
const char *sha);
176int fr_write_end(fr_writer_t *w, uint32_t n_events,
bool truncated);
190void fr_reader_init(fr_reader_t *r,
const uint8_t *buf,
size_t len);
196#if defined(ESP_PLATFORM)
197#include "sdkconfig.h"
202#if defined(CONFIG_WOZ_FLIGHT_RECORDER)
207void fr_capture_ev(uint8_t ep, uint32_t status, uint16_t datalength);
208size_t fr_finalize(
const uint8_t **buf);
211void fr_set_dump_sink(
void (*sink)(
const char *line));
243static inline void fr_capture_ev(uint8_t ep, uint32_t status, uint16_t datalength)
static void fr_capture_ev(uint8_t ep, uint32_t status, uint16_t datalength)
Stub callback invoked when the flight recorder captures a UWB event (endpoint fire,...
Definition flight_recorder.h:243
static void fr_dump(void)
Stub callback that dumps the flight recorder ring buffer to the host interface.
Definition flight_recorder.h:253
int fr_write_ev(fr_writer_t *w, const struct fr_ev *ev)
Emit an EV record containing DW3000 register snapshot and received frame data; truncate frame to maxi...
Definition flight_recorder.c:197
static void fr_clear(void)
Stub callback that clears the flight recorder ring buffer.
Definition flight_recorder.h:260
static void fr_set_enabled(bool on)
Stub callback that enables or disables flight recording.
Definition flight_recorder.h:219
void fr_writer_init(fr_writer_t *w, uint8_t *buf, size_t cap)
Initialize a flight-recorder writer with an output buffer; write the magic prefix if capacity permits...
Definition flight_recorder.c:132
int fr_write_meta(fr_writer_t *w, uint16_t port, const char *sha)
Emit a META record containing flight-recorder version, host port, and optional commit SHA; return 0 o...
Definition flight_recorder.c:152
static bool fr_enabled(void)
Returns true if the flight recorder is enabled and capturing events; false otherwise.
Definition flight_recorder.h:227
void fr_reader_init(fr_reader_t *r, const uint8_t *buf, size_t len)
Initialize a flight-recorder reader to parse a binary buffer; do not validate the magic prefix until ...
Definition flight_recorder.c:237
static void fr_capture_config(const struct woz_uwb_aliro_cfg *cfg)
Stub callback invoked when the flight recorder captures the Aliro session configuration.
Definition flight_recorder.h:235
int fr_write_end(fr_writer_t *w, uint32_t n_events, bool truncated)
Emit an END record with event count and truncation flag; return 0 on success or -1 on buffer overflow...
Definition flight_recorder.c:221
int fr_write_config(fr_writer_t *w, const struct fr_config *cfg)
Emit a CONFIG record containing Aliro session parameters and UWB radio configuration; truncate URSK a...
Definition flight_recorder.c:173
int fr_read_next(fr_reader_t *r, struct fr_record *out)
Parse one flight-recorder record from the reader buffer; check magic prefix on first call,...
Definition flight_recorder.c:250
Captured Aliro session configuration snapshot: channel, timing parameters, STS index,...
Definition flight_recorder.h:104
Trailer record marking the end of a flight recorder session: the count of captured events and a trunc...
Definition flight_recorder.h:141
Single UWB event captured during a walk-up: endpoint identity, status register, frame length,...
Definition flight_recorder.h:123
One record in a flight recorder stream: a discriminated union holding either a metadata header,...
Definition flight_recorder.h:150
Aliro UWB ranging parameters negotiated during M1-M4 handshake.
Definition woz_uwb_facade.h:35