emc230x 0.3.0

An async driver for the EMC230x family of fan controllers
Documentation
use thiserror::Error;

#[derive(Clone, Copy, Debug, Error)]
pub enum Error {
    #[error("I2C bus error")]
    I2c,

    #[error("Invalid device identifier")]
    InvalidDeviceId,

    #[error("Invalid manufacturer identifier")]
    InvalidManufacturerId,

    #[error("Invalid fan number")]
    InvalidFan,

    #[error("Failed to convert register value to specific type")]
    RegisterTypeConversion,
}

impl defmt::Format for Error {
    fn format(&self, f: defmt::Formatter) {
        match self {
            Error::I2c => defmt::write!(f, "I2c"),
            Error::InvalidDeviceId => defmt::write!(f, "InvalidDeviceId"),
            Error::InvalidManufacturerId => defmt::write!(f, "InvalidManufacturerId"),
            Error::InvalidFan => defmt::write!(f, "InvalidFan"),
            Error::RegisterTypeConversion => defmt::write!(f, "RegisterTypeConversion"),
        }
    }
}