From a2316cb4cf92ba507f07b654f153682ed587605c Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 8 Dec 2021 18:58:17 +0100 Subject: hdc1080: add explicit measure() function --- src/app/datalogger/main.cc | 3 +++ src/driver/hdc1080.cc | 14 +++++--------- 2 files changed, 8 insertions(+), 9 deletions(-) (limited to 'src') 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; -- cgit v1.2.3