Modbus Vault v1.0
Loading...
Searching...
No Matches
nvs_manager_internal.h
Go to the documentation of this file.
1
8#ifndef NVS_MANAGER_INTERNAL_H
9#define NVS_MANAGER_INTERNAL_H
10
11#include "nvs_manager.h"
12
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)
23
27typedef struct {
28 uint32_t version;
34 uint32_t write_offset;
35 uint32_t replay_offset;
36 uint32_t last_id;
37 uint16_t crc16;
39_Static_assert (sizeof (app_config_t) % 4 == 0, "app_config_t size must be a multiple of 4");
40
44typedef struct {
46 size_t offset;
47 size_t size;
48} key_map_t;
49
61
64
68static inline void set_dirty_flag_helper (void)
69{
71}
72
78static inline bool get_dirty_flag_helper (void)
79{
81}
82
86static inline void clear_dirty_flag_helper (void)
87{
88 nvs_instance.is_dirty = false;
89}
90
91#endif
NVS abstraction layer.
#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