arci/traits/
motor_drive.rs1use auto_impl::auto_impl;
2
3use crate::error::Error;
4
5#[auto_impl(Box, Arc)]
6pub trait MotorDrivePosition: Send + Sync {
7 fn set_motor_position(&self, position: f64) -> Result<(), Error>;
8 fn get_motor_position(&self) -> Result<f64, Error>;
9}
10
11#[auto_impl(Box, Arc)]
12pub trait MotorDriveVelocity: Send + Sync {
13 fn set_motor_velocity(&self, velocity: f64) -> Result<(), Error>;
14 fn get_motor_velocity(&self) -> Result<f64, Error>;
15}
16
17#[auto_impl(Box, Arc)]
18pub trait MotorDriveEffort: Send + Sync {
19 fn set_motor_effort(&self, effort: f64) -> Result<(), Error>;
20 fn get_motor_effort(&self) -> Result<f64, Error>;
21}