From e71dabe195521253fafc7af41af5625bfefe263b Mon Sep 17 00:00:00 2001 From: Raido Pahtma Date: Sun, 3 Jun 2018 22:21:33 +0300 Subject: [PATCH 1/3] C89 compatibility. --- bme280.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bme280.c b/bme280.c index 203ccea..5c5e455 100644 --- a/bme280.c +++ b/bme280.c @@ -417,13 +417,12 @@ int8_t bme280_set_regs(uint8_t *reg_addr, const uint8_t *reg_data, uint8_t len, { int8_t rslt; uint8_t temp_buff[20]; /* Typically not to write more than 10 registers */ + uint16_t temp_len; + uint8_t reg_addr_cnt; if (len > 10) len = 10; - uint16_t temp_len; - uint8_t reg_addr_cnt; - /* Check for null pointer in the device structure*/ rslt = null_ptr_check(dev); /* Check for arguments validity */ From 9921eb17c4c8d8379c47fd7c21de7ddde42d2e6d Mon Sep 17 00:00:00 2001 From: Raido Pahtma Date: Sun, 3 Jun 2018 22:22:00 +0300 Subject: [PATCH 2/3] AVR 8bit compatibility (warnings?). --- bme280.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bme280.c b/bme280.c index 5c5e455..6f6ce78 100644 --- a/bme280.c +++ b/bme280.c @@ -1119,13 +1119,13 @@ static uint32_t compensate_humidity(const struct bme280_uncomp_data *uncomp_data var2 = (int32_t)(uncomp_data->humidity * 16384); var3 = (int32_t)(((int32_t)calib_data->dig_H4) * 1048576); var4 = ((int32_t)calib_data->dig_H5) * var1; - var5 = (((var2 - var3) - var4) + (int32_t)16384) / 32768; + var5 = (((var2 - var3) - var4) + (int32_t)16384) / 32768L; var2 = (var1 * ((int32_t)calib_data->dig_H6)) / 1024; var3 = (var1 * ((int32_t)calib_data->dig_H3)) / 2048; - var4 = ((var2 * (var3 + (int32_t)32768)) / 1024) + (int32_t)2097152; + var4 = ((var2 * (var3 + (int32_t)32768L)) / 1024L) + (int32_t)2097152; var2 = ((var4 * ((int32_t)calib_data->dig_H2)) + 8192) / 16384; var3 = var5 * var2; - var4 = ((var3 / 32768) * (var3 / 32768)) / 128; + var4 = ((var3 / 32768L) * (var3 / 32768L)) / 128; var5 = var3 - ((var4 * ((int32_t)calib_data->dig_H1)) / 16); var5 = (var5 < 0 ? 0 : var5); var5 = (var5 > 419430400 ? 419430400 : var5); From 92639c568b64cd06a68dff39f85b830eaebfb9d0 Mon Sep 17 00:00:00 2001 From: Raido Pahtma Date: Sun, 3 Jun 2018 22:44:23 +0300 Subject: [PATCH 3/3] Fix unsigned only in C90 warning. --- bme280.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bme280.c b/bme280.c index 6f6ce78..0e843ca 100644 --- a/bme280.c +++ b/bme280.c @@ -1034,7 +1034,7 @@ static uint32_t compensate_pressure(const struct bme280_uncomp_data *uncomp_data /* To avoid divide by zero exception */ if (var1 != 0) { var4 = 1048576 - uncomp_data->pressure; - var4 = (((var4 * 2147483648) - var2) * 3125) / var1; + var4 = (((var4 * 2147483648LL) - var2) * 3125) / var1; var1 = (((int64_t)calib_data->dig_P9) * (var4 / 8192) * (var4 / 8192)) / 33554432; var2 = (((int64_t)calib_data->dig_P8) * var4) / 524288; var4 = ((var4 + var1 + var2) / 256) + (((int64_t)calib_data->dig_P7) * 16);