use crate::device::Device;
use crate::types::{AlpacaError, AlpacaResult};
pub trait Rotator: Device {
fn can_reverse(&self) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("can_reverse".into()))
}
fn is_moving(&self) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("is_moving".into()))
}
fn mechanical_position(&self) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("mechanical_position".into()))
}
fn position(&self) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("position".into()))
}
fn reverse(&self) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("reverse".into()))
}
fn set_reverse(&self, _reverse: bool) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("set_reverse".into()))
}
fn step_size(&self) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("step_size".into()))
}
fn target_position(&self) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("target_position".into()))
}
fn halt(&self) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("halt".into()))
}
fn r#move(&self, _position: f64) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("move".into()))
}
fn move_absolute(&self, _position: f64) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("move_absolute".into()))
}
fn move_mechanical(&self, _position: f64) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("move_mechanical".into()))
}
fn sync(&self, _position: f64) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("sync".into()))
}
}