afe4404 0.2.4

AFE4404 driver for Rust embedded-hal.
Documentation
use thiserror_no_std::Error;

#[derive(Error, Debug)]
pub enum AfeError<I2CError: embedded_hal::i2c::Error> {
    #[error("I2C error")]
    I2CError(#[from] I2CError),
    #[error("incorrect I2C answer length (expected: {}, received: {})", .expected, .received)]
    IncorrectAnswerLength { expected: usize, received: usize },
    #[error("the requested LED current falls outside the allowed range")]
    LedCurrentOutsideAllowedRange,
    #[error("the requested offset current falls outside the allowed range")]
    OffsetCurrentOutsideAllowedRange,
    #[error("the requested resistor value falls outside the allowed range")]
    ResistorValueOutsideAllowedRange,
    #[error("the requested capacitor value falls outside the allowed range")]
    CapacitorValueOutsideAllowedRange,
    #[error("the ADC reading falls outside the allowed range")]
    AdcReadingOutsideAllowedRange,
    #[error("the requested window period falls outside the allowed range for the current clock frequency")]
    WindowPeriodOutsideAllowedRange,
    #[error("the requested internal clock is not 4MHz")]
    IncorrectInternalClock,
    #[error("the requested number of averages falls outside the allowed range")]
    NumberOfAveragesOutsideAllowedRange,
    #[error("the decimation factor falls outside the allowed range")]
    DecimationFactorOutsideAllowedRange,
    #[error("invalid value in register {:02X}h", .reg_addr)]
    InvalidRegisterValue { reg_addr: u8 },
    #[error("the requested clock division ratio falls outside the allowed range")]
    ClockDivisionRatioOutsideAllowedRange,
}