@@ -51,10 +51,10 @@ void NVSClass::end(){
5151}
5252
5353/*
54- * Erase
54+ * Clear the storage
5555 * */
5656
57- bool NVSClass::erase (){
57+ bool NVSClass::clear (){
5858 if (!_started || _readOnly){
5959 return false ;
6060 }
@@ -66,7 +66,11 @@ bool NVSClass::erase(){
6666 return true ;
6767}
6868
69- bool NVSClass::erase (const char * key){
69+ /*
70+ * Remove the key
71+ * */
72+
73+ bool NVSClass::remove (const char * key){
7074 if (!_started || !key || _readOnly){
7175 return false ;
7276 }
@@ -82,7 +86,7 @@ bool NVSClass::erase(const char * key){
8286 * Write
8387 * */
8488
85- size_t NVSClass::writeChar (const char * key, int8_t value){
89+ size_t NVSClass::setChar (const char * key, int8_t value){
8690 if (!_started || !key || _readOnly){
8791 return 0 ;
8892 }
@@ -99,7 +103,7 @@ size_t NVSClass::writeChar(const char* key, int8_t value){
99103 return 1 ;
100104}
101105
102- size_t NVSClass::writeUChar (const char * key, uint8_t value){
106+ size_t NVSClass::setUChar (const char * key, uint8_t value){
103107 if (!_started || !key || _readOnly){
104108 return 0 ;
105109 }
@@ -116,7 +120,7 @@ size_t NVSClass::writeUChar(const char* key, uint8_t value){
116120 return 1 ;
117121}
118122
119- size_t NVSClass::writeShort (const char * key, int16_t value){
123+ size_t NVSClass::setShort (const char * key, int16_t value){
120124 if (!_started || !key || _readOnly){
121125 return 0 ;
122126 }
@@ -133,7 +137,7 @@ size_t NVSClass::writeShort(const char* key, int16_t value){
133137 return 2 ;
134138}
135139
136- size_t NVSClass::writeUShort (const char * key, uint16_t value){
140+ size_t NVSClass::setUShort (const char * key, uint16_t value){
137141 if (!_started || !key || _readOnly){
138142 return 0 ;
139143 }
@@ -150,7 +154,7 @@ size_t NVSClass::writeUShort(const char* key, uint16_t value){
150154 return 2 ;
151155}
152156
153- size_t NVSClass::writeInt (const char * key, int32_t value){
157+ size_t NVSClass::setInt (const char * key, int32_t value){
154158 if (!_started || !key || _readOnly){
155159 return 0 ;
156160 }
@@ -167,7 +171,7 @@ size_t NVSClass::writeInt(const char* key, int32_t value){
167171 return 4 ;
168172}
169173
170- size_t NVSClass::writeUInt (const char * key, uint32_t value){
174+ size_t NVSClass::setUInt (const char * key, uint32_t value){
171175 if (!_started || !key || _readOnly){
172176 return 0 ;
173177 }
@@ -184,7 +188,7 @@ size_t NVSClass::writeUInt(const char* key, uint32_t value){
184188 return 4 ;
185189}
186190
187- size_t NVSClass::writeLong (const char * key, int64_t value){
191+ size_t NVSClass::setLong (const char * key, int64_t value){
188192 if (!_started || !key || _readOnly){
189193 return 0 ;
190194 }
@@ -201,7 +205,7 @@ size_t NVSClass::writeLong(const char* key, int64_t value){
201205 return 8 ;
202206}
203207
204- size_t NVSClass::writeULong (const char * key, uint64_t value){
208+ size_t NVSClass::setULong (const char * key, uint64_t value){
205209 if (!_started || !key || _readOnly){
206210 return 0 ;
207211 }
@@ -218,7 +222,7 @@ size_t NVSClass::writeULong(const char* key, uint64_t value){
218222 return 8 ;
219223}
220224
221- size_t NVSClass::writeString (const char * key, const char * value){
225+ size_t NVSClass::setString (const char * key, const char * value){
222226 if (!_started || !key || !value || _readOnly){
223227 return 0 ;
224228 }
@@ -235,7 +239,11 @@ size_t NVSClass::writeString(const char* key, const char* value){
235239 return strlen (value);
236240}
237241
238- size_t NVSClass::writeBytes (const char * key, const void * value, size_t len){
242+ size_t NVSClass::setString (const char * key, const String value){
243+ return setString (key, value.c_str ());
244+ }
245+
246+ size_t NVSClass::setBytes (const char * key, const void * value, size_t len){
239247 if (!_started || !key || !value || !len || _readOnly){
240248 return 0 ;
241249 }
@@ -256,8 +264,8 @@ size_t NVSClass::writeBytes(const char* key, const void* value, size_t len){
256264 * Read
257265 * */
258266
259- int8_t NVSClass::readChar (const char * key){
260- int8_t value = 0 ;
267+ int8_t NVSClass::getChar (const char * key, const int8_t defaultValue ){
268+ int8_t value = defaultValue ;
261269 if (!_started || !key){
262270 return value;
263271 }
@@ -268,8 +276,8 @@ int8_t NVSClass::readChar(const char* key){
268276 return value;
269277}
270278
271- uint8_t NVSClass::readUChar (const char * key){
272- uint8_t value = 0 ;
279+ uint8_t NVSClass::getUChar (const char * key, const uint8_t defaultValue ){
280+ uint8_t value = defaultValue ;
273281 if (!_started || !key){
274282 return value;
275283 }
@@ -280,8 +288,8 @@ uint8_t NVSClass::readUChar(const char* key){
280288 return value;
281289}
282290
283- int16_t NVSClass::readShort (const char * key){
284- int16_t value = 0 ;
291+ int16_t NVSClass::getShort (const char * key, const int16_t defaultValue ){
292+ int16_t value = defaultValue ;
285293 if (!_started || !key){
286294 return value;
287295 }
@@ -292,8 +300,8 @@ int16_t NVSClass::readShort(const char* key){
292300 return value;
293301}
294302
295- uint16_t NVSClass::readUShort (const char * key){
296- uint16_t value = 0 ;
303+ uint16_t NVSClass::getUShort (const char * key, const uint16_t defaultValue ){
304+ uint16_t value = defaultValue ;
297305 if (!_started || !key){
298306 return value;
299307 }
@@ -304,8 +312,8 @@ uint16_t NVSClass::readUShort(const char* key){
304312 return value;
305313}
306314
307- int32_t NVSClass::readInt (const char * key){
308- int32_t value = 0 ;
315+ int32_t NVSClass::getInt (const char * key, const int32_t defaultValue ){
316+ int32_t value = defaultValue ;
309317 if (!_started || !key){
310318 return value;
311319 }
@@ -316,8 +324,8 @@ int32_t NVSClass::readInt(const char* key){
316324 return value;
317325}
318326
319- uint32_t NVSClass::readUInt (const char * key){
320- uint32_t value = 0 ;
327+ uint32_t NVSClass::getUInt (const char * key, const uint32_t defaultValue ){
328+ uint32_t value = defaultValue ;
321329 if (!_started || !key){
322330 return value;
323331 }
@@ -328,8 +336,8 @@ uint32_t NVSClass::readUInt(const char* key){
328336 return value;
329337}
330338
331- int64_t NVSClass::readLong (const char * key){
332- int64_t value = 0 ;
339+ int64_t NVSClass::getLong (const char * key, const int64_t defaultValue ){
340+ int64_t value = defaultValue ;
333341 if (!_started || !key){
334342 return value;
335343 }
@@ -340,8 +348,8 @@ int64_t NVSClass::readLong(const char* key){
340348 return value;
341349}
342350
343- uint64_t NVSClass::readULong (const char * key){
344- uint64_t value = 0 ;
351+ uint64_t NVSClass::getULong (const char * key, const uint64_t defaultValue ){
352+ uint64_t value = defaultValue ;
345353 if (!_started || !key){
346354 return value;
347355 }
@@ -352,28 +360,50 @@ uint64_t NVSClass::readULong(const char* key){
352360 return value;
353361}
354362
355- String NVSClass::readString (const char * key){
363+ size_t NVSClass::getString (const char * key, char * value, const size_t maxLen){
364+ size_t len = 0 ;
365+ if (!_started || !key || !value || !maxLen){
366+ return 0 ;
367+ }
368+ esp_err_t err = nvs_get_str (_handle, key, NULL , &len);
369+ if (err){
370+ log_e (" nvs_get_str len fail: %s %s" , key, nvs_error (err));
371+ return 0 ;
372+ }
373+ if (len > maxLen){
374+ log_e (" not enough space in value: %u < %u" , maxLen, len);
375+ return 0 ;
376+ }
377+ err = nvs_get_str (_handle, key, value, &len);
378+ if (err){
379+ log_e (" nvs_get_str fail: %s %s" , key, nvs_error (err));
380+ return 0 ;
381+ }
382+ return len;
383+ }
384+
385+ String NVSClass::getString (const char * key, const String defaultValue){
356386 char * value = NULL ;
357387 size_t len = 0 ;
358388 if (!_started || !key){
359- return String ();
389+ return String (defaultValue );
360390 }
361391 esp_err_t err = nvs_get_str (_handle, key, value, &len);
362392 if (err){
363393 log_e (" nvs_get_str len fail: %s %s" , key, nvs_error (err));
364- return String ();
394+ return String (defaultValue );
365395 }
366396 char buf[len];
367397 value = buf;
368398 err = nvs_get_str (_handle, key, value, &len);
369399 if (err){
370400 log_e (" nvs_get_str fail: %s %s" , key, nvs_error (err));
371- return String ();
401+ return String (defaultValue );
372402 }
373403 return String (buf);
374404}
375405
376- size_t NVSClass::readBytes (const char * key, void * buf, size_t maxLen){
406+ size_t NVSClass::getBytes (const char * key, void * buf, size_t maxLen){
377407 size_t len = 0 ;
378408 if (!_started || !key || !buf || !maxLen){
379409 return 0 ;
0 commit comments