PER Firmware
Loading...
Searching...
No Matches
sensors.h
Go to the documentation of this file.
1#ifndef SENSORS_H
2#define SENSORS_H
3
11#include <stdint.h>
12
15
16typedef struct {
17 float gyro_y;
18 float gyro_x;
19 float gyro_z;
20 float accel_x;
21 float accel_y;
22 float accel_z;
24
26extern volatile uint8_t rover_rx_buffer[ROVER_TX_SIZE]; // DMA target
29extern imu_data_t imu_data;
30
31static constexpr uint32_t GPS_THREAD_PERIOD_MS = 100;
32void gps_periodic(void);
33
34// async imu decoupling handled by RX callbacks
35void initialize_calibration(void);
38
39#endif // SENSORS_H
UBX NAV-PVT message definition and decoder function.
static constexpr size_t NAV_PVT_TOTAL_LENGTH
Definition nav_pvt.h:20
UBX NAV-RELPOSNED message definition and decoder function.
static constexpr size_t NAV_RELPOSNED_TOTAL_LENGTH
Definition nav_relposned.h:20
void IZZE_angular_rate_CALLBACK(void)
Finalize the IMU decoupling calibration by deriving the rotation matrix from the accumulated accelero...
Definition imu.c:96
void gps_periodic(void)
Definition gps.c:17
static constexpr uint32_t GPS_THREAD_PERIOD_MS
Definition sensors.h:31
void initialize_calibration(void)
Initialize the IMU decoupling calibration data structures and state.
Definition imu.c:46
void IZZE_acceleration_CALLBACK(void)
Callback function for handling IZZE acceleration data.
Definition imu.c:127
imu_data_t imu_data
Definition imu.c:23
NAV_PVT_data_t nav_pvt
Definition gps.c:13
static constexpr size_t ROVER_TX_SIZE
Definition sensors.h:25
NAV_RELPOSNED_data_t nav_relposned
Definition gps.c:14
volatile uint8_t rover_rx_buffer[ROVER_TX_SIZE]
Definition gps.c:12
Definition nav_pvt.h:63
Definition nav_relposned.h:37
Definition sensors.h:16
float gyro_x
Definition sensors.h:18
float accel_z
Definition sensors.h:22
float gyro_y
Definition sensors.h:17
float accel_y
Definition sensors.h:21
float accel_x
Definition sensors.h:20
float gyro_z
Definition sensors.h:19