can deliver frames faster than WiFi layer can transmit. In these cases, we may run out of TX
buffers.
-config ESP32_WIFI_AMPDU_ENABLED
- bool "WiFi AMPDU"
+config ESP32_WIFI_AMPDU_TX_ENABLED
+ bool "WiFi AMPDU TX"
default y
help
- Select this option to enable AMPDU feature
+ Select this option to enable AMPDU TX feature
config ESP32_WIFI_TX_BA_WIN
int "WiFi AMPDU TX BA window size"
- depends on ESP32_WIFI_AMPDU_ENABLED
+ depends on ESP32_WIFI_AMPDU_TX_ENABLED
range 2 32
default 6
help
test the maximum UDP TX throughput with iperf etc. For iperf test in shieldbox, the recommended
value is 9~12.
+config ESP32_WIFI_AMPDU_RX_ENABLED
+ bool "WiFi AMPDU RX"
+ default y
+ help
+ Select this option to enable AMPDU RX feature
+
config ESP32_WIFI_RX_BA_WIN
int "WiFi AMPDU RX BA window size"
- depends on ESP32_WIFI_AMPDU_ENABLED
+ depends on ESP32_WIFI_AMPDU_RX_ENABLED
range 2 32
default 6
help
int tx_buf_type; /**< WiFi TX buffer type */
int static_tx_buf_num; /**< WiFi static TX buffer number */
int dynamic_tx_buf_num; /**< WiFi dynamic TX buffer number */
- int ampdu_enable; /**< WiFi AMPDU feature enable flag */
+ int ampdu_rx_enable; /**< WiFi AMPDU RX feature enable flag */
+ int ampdu_tx_enable; /**< WiFi AMPDU TX 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 */
#define WIFI_DYNAMIC_TX_BUFFER_NUM 0
#endif
-#if CONFIG_ESP32_WIFI_AMPDU_ENABLED
-#define WIFI_AMPDU_ENABLED 1
+#if CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED
+#define WIFI_AMPDU_RX_ENABLED 1
#else
-#define WIFI_AMPDU_ENABLED 0
+#define WIFI_AMPDU_RX_ENABLED 0
+#endif
+
+#if CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED
+#define WIFI_AMPDU_TX_ENABLED 1
+#else
+#define WIFI_AMPDU_TX_ENABLED 0
#endif
#if CONFIG_ESP32_WIFI_NVS_ENABLED
#define WIFI_INIT_CONFIG_MAGIC 0x1F2F3F4F
-#ifdef CONFIG_ESP32_WIFI_AMPDU_ENABLED
+#ifdef CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED
#define WIFI_DEFAULT_TX_BA_WIN CONFIG_ESP32_WIFI_TX_BA_WIN
+#else
+#define WIFI_DEFAULT_TX_BA_WIN 0 /* unused if ampdu_tx_enable == false */
+#endif
+
+#ifdef CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED
#define WIFI_DEFAULT_RX_BA_WIN CONFIG_ESP32_WIFI_RX_BA_WIN
#else
-#define WIFI_DEFAULT_TX_BA_WIN 0 /* unused if ampdu_enable == false */
-#define WIFI_DEFAULT_RX_BA_WIN 0
+#define WIFI_DEFAULT_RX_BA_WIN 0 /* unused if ampdu_rx_enable == false */
#endif
#define WIFI_INIT_CONFIG_DEFAULT() { \
.tx_buf_type = CONFIG_ESP32_WIFI_TX_BUFFER_TYPE,\
.static_tx_buf_num = WIFI_STATIC_TX_BUFFER_NUM,\
.dynamic_tx_buf_num = WIFI_DYNAMIC_TX_BUFFER_NUM,\
- .ampdu_enable = WIFI_AMPDU_ENABLED,\
+ .ampdu_rx_enable = WIFI_AMPDU_RX_ENABLED,\
+ .ampdu_tx_enable = WIFI_AMPDU_TX_ENABLED,\
.nvs_enable = WIFI_NVS_ENABLED,\
.nano_enable = WIFI_NANO_FORMAT_ENABLED,\
.tx_ba_win = WIFI_DEFAULT_TX_BA_WIN,\