[ms8607] Fix humidity calc (#9499)

This commit is contained in:
Christian Glombek 2025-07-15 21:33:15 +02:00 committed by Jesse Hills
parent 37982290f7
commit bd0fe34b14
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A

View File

@ -356,7 +356,7 @@ void MS8607Component::read_humidity_(float temperature_float) {
// map 16 bit humidity value into range [-6%, 118%] // map 16 bit humidity value into range [-6%, 118%]
float const humidity_partial = double(humidity) / (1 << 16); float const humidity_partial = double(humidity) / (1 << 16);
float const humidity_percentage = lerp(humidity_partial, -6.0, 118.0); float const humidity_percentage = std::lerp(-6.0, 118.0, humidity_partial);
float const compensated_humidity_percentage = float const compensated_humidity_percentage =
humidity_percentage + (20 - temperature_float) * MS8607_H_TEMP_COEFFICIENT; humidity_percentage + (20 - temperature_float) * MS8607_H_TEMP_COEFFICIENT;
ESP_LOGD(TAG, "Compensated for temperature, humidity=%.2f%%", compensated_humidity_percentage); ESP_LOGD(TAG, "Compensated for temperature, humidity=%.2f%%", compensated_humidity_percentage);