33class SCD4x :
public ThermHygroMeter {
37 co2channel->setDefaultUnitAfterValue(
"ppm");
38 co2channel->setInitialCaption(
"CO₂");
39 co2channel->getChannel()->setDefaultIcon(8);
40 co2channel->setDefaultValuePrecision(1);
43 double getTemp()
override {
44 readValuesFromDevice();
48 double getHumi()
override {
57 if (scd.begin() ==
false) {
58 SUPLA_LOG_DEBUG(
"SCD4x Sensor not detected. Please check wiring.");
60 SUPLA_LOG_DEBUG(
"SCD4x Sensor detected.");
69 void readValuesFromDevice() {
70 if (scd.readMeasurement()) {
72 temperature = scd.getTemperature();
73 humidity = scd.getHumidity();
77 SUPLA_LOG_DEBUG(
"SCD4x read error");
81 temperature = TEMPERATURE_NOT_AVAILABLE;
82 humidity = HUMIDITY_NOT_AVAILABLE;
89 double temperature = TEMPERATURE_NOT_AVAILABLE;
90 double humidity = HUMIDITY_NOT_AVAILABLE;
92 int8_t retryCount = 0;
94 GeneralPurposeMeasurement *co2channel =
nullptr;
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:575