diff --git a/libraries/Preferences/src/Preferences.cpp b/libraries/Preferences/src/Preferences.cpp index b3859a0e..81b9b198 100644 --- a/libraries/Preferences/src/Preferences.cpp +++ b/libraries/Preferences/src/Preferences.cpp @@ -468,3 +468,13 @@ size_t Preferences::getBytes(const char* key, void * buf, size_t maxLen){ } return len; } + +size_t Preferences::freeEntries() { + nvs_stats_t nvs_stats; + esp_err_t err = nvs_get_stats(NULL, &nvs_stats); + if(err){ + log_e("Failed to get nvs statistics"); + return 0; + } + return nvs_stats.free_entries; +} diff --git a/libraries/Preferences/src/Preferences.h b/libraries/Preferences/src/Preferences.h index cf98e8ef..e4872693 100644 --- a/libraries/Preferences/src/Preferences.h +++ b/libraries/Preferences/src/Preferences.h @@ -64,6 +64,7 @@ class Preferences { size_t getString(const char* key, char* value, size_t maxLen); String getString(const char* key, String defaultValue = String()); size_t getBytes(const char* key, void * buf, size_t maxLen); + size_t freeEntries(); }; #endif