tasks: motion: move the entire motion prediction engine into the second core, dedicating core 1 to hardware
This commit is contained in:
@@ -110,25 +110,25 @@ impl BikeStates {
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn commit(&mut self, predictions: &DynamicSender<'static, Prediction>, notifications: &DynPublisher<'static, Notification>) {
|
||||
pub async fn commit(&mut self, predictions: &DynamicSender<'static, Prediction>) {
|
||||
if let Some(true) = self.acquiring_data.read_tripped() {
|
||||
notifications.publish(Notification::SensorStatus(SensorSource::ForwardsReference, SensorState::AcquiringFix)).await;
|
||||
notifications.publish(Notification::SensorStatus(SensorSource::GravityReference, SensorState::AcquiringFix)).await;
|
||||
notifications.publish(Notification::SensorStatus(SensorSource::Location, SensorState::AcquiringFix)).await;
|
||||
predictions.send(Prediction::SensorStatus(SensorSource::ForwardsReference, SensorState::AcquiringFix)).await;
|
||||
predictions.send(Prediction::SensorStatus(SensorSource::GravityReference, SensorState::AcquiringFix)).await;
|
||||
predictions.send(Prediction::SensorStatus(SensorSource::Location, SensorState::AcquiringFix)).await;
|
||||
}
|
||||
|
||||
if let Some(true) = self.has_down.read_tripped() {
|
||||
notifications.publish(Notification::SensorStatus(SensorSource::GravityReference, SensorState::Online)).await
|
||||
predictions.send(Prediction::SensorStatus(SensorSource::GravityReference, SensorState::Online)).await
|
||||
}
|
||||
|
||||
if let Some(true) = self.has_forwards.read_tripped() {
|
||||
notifications.publish(Notification::SensorStatus(SensorSource::ForwardsReference, SensorState::Online)).await
|
||||
predictions.send(Prediction::SensorStatus(SensorSource::ForwardsReference, SensorState::Online)).await
|
||||
}
|
||||
|
||||
match self.has_gps_fix.read_tripped() {
|
||||
None => (),
|
||||
Some(true) => notifications.publish(Notification::SensorStatus(SensorSource::Location, SensorState::Online)).await,
|
||||
Some(false) => notifications.publish(Notification::SensorStatus(SensorSource::Location, SensorState::Degraded)).await,
|
||||
Some(true) => predictions.send(Prediction::SensorStatus(SensorSource::Location, SensorState::Online)).await,
|
||||
Some(false) => predictions.send(Prediction::SensorStatus(SensorSource::Location, SensorState::Degraded)).await,
|
||||
}
|
||||
|
||||
let est = self.kf.x;
|
||||
|
||||
Reference in New Issue
Block a user