diff --git a/common/src/lib.rs b/common/src/lib.rs index 26bbe61..f09af96 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -16,6 +16,8 @@ pub enum ControlPacket { FireOverride(Speed), /// Enable/Disable flipper staging Arm(bool), + /// Enable/Disable auto light + SetAuto(bool), RunAuto, /// Stop all motors Stop, diff --git a/controller/src/main.rs b/controller/src/main.rs index c230b17..6a0e549 100644 --- a/controller/src/main.rs +++ b/controller/src/main.rs @@ -89,7 +89,7 @@ async fn main(spawner: Spawner) { spawner.spawn(logger_task(driver)).unwrap(); let limit_switch = Input::new(p.PIN_16, Pull::Up); - let auto_status = Output::new(p.PIN_2, Level::High); + let mut auto_status = Output::new(p.PIN_2, Level::Low); let mut d: pwm::Config = Default::default(); d.divider = 40.into(); @@ -267,6 +267,9 @@ async fn main(spawner: Spawner) { ControlPacket::FireOverride(speed) => { cam_state.replace(CamState::Override(speed)); }, + ControlPacket::SetAuto(state) => { + auto_status.set_level(Level::from(state)); + }, ControlPacket::Arm(enable) => { if enable { cam_state.replace(CamState::Charging);