26 : namespace_(namespace_name)
28 esp_err_t err = nvs_flash_init();
29 if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND)
32 err = nvs_flash_init();
34 valid_ = (err == ESP_OK);
43 const char* namespace_;
46 ErrorCode Add(KeyBase& key)
override {
return Set(key, key.raw_data_); }
53 esp_err_t err = nvs_open(namespace_, NVS_READONLY, &handle);
56 size_t required_size = 0;
57 err = nvs_get_blob(handle, key.name_,
nullptr, &required_size);
58 if (err == ESP_ERR_NVS_NOT_FOUND)
64 if (required_size != key.raw_data_.size_)
70 err = nvs_get_blob(handle, key.name_, key.raw_data_.addr_, &required_size);
75 ErrorCode Set(KeyBase& key, RawData data)
override
80 esp_err_t err = nvs_open(namespace_, NVS_READWRITE, &handle);
83 err = nvs_set_blob(handle, key.name_, data.addr_, data.size_);
90 err = nvs_commit(handle);