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
23
enum
{
EXT_TOF
= 1,
EXT_FLOW
= 2 };
24
25
typedef
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
;
33
}
ext_sample_t
;
34
35
typedef
struct
{
36
vl53_bus_t
tof
;
37
sensor_bus_t
flow
;
38
}
ext_buses_t
;
39
40
/* ---- logic (ExtTask context; host-testable) ---- */
41
void
ext_init
(
const
ext_buses_t
*buses);
42
void
ext_step
(uint32_t now_ms);
44
/* ---- RTOS shell (firmware only) ---- */
45
void
ext_sens_start
(
void
);
47
/* ---- readers ---- */
48
int
ext_take
(
ext_sample_t
*
s
);
49
uint16_t
ext_sensors
(
void
);
50
uint32_t
ext_errors
(
void
);
51
52
#endif
/* EXT_SENS_H */
s
static batt_state_t s
Definition
battery.c:21
ext_take
int ext_take(ext_sample_t *s)
flight context: 1 if a sample was taken
Definition
ext_sens.c:81
ext_step
void ext_step(uint32_t now_ms)
one 10 ms cycle
Definition
ext_sens.c:36
ext_errors
uint32_t ext_errors(void)
Definition
ext_sens.c:83
ext_sensors
uint16_t ext_sensors(void)
PV2_S_TOF | PV2_S_FLOW currently detected.
Definition
ext_sens.c:82
EXT_FLOW
@ EXT_FLOW
Definition
ext_sens.h:23
EXT_TOF
@ EXT_TOF
Definition
ext_sens.h:23
ext_init
void ext_init(const ext_buses_t *buses)
Definition
ext_sens.c:22
ext_sens_start
void ext_sens_start(void)
creates the task (after imu_i2c_bus_init)
Definition
ext_sens.c:100
sensor_bus.h
Platform-independent bus interface.
ext_buses_t
Definition
ext_sens.h:35
ext_buses_t::tof
vl53_bus_t tof
Definition
ext_sens.h:36
ext_buses_t::flow
sensor_bus_t flow
Definition
ext_sens.h:37
ext_sample_t
Definition
ext_sens.h:25
ext_sample_t::dt_s
float dt_s
flow: time covered by dx/dy, 0 = status only
Definition
ext_sens.h:31
ext_sample_t::tof_mm
uint16_t tof_mm
Definition
ext_sens.h:28
ext_sample_t::kind
uint8_t kind
EXT_TOF / EXT_FLOW.
Definition
ext_sens.h:26
ext_sample_t::dx
int16_t dx
Definition
ext_sens.h:29
ext_sample_t::t_ms
uint32_t t_ms
Definition
ext_sens.h:32
ext_sample_t::status
uint8_t status
ToF range status (0 valid) / flow STATUS byte.
Definition
ext_sens.h:27
ext_sample_t::squal
uint8_t squal
Definition
ext_sens.h:30
sensor_bus_t
Definition
sensor_bus.h:19
vl53_bus_t
Definition
vl53l1x.h:21
vl53l1x.h
Minimal VL53L1X time-of-flight driver (ACwing Flow rev A, Qwiic 0x29).
app
ext_sens.h
Generated by
1.9.8