Skip to content

Commit 5402d70

Browse files
committed
Use a more sane default MTU, have features to change MTU (esp-rs#164)
1 parent 117ae63 commit 5402d70

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

esp-wifi/Cargo.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ embassy-net = { workspace = true, optional = true }
3535
embassy-net-driver = { workspace = true, optional = true }
3636

3737
[features]
38-
default = [ "utils" ]
38+
default = [ "utils", "mtu-1492" ]
3939

4040
# chip features
4141
esp32c3 = [ "esp32c3-hal", "dep:esp32c3", "esp-wifi-sys/esp32c3", "esp-hal-common/esp32c3" ]
@@ -67,3 +67,7 @@ phy-enable-usb = []
6767
ps-min-modem = []
6868
esp-now = [ "wifi", "embedded-svc" ]
6969
big-heap = []
70+
mtu-1514 = []
71+
mtu-1500 = []
72+
mtu-1492 = []
73+
mtu-746 = []

esp-wifi/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ const HEAP_SIZE: usize = 64 * 1024;
9595
const HEAP_SIZE: usize = 64 * 1024;
9696

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

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

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

106106
#[cfg_attr(feature = "esp32", link_section = ".dram2_uninit")]
107107
static mut HEAP_DATA: [MaybeUninit<u8>; HEAP_SIZE] = [MaybeUninit::uninit(); HEAP_SIZE];

esp-wifi/src/wifi/mod.rs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use esp_hal_common::peripheral::PeripheralRef;
1515
use esp_wifi_sys::include::esp_interface_t_ESP_IF_WIFI_AP;
1616
use esp_wifi_sys::include::esp_wifi_disconnect;
1717
use esp_wifi_sys::include::esp_wifi_get_mode;
18+
use esp_wifi_sys::include::esp_wifi_set_protocol;
1819
use esp_wifi_sys::include::wifi_ap_config_t;
1920
use esp_wifi_sys::include::wifi_auth_mode_t_WIFI_AUTH_WAPI_PSK;
2021
use esp_wifi_sys::include::wifi_auth_mode_t_WIFI_AUTH_WEP;
@@ -29,14 +30,22 @@ use esp_wifi_sys::include::wifi_interface_t_WIFI_IF_AP;
2930
use esp_wifi_sys::include::wifi_mode_t_WIFI_MODE_AP;
3031
use esp_wifi_sys::include::wifi_mode_t_WIFI_MODE_APSTA;
3132
use esp_wifi_sys::include::wifi_mode_t_WIFI_MODE_NULL;
32-
use esp_wifi_sys::include::esp_wifi_set_protocol;
3333
use num_derive::FromPrimitive;
3434
use num_traits::FromPrimitive;
3535

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

40+
#[cfg(feature = "mtu-1514")]
41+
const MTU: usize = 1514;
42+
#[cfg(feature = "mtu-1500")]
43+
const MTU: usize = 1500;
44+
#[cfg(feature = "mtu-1492")]
45+
const MTU: usize = 1492;
46+
#[cfg(feature = "mtu-746")]
47+
const MTU: usize = 746;
48+
4049
#[cfg(feature = "esp32")]
4150
use esp32_hal as hal;
4251
#[cfg(feature = "esp32c2")]
@@ -938,7 +947,7 @@ impl<'d> Device for WifiDevice<'d> {
938947

939948
fn capabilities(&self) -> smoltcp::phy::DeviceCapabilities {
940949
let mut caps = DeviceCapabilities::default();
941-
caps.max_transmission_unit = 1514;
950+
caps.max_transmission_unit = MTU;
942951
caps.max_burst_size = Some(1);
943952
caps
944953
}
@@ -1397,7 +1406,7 @@ pub(crate) mod embassy {
13971406

13981407
fn capabilities(&self) -> Capabilities {
13991408
let mut caps = Capabilities::default();
1400-
caps.max_transmission_unit = 1514;
1409+
caps.max_transmission_unit = MTU;
14011410
caps.max_burst_size = Some(1);
14021411
caps
14031412
}

0 commit comments

Comments
 (0)