Refactor: Add nconfig_value_is_not_set helper and simplify default value checks

Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
This commit is contained in:
2025-09-01 10:09:06 +09:00
parent 0af0d8d465
commit 58879931b8
2 changed files with 10 additions and 3 deletions

View File

@@ -31,6 +31,8 @@ enum nconfig_type
NCONFIG_TYPE_MAX, NCONFIG_TYPE_MAX,
}; };
bool nconfig_value_is_not_set(enum nconfig_type type);
// Write config // Write config
esp_err_t nconfig_write(enum nconfig_type type, const char* data); esp_err_t nconfig_write(enum nconfig_type type, const char* data);

View File

@@ -52,9 +52,7 @@ esp_err_t init_nconfig()
for (int i = 0; i < sizeof(default_values) / sizeof(default_values[0]); ++i) for (int i = 0; i < sizeof(default_values) / sizeof(default_values[0]); ++i)
{ {
// check key is not exist or value is null // check key is not exist or value is null
size_t len = 0; if (nconfig_value_is_not_set(default_values[i].type))
nconfig_get_str_len(default_values[i].type, &len);
if (len <= 1) // nconfig_get_str_len return err or value is '\0'
{ {
if (nconfig_write(default_values[i].type, default_values[i].value) != ESP_OK) if (nconfig_write(default_values[i].type, default_values[i].value) != ESP_OK)
// if nconfig write fail, system panic // if nconfig write fail, system panic
@@ -65,6 +63,13 @@ esp_err_t init_nconfig()
return ESP_OK; return ESP_OK;
} }
bool nconfig_value_is_not_set(enum nconfig_type type)
{
size_t len = 0;
esp_err_t err = nconfig_get_str_len(type, &len);
return (err != ESP_OK || len <= 1);
}
esp_err_t nconfig_write(enum nconfig_type type, const char* data) esp_err_t nconfig_write(enum nconfig_type type, const char* data)
{ {
return nvs_set_str(handle, keys[type], data); return nvs_set_str(handle, keys[type], data);