diff options
author | Daniel Friesel <derf@finalrewind.org> | 2021-12-08 18:58:17 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2021-12-08 18:58:17 +0100 |
commit | a2316cb4cf92ba507f07b654f153682ed587605c (patch) | |
tree | 1c01c9f627ab5196c531ec6e71d067d6bb1cc1cf | |
parent | 7baef4fb7bbbce9d802099548aebc8a3450c6481 (diff) |
hdc1080: add explicit measure() function
-rw-r--r-- | include/driver/hdc1080.h | 1 | ||||
-rw-r--r-- | src/app/datalogger/main.cc | 3 | ||||
-rw-r--r-- | src/driver/hdc1080.cc | 14 |
3 files changed, 9 insertions, 9 deletions
diff --git a/include/driver/hdc1080.h b/include/driver/hdc1080.h index 83a99cb..85d1303 100644 --- a/include/driver/hdc1080.h +++ b/include/driver/hdc1080.h @@ -20,6 +20,7 @@ class HDC1080 { float getRH(); unsigned int getManufacturerID(); void init(); + void measure(); void heater(bool on); }; diff --git a/src/app/datalogger/main.cc b/src/app/datalogger/main.cc index f9484b5..2d8a8e6 100644 --- a/src/app/datalogger/main.cc +++ b/src/app/datalogger/main.cc @@ -127,6 +127,8 @@ void loop(void) hdc1080.getTemp(); } */ + hdc1080.measure(); + arch.delay_ms(10); kout << "HDC1080 temperature " << hdc1080.getTemp() << " degC" << endl; kout << "HDC1080 humidity " << hdc1080.getRH() << " %H" << endl; #endif @@ -253,6 +255,7 @@ int main(void) #ifdef CONFIG_driver_mpu9250 mpu9250.init(); + mpu9250.nineAxis(); #endif #ifdef CONFIG_driver_tsl2591 diff --git a/src/driver/hdc1080.cc b/src/driver/hdc1080.cc index af828fd..2ac983d 100644 --- a/src/driver/hdc1080.cc +++ b/src/driver/hdc1080.cc @@ -11,14 +11,15 @@ #include "driver/soft_i2c.h" #endif -float HDC1080::getTemp() +void HDC1080::measure() { txbuf[0] = 0x00; - i2c.xmit(address, 1, txbuf, 0, rxbuf); +} - arch.delay_ms(10); - +float HDC1080::getTemp() +{ + txbuf[0] = 0x00; i2c.xmit(address, 0, txbuf, 2, rxbuf); return (((unsigned int)rxbuf[0] << 8) | rxbuf[1]) * .00251770019531250000 - 40.; @@ -27,11 +28,6 @@ float HDC1080::getTemp() float HDC1080::getRH() { txbuf[0] = 0x01; - - i2c.xmit(address, 1, txbuf, 0, rxbuf); - - arch.delay_ms(10); - i2c.xmit(address, 0, txbuf, 2, rxbuf); return (((unsigned int)rxbuf[0] << 8) | rxbuf[1]) * .00152587890625000000; |