From cd8711f50734cf595437e4669a20eb42c923b7a5 Mon Sep 17 00:00:00 2001 From: Kevin Le Date: Thu, 16 Jul 2026 19:31:39 +0700 Subject: [PATCH] Show hours and minutes in PowerSaving GPS and add _sensors->powersaving_enabled --- src/helpers/CommonCLI.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/helpers/CommonCLI.cpp b/src/helpers/CommonCLI.cpp index 0f1fa699..77f7a13d 100644 --- a/src/helpers/CommonCLI.cpp +++ b/src/helpers/CommonCLI.cpp @@ -438,13 +438,18 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, char* command, char* re if (_prefs->powersaving_enabled && l->getGPSPowerSaving()) { // GPS Power Saving if (enabled) { - sprintf(reply, "on (powersaving, sleep in %lum), %s, %s, %d sats", - (l->getNextGPSOff() - millis()) / 60000UL, - active?"active":"deactivated", - fix?"fix":"no fix", + unsigned long mins = (l->getNextGPSOff() - millis()) / 60000UL; + sprintf(reply, "on (powersaving, sleep in %luh %lum), %s, %s, %d sats", + mins / 60UL, + mins % 60UL, + active ? "active" : "deactivated", + fix ? "fix" : "no fix", sats); } else { - sprintf(reply, "off (powersaving, wake in %lum)", (l->getNextGPSOn() - millis()) / 60000UL); + unsigned long mins = (l->getNextGPSOn() - millis()) / 60000UL; + sprintf(reply, "off (powersaving, wake in %luh %lum)", + mins / 60UL, + mins % 60UL); } // "last sync" from GPS @@ -472,10 +477,12 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, char* command, char* re } else if (memcmp(command, "powersaving on", 14) == 0) { #if defined(NRF52_PLATFORM) _prefs->powersaving_enabled = 1; + _sensors->powersaving_enabled = 1; savePrefs(); strcpy(reply, "on - Immediate effect"); #elif defined(ESP32) && !defined(WITH_BRIDGE) _prefs->powersaving_enabled = 1; + _sensors->powersaving_enabled = 1; savePrefs(); strcpy(reply, "on - After 2 minutes"); #elif defined(WITH_BRIDGE) @@ -485,6 +492,7 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, char* command, char* re #endif } else if (memcmp(command, "powersaving off", 15) == 0) { _prefs->powersaving_enabled = 0; + _sensors->powersaving_enabled = 0; savePrefs(); strcpy(reply, "off"); } else if (memcmp(command, "powersaving", 11) == 0) {