feature: support tx amsdu

This commit is contained in:
ronghulin
2021-01-15 17:00:15 +08:00
parent 9ff1609a20
commit adfa43a3a4
15 changed files with 100 additions and 1 deletions

View File

@@ -163,6 +163,13 @@ menu "Wi-Fi"
the default and minimum value should be 16 to achieve better throughput and compatibility with both
stations and APs.
config ESP32_WIFI_AMSDU_TX_ENABLED
bool "WiFi AMSDU TX"
depends on (ESP32_SPIRAM_SUPPORT || ESP32S2_SPIRAM_SUPPORT || ESP32S3_SPIRAM_SUPPORT)
default n
help
Select this option to enable AMSDU TX feature
config ESP32_WIFI_NVS_ENABLED
bool "WiFi NVS flash"
default y

View File

@@ -512,6 +512,20 @@ typedef void (* wifi_tx_done_cb_t)(uint8_t ifidx, uint8_t *data, uint16_t *data_
*/
esp_err_t esp_wifi_set_tx_done_cb(wifi_tx_done_cb_t cb);
/**
* @brief Set device spp amsdu attributes
*
* @param ifx: WiFi interface
* @param spp_cap: spp amsdu capable
* @param spp_req: spp amsdu require
*
* @return
* - ESP_OK: succeed
* - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init
* - ESP_ERR_WIFI_IF : invalid WiFi interface
*/
esp_err_t esp_wifi_internal_set_spp_amsdu(wifi_interface_t ifidx, bool spp_cap, bool spp_req);
#ifdef __cplusplus
}
#endif

View File

@@ -107,6 +107,7 @@ typedef struct {
int csi_enable; /**< WiFi channel state information enable flag */
int ampdu_rx_enable; /**< WiFi AMPDU RX feature enable flag */
int ampdu_tx_enable; /**< WiFi AMPDU TX feature enable flag */
int amsdu_tx_enable; /**< WiFi AMSDU TX feature enable flag */
int nvs_enable; /**< WiFi NVS flash enable flag */
int nano_enable; /**< Nano option for printf/scan family enable flag */
int rx_ba_win; /**< WiFi Block Ack RX window size */
@@ -153,6 +154,12 @@ typedef struct {
#define WIFI_AMPDU_TX_ENABLED 0
#endif
#if CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED
#define WIFI_AMSDU_TX_ENABLED 1
#else
#define WIFI_AMSDU_TX_ENABLED 0
#endif
#if CONFIG_ESP32_WIFI_NVS_ENABLED
#define WIFI_NVS_ENABLED 1
#else
@@ -210,6 +217,7 @@ extern uint64_t g_wifi_feature_caps;
.csi_enable = WIFI_CSI_ENABLED,\
.ampdu_rx_enable = WIFI_AMPDU_RX_ENABLED,\
.ampdu_tx_enable = WIFI_AMPDU_TX_ENABLED,\
.amsdu_tx_enable = WIFI_AMSDU_TX_ENABLED,\
.nvs_enable = WIFI_NVS_ENABLED,\
.nano_enable = WIFI_NANO_FORMAT_ENABLED,\
.rx_ba_win = WIFI_DEFAULT_RX_BA_WIN,\