use sparkfun lib for sensors adafruit has issues
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include "CO2_sensor.h"
|
||||
|
||||
Adafruit_SCD30 scd30;
|
||||
//Adafruit_SCD30 scd30;
|
||||
SCD30 scd30;
|
||||
|
||||
#define CO2_INTERVAL 120000 //ms
|
||||
#define SCD30TEMPMAX 50
|
||||
@@ -19,6 +20,7 @@ uint32_t CO2_lastUpdate = 0;
|
||||
void initCO2sensor(void)
|
||||
{
|
||||
Serial.println("SCD30: init");
|
||||
Wire.begin();
|
||||
if (!scd30.begin())
|
||||
{
|
||||
Serial.println("SCD30: Failed to find sensor");
|
||||
@@ -33,8 +35,8 @@ void initCO2sensor(void)
|
||||
addSensorToList(&SCD30_CO2);
|
||||
|
||||
//check callibration Mode
|
||||
scd30.selfCalibrationEnabled(false);
|
||||
scd30.read();
|
||||
//scd30.selfCalibrationEnabled(false);
|
||||
//scd30.read();
|
||||
Serial.println("SCD30: init OK");
|
||||
}
|
||||
}
|
||||
@@ -42,32 +44,21 @@ void initCO2sensor(void)
|
||||
void handleCO2sensor(void)
|
||||
{
|
||||
uint32_t currentmillis = millis();
|
||||
if ((currentmillis - CO2_lastUpdate > (g_pms_report_period * 1000)) || (!CO2_lastUpdate) )
|
||||
if ((currentmillis - CO2_lastUpdate > (g_pms_report_period * 1000)) || (!CO2_lastUpdate))
|
||||
{
|
||||
|
||||
if (!scd30.read())
|
||||
{
|
||||
Serial.println("SCD30: read error!");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!scd30.dataReady())
|
||||
if (!scd30.dataAvailable())
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
SCD30_temperature.set(uint32_t(scd30.temperature));
|
||||
SCD30_Humidity.set(uint32_t(scd30.relative_humidity));
|
||||
SCD30_CO2.set(uint32_t(scd30.CO2));
|
||||
|
||||
SCD30_temperature.publish();
|
||||
SCD30_Humidity.publish();
|
||||
SCD30_CO2.publish();
|
||||
CO2_lastUpdate = currentmillis;
|
||||
}
|
||||
|
||||
SCD30_temperature.set(uint32_t(scd30.getTemperature()));
|
||||
SCD30_Humidity.set(uint32_t(scd30.getHumidity()));
|
||||
SCD30_CO2.set(uint32_t(scd30.getCO2()));
|
||||
|
||||
|
||||
SCD30_temperature.publish();
|
||||
SCD30_Humidity.publish();
|
||||
SCD30_CO2.publish();
|
||||
CO2_lastUpdate = currentmillis;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user