#[allow(dead_code)] #[derive(Clone, Copy)] pub enum Register { MAADR5 = 0x00, MAADR6 = 0x01, MAADR3 = 0x02, MAADR4 = 0x03, MAADR1 = 0x04, MAADR2 = 0x05, EBSTSD = 0x06, EBSTCON = 0x07, EBSTCSL = 0x08, EBSTCSH = 0x09, MISTAT = 0x0a, EREVID = 0x12, ECOCON = 0x15, EFLOCON = 0x17, EPAUSL = 0x18, EPAUSH = 0x19, } impl Register { pub(crate) fn addr(&self) -> u8 { *self as u8 } pub(crate) fn is_eth_register(&self) -> bool { match *self { Register::MAADR5 => false, Register::MAADR6 => false, Register::MAADR3 => false, Register::MAADR4 => false, Register::MAADR1 => false, Register::MAADR2 => false, Register::EBSTSD => true, Register::EBSTCON => true, Register::EBSTCSL => true, Register::EBSTCSH => true, Register::MISTAT => false, Register::EREVID => true, Register::ECOCON => true, Register::EFLOCON => true, Register::EPAUSL => true, Register::EPAUSH => true, } } } impl Into for Register { fn into(self) -> super::Register { super::Register::Bank3(self) } }