feat(esp8266): make tx rate start from 1M when ap is too close with station

This commit is contained in:
Zhang Jun Hao
2018-09-20 14:27:11 +08:00
parent 8ead6d15c6
commit e3dc6c2ad6
2 changed files with 11 additions and 3 deletions

View File

@ -38,6 +38,8 @@ void esp_wifi_set_rx_pbuf_mem_type(wifi_rx_pbuf_mem_type_t type);
*/
wifi_rx_pbuf_mem_type_t esp_wifi_get_rx_pbuf_mem_type(void);
int8_t esp_wifi_get_ap_rssi(void);
#ifdef __cplusplus
}
#endif

View File

@ -16,6 +16,7 @@
#include "esp_libc.h"
#include "esp_system.h"
#include "esp_wifi.h"
#include "internal/esp_wifi_internal.h"
#include "esp_socket.h"
#include "net/sockio.h"
#include "phy.h"
@ -61,8 +62,13 @@ size_t __attribute__((weak)) esp_wifi_scan_get_ap_num_max(void)
bool IRAM_ATTR esp_wifi_try_rate_from_high(void) {
#if CONFIG_WIFI_TX_RATE_SEQUENCE_FROM_HIGH
return true;
#else
return false;
int8_t rssi;
rssi = esp_wifi_get_ap_rssi();
wifi_mode_t mode;
esp_wifi_get_mode( &mode );
if (rssi < -26 && mode == WIFI_MODE_STA) {
return true;
}
#endif
return false;
}