#[repr(u8)]
#[cfg_attr(not(target_family = "wasm"), derive(PartialEq, Eq, Debug))]
#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))]
#[derive(Clone, Copy)]
pub enum DutyCycle {
C12_5 = 0,
C25 = 4,
C50 = 8,
C75 = 12,
}
impl From<u8> for DutyCycle {
fn from(value: u8) -> Self {
match value {
0 => Self::C12_5,
4 => Self::C25,
8 => Self::C50,
12 => Self::C75,
_ => panic!("unknown duty cycle: {value}"),
}
}
}
impl Default for DutyCycle {
fn default() -> Self {
Self::C12_5
}
}