Skip to content

Commit

Permalink
Use a more sane default MTU, have features to change MTU (esp-rs#164)
Browse files Browse the repository at this point in the history
  • Loading branch information
bjoernQ committed May 23, 2024
1 parent 117ae63 commit 5402d70
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 6 deletions.
6 changes: 5 additions & 1 deletion esp-wifi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ embassy-net = { workspace = true, optional = true }
embassy-net-driver = { workspace = true, optional = true }

[features]
default = [ "utils" ]
default = [ "utils", "mtu-1492" ]

# chip features
esp32c3 = [ "esp32c3-hal", "dep:esp32c3", "esp-wifi-sys/esp32c3", "esp-hal-common/esp32c3" ]
Expand Down Expand Up @@ -67,3 +67,7 @@ phy-enable-usb = []
ps-min-modem = []
esp-now = [ "wifi", "embedded-svc" ]
big-heap = []
mtu-1514 = []
mtu-1500 = []
mtu-1492 = []
mtu-746 = []
4 changes: 2 additions & 2 deletions esp-wifi/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,13 @@ const HEAP_SIZE: usize = 64 * 1024;
const HEAP_SIZE: usize = 64 * 1024;

#[cfg(all(not(coex), not(feature = "esp32s2"), feature = "big-heap"))]
const HEAP_SIZE: usize = 92 * 1024;
const HEAP_SIZE: usize = 110 * 1024;

#[cfg(all(not(coex), feature = "esp32s2", feature = "big-heap"))]
const HEAP_SIZE: usize = 72 * 1024;

#[cfg(all(coex, feature = "big-heap"))]
const HEAP_SIZE: usize = 100 * 1024;
const HEAP_SIZE: usize = 110 * 1024;

#[cfg_attr(feature = "esp32", link_section = ".dram2_uninit")]
static mut HEAP_DATA: [MaybeUninit<u8>; HEAP_SIZE] = [MaybeUninit::uninit(); HEAP_SIZE];
Expand Down
15 changes: 12 additions & 3 deletions esp-wifi/src/wifi/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ use esp_hal_common::peripheral::PeripheralRef;
use esp_wifi_sys::include::esp_interface_t_ESP_IF_WIFI_AP;
use esp_wifi_sys::include::esp_wifi_disconnect;
use esp_wifi_sys::include::esp_wifi_get_mode;
use esp_wifi_sys::include::esp_wifi_set_protocol;
use esp_wifi_sys::include::wifi_ap_config_t;
use esp_wifi_sys::include::wifi_auth_mode_t_WIFI_AUTH_WAPI_PSK;
use esp_wifi_sys::include::wifi_auth_mode_t_WIFI_AUTH_WEP;
Expand All @@ -29,14 +30,22 @@ use esp_wifi_sys::include::wifi_interface_t_WIFI_IF_AP;
use esp_wifi_sys::include::wifi_mode_t_WIFI_MODE_AP;
use esp_wifi_sys::include::wifi_mode_t_WIFI_MODE_APSTA;
use esp_wifi_sys::include::wifi_mode_t_WIFI_MODE_NULL;
use esp_wifi_sys::include::esp_wifi_set_protocol;
use num_derive::FromPrimitive;
use num_traits::FromPrimitive;

#[doc(hidden)]
pub use os_adapter::*;
use smoltcp::phy::{Device, DeviceCapabilities, RxToken, TxToken};

#[cfg(feature = "mtu-1514")]
const MTU: usize = 1514;
#[cfg(feature = "mtu-1500")]
const MTU: usize = 1500;
#[cfg(feature = "mtu-1492")]
const MTU: usize = 1492;
#[cfg(feature = "mtu-746")]
const MTU: usize = 746;

#[cfg(feature = "esp32")]
use esp32_hal as hal;
#[cfg(feature = "esp32c2")]
Expand Down Expand Up @@ -938,7 +947,7 @@ impl<'d> Device for WifiDevice<'d> {

fn capabilities(&self) -> smoltcp::phy::DeviceCapabilities {
let mut caps = DeviceCapabilities::default();
caps.max_transmission_unit = 1514;
caps.max_transmission_unit = MTU;
caps.max_burst_size = Some(1);
caps
}
Expand Down Expand Up @@ -1397,7 +1406,7 @@ pub(crate) mod embassy {

fn capabilities(&self) -> Capabilities {
let mut caps = Capabilities::default();
caps.max_transmission_unit = 1514;
caps.max_transmission_unit = MTU;
caps.max_burst_size = Some(1);
caps
}
Expand Down

0 comments on commit 5402d70

Please sign in to comment.