diff --git a/examples/OneOpenAir/OneOpenAir.ino b/examples/OneOpenAir/OneOpenAir.ino index 7230e14..971a5c8 100644 --- a/examples/OneOpenAir/OneOpenAir.ino +++ b/examples/OneOpenAir/OneOpenAir.ino @@ -36,20 +36,21 @@ CC BY-SA 4.0 Attribution-ShareAlike 4.0 International License */ -#include -#include "AirGradient.h" -#include "OtaHandler.h" #include "AgApiClient.h" #include "AgConfigure.h" #include "AgSchedule.h" #include "AgStateMachine.h" #include "AgWiFiConnector.h" +#include "AirGradient.h" #include "EEPROM.h" #include "ESPmDNS.h" #include "LocalServer.h" #include "MqttClient.h" #include "OpenMetrics.h" +#include "OtaHandler.h" #include "WebServer.h" +#include "esp32c3/rom/rtc.h" +#include #include #include @@ -136,6 +137,10 @@ void setup() { /** Print device ID into log */ Serial.println("Serial nr: " + ag->deviceId()); + // Set reason why esp is reset + esp_reset_reason_t reason = esp_reset_reason(); + measurements.setResetReason(reason); + /** Initialize local configure */ configuration.begin(); diff --git a/src/AgValue.h b/src/AgValue.h index 3546115..f74018e 100644 --- a/src/AgValue.h +++ b/src/AgValue.h @@ -150,6 +150,8 @@ public: int bootCount(); void setBootCount(int bootCount); + void setResetReason(esp_reset_reason_t reason); + private: // Some declared as an array (channel), because FW_MODE_O_1PPx has two PMS5003T FloatValue _temperature[2]; @@ -172,7 +174,7 @@ private: IntegerValue _pm_5_pc[2]; // particle count 5.0 IntegerValue _pm_10_pc[2]; // particle count 10 int _bootCount; - + int _resetReason; bool _debug = false; /**