aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2022-03-27 13:05:57 +0100
committerdakkar <dakkar@thenautilus.net>2022-03-27 13:05:57 +0100
commit06c7d3f8d567ee99b8a29d5ec6d032bdb392db07 (patch)
treef97ac2b52de8d3b634d6f4fd4e0ae930da06d5b9
parentnicer display (diff)
downloadenv-sensor-06c7d3f8d567ee99b8a29d5ec6d032bdb392db07.tar.gz
env-sensor-06c7d3f8d567ee99b8a29d5ec6d032bdb392db07.tar.bz2
env-sensor-06c7d3f8d567ee99b8a29d5ec6d032bdb392db07.zip
low power co2 reading
-rw-r--r--co2.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/co2.h b/co2.h
index ac963f4..55a37f5 100644
--- a/co2.h
+++ b/co2.h
@@ -36,16 +36,29 @@ public:
}
// Start Measurement
- error = scd4x.startPeriodicMeasurement();
+ error = scd4x.startLowPowerPeriodicMeasurement();
if (error) {
- Serial.print("CO2 startPeriodicMeasurement() error: ");
+ Serial.print("CO2 startLowPowerPeriodicMeasurement() error: ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
}
}
bool dataReady() {
- return true;
+ uint16_t ready;
+ uint16_t error;
+ char errorMessage[256];
+
+ error = scd4x.getDataReadyStatus(ready);
+ if (error) {
+ Serial.print("CO2 getDataReadyStatus() error: ");
+ errorToString(error, errorMessage, 256);
+ Serial.println(errorMessage);
+ return false;
+ }
+
+ // "If last 11 bits are 0 data not ready, else data ready"
+ return ready & 0x7FFF == 0 ? false : true;
}
void read(SensorData *data) {