diff --git a/examples/companion_radio/MyMesh.h b/examples/companion_radio/MyMesh.h index 5a76b0d6..d3089de9 100644 --- a/examples/companion_radio/MyMesh.h +++ b/examples/companion_radio/MyMesh.h @@ -72,6 +72,11 @@ /* -------------------------------------------------------------------------------------- */ +// SD-backed settings persistence (defined in main.cpp for T-Deck Pro) +#if defined(LilyGo_TDeck_Pro) && defined(HAS_SDCARD) + extern void backupSettingsToSD(); +#endif + #define REQ_TYPE_GET_STATUS 0x01 // same as _GET_STATS #define REQ_TYPE_KEEP_ALIVE 0x02 #define REQ_TYPE_GET_TELEMETRY_DATA 0x03 @@ -169,7 +174,12 @@ protected: } public: - void savePrefs() { _store->savePrefs(_prefs, sensors.node_lat, sensors.node_lon); } + void savePrefs() { + _store->savePrefs(_prefs, sensors.node_lat, sensors.node_lon); + #if defined(LilyGo_TDeck_Pro) && defined(HAS_SDCARD) + backupSettingsToSD(); + #endif + } private: void writeOKFrame(); @@ -190,8 +200,18 @@ private: void checkSerialInterface(); // helpers, short-cuts - void saveChannels() { _store->saveChannels(this); } - void saveContacts() { _store->saveContacts(this); } + void saveChannels() { + _store->saveChannels(this); + #if defined(LilyGo_TDeck_Pro) && defined(HAS_SDCARD) + backupSettingsToSD(); + #endif + } + void saveContacts() { + _store->saveContacts(this); + #if defined(LilyGo_TDeck_Pro) && defined(HAS_SDCARD) + backupSettingsToSD(); + #endif + } DataStore* _store; NodePrefs _prefs; diff --git a/examples/companion_radio/main.cpp b/examples/companion_radio/main.cpp index dbd7ee3e..7fa679c7 100644 --- a/examples/companion_radio/main.cpp +++ b/examples/companion_radio/main.cpp @@ -508,10 +508,7 @@ void setup() { // Set GPS enabled in both sensor manager and node prefs sensors.setSettingValue("gps", "1"); the_mesh.getNodePrefs()->gps_enabled = 1; - the_mesh.savePrefs(); - #if defined(LilyGo_TDeck_Pro) && defined(HAS_SDCARD) - backupSettingsToSD(); - #endif + the_mesh.savePrefs(); // SD backup triggered automatically MESH_DEBUG_PRINTLN("setup() - GPS enabled by default"); #endif