]> granicus.if.org Git - esp-idf/commitdiff
phy_init: don’t rewrite valid calibration data
authorIvan Grokhotkov <ivan@espressif.com>
Tue, 7 Feb 2017 07:14:45 +0000 (15:14 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Tue, 7 Feb 2017 07:14:45 +0000 (15:14 +0800)
In the default PHY init routine, calibration data is loaded from NVS.
Most of the time the incremental changes to calibration will be fairly
small, so we don’t need to rewrite the existing calibration data stored
in the NVS.

Possible enhancement to be done in the future: expose a function in PHY
library to tell how big was the change in calibration data. If the
change was significant, then calibration data stored in NVS should be
updated.

components/esp32/cpu_start.c

index 001d1706e1e6211224aa309166eb5615742d387e..5278f9b166a2f54e9ef0e1c89c17303740ccade3 100644 (file)
@@ -294,7 +294,7 @@ static void do_phy_init()
 
     esp_phy_init(init_data, calibration_mode, cal_data);
 
-    if (calibration_mode != PHY_RF_CAL_NONE) {
+    if (calibration_mode != PHY_RF_CAL_NONE && err != ESP_OK) {
         err = esp_phy_store_cal_data_to_nvs(cal_data);
     } else {
         err = ESP_OK;