mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-03 20:54:32 +02:00
feat(wifi): wifi support 80211tx using 11ax and 11ac rate
This commit is contained in:
@@ -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
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -93,15 +93,8 @@ typedef struct esp_now_recv_info {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief ESPNOW rate config
|
* @brief ESPNOW rate config
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
typedef struct esp_now_rate_config {
|
typedef wifi_tx_rate_config_t esp_now_rate_config_t;
|
||||||
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 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; /**< ESPNOW using dcm rate to send frame */
|
|
||||||
} esp_now_rate_config_t;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Callback function of receiving ESPNOW data
|
* @brief Callback function of receiving ESPNOW data
|
||||||
|
@@ -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
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -1529,6 +1529,7 @@ esp_err_t esp_wifi_get_country_code(char *country);
|
|||||||
* @brief Config 80211 tx rate of specified interface
|
* @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 1. This API should be called after esp_wifi_init() and before esp_wifi_start().
|
||||||
|
* @attention 2. Can not set 80211 tx rate under 11A/11AC/11AX protocol, you can use esp_wifi_config_80211_tx instead.
|
||||||
*
|
*
|
||||||
* @param ifx Interface to be configured.
|
* @param ifx Interface to be configured.
|
||||||
* @param rate Phy rate to be configured.
|
* @param rate Phy rate to be configured.
|
||||||
@@ -1539,6 +1540,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);
|
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
|
* @brief Disable PMF configuration for specified interface
|
||||||
*
|
*
|
||||||
|
@@ -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
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -1213,6 +1213,17 @@ typedef enum {
|
|||||||
WIFI_BAND_2G_5G = 3, /* Band is 2,4G + 5G */
|
WIFI_BAND_2G_5G = 3, /* Band is 2,4G + 5G */
|
||||||
} wifi_band_t;
|
} wifi_band_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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Submodule components/esp_wifi/lib updated: 19143aa249...4ecb60fcbb
Reference in New Issue
Block a user