events: finally drop the whole bus garage idea
This commit is contained in:
@@ -1,25 +1,27 @@
|
||||
use embassy_sync::pubsub::DynPublisher;
|
||||
use embassy_time::Timer;
|
||||
|
||||
use crate::events::{Notification, Scene, SensorSource, SensorState};
|
||||
use crate::{ego::engine::MotionState, events::{Personality, Prediction, SensorSource, SensorState}};
|
||||
|
||||
|
||||
#[embassy_executor::task]
|
||||
pub async fn demo_task(ui: DynPublisher<'static, Notification>) {
|
||||
pub async fn demo_task(ui: DynPublisher<'static, Prediction>) {
|
||||
ui.publish(Prediction::SensorStatus(SensorSource::Demo, SensorState::AcquiringFix)).await;
|
||||
Timer::after_secs(10).await;
|
||||
ui.publish(Notification::SceneChange(Scene::Idle)).await;
|
||||
ui.publish(Notification::SetBrakelight(true)).await;
|
||||
ui.publish(Notification::SetHeadlight(true)).await;
|
||||
ui.publish(Prediction::SetPersonality(crate::events::Personality::Active)).await;
|
||||
Timer::after_secs(10).await;
|
||||
ui.publish(Notification::SensorStatus(SensorSource::Demo, SensorState::AcquiringFix)).await;
|
||||
ui.publish(Prediction::SensorStatus(SensorSource::Demo, SensorState::Online)).await;
|
||||
loop {
|
||||
for scene in [Scene::Accelerating, Scene::Ready, Scene::Decelerating, Scene::Ready] {
|
||||
ui.publish(Notification::SceneChange(scene)).await;
|
||||
for personality in [Personality::Active, Personality::Parked] {
|
||||
ui.publish(Prediction::SetPersonality(personality)).await;
|
||||
for state in [SensorState::Offline, SensorState::AcquiringFix, SensorState::Degraded, SensorState::Offline] {
|
||||
for sensor in [SensorSource::ForwardsReference, SensorSource::GPS, SensorSource::GravityReference, SensorSource::IMU, SensorSource::Location] {
|
||||
ui.publish(Notification::SensorStatus(sensor, state)).await;
|
||||
}
|
||||
Timer::after_secs(1).await;
|
||||
for motion in [MotionState::Accelerating, MotionState::Steady, MotionState::Decelerating, MotionState::Stationary] {
|
||||
ui.publish(Prediction::Motion { prev: motion, next: motion }).await;
|
||||
for sensor in [SensorSource::ForwardsReference, SensorSource::GPS, SensorSource::GravityReference, SensorSource::IMU, SensorSource::Location] {
|
||||
ui.publish(Prediction::SensorStatus(sensor, state)).await;
|
||||
}
|
||||
Timer::after_secs(1).await;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user