24 float loop_hz, jitter_us,
cpu_pct, imu_temp_c;
Sensor calibrations of protocol v2 (HANDOVER_FW.md ยง10).
int fsh_cal_push(const cal_sample_t *s)
int fsh_apply_take(fsh_apply_t *a)
volatile uint8_t g_fsh_cal_want
calibration samples (ImuTask -> AppTask)
int fsh_apply_post(uint8_t type, const cal_set_t *set)
void fsh_est_write(const fsh_est_t *s)
ImuTask.
int fsh_cal_pop(cal_sample_t *s)
void fsh_est_read(fsh_est_t *out)
AppTask: keeps *out on a race.
calibration to apply (AppTask -> ImuTask)
uint8_t alt_valid
vertical / navigation
uint8_t flow_ok
bridge alive, PMW3901 OK
uint16_t tof_mm
raw, 0xFFFF n/a
uint8_t flow_q
0..100, 0xFF n/a
uint16_t sensors
IMU / MAG_FC / BARO found by the IMU init.
float vib_mg
RMS of |a| - 1 g over ~1 s
float att_unc_deg
1 sigma, largest axis
uint16_t acc_clip
samples near full scale since arm
uint8_t flow_usable
above the PMW3901 minimum height (80 mm)