@@ -45,8 +45,6 @@ STATIC mp_obj_t badge_init_() {
45
45
STATIC MP_DEFINE_CONST_FUN_OBJ_0 (badge_init_obj , badge_init_ );
46
46
47
47
/*** nvs access ***/
48
-
49
- /* nvs: strings */
50
48
static void _nvs_check_namespace_key (const char * namespace , const char * key ) {
51
49
if (strlen (namespace ) == 0 || strlen (namespace ) > 15 ) {
52
50
mp_raise_msg (& mp_type_AttributeError , "Invalid namespace" );
@@ -56,6 +54,20 @@ static void _nvs_check_namespace_key(const char *namespace, const char *key) {
56
54
}
57
55
}
58
56
57
+ STATIC mp_obj_t badge_nvs_erase_key_ (mp_obj_t _namespace , mp_obj_t _key ) {
58
+ const char * namespace = mp_obj_str_get_str (_namespace );
59
+ const char * key = mp_obj_str_get_str (_key );
60
+ _nvs_check_namespace_key (namespace , key );
61
+
62
+ esp_err_t err = badge_nvs_erase_key (namespace , key );
63
+ if (err != ESP_OK ) {
64
+ mp_raise_msg (& mp_type_ValueError , "Failed to store data in nvs" );
65
+ }
66
+
67
+ return mp_const_none ;
68
+ }
69
+ STATIC MP_DEFINE_CONST_FUN_OBJ_2 (badge_nvs_erase_key_obj , badge_nvs_erase_key_ );
70
+ /* nvs: strings */
59
71
STATIC mp_obj_t badge_nvs_get_str_ (mp_uint_t n_args , const mp_obj_t * args ) {
60
72
const char * namespace = mp_obj_str_get_str (args [0 ]);
61
73
const char * key = mp_obj_str_get_str (args [1 ]);
@@ -339,6 +351,7 @@ STATIC const mp_rom_map_elem_t badge_module_globals_table[] = {
339
351
{MP_ROM_QSTR (MP_QSTR_eink_init ), MP_ROM_PTR (& badge_eink_init_obj )},
340
352
{MP_OBJ_NEW_QSTR (MP_QSTR_power_init ), (mp_obj_t )& badge_power_init_obj },
341
353
354
+ {MP_ROM_QSTR (MP_QSTR_nvs_erase_key ), MP_ROM_PTR (& badge_nvs_erase_key_obj )},
342
355
{MP_ROM_QSTR (MP_QSTR_nvs_get_str ), MP_ROM_PTR (& badge_nvs_get_str_obj )},
343
356
{MP_ROM_QSTR (MP_QSTR_nvs_set_str ), MP_ROM_PTR (& badge_nvs_set_str_obj )},
344
357
{MP_ROM_QSTR (MP_QSTR_nvs_get_u8 ), MP_ROM_PTR (& badge_nvs_get_u8_obj )},
0 commit comments