use crate::lib_enum;
use crate::result::Error;
lib_enum! {
VddCurrentMax: u8 {
default: Current1mA,
error: Error,
Current1mA = 0,
Current5mA = 1,
Current10mA = 2,
Current25mA = 3,
Current35mA = 4,
Current45mA = 5,
Current80mA = 6,
Current200mA = 7,
}
}
impl VddCurrentMax {
pub const fn as_u8(self) -> u8 {
match self {
Self::Current1mA => 1,
Self::Current5mA => 5,
Self::Current10mA => 10,
Self::Current25mA => 25,
Self::Current35mA => 35,
Self::Current45mA => 45,
Self::Current80mA => 80,
Self::Current200mA => 200,
}
}
pub const fn as_f32(self) -> f32 {
match self {
Self::Current1mA => 1.0,
Self::Current5mA => 5.0,
Self::Current10mA => 10.0,
Self::Current25mA => 25.0,
Self::Current35mA => 35.0,
Self::Current45mA => 45.0,
Self::Current80mA => 80.0,
Self::Current200mA => 200.0,
}
}
}