tasks: mpu: emit gravity and forward sensor statuses

This commit is contained in:
2025-12-07 12:55:23 +01:00
parent 49c36c8aa8
commit 972ecbbdc2

View File

@@ -62,6 +62,8 @@ pub async fn mpu_task(events: DynamicSender<'static, Measurement>, bus: I2cDevic
let sensor_ref = &mut sensor; let sensor_ref = &mut sensor;
events.send(Measurement::SensorHardwareStatus(SensorSource::IMU, crate::events::SensorState::Online)).await; events.send(Measurement::SensorHardwareStatus(SensorSource::IMU, crate::events::SensorState::Online)).await;
events.send(Measurement::SensorHardwareStatus(SensorSource::GravityReference, crate::events::SensorState::AcquiringFix)).await;
events.send(Measurement::SensorHardwareStatus(SensorSource::ForwardsReference, crate::events::SensorState::AcquiringFix)).await;
//TODO: Need to read in a constant buffer of accelerometer measurements, which we can then use to determine where "forward" points in the body frame when converting from the sensor frame. //TODO: Need to read in a constant buffer of accelerometer measurements, which we can then use to determine where "forward" points in the body frame when converting from the sensor frame.
// From there, we can rotate the body frame into the world frame using gps headings to generate a compass north // From there, we can rotate the body frame into the world frame using gps headings to generate a compass north
fn lowpass(prev: f32, current: f32, alpha: f32) -> f32 { fn lowpass(prev: f32, current: f32, alpha: f32) -> f32 {