From 58a244ab2a9b6dc0ff68c4dd21f47edcb7071044 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 8 Jun 2019 22:35:37 +0200 Subject: [PATCH] clear list on autodetect --- lib/MyESP/MyESP.cpp | 2 +- src/ems-esp.cpp | 1 + src/ems.cpp | 7 +++++++ src/ems.h | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 6fe738f94..e3303ba9e 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -945,7 +945,7 @@ void MyESP::showSystemStats() { myDebug_P(PSTR(" [MEM] Firmware size: %d"), ESP.getSketchSize()); myDebug_P(PSTR(" [MEM] Max OTA size: %d"), (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); myDebug_P(PSTR(" [MEM] OTA Reserved: %d"), 4 * SPI_FLASH_SEC_SIZE); - myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); + //myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); myDebug_P(PSTR("")); } diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index e355d537b..b85607069 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -964,6 +964,7 @@ void startDeviceScan() { regularUpdatesTimer.detach(); publishSensorValuesTimer.detach(); scanDevices_count = 1; // starts at 1 + ems_clearDeviceList(); // empty the current list ems_setLogging(EMS_SYS_LOGGING_NONE); myDebug_P(PSTR("Starting a deep EMS device scan. This can take up to 2 minutes. Please wait...")); scanThermostat.attach_ms(SCANDEVICES_TIME, do_scanDevices); diff --git a/src/ems.cpp b/src/ems.cpp index 310e3f36f..3f1759f57 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1529,6 +1529,13 @@ void _process_RCTime(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Thermostat.year = _toByte(0); } +/* + * Clear devices list + */ +void ems_clearDeviceList() { + Devices.clear(); +} + /* * add an EMS device to our list of detected devices */ diff --git a/src/ems.h b/src/ems.h index 8464c914d..e4a763b8a 100644 --- a/src/ems.h +++ b/src/ems.h @@ -314,6 +314,7 @@ void ems_setWarmWaterModeComfort(uint8_t comfort); bool ems_checkEMSBUSAlive(); void ems_setModels(); void ems_setTxDisabled(bool b); +void ems_clearDeviceList(); void ems_getThermostatValues(); void ems_getBoilerValues();