From b3f8576b48bc6b01dfbfdb1e7dc6a7ec28bf601b Mon Sep 17 00:00:00 2001 From: ladyada Date: Thu, 21 Jan 2016 18:31:21 -0500 Subject: [PATCH] must get temp before humidity or pressure in order to set t_fine --- Adafruit_BME280.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Adafruit_BME280.cpp b/Adafruit_BME280.cpp index 725ec1a..38f8698 100644 --- a/Adafruit_BME280.cpp +++ b/Adafruit_BME280.cpp @@ -256,6 +256,8 @@ float Adafruit_BME280::readTemperature(void) float Adafruit_BME280::readPressure(void) { int64_t var1, var2, p; + readTemperature(); // must be done first to get t_fine + int32_t adc_P = read16(BME280_REGISTER_PRESSUREDATA); adc_P <<= 8; adc_P |= read8(BME280_REGISTER_PRESSUREDATA+2); @@ -289,6 +291,8 @@ float Adafruit_BME280::readPressure(void) { /**************************************************************************/ float Adafruit_BME280::readHumidity(void) { + readTemperature(); // must be done first to get t_fine + int32_t adc_H = read16(BME280_REGISTER_HUMIDDATA); int32_t v_x1_u32r;