summaryrefslogtreecommitdiff
path: root/src/components/battery/BatteryController.cpp
diff options
context:
space:
mode:
authorminacode <minamoto9@web.de>2022-11-21 00:03:09 +0100
committerJF <JF002@users.noreply.github.com>2022-12-27 12:13:52 +0100
commit557a328409b9a4d4617606c8b04679ebee885b1f (patch)
treed5c90bdde090aee84fb9be9b13246d3f7b87fbe1 /src/components/battery/BatteryController.cpp
parent51d818b7742a0224abdbc9f55885ada9c353d6df (diff)
changed to bool
Diffstat (limited to 'src/components/battery/BatteryController.cpp')
-rw-r--r--src/components/battery/BatteryController.cpp9
1 files changed, 7 insertions, 2 deletions
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;
}
}