From 49f3fba14deb72bce8b9f85a6b597c49afc9d989 Mon Sep 17 00:00:00 2001 From: yuanjm Date: Thu, 18 Feb 2021 14:57:15 +0800 Subject: [PATCH] wifi_provisioning: Add an API for resetting provisioning config --- .../include/wifi_provisioning/manager.h | 10 ++++++++++ components/wifi_provisioning/src/manager.c | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/components/wifi_provisioning/include/wifi_provisioning/manager.h b/components/wifi_provisioning/include/wifi_provisioning/manager.h index 2edd43fee9..e1b978162a 100644 --- a/components/wifi_provisioning/include/wifi_provisioning/manager.h +++ b/components/wifi_provisioning/include/wifi_provisioning/manager.h @@ -553,6 +553,16 @@ esp_err_t wifi_prov_mgr_get_wifi_disconnect_reason(wifi_prov_sta_fail_reason_t * */ esp_err_t wifi_prov_mgr_configure_sta(wifi_config_t *wifi_cfg); +/** + * @brief Reset Wi-Fi provisioning config + * + * Calling this API will restore WiFi stack persistent settings to default values. + * + * @return + * - ESP_OK : Reset provisioning config successfully + * - ESP_FAIL : Failed to reset provisioning config + */ +esp_err_t wifi_prov_mgr_reset_provisioning(void); #ifdef __cplusplus } #endif diff --git a/components/wifi_provisioning/src/manager.c b/components/wifi_provisioning/src/manager.c index e3977cd6e7..a9431eedb7 100644 --- a/components/wifi_provisioning/src/manager.c +++ b/components/wifi_provisioning/src/manager.c @@ -1553,3 +1553,15 @@ void wifi_prov_mgr_stop_provisioning(void) RELEASE_LOCK(prov_ctx_lock); } + +esp_err_t wifi_prov_mgr_reset_provisioning(void) +{ + esp_err_t ret = esp_wifi_restore(); + + if (ret != ESP_OK) { + ESP_LOGE(TAG, "esp_wifi_restore fail, ret is %d", ret); + ret = ESP_FAIL; + } + + return ret; +}