mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-05-22 09:37:00 +08:00
Merge branch 'feature/set_phy_cal_option_according_to_cal_data_check' into 'master'
feat(esp8266): set phy cal option according to cal data check See merge request sdk/ESP8266_RTOS_SDK!1096
This commit is contained in:
@ -560,39 +560,17 @@ endmenu
|
|||||||
|
|
||||||
menu PHY
|
menu PHY
|
||||||
|
|
||||||
choice ESP8266_PHY_CALIBRATION
|
|
||||||
prompt "RF calibration"
|
|
||||||
default ESP8266_PHY_FULL_CALIBRATION
|
|
||||||
help
|
|
||||||
If calibration data is not found, full calibration will be performed. To ensure better RF performance,
|
|
||||||
it is recommend to set RF_calibration to ESP8266_PHY_FULL_CALIBRATION, otherwise the RF performance may become poor.
|
|
||||||
|
|
||||||
Full calibration needs 170 - 180ms.
|
|
||||||
Partial calibration needs 35 - 40ms.
|
|
||||||
No calibration needs 3.260 - 3.264ms.
|
|
||||||
|
|
||||||
config ESP8266_PHY_FULL_CALIBRATION
|
|
||||||
bool "RF full calibration"
|
|
||||||
config ESP8266_PHY_NO_CALIBRATION
|
|
||||||
bool "RF no calibration"
|
|
||||||
config ESP8266_PHY_PARTIAL_CALIBRATION
|
|
||||||
bool "RF partial calibration"
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config ESP8266_PHY_CALIBRATION
|
|
||||||
int
|
|
||||||
default 3 if ESP8266_PHY_FULL_CALIBRATION
|
|
||||||
default 2 if ESP8266_PHY_PARTIAL_CALIBRATION
|
|
||||||
default 1 if ESP8266_PHY_NO_CALIBRATION
|
|
||||||
|
|
||||||
config ESP_PHY_CALIBRATION_AND_DATA_STORAGE
|
config ESP_PHY_CALIBRATION_AND_DATA_STORAGE
|
||||||
bool "Store phy calibration data in NVS"
|
bool "Store phy calibration data in NVS"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
If this option is enabled, NVS will be initialized and calibration data will be loaded from there.
|
If this option is enabled, NVS will be initialized and calibration data will be loaded from there.
|
||||||
PHY calibration will be skipped on deep sleep wakeup. If calibration data is not found, full calibration
|
If calibration data is not found, full calibration will be performed and stored in NVS. Normally,
|
||||||
will be performed and stored in NVS. Normally, only partial calibration will be performed.
|
only partial calibration will be performed. If this option is disabled, full calibration will be performed.
|
||||||
If this option is disabled, full calibration will be performed.
|
|
||||||
|
Full calibration needs 170 - 180ms.
|
||||||
|
Partial calibration needs 35 - 40ms.
|
||||||
|
No calibration needs 3.260 - 3.264ms.
|
||||||
|
|
||||||
If it's easy that your board calibrate bad data, choose 'n'.
|
If it's easy that your board calibrate bad data, choose 'n'.
|
||||||
Two cases for example, you should choose 'n':
|
Two cases for example, you should choose 'n':
|
||||||
|
@ -85,10 +85,12 @@ esp_err_t esp_phy_rf_init(const esp_phy_init_data_t* init_data, esp_phy_calibrat
|
|||||||
phy_check_data_table(phy_rx_gain_dc_table, 125, 1);
|
phy_check_data_table(phy_rx_gain_dc_table, 125, 1);
|
||||||
|
|
||||||
phy_afterwake_set_rfoption(1);
|
phy_afterwake_set_rfoption(1);
|
||||||
phy_set_powerup_option(CONFIG_ESP8266_PHY_CALIBRATION);
|
|
||||||
|
|
||||||
if (!cal_data_check) {
|
if (!cal_data_check) {
|
||||||
|
phy_set_powerup_option(1);
|
||||||
write_data_to_rtc(calibration_data->rf_cal_data);
|
write_data_to_rtc(calibration_data->rf_cal_data);
|
||||||
|
} else {
|
||||||
|
phy_set_powerup_option(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
esp_efuse_mac_get_default(sta_mac);
|
esp_efuse_mac_get_default(sta_mac);
|
||||||
|
Reference in New Issue
Block a user