implement reset via back button

Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
2026-01-18 10:58:24 +01:00
parent 1fbc28a628
commit 7a73fc4b7b
4 changed files with 108 additions and 4 deletions

View File

@@ -28,6 +28,15 @@ extern "C"
bool initialized;
} persistence_manager_t;
/**
* @brief Erases the entire NVS flash (factory reset).
*
* Warning: This will remove all stored data and namespaces!
*
* @return esp_err_t ESP_OK on success, otherwise error code.
*/
esp_err_t persistence_manager_factory_reset(void);
/**
* @brief Initialize the persistence manager with a given NVS namespace.
*

View File

@@ -1,9 +1,21 @@
#include "persistence_manager.h"
#include <esp_log.h>
#include <string.h>
#define TAG "persistence_manager"
esp_err_t persistence_manager_factory_reset(void)
{
// Erase the entire NVS flash (factory reset)
esp_err_t err = nvs_flash_erase();
if (err != ESP_OK)
{
ESP_LOGE(TAG, "Factory reset failed: %s", esp_err_to_name(err));
}
return err;
}
esp_err_t persistence_manager_init(persistence_manager_t *pm, const char *nvs_namespace)
{
if (!pm)