From 254e01059482cd489fc521533d2d0fa32b285e09 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Tue, 16 Nov 2021 20:40:21 +0100 Subject: [PATCH] Fixed save crash --- src/AmsToMqttBridge.ino | 8 +++++++- src/web/AmsWebServer.cpp | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/AmsToMqttBridge.ino b/src/AmsToMqttBridge.ino index 8c0a4d5a..cd0d46b9 100644 --- a/src/AmsToMqttBridge.ino +++ b/src/AmsToMqttBridge.ino @@ -68,6 +68,7 @@ AmsMqttHandler* mqttHandler = NULL; HanReader hanReader; Stream *hanSerial; +SoftwareSerial *swSerial = NULL; GpioConfig gpioConfig; MeterConfig meterConfig; @@ -497,7 +498,12 @@ void setupHanPort(int pin, int newMeterType) { } else { debugD("Software serial"); Serial.flush(); - SoftwareSerial *swSerial = new SoftwareSerial(pin); + + if(swSerial != NULL) { + swSerial->end(); + delete swSerial; + } + swSerial = new SoftwareSerial(pin); switch(newMeterType) { case METER_TYPE_KAMSTRUP: diff --git a/src/web/AmsWebServer.cpp b/src/web/AmsWebServer.cpp index 9cb59a38..6024e887 100644 --- a/src/web/AmsWebServer.cpp +++ b/src/web/AmsWebServer.cpp @@ -191,7 +191,7 @@ void AmsWebServer::temperaturePost() { delay(1); } - if (debugger->isActive(RemoteDebug::DEBUG)) config->print(debugger); + //if (debugger->isActive(RemoteDebug::DEBUG)) config->print(debugger); if(config->save()) { printD("Successfully saved temperature sensors"); server.sendHeader("Location", String("/temperature"), true); @@ -1068,7 +1068,7 @@ void AmsWebServer::handleSave() { printI("Saving configuration now..."); - if (debugger->isActive(RemoteDebug::DEBUG)) config->print(debugger); + //if (debugger->isActive(RemoteDebug::DEBUG)) config->print(debugger); if (config->save()) { printI("Successfully saved."); if(config->isWifiChanged()) {