ACwing FC firmware
STM32WB55: attitude IEKF, altitude Kalman filter, flight core, protocol v2
Loading...
Searching...
No Matches
ext_sens.h
Go to the documentation of this file.
1
13#ifndef EXT_SENS_H
14#define EXT_SENS_H
15
16#include <stdint.h>
17#include "vl53l1x.h"
18#include "sensor_bus.h"
19
20#define EXT_PERIOD_MS 10u
21#define EXT_PROBE_MS 5000u
22#define EXT_ERR_LIMIT 50u
23enum { EXT_TOF = 1, EXT_FLOW = 2 };
24
25typedef struct {
26 uint8_t kind;
27 uint8_t status;
28 uint16_t tof_mm;
29 int16_t dx, dy;
30 uint8_t squal;
31 float dt_s;
32 uint32_t t_ms;
34
39
40/* ---- logic (ExtTask context; host-testable) ---- */
41void ext_init(const ext_buses_t *buses);
42void ext_step(uint32_t now_ms);
44/* ---- RTOS shell (firmware only) ---- */
45void ext_sens_start(void);
47/* ---- readers ---- */
49uint16_t ext_sensors(void);
50uint32_t ext_errors(void);
51
52#endif /* EXT_SENS_H */
static batt_state_t s
Definition battery.c:21
int ext_take(ext_sample_t *s)
flight context: 1 if a sample was taken
Definition ext_sens.c:81
void ext_step(uint32_t now_ms)
one 10 ms cycle
Definition ext_sens.c:36
uint32_t ext_errors(void)
Definition ext_sens.c:83
uint16_t ext_sensors(void)
PV2_S_TOF | PV2_S_FLOW currently detected.
Definition ext_sens.c:82
@ EXT_FLOW
Definition ext_sens.h:23
@ EXT_TOF
Definition ext_sens.h:23
void ext_init(const ext_buses_t *buses)
Definition ext_sens.c:22
void ext_sens_start(void)
creates the task (after imu_i2c_bus_init)
Definition ext_sens.c:100
Platform-independent bus interface.
vl53_bus_t tof
Definition ext_sens.h:36
sensor_bus_t flow
Definition ext_sens.h:37
float dt_s
flow: time covered by dx/dy, 0 = status only
Definition ext_sens.h:31
uint16_t tof_mm
Definition ext_sens.h:28
uint8_t kind
EXT_TOF / EXT_FLOW.
Definition ext_sens.h:26
int16_t dx
Definition ext_sens.h:29
uint32_t t_ms
Definition ext_sens.h:32
uint8_t status
ToF range status (0 valid) / flow STATUS byte.
Definition ext_sens.h:27
uint8_t squal
Definition ext_sens.h:30
Minimal VL53L1X time-of-flight driver (ACwing Flow rev A, Qwiic 0x29).