From 370c6cd9fc3bdc8c080b2b42e125dc723b592482 Mon Sep 17 00:00:00 2001 From: arovak Date: Fri, 29 May 2020 19:23:33 +0200 Subject: [PATCH] add configclear function --- src/hasp_config.cpp | 19 +++++++++++++++++++ src/hasp_config.h | 1 + src/hasp_dispatch.cpp | 3 +++ 3 files changed, 23 insertions(+) diff --git a/src/hasp_config.cpp b/src/hasp_config.cpp index 2def1d73..5b601b34 100644 --- a/src/hasp_config.cpp +++ b/src/hasp_config.cpp @@ -374,6 +374,25 @@ void configSetup() //#endif } +void configClear() +{ + #if defined(STM32F4xx) + // Method 2 + Log.verbose(F("CONF: Clearing EEPROM")); + char buffer[1024 + 128]; + memset(buffer, 1 ,sizeof(buffer)); + if(sizeof(buffer) > 0) { + uint16_t i; + for(i = 0; i < sizeof(buffer); i++) eeprom_buffered_write_byte(i, buffer[i]); + eeprom_buffered_write_byte(i, 0); + eeprom_buffer_flush(); + Log.verbose(F("CONF: [SUCCESS] Cleared EEPROM")); + } else { + Log.error(F("CONF: Failed to clear to EEPROM")); + } +#endif +} + void configOutput(const JsonObject & settings) { String output((char *)0); diff --git a/src/hasp_config.h b/src/hasp_config.h index ee425190..9ccb9b09 100644 --- a/src/hasp_config.h +++ b/src/hasp_config.h @@ -38,6 +38,7 @@ void configStop(void); void configSetConfig(JsonObject & settings); void configGetConfig(JsonDocument & settings); void configWriteConfig(); +void configClear(void); void configOutput(const JsonObject & settings); bool configSet(int8_t & value, const JsonVariant & setting, const char * name); diff --git a/src/hasp_dispatch.cpp b/src/hasp_dispatch.cpp index cec24e28..94e5ae53 100644 --- a/src/hasp_dispatch.cpp +++ b/src/hasp_dispatch.cpp @@ -119,6 +119,9 @@ void dispatchAttribute(String strTopic, const char * payload) } else if(strTopic == F("update")) { dispatchWebUpdate(payload); + } else if(strTopic == F("clearconfig")) { + configClear(); + } else if(strTopic == F("setupap")) { // haspDisplayAP(String(F("HASP-ABC123")).c_str(), String(F("haspadmin")).c_str());