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:
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user