mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-03 03:31:41 +03:00
fix(soc): Fix wrong efuse register on esp32c61
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "clk_ctrl_os.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "driver/temperature_sensor.h"
|
||||
#include "esp_efuse_rtc_calib.h"
|
||||
#include "esp_private/periph_ctrl.h"
|
||||
#include "temperature_sensor_private.h"
|
||||
#include "hal/temperature_sensor_ll.h"
|
||||
@@ -36,7 +35,7 @@
|
||||
|
||||
static const char *TAG = "temperature_sensor";
|
||||
|
||||
static float s_deltaT = NAN; // unused number
|
||||
static int s_deltaT = INT_MIN; // unused number
|
||||
|
||||
#if SOC_TEMPERATURE_SENSOR_INTR_SUPPORT
|
||||
static int8_t s_temperature_regval_2_celsius(temperature_sensor_handle_t tsens, uint8_t regval);
|
||||
@@ -274,19 +273,20 @@ esp_err_t temperature_sensor_disable(temperature_sensor_handle_t tsens)
|
||||
|
||||
static esp_err_t read_delta_t_from_efuse(void)
|
||||
{
|
||||
if (temperature_sensor_ll_calib_get_tsens_val(&s_deltaT) != true) {
|
||||
ESP_LOGW(TAG, "Calibration failed");
|
||||
s_deltaT = temperature_sensor_ll_load_calib_param();
|
||||
if (s_deltaT == 0) {
|
||||
ESP_LOGW(TAG, "No calibration param in eFuse");
|
||||
}
|
||||
ESP_LOGD(TAG, "s_deltaT = %f", s_deltaT);
|
||||
ESP_LOGD(TAG, "s_deltaT = %d", s_deltaT);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
static float parse_temp_sensor_raw_value(int16_t tsens_raw)
|
||||
{
|
||||
if (isnan(s_deltaT)) { //suggests that the value is not initialized
|
||||
if (s_deltaT == INT_MIN) { //suggests that the value is not initialized
|
||||
read_delta_t_from_efuse();
|
||||
}
|
||||
float result = tsens_raw - s_deltaT / 10.0;
|
||||
float result = tsens_raw - (float)s_deltaT / 10.0;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user