mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-07-16 18:22:09 +02:00
update message log and fix some bug
This commit is contained in:
@ -78,7 +78,8 @@ static AirGradient *ag;
|
|||||||
static OledDisplay oledDisplay(configuration, measurements, Serial);
|
static OledDisplay oledDisplay(configuration, measurements, Serial);
|
||||||
static StateMachine stateMachine(oledDisplay, Serial, measurements,
|
static StateMachine stateMachine(oledDisplay, Serial, measurements,
|
||||||
configuration);
|
configuration);
|
||||||
static WifiConnector wifiConnector(oledDisplay, Serial, stateMachine, configuration);
|
static WifiConnector wifiConnector(oledDisplay, Serial, stateMachine,
|
||||||
|
configuration);
|
||||||
static OpenMetrics openMetrics(measurements, configuration, wifiConnector,
|
static OpenMetrics openMetrics(measurements, configuration, wifiConnector,
|
||||||
apiClient);
|
apiClient);
|
||||||
static LocalServer localServer(Serial, openMetrics, measurements, configuration,
|
static LocalServer localServer(Serial, openMetrics, measurements, configuration,
|
||||||
@ -109,6 +110,7 @@ static void initMqtt(void);
|
|||||||
static void factoryConfigReset(void);
|
static void factoryConfigReset(void);
|
||||||
static void wdgFeedUpdate(void);
|
static void wdgFeedUpdate(void);
|
||||||
static void ledBarEnabledUpdate(void);
|
static void ledBarEnabledUpdate(void);
|
||||||
|
static bool sgp41Init(void);
|
||||||
|
|
||||||
AgSchedule dispLedSchedule(DISP_UPDATE_INTERVAL, oledDisplayLedBarSchedule);
|
AgSchedule dispLedSchedule(DISP_UPDATE_INTERVAL, oledDisplayLedBarSchedule);
|
||||||
AgSchedule configSchedule(SERVER_CONFIG_UPDATE_INTERVAL,
|
AgSchedule configSchedule(SERVER_CONFIG_UPDATE_INTERVAL,
|
||||||
@ -409,6 +411,20 @@ static void ledBarEnabledUpdate(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool sgp41Init(void) {
|
||||||
|
ag->sgp41.setNoxLearningOffset(configuration.getNoxLearningOffset());
|
||||||
|
ag->sgp41.setTvocLearningOffset(configuration.getTvocLearningOffset());
|
||||||
|
if (ag->sgp41.begin(Wire)) {
|
||||||
|
Serial.println("Init SGP41 success");
|
||||||
|
configuration.hasSensorSGP = true;
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
Serial.println("Init SGP41 failuire");
|
||||||
|
configuration.hasSensorSGP = false;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
static void sendDataToAg() {
|
static void sendDataToAg() {
|
||||||
/** Change oledDisplay and led state */
|
/** Change oledDisplay and led state */
|
||||||
if (ag->isOne()) {
|
if (ag->isOne()) {
|
||||||
@ -476,11 +492,7 @@ static void oneIndoorInit(void) {
|
|||||||
ag->watchdog.begin();
|
ag->watchdog.begin();
|
||||||
|
|
||||||
/** Init sensor SGP41 */
|
/** Init sensor SGP41 */
|
||||||
ag->sgp41.setNoxLearningOffset(configuration.getNoxLearningOffset());
|
if (sgp41Init() == false) {
|
||||||
ag->sgp41.setTvocLearningOffset(configuration.getTvocLearningOffset());
|
|
||||||
if (ag->sgp41.begin(Wire) == false) {
|
|
||||||
Serial.println("SGP41 sensor not found");
|
|
||||||
configuration.hasSensorSGP = false;
|
|
||||||
dispSensorNotFound("SGP41");
|
dispSensorNotFound("SGP41");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -562,10 +574,7 @@ static void openAirInit(void) {
|
|||||||
serial1Available = false;
|
serial1Available = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ag->sgp41.setNoxLearningOffset(configuration.getNoxLearningOffset());
|
if (sgp41Init() == false) {
|
||||||
ag->sgp41.setTvocLearningOffset(configuration.getTvocLearningOffset());
|
|
||||||
if (ag->sgp41.begin(Wire) == false) {
|
|
||||||
configuration.hasSensorSGP = false;
|
|
||||||
Serial.println("SGP sensor not found");
|
Serial.println("SGP sensor not found");
|
||||||
|
|
||||||
if (configuration.hasSensorS8 == false) {
|
if (configuration.hasSensorS8 == false) {
|
||||||
@ -640,6 +649,16 @@ static void boardInit(void) {
|
|||||||
} else {
|
} else {
|
||||||
openAirInit();
|
openAirInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set S8 CO2 abc days period */
|
||||||
|
if (configuration.hasSensorS8) {
|
||||||
|
if (ag->s8.setAbcPeriod(configuration.getCO2CalibrationAbcDays() * 24)) {
|
||||||
|
Serial.println("Set S8 AbcDays successful");
|
||||||
|
} else {
|
||||||
|
Serial.println("Set S8 AbcDays failure");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
localServer.setFwMode(fwMode);
|
localServer.setFwMode(fwMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -674,17 +693,23 @@ static void configUpdateHandle() {
|
|||||||
if (configuration.noxLearnOffsetChanged() ||
|
if (configuration.noxLearnOffsetChanged() ||
|
||||||
configuration.tvocLearnOffsetChanged()) {
|
configuration.tvocLearnOffsetChanged()) {
|
||||||
ag->sgp41.end();
|
ag->sgp41.end();
|
||||||
Serial.println("nox/tvoc learning offset changed");
|
|
||||||
Serial.println("noxLearningOffset: " + String(configuration.getNoxLearningOffset()));
|
int oldTvocOffset = ag->sgp41.getTvocLearningOffset();
|
||||||
Serial.println("tvocLearningOffset: " + String(configuration.getTvocLearningOffset()));
|
int oldNoxOffset = ag->sgp41.getNoxLearningOffset();
|
||||||
ag->sgp41.setNoxLearningOffset(configuration.getNoxLearningOffset());
|
bool result = sgp41Init();
|
||||||
ag->sgp41.setTvocLearningOffset(configuration.getTvocLearningOffset());
|
const char *resultStr = "successful";
|
||||||
if (ag->sgp41.begin(Wire)) {
|
if (!result) {
|
||||||
Serial.println("Init SGP41 success");
|
resultStr = "failure";
|
||||||
configuration.hasSensorSGP = true;
|
}
|
||||||
} else {
|
if (oldTvocOffset != configuration.getTvocLearningOffset()) {
|
||||||
Serial.println("Init SGP41 failuire");
|
Serial.printf("Setting tvocLearningOffset from %d to %d hours %s\r\n",
|
||||||
configuration.hasSensorSGP = false;
|
oldTvocOffset, configuration.getTvocLearningOffset(),
|
||||||
|
resultStr);
|
||||||
|
}
|
||||||
|
if (oldNoxOffset != configuration.getNoxLearningOffset()) {
|
||||||
|
Serial.printf("Setting noxLearningOffset from %d to %d hours %s\r\n",
|
||||||
|
oldNoxOffset, configuration.getNoxLearningOffset(),
|
||||||
|
resultStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -817,7 +842,7 @@ static void updatePm(void) {
|
|||||||
Serial.printf("[2] PM3.0 Count: %d\r\n", measurements.pm03PCount_2);
|
Serial.printf("[2] PM3.0 Count: %d\r\n", measurements.pm03PCount_2);
|
||||||
Serial.printf("[2] Temperature in C: %0.2f\r\n", measurements.temp_2);
|
Serial.printf("[2] Temperature in C: %0.2f\r\n", measurements.temp_2);
|
||||||
Serial.printf("[2] Relative Humidity: %d\r\n", measurements.hum_2);
|
Serial.printf("[2] Relative Humidity: %d\r\n", measurements.hum_2);
|
||||||
Serial.printf("[2] Temperature compensated in C: %0.2f\r\n",
|
Serial.printf("[2] Temperature compensated in C: %0.2f\r\n",
|
||||||
ag->pms5003t_1.temperatureCompensated(measurements.temp_2));
|
ag->pms5003t_1.temperatureCompensated(measurements.temp_2));
|
||||||
Serial.printf("[2] Relative Humidity compensated: %d\r\n",
|
Serial.printf("[2] Relative Humidity compensated: %d\r\n",
|
||||||
ag->pms5003t_1.humidityCompensated(measurements.hum_2));
|
ag->pms5003t_1.humidityCompensated(measurements.hum_2));
|
||||||
@ -948,9 +973,9 @@ static void tempHumUpdate(void) {
|
|||||||
Serial.printf("Temperature in C: %0.2f\r\n", measurements.Temperature);
|
Serial.printf("Temperature in C: %0.2f\r\n", measurements.Temperature);
|
||||||
Serial.printf("Relative Humidity: %d\r\n", measurements.Humidity);
|
Serial.printf("Relative Humidity: %d\r\n", measurements.Humidity);
|
||||||
Serial.printf("Temperature compensated in C: %0.2f\r\n",
|
Serial.printf("Temperature compensated in C: %0.2f\r\n",
|
||||||
ag->pms5003t_1.temperatureCompensated(measurements.Temperature));
|
measurements.Temperature);
|
||||||
Serial.printf("Relative Humidity compensated: %d\r\n",
|
Serial.printf("Relative Humidity compensated: %d\r\n",
|
||||||
ag->pms5003t_1.humidityCompensated(measurements.Temperature));
|
measurements.Humidity);
|
||||||
|
|
||||||
// Update compensation temperature and humidity for SGP41
|
// Update compensation temperature and humidity for SGP41
|
||||||
if (configuration.hasSensorSGP) {
|
if (configuration.hasSensorSGP) {
|
||||||
|
Reference in New Issue
Block a user