From 69c0a89aa5d52e048fdd8ddc5d47b767da07e88b Mon Sep 17 00:00:00 2001 From: Ruben De Smet Date: Fri, 28 Jul 2023 16:19:24 +0200 Subject: Use HardwareAddress in Driver --- embassy-net-driver/Cargo.toml | 3 ++- embassy-net-driver/src/lib.rs | 16 ++++++---------- 2 files changed, 8 insertions(+), 11 deletions(-) (limited to 'embassy-net-driver') diff --git a/embassy-net-driver/Cargo.toml b/embassy-net-driver/Cargo.toml index da6d9ad62..1af0d61b3 100644 --- a/embassy-net-driver/Cargo.toml +++ b/embassy-net-driver/Cargo.toml @@ -21,4 +21,5 @@ target = "thumbv7em-none-eabi" features = ["defmt"] [dependencies] -defmt = { version = "0.3", optional = true } \ No newline at end of file +defmt = { version = "0.3", optional = true } +smoltcp = { version = "0.10", default-features = false } diff --git a/embassy-net-driver/src/lib.rs b/embassy-net-driver/src/lib.rs index beb1a1c79..93a02e46c 100644 --- a/embassy-net-driver/src/lib.rs +++ b/embassy-net-driver/src/lib.rs @@ -4,6 +4,8 @@ use core::task::Context; +use smoltcp::wire::HardwareAddress; + /// Main `embassy-net` driver API. /// /// This is essentially an interface for sending and receiving raw network frames. @@ -51,11 +53,8 @@ pub trait Driver { /// Get a description of device capabilities. fn capabilities(&self) -> Capabilities; - /// Get the device's Ethernet address. - fn ethernet_address(&self) -> [u8; 6]; - - /// Get the device's IEEE 802.15.4 address. - fn ieee802154_address(&self) -> [u8; 8]; + /// Get the device's hardware address. + fn hardware_address(&self) -> HardwareAddress; } impl Driver for &mut T { @@ -78,11 +77,8 @@ impl Driver for &mut T { fn link_state(&mut self, cx: &mut Context) -> LinkState { T::link_state(self, cx) } - fn ethernet_address(&self) -> [u8; 6] { - T::ethernet_address(self) - } - fn ieee802154_address(&self) -> [u8; 8] { - T::ieee802154_address(self) + fn hardware_address(&self) -> HardwareAddress { + T::hardware_address(self) } } -- cgit