use thiserror::Error;
#[derive(Debug, Error)]
pub enum MotorError {
#[error("I2C error: {0}")]
I2c(String),
#[error("PWM error: {0}")]
Pwm(String),
#[error("initialization failed: {0}")]
Init(String),
}
#[derive(Debug, Error)]
pub enum RobotError {
#[error(transparent)]
Motor(#[from] MotorError),
#[error("robot has been shut down")]
Shutdown,
}