Skip to content

Commit 1037882

Browse files
committed
nvs read zeroes on ENOENT
1 parent 41eb346 commit 1037882

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

src/system/system.c

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,30 @@ void reboot_counter_write(uint8_t reboot_counter) {
6969
// retained not implemented
7070
void sys_write(uint16_t id, void* retained_ptr, const void* data, size_t len) {
7171
sys_nvs_init();
72-
nvs_write(&fs, id, data, len);
72+
int err = nvs_write(&fs, id, data, len);
73+
if (err < 0)
74+
{
75+
LOG_ERR("Failed to write to NVS, error: %d", err);
76+
return;
77+
}
7378
}
7479

7580
// reading from nvs
7681
void sys_read(uint16_t id, void* data, size_t len) {
7782
sys_nvs_init();
78-
nvs_read(&fs, id, data, len);
83+
int err = nvs_read(&fs, id, data, len);
84+
if (err < 0)
85+
{
86+
if (err == -ENOENT) // suppress ENOENT
87+
{
88+
LOG_DBG("No entry exists for ID %d, read data set to zero", id);
89+
}
90+
else
91+
{
92+
LOG_ERR("Failed to read from NVS, error: %d", err);
93+
LOG_WRN("Read data set to zero");
94+
}
95+
memset(data, 0, len);
96+
return;
97+
}
7998
}

0 commit comments

Comments
 (0)