pub trait ArmController: Send + Sync {
Show 14 methods // Required methods fn set_color<'life0, 'async_trait>( &'life0 mut self, color: LedColor ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn move_gripper<'life0, 'async_trait>( &'life0 mut self, closed: f32 ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn calculate_ik( &self, pose: EndEffectorPose ) -> Result<JointPositions, IkError>; fn calculate_fk(&self, joints: JointPositions) -> ArmPositions; fn calculate_full_poses( &self, target: EndEffectorPose ) -> Result<(ArmPositions, JointPositions), IkError>; fn read_position<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<ArmPositions, IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn move_to<'life0, 'async_trait>( &'life0 mut self, pose: EndEffectorPose ) -> Pin<Box<dyn Future<Output = Result<JointPositions, IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn move_joints_to<'life0, 'async_trait>( &'life0 mut self, joints: JointPositions ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn move_joints_timed<'life0, 'async_trait>( &'life0 mut self, joints: JointPositions, duration: Duration ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn halt<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn limp<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn setup_motors<'life0, 'async_trait>( &'life0 mut self, settings: ArmControlSettings ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn load_motor_settings<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<ArmControlSettings, IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn check_motors_okay<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<bool, IkError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait;
}

Required Methods§

source

fn set_color<'life0, 'async_trait>( &'life0 mut self, color: LedColor ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn move_gripper<'life0, 'async_trait>( &'life0 mut self, closed: f32 ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

0.0 is fully open 1.0 is fully closed

source

fn calculate_ik(&self, pose: EndEffectorPose) -> Result<JointPositions, IkError>

source

fn calculate_fk(&self, joints: JointPositions) -> ArmPositions

source

fn calculate_full_poses( &self, target: EndEffectorPose ) -> Result<(ArmPositions, JointPositions), IkError>

source

fn read_position<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<ArmPositions, IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn move_to<'life0, 'async_trait>( &'life0 mut self, pose: EndEffectorPose ) -> Pin<Box<dyn Future<Output = Result<JointPositions, IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn move_joints_to<'life0, 'async_trait>( &'life0 mut self, joints: JointPositions ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn move_joints_timed<'life0, 'async_trait>( &'life0 mut self, joints: JointPositions, duration: Duration ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn halt<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn limp<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn setup_motors<'life0, 'async_trait>( &'life0 mut self, settings: ArmControlSettings ) -> Pin<Box<dyn Future<Output = Result<(), IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn load_motor_settings<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<ArmControlSettings, IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn check_motors_okay<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<bool, IkError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Implementors§