4#ifndef SRC_SUPLA_SENSOR_SCD4X_H_
5#define SRC_SUPLA_SENSOR_SCD4X_H_
11#include "SparkFun_SCD4x_Arduino_Library.h"
13#include "therm_hygro_meter.h"
14#include "general_purpose_measurement.h"
28 double getTemp()
override {
29 readValuesFromDevice();
33 double getHumi()
override {
42 if (scd.
begin() ==
false) {
43 SUPLA_LOG_DEBUG(
"SCD4x Sensor not detected. Please check wiring.");
45 SUPLA_LOG_DEBUG(
"SCD4x Sensor detected.");
54 void readValuesFromDevice() {
55 if (scd.readMeasurement()) {
57 temperature = scd.getTemperature();
58 humidity = scd.getHumidity();
62 SUPLA_LOG_DEBUG(
"SCD4x read error");
66 temperature = TEMPERATURE_NOT_AVAILABLE;
67 humidity = HUMIDITY_NOT_AVAILABLE;
74 double temperature = TEMPERATURE_NOT_AVAILABLE;
75 double humidity = HUMIDITY_NOT_AVAILABLE;
77 int8_t retryCount = 0;
79 GeneralPurposeMeasurement *co2channel =
nullptr;
void setDefaultIcon(uint8_t iconId)
Sets default icon.
Definition channel.cpp:1562
void setInitialCaption(const char *caption, bool secondaryChannel=false)
Sets initial caption.
Definition element.cpp:390
static Element * begin()
Returns first Element (based on creation order)
Definition element.cpp:51
void setDefaultUnitAfterValue(const char *unit)
Sets default unit which is displayed after value.
Definition general_purpose_channel_base.cpp:197
virtual void setValue(const double &value)
Method used to set new value for channel with driver which accepts MeasurementDriver::setValue() meth...
Definition general_purpose_channel_base.cpp:560
void setDefaultValuePrecision(uint8_t precision)
Sets default precision (number of decimal places)
Definition general_purpose_channel_base.cpp:182
Definition general_purpose_measurement.h:11
void onInit() override
Third method called on element in SuplaDevice.begin()
Definition SCD4x.h:41
Definition therm_hygro_meter.h:14