From 7117ac348c2e9deb56ecae1635351838652ed794 Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Sat, 14 Jan 2023 13:17:46 +0100 Subject: [PATCH] Forgot to get rid of the first four LSB bits in the pressure raw data. Pressure reading is now correct ! --- src/W800 SDK v1.00.08/app/app_drivers/i2c/BMP280.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/W800 SDK v1.00.08/app/app_drivers/i2c/BMP280.c b/src/W800 SDK v1.00.08/app/app_drivers/i2c/BMP280.c index 4868547..2646a20 100644 --- a/src/W800 SDK v1.00.08/app/app_drivers/i2c/BMP280.c +++ b/src/W800 SDK v1.00.08/app/app_drivers/i2c/BMP280.c @@ -150,6 +150,7 @@ float BMP280_get_pressure(float * const temperature) if(!i2c_read(BMP280_I2C_ADDR, BMP280_PRESS_MSB, data, sizeof data)) return 0.0f; int32_t adc_P = data[0] << 16 | data[1] << 8 | data[2]; + adc_P >>= 4; var1 = ((int64_t)t_fine) - 128000; var2 = var1 * var1 * (int64_t)_calibration_data.dig_P6;