Compare commits

...

2 Commits

Author SHA1 Message Date
Gunnar Skjold
c49ff9f3ec Allow up to 8 cycles to charge capacitor 2026-02-27 09:06:19 +01:00
Gunnar Skjold
ae473cab20 Moved reset of reboot reason to main program 2026-02-27 08:55:10 +01:00
2 changed files with 12 additions and 11 deletions

View File

@@ -61,14 +61,6 @@ AmsWebServer::AmsWebServer(uint8_t* buf, Stream* Debug, HwTools* hw, ResetDataCo
this->hw = hw;
this->buf = (char*) buf;
this->rdc = rdc;
if(rdc->magic != 0x4a) {
rdc->last_cause = 0;
rdc->cause = 0;
rdc->magic = 0x4a;
} else {
rdc->last_cause = rdc->cause;
rdc->cause = 0;
}
}
void AmsWebServer::setup(AmsConfiguration* config, GpioConfig* gpioConfig, AmsData* meterState, AmsDataStorage* ds, EnergyAccounting* ea, RealtimePlot* rtp, AmsFirmwareUpdater* updater) {

View File

@@ -30,6 +30,7 @@ ADC_MODE(ADC_VCC);
#include "ZmartChargeCloudConnector.h"
#endif
#define MAX_BOOT_CYCLES 8
#define WDT_TIMEOUT 120
#if defined(SLOW_PROC_TRIGGER_MS)
#warning "Using predefined slow process trigger"
@@ -191,8 +192,6 @@ CloudConnector *cloud = NULL;
ZmartChargeCloudConnector *zcloud = NULL;
#endif
#define MAX_BOOT_CYCLES 6
#if defined(ESP32)
__NOINIT_ATTR EnergyAccountingRealtimeData rtd;
RTC_DATA_ATTR uint8_t bootcount = 0;
@@ -466,7 +465,7 @@ void setup() {
float vcc = hw.getVcc();
debugI_P(PSTR("Voltage: %.2fV"), vcc);
bool deepSleep = true;
bool deepSleep = false; // Disable for now, as it makes it difficult to debug why devices rebooted
#if defined(ESP32)
float allowedDrift = bootcount * 0.01;
#else
@@ -500,6 +499,16 @@ void setup() {
#if defined(ESP8266)
resetBootCycleCounter(deepSleep);
#endif
if(rdc.magic != 0x4a) {
rdc.last_cause = 0;
rdc.cause = 0;
rdc.magic = 0x4a;
} else {
rdc.last_cause = rdc.cause;
rdc.cause = 0;
}
hw.ledOff(LED_YELLOW);
hw.ledOff(LED_INTERNAL);