feat(wifi): wifi support 80211tx using 11ax rate

This commit is contained in:
yinqingzhao
2024-12-03 17:15:00 +08:00
parent e248c59c37
commit 53a526e52d
4 changed files with 32 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2019-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2019-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -93,14 +93,8 @@ typedef struct esp_now_recv_info {
/**
* @brief ESPNOW rate config
*
*/
typedef struct esp_now_rate_config {
wifi_phy_mode_t phymode; /**< ESPNOW phymode of specified interface */
wifi_phy_rate_t rate; /**< ESPNOW rate of specified interface*/
bool ersu; /**< ESPNOW using ersu send frame*/
bool dcm; /**< ESPNOW using dcm rate to send frame*/
} esp_now_rate_config_t;
typedef wifi_tx_rate_config_t esp_now_rate_config_t;
/**
* @brief Callback function of receiving ESPNOW data

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -1452,6 +1452,7 @@ esp_err_t esp_wifi_get_country_code(char *country);
* @brief Config 80211 tx rate of specified interface
*
* @attention 1. This API should be called after esp_wifi_init() and before esp_wifi_start().
* @attention 2. Can not set 80211 tx rate under 11AX protocol, you can use esp_wifi_config_80211_tx instead.
*
* @param ifx Interface to be configured.
* @param rate Phy rate to be configured.
@@ -1462,6 +1463,21 @@ esp_err_t esp_wifi_get_country_code(char *country);
*/
esp_err_t esp_wifi_config_80211_tx_rate(wifi_interface_t ifx, wifi_phy_rate_t rate);
/**
* @brief Config 80211 tx rate and phymode of specified interface
*
* @attention 1. This API should be called after esp_wifi_init() and before esp_wifi_start().
*
* @param ifx Interface to be configured.
* @param config rate_config to be configured.
*
* @return
* - ESP_OK: succeed
* - others: failed
*/
esp_err_t esp_wifi_config_80211_tx(wifi_interface_t ifx, wifi_tx_rate_config_t *config);
/**
* @brief Disable PMF configuration for specified interface
*

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -1147,6 +1147,17 @@ typedef struct {
uint8_t init_ndi[6]; /**< Initiator's NAN Data Interface MAC */
} wifi_event_ndp_terminated_t;
/**
* @brief Argument structure for wifi_tx_rate_config
*/
typedef struct {
wifi_phy_mode_t phymode; /**< Phymode of specified interface */
wifi_phy_rate_t rate; /**< Rate of specified interface */
bool ersu; /**< Using ERSU to send frame, ERSU is a transmission mode related to 802.11 ax.
ERSU is always used in long distance transmission, and its frame has lower rate compared with SU mode */
bool dcm; /**< Using dcm rate to send frame */
} wifi_tx_rate_config_t;
#ifdef __cplusplus
}
#endif