8#ifndef NVS_MANAGER_INTERNAL_H
9#define NVS_MANAGER_INTERNAL_H
14#define NVS_MANAGER_CONFIG_VERSION (1U)
16#define NVS_MANAGER_CONFIG_NAMESPACE ("storage")
18#define NVS_MANAGER_CONFIG_KEY ("app_cfg")
20#define NVS_MANAGER_WRITE_CYCLE_PERIOD_US (30000000UL)
22#define NVS_MANAGER_CONFIG_LOCK_TIMEOUT_MS (500U)
39_Static_assert (
sizeof (
app_config_t) % 4 == 0,
"app_config_t size must be a multiple of 4");
#define NVS_MANAGER_MAX_MQTT_PASSWORD_SIZE
Definition nvs_manager.h:23
nvs_keys_t
NVS manager keys enum.
Definition nvs_manager.h:32
#define NVS_MANAGER_MAX_WIFI_PASSWORD_SIZE
Definition nvs_manager.h:27
#define NVS_MANAGER_MAX_MQTT_USER_SIZE
Definition nvs_manager.h:21
#define NVS_MANAGER_MAX_MQTT_URI_SIZE
Definition nvs_manager.h:19
#define NVS_MANAGER_MAX_WIFI_SSID_SIZE
Definition nvs_manager.h:25
static bool get_dirty_flag_helper(void)
Get configuration dirty flag.
Definition nvs_manager_internal.h:78
static void clear_dirty_flag_helper(void)
Clear configuration dirty flag.
Definition nvs_manager_internal.h:86
static void set_dirty_flag_helper(void)
Set configuration dirty flag.
Definition nvs_manager_internal.h:68
static nvs_manager_t nvs_instance
Definition nvs_manager_internal.h:63
NVS manager application config structure.
Definition nvs_manager_internal.h:27
uint32_t write_offset
Definition nvs_manager_internal.h:34
uint32_t last_id
Definition nvs_manager_internal.h:36
uint32_t version
Definition nvs_manager_internal.h:28
uint16_t crc16
Definition nvs_manager_internal.h:37
uint32_t replay_offset
Definition nvs_manager_internal.h:35
NVS manager keys map structure.
Definition nvs_manager_internal.h:44
size_t size
Definition nvs_manager_internal.h:47
nvs_keys_t key
Definition nvs_manager_internal.h:45
size_t offset
Definition nvs_manager_internal.h:46
NVS manager driver hooks.
Definition nvs_manager.h:47
NVS manager type structure.
Definition nvs_manager_internal.h:53
esp_timer_handle_t sync_timer_handle
Definition nvs_manager_internal.h:58
nvs_handle_t handle
Definition nvs_manager_internal.h:57
app_config_t app_config
Definition nvs_manager_internal.h:55
nvs_manager_ops_t * ops_ptr
Definition nvs_manager_internal.h:54
app_config_t shadow_app_config
Definition nvs_manager_internal.h:56
bool is_dirty
Definition nvs_manager_internal.h:59