From c5c5835acc446f7e6c6d94f5d85d303d56c58b2d Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 12 Feb 2020 18:14:33 -0500 Subject: [PATCH] add new command to erase wifi manager's config - release command: nvs_erase_wifi_manager --- components/cmd_nvs/cmd_nvs.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/components/cmd_nvs/cmd_nvs.c b/components/cmd_nvs/cmd_nvs.c index bbd59600..9d2f1470 100644 --- a/components/cmd_nvs/cmd_nvs.c +++ b/components/cmd_nvs/cmd_nvs.c @@ -404,6 +404,26 @@ static int erase_namespace(int argc, char **argv) return 0; } +static int erase_wifi_manager(int argc, char **argv) +{ + nvs_handle nvs; + esp_err_t err = nvs_open("config", NVS_READWRITE, &nvs); + if (err == ESP_OK) { + err = nvs_erase_all(nvs); + if (err == ESP_OK) { + err = nvs_commit(nvs); + } + } + nvs_close(nvs); + if (err != ESP_OK) { + ESP_LOGE(TAG, "wifi manager configuration was not erase. %s", esp_err_to_name(err)); + return 1; + } + else { + ESP_LOGW(TAG, "Wifi manager configuration was erased"); + } + return 0; +} static int list(const char *part, const char *name, const char *str_type) @@ -502,6 +522,13 @@ void register_nvs() .func = &erase_namespace, .argtable = &erase_all_args }; + const esp_console_cmd_t erase_wifimanager_cmd = { + .command = "nvs_erase_wifi_manager", + .help = "Erases wifi_manager's config", + .hint = NULL, + .func = &erase_wifi_manager, + .argtable = NULL + }; const esp_console_cmd_t list_entries_cmd = { @@ -519,6 +546,8 @@ void register_nvs() ESP_ERROR_CHECK(esp_console_cmd_register(&get_cmd)); ESP_ERROR_CHECK(esp_console_cmd_register(&erase_cmd)); ESP_ERROR_CHECK(esp_console_cmd_register(&erase_namespace_cmd)); + ESP_ERROR_CHECK(esp_console_cmd_register(&erase_wifimanager_cmd)); + } #ifdef __cplusplus extern }