diff --git a/src/main.rs b/src/main.rs index a10dfe8..5817cd6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -41,13 +41,17 @@ pi::process_image! { pub running: (X, 200, 0), pub faulted: (X, 200, 1), pub state: (X, 200, 2), + pub pressure_ok: (X, 200, 3), } } fn program(inp: Pii, mut out: PiqMut, now: profirust::time::Instant) { let now = u64::try_from(now.total_millis()).unwrap(); - let running = inp.want_run() && (*out.running() || inp.bpb1()); + let pressure_ok = inp.bpb1() && (*out.pressure_ok() || !inp.want_run()); + *out.pressure_ok() = pressure_ok; + + let running = inp.want_run() && (*out.running() || *out.pressure_ok()); let mut faulted = *out.faulted() && running; *out.pza1_orange() = faulted; *out.pza1_blue() = !running && !faulted;