From 1a597424b710ea2df318060ff954cd582fac4d0d Mon Sep 17 00:00:00 2001 From: Liam Kinne Date: Fri, 24 May 2024 14:56:25 +1000 Subject: [PATCH] format the same as display --- src/wire/ethernet.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/wire/ethernet.rs b/src/wire/ethernet.rs index 110e3d37b..89ff830ca 100644 --- a/src/wire/ethernet.rs +++ b/src/wire/ethernet.rs @@ -25,7 +25,6 @@ impl fmt::Display for EtherType { /// A six-octet Ethernet II address. #[derive(Debug, Hash, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Default)] -#[cfg_attr(feature = "defmt", derive(defmt::Format))] pub struct Address(pub [u8; 6]); impl Address { @@ -79,6 +78,23 @@ impl fmt::Display for Address { } } +#[cfg(feature = "defmt")] +impl defmt::Format for Address { + fn format(&self, fmt: defmt::Formatter) { + let bytes = self.0; + defmt::write!( + fmt, + "{:02x}-{:02x}-{:02x}-{:02x}-{:02x}-{:02x}", + bytes[0], + bytes[1], + bytes[2], + bytes[3], + bytes[4], + bytes[5] + ) + } +} + /// A read/write wrapper around an Ethernet II frame buffer. #[derive(Debug, Clone)] #[cfg_attr(feature = "defmt", derive(defmt::Format))]