|
|
@@ -266,17 +266,17 @@ void esp_phy_load_cal_and_init(void)
|
|
|
abort();
|
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE
|
|
|
- esp_phy_calibration_mode_t calibration_mode = PHY_RF_CAL_PARTIAL;
|
|
|
- if (rtc_get_reset_reason(0) == DEEPSLEEP_RESET) {
|
|
|
- calibration_mode = PHY_RF_CAL_NONE;
|
|
|
- }
|
|
|
const esp_phy_init_data_t* init_data = esp_phy_get_init_data();
|
|
|
if (init_data == NULL) {
|
|
|
ESP_LOGE(TAG, "failed to obtain PHY init data");
|
|
|
abort();
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE
|
|
|
+ esp_phy_calibration_mode_t calibration_mode = PHY_RF_CAL_PARTIAL;
|
|
|
+ if (rtc_get_reset_reason(0) == DEEPSLEEP_RESET) {
|
|
|
+ calibration_mode = PHY_RF_CAL_NONE;
|
|
|
+ }
|
|
|
esp_err_t err = esp_phy_load_cal_data_from_nvs(cal_data);
|
|
|
if (err != ESP_OK) {
|
|
|
ESP_LOGW(TAG, "failed to load RF calibration data (0x%x), falling back to full calibration", err);
|
|
|
@@ -290,11 +290,12 @@ void esp_phy_load_cal_and_init(void)
|
|
|
} else {
|
|
|
err = ESP_OK;
|
|
|
}
|
|
|
- esp_phy_release_init_data(init_data);
|
|
|
#else
|
|
|
- esp_phy_rf_init(NULL, PHY_RF_CAL_FULL, cal_data);
|
|
|
+ esp_phy_rf_init(init_data, PHY_RF_CAL_FULL, cal_data);
|
|
|
#endif
|
|
|
|
|
|
+ esp_phy_release_init_data(init_data);
|
|
|
+
|
|
|
free(cal_data); // PHY maintains a copy of calibration data, so we can free this
|
|
|
}
|
|
|
|