Skip to content
Snippets Groups Projects
Commit 52690178 authored by Oleg Hahm's avatar Oleg Hahm
Browse files

Merge pull request #5240 from basilfx/feature/si70xx_improvements

drivers: si70xx: result bugfixes
parents df574d6f cf5e4c8f
No related branches found
No related tags found
No related merge requests found
...@@ -84,7 +84,7 @@ int si70xx_init(si70xx_t *dev, i2c_t i2c_dev, uint8_t address) ...@@ -84,7 +84,7 @@ int si70xx_init(si70xx_t *dev, i2c_t i2c_dev, uint8_t address)
uint16_t si70xx_get_relative_humidity(si70xx_t *dev) uint16_t si70xx_get_relative_humidity(si70xx_t *dev)
{ {
uint32_t raw; uint32_t raw;
uint16_t humidity; int32_t humidity;
/* perform measurement */ /* perform measurement */
raw = si70xx_measure(dev, SI70XX_MEASURE_RH_HOLD); raw = si70xx_measure(dev, SI70XX_MEASURE_RH_HOLD);
...@@ -99,7 +99,7 @@ uint16_t si70xx_get_relative_humidity(si70xx_t *dev) ...@@ -99,7 +99,7 @@ uint16_t si70xx_get_relative_humidity(si70xx_t *dev)
return 10000; return 10000;
} }
else { else {
return humidity; return (uint16_t) humidity;
} }
} }
...@@ -129,8 +129,8 @@ void si70xx_get_both(si70xx_t *dev, uint16_t *humidity, int16_t *temperature) ...@@ -129,8 +129,8 @@ void si70xx_get_both(si70xx_t *dev, uint16_t *humidity, int16_t *temperature)
uint64_t si70xx_get_serial(si70xx_t *dev) uint64_t si70xx_get_serial(si70xx_t *dev)
{ {
uint8_t out[2]; uint8_t out[2];
uint8_t in_first[8]; uint8_t in_first[8] = { 0 };
uint8_t in_second[8]; uint8_t in_second[8] = { 0 };
/* read the lower bytes */ /* read the lower bytes */
out[0] = SI70XX_READ_ID_FIRST_A; out[0] = SI70XX_READ_ID_FIRST_A;
...@@ -165,7 +165,7 @@ uint8_t si70xx_get_id(si70xx_t *dev) ...@@ -165,7 +165,7 @@ uint8_t si70xx_get_id(si70xx_t *dev)
uint8_t si70xx_get_revision(si70xx_t *dev) uint8_t si70xx_get_revision(si70xx_t *dev)
{ {
uint8_t out[2]; uint8_t out[2];
uint8_t in; uint8_t in = 0;
/* read the revision number */ /* read the revision number */
out[0] = SI70XX_READ_REVISION_A; out[0] = SI70XX_READ_REVISION_A;
......
...@@ -9,8 +9,8 @@ USEMODULE += xtimer ...@@ -9,8 +9,8 @@ USEMODULE += xtimer
# set default device parameters in case they are undefined # set default device parameters in case they are undefined
TEST_I2C ?= 0 TEST_I2C ?= 0
TEST_I2C_ADDR ?= 128 TEST_I2C_ADDR ?= 0x80
TEST_PIN_EN ?= 57 TEST_PIN_EN ?= GPIO_PIN\(0,0\)
# export parameters # export parameters
CFLAGS += -DTEST_I2C=$(TEST_I2C) CFLAGS += -DTEST_I2C=$(TEST_I2C)
......
...@@ -103,8 +103,8 @@ int main(void) ...@@ -103,8 +103,8 @@ int main(void)
both = !both; both = !both;
/* display results */ /* display results */
printf("relative humidity: %d.%d\n", humidity / 100, humidity % 100); printf("relative humidity: %d.%02d\n", humidity / 100, humidity % 100);
printf("temperature: %d.%d C\n", temperature / 100, temperature % 100); printf("temperature: %d.%02d C\n", temperature / 100, temperature % 100);
/* sleep between measurements */ /* sleep between measurements */
xtimer_usleep(1000 * MS_IN_USEC); xtimer_usleep(1000 * MS_IN_USEC);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment