mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
bugfix(temperature_sensor): Fix issue that get the value is negative
This commit is contained in:
parent
de409c2ec3
commit
4ccbec93e2
@ -215,7 +215,7 @@ static esp_err_t read_delta_t_from_efuse(void)
|
|||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static float parse_temp_sensor_raw_value(uint32_t tsens_raw)
|
static float parse_temp_sensor_raw_value(int16_t tsens_raw)
|
||||||
{
|
{
|
||||||
if (isnan(s_deltaT)) { //suggests that the value is not initialized
|
if (isnan(s_deltaT)) { //suggests that the value is not initialized
|
||||||
read_delta_t_from_efuse();
|
read_delta_t_from_efuse();
|
||||||
@ -230,7 +230,7 @@ esp_err_t temperature_sensor_get_celsius(temperature_sensor_handle_t tsens, floa
|
|||||||
ESP_RETURN_ON_FALSE(out_celsius != NULL, ESP_ERR_INVALID_ARG, TAG, "Celsius points to nothing");
|
ESP_RETURN_ON_FALSE(out_celsius != NULL, ESP_ERR_INVALID_ARG, TAG, "Celsius points to nothing");
|
||||||
ESP_RETURN_ON_FALSE(tsens->fsm == TEMP_SENSOR_FSM_ENABLE, ESP_ERR_INVALID_STATE, TAG, "tsens not enabled yet");
|
ESP_RETURN_ON_FALSE(tsens->fsm == TEMP_SENSOR_FSM_ENABLE, ESP_ERR_INVALID_STATE, TAG, "tsens not enabled yet");
|
||||||
bool range_changed;
|
bool range_changed;
|
||||||
uint16_t tsens_out = temp_sensor_get_raw_value(&range_changed);
|
int16_t tsens_out = temp_sensor_get_raw_value(&range_changed);
|
||||||
*out_celsius = parse_temp_sensor_raw_value(tsens_out);
|
*out_celsius = parse_temp_sensor_raw_value(tsens_out);
|
||||||
|
|
||||||
if (*out_celsius < TEMPERATURE_SENSOR_LL_MEASURE_MIN || *out_celsius > TEMPERATURE_SENSOR_LL_MEASURE_MAX) {
|
if (*out_celsius < TEMPERATURE_SENSOR_LL_MEASURE_MIN || *out_celsius > TEMPERATURE_SENSOR_LL_MEASURE_MAX) {
|
||||||
|
Loading…
Reference in New Issue
Block a user