use thiserror::Error;
#[derive(Error, Debug)]
pub enum TransactionError {
#[error("Ethernet connection error")]
EthConnection(#[from] std::io::Error),
#[error("Serial connection error")]
UsbConnection(#[from] serialport::Error),
#[error("Response Error")]
ResponseError(#[from] ResponseError),
#[error("Request Error")]
RequestError,
#[error("Invalid configuration: {0}")]
InvalidConfiguration(String),
}
#[derive(Error, Debug)]
pub enum ResponseError {
#[error("Failed to parse power supply response")]
Invalid,
#[error("No or incomplete response from power supply")]
Incomplete,
}