diff options
Diffstat (limited to 'embassy-net/src/lib.rs')
| -rw-r--r-- | embassy-net/src/lib.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/embassy-net/src/lib.rs b/embassy-net/src/lib.rs index 0d0a986f6..ad98d7f68 100644 --- a/embassy-net/src/lib.rs +++ b/embassy-net/src/lib.rs | |||
| @@ -24,9 +24,11 @@ use embassy_net_driver::{Driver, LinkState, Medium}; | |||
| 24 | use embassy_sync::waitqueue::WakerRegistration; | 24 | use embassy_sync::waitqueue::WakerRegistration; |
| 25 | use embassy_time::{Instant, Timer}; | 25 | use embassy_time::{Instant, Timer}; |
| 26 | use futures::pin_mut; | 26 | use futures::pin_mut; |
| 27 | #[allow(unused_imports)] | ||
| 27 | use heapless::Vec; | 28 | use heapless::Vec; |
| 28 | #[cfg(feature = "igmp")] | 29 | #[cfg(feature = "igmp")] |
| 29 | pub use smoltcp::iface::MulticastError; | 30 | pub use smoltcp::iface::MulticastError; |
| 31 | #[allow(unused_imports)] | ||
| 30 | use smoltcp::iface::{Interface, SocketHandle, SocketSet, SocketStorage}; | 32 | use smoltcp::iface::{Interface, SocketHandle, SocketSet, SocketStorage}; |
| 31 | #[cfg(feature = "dhcpv4")] | 33 | #[cfg(feature = "dhcpv4")] |
| 32 | use smoltcp::socket::dhcpv4::{self, RetryConfig}; | 34 | use smoltcp::socket::dhcpv4::{self, RetryConfig}; |
| @@ -34,6 +36,8 @@ use smoltcp::socket::dhcpv4::{self, RetryConfig}; | |||
| 34 | pub use smoltcp::wire::IpListenEndpoint; | 36 | pub use smoltcp::wire::IpListenEndpoint; |
| 35 | #[cfg(feature = "medium-ethernet")] | 37 | #[cfg(feature = "medium-ethernet")] |
| 36 | pub use smoltcp::wire::{EthernetAddress, HardwareAddress}; | 38 | pub use smoltcp::wire::{EthernetAddress, HardwareAddress}; |
| 39 | #[cfg(feature = "medium-ieee802154")] | ||
| 40 | pub use smoltcp::wire::{HardwareAddress, Ieee802154Address}; | ||
| 37 | pub use smoltcp::wire::{IpAddress, IpCidr, IpEndpoint}; | 41 | pub use smoltcp::wire::{IpAddress, IpCidr, IpEndpoint}; |
| 38 | #[cfg(feature = "proto-ipv4")] | 42 | #[cfg(feature = "proto-ipv4")] |
| 39 | pub use smoltcp::wire::{Ipv4Address, Ipv4Cidr}; | 43 | pub use smoltcp::wire::{Ipv4Address, Ipv4Cidr}; |
| @@ -232,7 +236,7 @@ impl<D: Driver + 'static> Stack<D> { | |||
| 232 | resources: &'static mut StackResources<SOCK>, | 236 | resources: &'static mut StackResources<SOCK>, |
| 233 | random_seed: u64, | 237 | random_seed: u64, |
| 234 | ) -> Self { | 238 | ) -> Self { |
| 235 | #[cfg(feature = "medium-ethernet")] | 239 | #[cfg(any(feature = "medium-ethernet", feature = "medium-ieee802154"))] |
| 236 | let medium = device.capabilities().medium; | 240 | let medium = device.capabilities().medium; |
| 237 | 241 | ||
| 238 | let hardware_addr = match medium { | 242 | let hardware_addr = match medium { |
| @@ -240,6 +244,8 @@ impl<D: Driver + 'static> Stack<D> { | |||
| 240 | Medium::Ethernet => HardwareAddress::Ethernet(EthernetAddress(device.ethernet_address())), | 244 | Medium::Ethernet => HardwareAddress::Ethernet(EthernetAddress(device.ethernet_address())), |
| 241 | #[cfg(feature = "medium-ip")] | 245 | #[cfg(feature = "medium-ip")] |
| 242 | Medium::Ip => HardwareAddress::Ip, | 246 | Medium::Ip => HardwareAddress::Ip, |
| 247 | #[cfg(feature = "medium-ieee802154")] | ||
| 248 | Medium::Ieee802154 => HardwareAddress::Ieee802154(Ieee802154Address::Absent), | ||
| 243 | #[allow(unreachable_patterns)] | 249 | #[allow(unreachable_patterns)] |
| 244 | _ => panic!( | 250 | _ => panic!( |
| 245 | "Unsupported medium {:?}. Make sure to enable it in embassy-net's Cargo features.", | 251 | "Unsupported medium {:?}. Make sure to enable it in embassy-net's Cargo features.", |
| @@ -262,6 +268,7 @@ impl<D: Driver + 'static> Stack<D> { | |||
| 262 | 268 | ||
| 263 | let next_local_port = (random_seed % (LOCAL_PORT_MAX - LOCAL_PORT_MIN) as u64) as u16 + LOCAL_PORT_MIN; | 269 | let next_local_port = (random_seed % (LOCAL_PORT_MAX - LOCAL_PORT_MIN) as u64) as u16 + LOCAL_PORT_MIN; |
| 264 | 270 | ||
| 271 | #[cfg_attr(feature = "medium-ieee802154", allow(unused_mut))] | ||
| 265 | let mut socket = SocketStack { | 272 | let mut socket = SocketStack { |
| 266 | sockets, | 273 | sockets, |
| 267 | iface, | 274 | iface, |
| @@ -269,6 +276,7 @@ impl<D: Driver + 'static> Stack<D> { | |||
| 269 | next_local_port, | 276 | next_local_port, |
| 270 | }; | 277 | }; |
| 271 | 278 | ||
| 279 | #[cfg_attr(feature = "medium-ieee802154", allow(unused_mut))] | ||
| 272 | let mut inner = Inner { | 280 | let mut inner = Inner { |
| 273 | device, | 281 | device, |
| 274 | link_up: false, | 282 | link_up: false, |
| @@ -287,6 +295,9 @@ impl<D: Driver + 'static> Stack<D> { | |||
| 287 | dns_waker: WakerRegistration::new(), | 295 | dns_waker: WakerRegistration::new(), |
| 288 | }; | 296 | }; |
| 289 | 297 | ||
| 298 | #[cfg(feature = "medium-ieee802154")] | ||
| 299 | let _ = config; | ||
| 300 | |||
| 290 | #[cfg(feature = "proto-ipv4")] | 301 | #[cfg(feature = "proto-ipv4")] |
| 291 | match config.ipv4 { | 302 | match config.ipv4 { |
| 292 | ConfigV4::Static(config) => { | 303 | ConfigV4::Static(config) => { |
