summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2021-12-08 18:58:17 +0100
committerDaniel Friesel <derf@finalrewind.org>2021-12-08 18:58:17 +0100
commita2316cb4cf92ba507f07b654f153682ed587605c (patch)
tree1c01c9f627ab5196c531ec6e71d067d6bb1cc1cf
parent7baef4fb7bbbce9d802099548aebc8a3450c6481 (diff)
hdc1080: add explicit measure() function
-rw-r--r--include/driver/hdc1080.h1
-rw-r--r--src/app/datalogger/main.cc3
-rw-r--r--src/driver/hdc1080.cc14
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;