|
@@ -157,7 +157,7 @@ esp_err_t actrls_init(const char *profile_name) {
|
|
|
|
|
|
// set infrared GPIO if any
|
|
|
parse_set_GPIO(set_ir_gpio);
|
|
|
-
|
|
|
+
|
|
|
if (!err) return actrls_init_json(profile_name, true);
|
|
|
else return err;
|
|
|
}
|
|
@@ -508,11 +508,13 @@ static esp_err_t actrls_init_json(const char *profile_name, bool create) {
|
|
|
char *config;
|
|
|
const cJSON *button;
|
|
|
|
|
|
- if (!profile_name || !*profile_name) return ESP_OK;
|
|
|
+ if (!profile_name) return ESP_OK;
|
|
|
|
|
|
- config = config_alloc_get_default(NVS_TYPE_STR, profile_name, NULL, 0);
|
|
|
- if(!config) return ESP_FAIL;
|
|
|
-
|
|
|
+ config = config_alloc_get_str(profile_name, NULL, CONFIG_AUDIO_CONTROLS);
|
|
|
+
|
|
|
+ if (!config) return ESP_FAIL;
|
|
|
+ else if (!*config) return ESP_OK;
|
|
|
+
|
|
|
ESP_LOGD(TAG,"Parsing JSON structure %s", config);
|
|
|
cJSON *buttons = cJSON_Parse(config);
|
|
|
if (buttons == NULL) {
|
|
@@ -526,6 +528,7 @@ static esp_err_t actrls_init_json(const char *profile_name, bool create) {
|
|
|
if(!cur_config) {
|
|
|
ESP_LOGE(TAG,"Config buffer was empty. ");
|
|
|
cJSON_Delete(buttons);
|
|
|
+ free(config);
|
|
|
return ESP_FAIL;
|
|
|
}
|
|
|
ESP_LOGD(TAG,"Processing button definitions. ");
|
|
@@ -557,6 +560,7 @@ static esp_err_t actrls_init_json(const char *profile_name, bool create) {
|
|
|
// the last init that completes will assigh the first json config object found, which will match
|
|
|
// the default config from nvs.
|
|
|
json_config = config_root;
|
|
|
+ free(config);
|
|
|
return err;
|
|
|
}
|
|
|
|