diff --git a/lib/HwTools/src/HwTools.cpp b/lib/HwTools/src/HwTools.cpp index 3f3693c8..67207cba 100644 --- a/lib/HwTools/src/HwTools.cpp +++ b/lib/HwTools/src/HwTools.cpp @@ -664,7 +664,8 @@ bool HwTools::isVoltageOptimal(float range) { lastVccRead = now; } if(vcc > 3.4 || vcc < 2.8) { - maxVcc = 0; // Voltage is outside the operating range, we have to assume voltage is OK + maxVcc = 0; + return true // Voltage is outside the operating range, we have to assume voltage is OK } else if(vcc > maxVcc) { maxVcc = vcc; } else { diff --git a/src/AmsToMqttBridge.cpp b/src/AmsToMqttBridge.cpp index c0d09647..bd22c03c 100644 --- a/src/AmsToMqttBridge.cpp +++ b/src/AmsToMqttBridge.cpp @@ -482,6 +482,7 @@ void setup() { debugW_P(PSTR("Voltage is outside optimal range (%.2fV)"), allowedDrift); if(gpioConfig.apPin != 0xFF && digitalRead(gpioConfig.apPin) == LOW) { debugW_P(PSTR("AP button is pressed, skipping voltage wait")); + break; } else if(bootCycles < MAX_BOOT_CYCLES) { int secs = MAX_BOOT_CYCLES - bootCycles; if(deepSleep) {