temp_sensor: add calibration for esp32c3

This commit is contained in:
Cao Sen Miao
2021-01-13 21:23:08 +08:00
parent 0c77299c34
commit d92ac450a2
11 changed files with 63 additions and 20 deletions

View File

@@ -82,3 +82,18 @@ esp_err_t esp_efuse_rtc_calib_get_cal_voltage(int version, int atten, uint32_t*
*out_vol_mv = calib_vol_expected_mv;
return ESP_OK;
}
float esp_efuse_rtc_calib_get_cal_temp(int version)
{
assert(version == 1);
const esp_efuse_desc_t** cal_temp_efuse;
cal_temp_efuse = ESP_EFUSE_TEMP_CALIB;
int cal_temp_size = esp_efuse_get_field_size(cal_temp_efuse);
assert(cal_temp_size == 9);
uint32_t cal_temp = 0;
esp_err_t err = esp_efuse_read_field_blob(cal_temp_efuse, &cal_temp, cal_temp_size);
assert(err == ESP_OK);
// BIT(8) stands for sign: 1: negtive, 0: positive
return ((cal_temp & BIT(8)) != 0)? -(uint8_t)cal_temp: (uint8_t)cal_temp;
}