From 684b682d6655b191ccd5ec8245ed7a158faf11f0 Mon Sep 17 00:00:00 2001 From: Steve Nguyen Date: Tue, 12 Mar 2024 15:59:06 +0100 Subject: [PATCH] add set --- src/fake_motor.rs | 3 +++ src/motors_controller.rs | 4 ++++ src/motors_io.rs | 3 +++ 3 files changed, 10 insertions(+) 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<()>; }