*/
esp_err_t esp_wifi_internal_set_sta_ip(void);
+/**
+ * @brief enable or disable transmitting WiFi MAC frame with fixed rate
+ *
+ * @attention 1. If fixed rate is enabled, both management and data frame are transmitted with fixed rate
+ * @attention 2. Make sure that the receiver is able to receive the frame with the fixed rate if you want the frame to be received
+ *
+ * @param ifx : wifi interface
+ * @param en : false - disable, true - enable
+ * @param rate : PHY rate
+ *
+ * @return
+ * - ERR_OK : succeed
+ * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init
+ * - ESP_ERR_WIFI_NOT_STARTED: WiFi was not started by esp_wifi_start
+ * - ESP_ERR_WIFI_IF : invalid WiFi interface
+ * - ESP_ERR_INVALID_ARG : invalid rate
+ * - ESP_ERR_NOT_SUPPORTED : do not support to set fixed rate if TX AMPDU is enabled
+ */
+esp_err_t esp_wifi_internal_set_fix_rate(wifi_interface_t ifx, bool en, wifi_phy_rate_t rate);
+
/**
* @brief Check the MD5 values of the OS adapter header files in IDF and WiFi library
*
enabled_ant1: 4; /**< Index (in antenna GPIO configuration) of enabled WIFI_ANT_MODE_ANT1 */
} wifi_ant_config_t;
+/**
+ * @brief WiFi PHY rate encodings
+ *
+ */
+typedef enum {
+ WIFI_PHY_RATE_1M_L = 0x00, /**< 1 Mbps with long preamble */
+ WIFI_PHY_RATE_2M_L = 0x01, /**< 2 Mbps with long preamble */
+ WIFI_PHY_RATE_5M_L = 0x02, /**< 5.5 Mbps with long preamble */
+ WIFI_PHY_RATE_11M_L = 0x03, /**< 11 Mbps with long preamble */
+ WIFI_PHY_RATE_2M_S = 0x05, /**< 2 Mbps with short preamble */
+ WIFI_PHY_RATE_5M_S = 0x06, /**< 5.5 Mbps with short preamble */
+ WIFI_PHY_RATE_11M_S = 0x07, /**< 11 Mbps with short preamble */
+ WIFI_PHY_RATE_48M = 0x08, /**< 48 Mbps */
+ WIFI_PHY_RATE_24M = 0x09, /**< 24 Mbps */
+ WIFI_PHY_RATE_12M = 0x0A, /**< 12 Mbps */
+ WIFI_PHY_RATE_6M = 0x0B, /**< 6 Mbps */
+ WIFI_PHY_RATE_54M = 0x0C, /**< 54 Mbps */
+ WIFI_PHY_RATE_36M = 0x0D, /**< 36 Mbps */
+ WIFI_PHY_RATE_18M = 0x0E, /**< 18 Mbps */
+ WIFI_PHY_RATE_9M = 0x0F, /**< 9 Mbps */
+ WIFI_PHY_RATE_MCS0_LGI = 0x10, /**< MCS0 with long GI, 6.5 Mbps for 20MHz, 13.5 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS1_LGI = 0x11, /**< MCS1 with long GI, 13 Mbps for 20MHz, 27 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS2_LGI = 0x12, /**< MCS2 with long GI, 19.5 Mbps for 20MHz, 40.5 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS3_LGI = 0x13, /**< MCS3 with long GI, 26 Mbps for 20MHz, 54 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS4_LGI = 0x14, /**< MCS4 with long GI, 39 Mbps for 20MHz, 81 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS5_LGI = 0x15, /**< MCS5 with long GI, 52 Mbps for 20MHz, 108 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS6_LGI = 0x16, /**< MCS6 with long GI, 58.5 Mbps for 20MHz, 121.5 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS7_LGI = 0x17, /**< MCS7 with long GI, 65 Mbps for 20MHz, 135 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS0_SGI = 0x18, /**< MCS0 with short GI, 7.2 Mbps for 20MHz, 15 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS1_SGI = 0x19, /**< MCS1 with short GI, 14.4 Mbps for 20MHz, 30 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS2_SGI = 0x1A, /**< MCS2 with short GI, 21.7 Mbps for 20MHz, 45 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS3_SGI = 0x1B, /**< MCS3 with short GI, 28.9 Mbps for 20MHz, 60 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS4_SGI = 0x1C, /**< MCS4 with short GI, 43.3 Mbps for 20MHz, 90 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS5_SGI = 0x1D, /**< MCS5 with short GI, 57.8 Mbps for 20MHz, 120 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS6_SGI = 0x1E, /**< MCS6 with short GI, 65 Mbps for 20MHz, 135 Mbps for 40MHz */
+ WIFI_PHY_RATE_MCS7_SGI = 0x1F, /**< MCS7 with short GI, 72.2 Mbps for 20MHz, 150 Mbps for 40MHz */
+ WIFI_PHY_RATE_LORA_250K = 0x29, /**< 250 Kbps */
+ WIFI_PHY_RATE_LORA_500K = 0x2A, /**< 500 Kbps */
+ WIFI_PHY_RATE_MAX,
+} wifi_phy_rate_t;
+
#ifdef __cplusplus
}
#endif