Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve temperature precision in BME280 and BMP280 #6124

Merged
merged 3 commits into from
Jan 21, 2024
Merged

Conversation

jxl77
Copy link
Contributor

@jxl77 jxl77 commented Jan 20, 2024

What does this implement/fix?

The RMS precision in the BME280 and BMP280 sensors is 0.002°C . But the existing routines truncated the precision to 0.01°C.
This is a very minor change that brings back the full precision to BME280 and BMP280.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Other

Related issue or feature (if applicable): fixes

Pull request in esphome-docs with documentation (if applicable): esphome/esphome-docs#

Test Environment

  • ESP32
  • ESP32 IDF
  • ESP8266
  • RP2040
  • BK72xx
  • RTL87xx

Example entry for config.yaml:

# Example config.yaml
sensor:
  - platform: bme280_i2c
    temperature:
      name: "BME280 Temperature"
      oversampling: 16x
      accuracy_decimals: 3
    pressure:
      name: "BME280 Pressure"
      accuracy_decimals: 2
    humidity:
      name: "BME280 Humidity"
      accuracy_decimals: 2
    address: 0x76
    update_interval: 5s

Checklist:

  • The code change is tested and works locally. (tested for BME280 and BMP280)
  • Tests have been added to verify that the new code works (under tests/ folder).

If user exposed functionality or configuration variables are added/changed:

Change read_temperature to get better precision

  float const temperature = (*t_fine * 5 + 128);
  return temperature / 25600.0f;
increase precision in read_temperature
@probot-esphome
Copy link

Hey there @esphome/core, mind taking a look at this pull request as it has been labeled with an integration (bme280_base) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)

@codecov-commenter
Copy link

codecov-commenter commented Jan 20, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (0cbc06a) 53.69% compared to head (c3c8fdb) 53.69%.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev    #6124   +/-   ##
=======================================
  Coverage   53.69%   53.69%           
=======================================
  Files          50       50           
  Lines        9398     9398           
  Branches     1652     1652           
=======================================
  Hits         5046     5046           
  Misses       4053     4053           
  Partials      299      299           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

clang-format correction
Copy link
Member

@kbx81 kbx81 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM -- tested with a BME280 I have here, as well.

@kbx81 kbx81 merged commit c35a217 into esphome:dev Jan 21, 2024
58 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jan 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants