diff options
-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) { |