diff options
author | dakkar <dakkar@thenautilus.net> | 2022-03-27 13:05:57 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2022-03-27 13:05:57 +0100 |
commit | 06c7d3f8d567ee99b8a29d5ec6d032bdb392db07 (patch) | |
tree | f97ac2b52de8d3b634d6f4fd4e0ae930da06d5b9 | |
parent | nicer display (diff) | |
download | env-sensor-06c7d3f8d567ee99b8a29d5ec6d032bdb392db07.tar.gz env-sensor-06c7d3f8d567ee99b8a29d5ec6d032bdb392db07.tar.bz2 env-sensor-06c7d3f8d567ee99b8a29d5ec6d032bdb392db07.zip |
low power co2 reading
-rw-r--r-- | co2.h | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -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) { |