#include #include "esp_err.h" #include "nvs_flash.h" namespace nvs { void init() { esp_err_t ret = nvs_flash_init(); if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { if (nvs_flash_erase() != ESP_OK) throw std::runtime_error("Failed to erase NVS"); ret = nvs_flash_init(); } if (ret != ESP_OK) throw std::runtime_error("Failed to initialize NVS"); } } // namespace nvs