From 557a328409b9a4d4617606c8b04679ebee885b1f Mon Sep 17 00:00:00 2001 From: minacode Date: Mon, 21 Nov 2022 00:03:09 +0100 Subject: changed to bool --- src/components/battery/BatteryController.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/components/battery/BatteryController.cpp') diff --git a/src/components/battery/BatteryController.cpp b/src/components/battery/BatteryController.cpp index 79829360..cdcc766a 100644 --- a/src/components/battery/BatteryController.cpp +++ b/src/components/battery/BatteryController.cpp @@ -86,15 +86,20 @@ void Battery::SaadcEventHandler(nrfx_saadc_evt_t const* p_event) { newPercent = std::min(aprox.GetValue(voltage), isCharging ? uint8_t {99} : uint8_t {100}); } + if (isPowerPresent) { + batteryLowNotified = false; + } + if ((isPowerPresent && newPercent > percentRemaining) || (!isPowerPresent && newPercent < percentRemaining) || firstMeasurement) { firstMeasurement = false; - lastPercentRemaining = percentRemaining; percentRemaining = newPercent; systemTask->PushMessage(System::Messages::BatteryPercentageUpdated); + // warn about low battery when not charging and below threshold - if (!isPowerPresent && BatteryIsLow() && lastPercentRemaining > lowBatteryThreshold) { + if (BatteryIsLow() && !isPowerPresent && !batteryLowNotified) { systemTask->PushMessage(System::Messages::LowBattery); + batteryLowNotified = true; } } -- cgit v1.2.3