diff options
| author | minacode <minamoto9@web.de> | 2022-10-03 12:15:37 +0200 |
|---|---|---|
| committer | JF <JF002@users.noreply.github.com> | 2022-12-27 12:13:52 +0100 |
| commit | ccc8cee07a3a702b31ab3a0f2f93950f0d176198 (patch) | |
| tree | b62aa2ebd2e15d45721fef81d2ebe8b23f51afe8 /src/components | |
| parent | 29673892c282b51700fbb1899e6eecf3e0b90c61 (diff) | |
added low battery message
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/battery/BatteryController.cpp | 6 | ||||
| -rw-r--r-- | src/components/battery/BatteryController.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/components/battery/BatteryController.cpp b/src/components/battery/BatteryController.cpp index dc15612e..95a30792 100644 --- a/src/components/battery/BatteryController.cpp +++ b/src/components/battery/BatteryController.cpp @@ -88,10 +88,16 @@ void Battery::SaadcEventHandler(nrfx_saadc_evt_t const* p_event) { if ((isPowerPresent && newPercent > percentRemaining) || (!isPowerPresent && newPercent < percentRemaining) || firstMeasurement) { firstMeasurement = false; + lastPercentRemaining = percentRemaining; percentRemaining = newPercent; systemTask->PushMessage(System::Messages::BatteryPercentageUpdated); } + constexpr uint8_t lowBatteryThreshold {50}; + if (!isPowerPresent && lastPercentRemaining >= lowBatteryThreshold && percentRemaining < lowBatteryThreshold) { + systemTask->PushMessage(System::Messages::LowBattery); + } + nrfx_saadc_uninit(); isReading = false; } diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h index 5a7394c4..53eb7d19 100644 --- a/src/components/battery/BatteryController.h +++ b/src/components/battery/BatteryController.h @@ -39,6 +39,7 @@ namespace Pinetime { static constexpr nrf_saadc_input_t batteryVoltageAdcInput = NRF_SAADC_INPUT_AIN7; uint16_t voltage = 0; uint8_t percentRemaining = 0; + uint8_t lastPercentRemaining = 0; bool isFull = false; bool isCharging = false; |
