optimize AP mode
Some checks failed
ESP-IDF Build / build (esp32c6, release-v5.4) (push) Failing after 6m44s
ESP-IDF Build / build (esp32c6, release-v5.5) (push) Failing after 3m59s
ESP-IDF Build / build (esp32s3, release-v5.4) (push) Failing after 3m51s
ESP-IDF Build / build (esp32s3, release-v5.5) (push) Failing after 3m52s

- save wifi data
- show status led

Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
2026-01-15 00:36:19 +01:00
parent bccfb80791
commit 1fbc28a628
14 changed files with 213 additions and 257 deletions

View File

@@ -1,5 +1,6 @@
#pragma once
#include <esp_err.h>
#include <nvs.h>
#include <nvs_flash.h>
#include <stdbool.h>
@@ -33,14 +34,14 @@ extern "C"
* @param pm Pointer to the persistence manager structure.
* @param nvs_namespace Namespace to use for NVS operations.
*/
void persistence_manager_init(persistence_manager_t *pm, const char *nvs_namespace);
esp_err_t persistence_manager_init(persistence_manager_t *pm, const char *nvs_namespace);
/**
* @brief Deinitialize the persistence manager and release resources.
*
* @param pm Pointer to the persistence manager structure.
*/
void persistence_manager_deinit(persistence_manager_t *pm);
esp_err_t persistence_manager_deinit(persistence_manager_t *pm);
/**
* @brief Check if the persistence manager is initialized.

View File

@@ -4,10 +4,10 @@
#define TAG "persistence_manager"
void persistence_manager_init(persistence_manager_t *pm, const char *nvs_namespace)
esp_err_t persistence_manager_init(persistence_manager_t *pm, const char *nvs_namespace)
{
if (!pm)
return;
return ESP_ERR_INVALID_ARG;
strncpy(pm->nvs_namespace, nvs_namespace ? nvs_namespace : "config", sizeof(pm->nvs_namespace) - 1);
pm->nvs_namespace[sizeof(pm->nvs_namespace) - 1] = '\0';
pm->initialized = false;
@@ -16,20 +16,20 @@ void persistence_manager_init(persistence_manager_t *pm, const char *nvs_namespa
{
pm->initialized = true;
ESP_LOGI(TAG, "Initialized with namespace: %s", pm->nvs_namespace);
return ESP_OK;
}
else
{
ESP_LOGE(TAG, "Failed to open NVS handle: %s", esp_err_to_name(err));
}
ESP_LOGE(TAG, "Failed to open NVS handle: %s", esp_err_to_name(err));
return err;
}
void persistence_manager_deinit(persistence_manager_t *pm)
esp_err_t persistence_manager_deinit(persistence_manager_t *pm)
{
if (pm && pm->initialized)
{
nvs_close(pm->nvs_handle);
pm->initialized = false;
}
return ESP_OK;
}
bool persistence_manager_is_initialized(const persistence_manager_t *pm)