const DEFAULT_ADDRESS: u8 = 0b11000;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub enum Address {
Default,
Alternative { a2: bool, a1: bool, a0: bool },
Custom(u8),
}
impl From<Address> for u8 {
fn from(address: Address) -> Self {
match address {
Address::Default => DEFAULT_ADDRESS,
Address::Alternative { a2, a1, a0 } => DEFAULT_ADDRESS | (a2 as u8) << 2 | (a1 as u8) << 1 | (a0 as u8),
Address::Custom(x) => x,
}
}
}