diff --git a/radio/src/sdcard.h b/radio/src/sdcard.h index 5e3c1689f..862057f02 100644 --- a/radio/src/sdcard.h +++ b/radio/src/sdcard.h @@ -62,6 +62,7 @@ const char RADIO_MODELSLIST_PATH[] = RADIO_PATH PATH_SEPARATOR "models.txt"; const char RADIO_SETTINGS_PATH[] = RADIO_PATH PATH_SEPARATOR RADIO_FILENAME; #if defined(SDCARD_YAML) const char MODELSLIST_YAML_PATH[] = MODELS_PATH PATH_SEPARATOR "models.yml"; +const char FALLBACK_MODELSLIST_YAML_PATH[] = RADIO_PATH PATH_SEPARATOR "models.yml"; const char RADIO_SETTINGS_YAML_PATH[] = RADIO_PATH PATH_SEPARATOR "radio.yml"; #endif #define SPLASH_FILE "splash.png" diff --git a/radio/src/storage/modelslist.cpp b/radio/src/storage/modelslist.cpp index 90e16820a..5936df294 100644 --- a/radio/src/storage/modelslist.cpp +++ b/radio/src/storage/modelslist.cpp @@ -352,6 +352,10 @@ bool ModelsList::loadYaml() { char line[LEN_MODELS_IDX_LINE+1]; FRESULT result = f_open(&file, MODELSLIST_YAML_PATH, FA_OPEN_EXISTING | FA_READ); + if (result != FR_OK) { + result = f_open(&file, FALLBACK_MODELSLIST_YAML_PATH, FA_OPEN_EXISTING | FA_READ); + } + if (result == FR_OK) { // YAML reader TRACE("YAML modelslist reader"); @@ -395,7 +399,8 @@ bool ModelsList::load(Format fmt) FILINFO fno; if (fmt == Format::txt || (fmt == Format::yaml_txt && - f_stat(MODELSLIST_YAML_PATH, &fno) != FR_OK)) { + f_stat(MODELSLIST_YAML_PATH, &fno) != FR_OK && + f_stat(FALLBACK_MODELSLIST_YAML_PATH, &fno) != FR_OK)) { res = loadTxt(); } else { res = loadYaml(); diff --git a/radio/src/storage/modelslist.h b/radio/src/storage/modelslist.h index c3d0c0664..faa7fdfa2 100644 --- a/radio/src/storage/modelslist.h +++ b/radio/src/storage/modelslist.h @@ -108,7 +108,7 @@ public: #if defined(SDCARD_YAML) yaml, yaml_txt, - load_default = yaml_txt, + load_default = yaml, #else load_default = txt, #endif