use core::fmt::Debug;
use embedded_hal::digital;
#[derive(Debug)]
pub enum Error<E, PE> {
BusError(E),
SensorError(SensorError),
PinError(PE),
}
#[derive(Debug)]
pub enum SensorError {
BadChip,
BankOutOfRange,
WriteToReadOnly,
InvalidDiscriminant,
}
impl<E, PE> From<SensorError> for Error<E, PE> {
fn from(err: SensorError) -> Self {
Error::SensorError(err)
}
}
impl<E, PE> From<PE> for Error<E, PE>
where
PE: digital::Error + Debug,
{
fn from(value: PE) -> Self {
Error::PinError(value)
}
}