use crate::device::Device;
use crate::types::{AlpacaError, AlpacaResult};
pub trait Focuser: Device {
fn absolute(&self) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("absolute".into()))
}
fn is_moving(&self) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("is_moving".into()))
}
fn max_increment(&self) -> AlpacaResult<i32> {
Err(AlpacaError::NotImplemented("max_increment".into()))
}
fn max_step(&self) -> AlpacaResult<i32> {
Err(AlpacaError::NotImplemented("max_step".into()))
}
fn position(&self) -> AlpacaResult<i32> {
Err(AlpacaError::NotImplemented("position".into()))
}
fn step_size(&self) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("step_size".into()))
}
fn temperature(&self) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("temperature".into()))
}
fn temp_comp(&self) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("temp_comp".into()))
}
fn set_temp_comp(&self, _enabled: bool) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("set_temp_comp".into()))
}
fn temp_comp_available(&self) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("temp_comp_available".into()))
}
fn halt(&self) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("halt".into()))
}
fn r#move(&self, _position: i32) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("move".into()))
}
}