From bc10a6c0de28f10ba9b0f32ce75ef46d1a3a1e85 Mon Sep 17 00:00:00 2001 From: e2002 Date: Tue, 27 Dec 2022 13:03:47 +0300 Subject: [PATCH] last_station --- yoRadio/src/core/config.cpp | 6 ++++++ yoRadio/src/core/config.h | 1 + yoRadio/src/core/controls.cpp | 2 ++ 3 files changed, 9 insertions(+) diff --git a/yoRadio/src/core/config.cpp b/yoRadio/src/core/config.cpp index c5af663..bf0a3af 100644 --- a/yoRadio/src/core/config.cpp +++ b/yoRadio/src/core/config.cpp @@ -23,6 +23,8 @@ void Config::init() { #endif eepromRead(EEPROM_START, store); if (store.config_set != 4262) setDefaults(); + backupLastStation = store.lastStation; + Serial.print("Config::init, backupLastStation=\t"); Serial.println(backupLastStation); if(store.play_mode==80) store.play_mode=PM_WEB; //if (!SPIFFS.begin(false, "/spiffs", 30)) { @@ -188,7 +190,11 @@ uint16_t Config::getTimezoneOffset() { } void Config::save() { + uint16_t ls = store.lastStation; + if(store.play_mode==PM_SDCARD) store.lastStation = backupLastStation; + if(store.play_mode==PM_WEB) backupLastStation = store.lastStation; eepromWrite(EEPROM_START, store); + store.lastStation = ls; } #if IR_PIN!=255 diff --git a/yoRadio/src/core/config.h b/yoRadio/src/core/config.h index dba2035..4ae9d0d 100644 --- a/yoRadio/src/core/config.h +++ b/yoRadio/src/core/config.h @@ -153,6 +153,7 @@ class Config { byte ssidsCount; uint16_t sleepfor; uint32_t sdResumePos; + uint16_t backupLastStation; public: Config() {}; void save(); diff --git a/yoRadio/src/core/controls.cpp b/yoRadio/src/core/controls.cpp index bc2660b..21972f2 100644 --- a/yoRadio/src/core/controls.cpp +++ b/yoRadio/src/core/controls.cpp @@ -500,10 +500,12 @@ void onBtnClick(int id) { } case EVT_BTNMODE: { if(SDC_CS==255) break; + if(config.store.play_mode==PM_SDCARD) config.store.lastStation = config.backupLastStation; config.store.play_mode++; if(config.store.play_mode > MAX_PLAY_MODE){ config.store.play_mode=0; } + config.save(); ESP.restart(); break;