arci/traits/
motor_drive.rs

1use 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}