From 6e9e988ff07d3ded473eeed288a2653231181723 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Sat, 19 Feb 2022 10:27:24 +0100 Subject: [PATCH] Fixed issue where HAN stops working when debugging is disabled --- src/AmsToMqttBridge.ino | 7 +++++-- src/web/AmsWebServer.cpp | 26 +++++++++++++++----------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/AmsToMqttBridge.ino b/src/AmsToMqttBridge.ino index 87da55bd..197cabcd 100644 --- a/src/AmsToMqttBridge.ino +++ b/src/AmsToMqttBridge.ino @@ -183,7 +183,7 @@ void setup() { } DebugConfig debug; - if(config.getDebugConfig(debug)) { + if(config.getDebugConfig(debug) && (debug.serial || debug.telnet)) { Debug.setSerialEnabled(debug.serial); } #if DEBUG_MODE @@ -352,6 +352,7 @@ void loop() { longPressActive = false; } else { // Single press action + debugD("Button was clicked, no action configured"); } buttonActive = false; } @@ -376,12 +377,14 @@ void loop() { Debug.setPassword(web.password); } DebugConfig debug; - if(config.getDebugConfig(debug)) { + if(config.getDebugConfig(debug) && (debug.serial || debug.telnet)) { Debug.begin(wifi.hostname, (uint8_t) debug.level); Debug.setSerialEnabled(debug.serial); if(!debug.telnet) { Debug.stop(); } + } else { + Debug.stop(); } if(Debug.isActive(RemoteDebug::INFO)) { debugI("Successfully connected to WiFi!"); diff --git a/src/web/AmsWebServer.cpp b/src/web/AmsWebServer.cpp index d5aeacb9..1bc3fdc2 100644 --- a/src/web/AmsWebServer.cpp +++ b/src/web/AmsWebServer.cpp @@ -1237,18 +1237,22 @@ void AmsWebServer::handleSave() { debug.level = server.arg("debugLevel").toInt(); debugger->stop(); - if(webConfig.security > 0) { - debugger->setPassword(webConfig.password); - } else { - debugger->setPassword(""); - } - debugger->setSerialEnabled(debug.serial); - WiFiConfig wifi; - if(config->getWiFiConfig(wifi) && strlen(wifi.hostname) > 0) { - debugger->begin(wifi.hostname, (uint8_t) debug.level); - if(!debug.telnet) { - debugger->stop(); + if(debug.telnet || debug.serial) { + if(webConfig.security > 0) { + debugger->setPassword(webConfig.password); + } else { + debugger->setPassword(""); } + debugger->setSerialEnabled(debug.serial); + WiFiConfig wifi; + if(config->getWiFiConfig(wifi) && strlen(wifi.hostname) > 0) { + debugger->begin(wifi.hostname, (uint8_t) debug.level); + if(!debug.telnet) { + debugger->stop(); + } + } + } else { + debugger->stop(); } config->setDebugConfig(debug); }