diff --git a/components/esp32/Kconfig b/components/esp32/Kconfig index 6a46abbf9..bf92ba159 100644 --- a/components/esp32/Kconfig +++ b/components/esp32/Kconfig @@ -665,6 +665,28 @@ config ESP32_WIFI_AMPDU_ENABLED Select this option to enable AMPDU feature +config ESP32_WIFI_TX_BA_WIN + int "WiFi AMPDU TX BA window size" + depends on ESP32_WIFI_AMPDU_ENABLED + range 2 32 + default 6 + help + Set the size of WiFi Block Ack TX window. Generally a bigger value means higher throughput but + more memory. Most of time we should NOT change the default value unless special reason, e.g. + test the maximum UDP TX throughput with iperf etc. For iperf test in shieldbox, the recommended + value is 9~12. + +config ESP32_WIFI_RX_BA_WIN + int "WiFi AMPDU RX BA window size" + depends on ESP32_WIFI_AMPDU_ENABLED + range 2 32 + default 6 + help + Set the size of WiFi Block Ack RX window. Generally a bigger value means higher throughput but + more memory. Most of time we should NOT change the default value unless special reason, e.g. + test the maximum UDP RX throughput with iperf etc. For iperf test in shieldbox, the recommended + value is 9~12. + config ESP32_WIFI_NVS_ENABLED bool "WiFi NVS flash" depends on WIFI_ENABLED diff --git a/components/esp32/include/esp_wifi.h b/components/esp32/include/esp_wifi.h index 5f7aa9c22..697d7e610 100755 --- a/components/esp32/include/esp_wifi.h +++ b/components/esp32/include/esp_wifi.h @@ -104,6 +104,8 @@ typedef struct { int ampdu_enable; /**< WiFi AMPDU feature enable flag */ int nvs_enable; /**< WiFi NVS flash enable flag */ int nano_enable; /**< Nano option for printf/scan family enable flag */ + int tx_ba_win; /**< WiFi Block Ack TX window size */ + int rx_ba_win; /**< WiFi Block Ack RX window size */ int magic; /**< WiFi init magic number, it should be the last field */ } wifi_init_config_t; @@ -149,6 +151,8 @@ typedef struct { .ampdu_enable = WIFI_AMPDU_ENABLED,\ .nvs_enable = WIFI_NVS_ENABLED,\ .nano_enable = WIFI_NANO_FORMAT_ENABLED,\ + .tx_ba_win = CONFIG_ESP32_WIFI_TX_BA_WIN,\ + .rx_ba_win = CONFIG_ESP32_WIFI_RX_BA_WIN,\ .magic = WIFI_INIT_CONFIG_MAGIC\ }; #else diff --git a/components/esp32/lib b/components/esp32/lib index 33fcdfb69..7084133a8 160000 --- a/components/esp32/lib +++ b/components/esp32/lib @@ -1 +1 @@ -Subproject commit 33fcdfb69abc3c21a9cc8ac2422f3747a600efb2 +Subproject commit 7084133a855f9f818904f6eae885f33af52710e2