24 lines
790 B
Rust
24 lines
790 B
Rust
use crate::firmware::firmware_state::{AppCrashesStep, FirmwareState};
|
|
use crate::firmware::prometeu_context::PrometeuContext;
|
|
use prometeu_hal::log::{LogLevel, LogSource};
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct HubHomeStep;
|
|
|
|
impl HubHomeStep {
|
|
pub fn on_enter(&mut self, ctx: &mut PrometeuContext) {
|
|
ctx.os.log(LogLevel::Info, LogSource::Hub, 0, "Entering HubHome".to_string());
|
|
}
|
|
|
|
pub fn on_update(&mut self, ctx: &mut PrometeuContext) -> Option<FirmwareState> {
|
|
let outcome = ctx.hub.update_system_profile(ctx.os, ctx.vm, ctx.signals, ctx.hw);
|
|
if let Some(report) = outcome.crash {
|
|
return Some(FirmwareState::AppCrashes(AppCrashesStep { report }));
|
|
}
|
|
|
|
None
|
|
}
|
|
|
|
pub fn on_exit(&mut self, _ctx: &mut PrometeuContext) {}
|
|
}
|