diff --git a/src/fake_motor.rs b/src/fake_motor.rs index d17095c..980ca21 100644 --- a/src/fake_motor.rs +++ b/src/fake_motor.rs @@ -220,6 +220,9 @@ impl RawMotorsIO for FakeMotorsIO { fn get_board_state(&mut self) -> Result { Ok(0) } + fn set_board_state(&mut self, _state: u8) -> Result<()> { + Ok(()) + } } #[cfg(test)] diff --git a/src/motors_controller.rs b/src/motors_controller.rs index 3655941..25c1be8 100644 --- a/src/motors_controller.rs +++ b/src/motors_controller.rs @@ -244,6 +244,10 @@ pub trait MotorsController { fn get_board_state(&mut self) -> Result { self.io().get_board_state() } + /// Set the current state of the articulation control board (clear error) + fn set_board_state(&mut self, state: u8) -> Result<()> { + self.io().set_board_state(state) + } } #[derive(Debug)] diff --git a/src/motors_io.rs b/src/motors_io.rs index 192f38a..886e9e0 100644 --- a/src/motors_io.rs +++ b/src/motors_io.rs @@ -41,4 +41,7 @@ pub trait RawMotorsIO { /// Get the Board State byte fn get_board_state(&mut self) -> Result; + + /// Set the Board State byte + fn set_board_state(&mut self, state: u8) -> Result<()>; }