From a1fc04b7023d67dc58f5ed3d9bc718f1ca0a17dc Mon Sep 17 00:00:00 2001 From: Alexey Zholtikov Date: Thu, 22 Oct 2026 21:16:43 +0300 Subject: [PATCH] fix: incorrect compensate pressure --- src/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 1b93fb5..4f1b594 100644 --- a/src/main.c +++ b/src/main.c @@ -654,7 +654,8 @@ static float zh_bme280_compensate_temperature(int32_t adc_t) static float zh_bme280_compensate_pressure(int32_t adc_p) { - int32_t dig_p1 = (int32_t)(bme280_calib[7] << 8 | bme280_calib[6]); + int32_t dig_p1 = (int32_t)(uint16_t)(bme280_calib[7] << 8 | bme280_calib[6]); + // int32_t dig_p1 = (int32_t)(bme280_calib[7] << 8 | bme280_calib[6]); int32_t dig_p2 = (int16_t)(bme280_calib[9] << 8 | bme280_calib[8]); int32_t dig_p3 = (int16_t)(bme280_calib[11] << 8 | bme280_calib[10]); int32_t dig_p4 = (int16_t)(bme280_calib[13] << 8 | bme280_calib[12]);