From b8f943e73c84e368ebe6a380a7ca231e2a81f428 Mon Sep 17 00:00:00 2001 From: panky-codes Date: Thu, 14 Jan 2021 21:22:36 +0100 Subject: Implemented a circular buffer and added an average alg for batter remaining percentage. --- src/components/battery/BatteryController.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/components/battery/BatteryController.cpp') diff --git a/src/components/battery/BatteryController.cpp b/src/components/battery/BatteryController.cpp index 3e3d65b4..e0042f5c 100644 --- a/src/components/battery/BatteryController.cpp +++ b/src/components/battery/BatteryController.cpp @@ -34,10 +34,12 @@ void Battery::Update() { // see https://forum.pine64.org/showthread.php?tid=8147 voltage = (value * 2.0f) / (1024/3.0f); - percentRemaining = ((voltage - 3.55f)*100.0f)*3.9f; + float percentRemaining = ((voltage - 3.55f)*100.0f)*3.9f; percentRemaining = std::max(percentRemaining, 0.0f); percentRemaining = std::min(percentRemaining, 100.0f); + percentRemainingBuffer.insert(percentRemaining); + // NRF_LOG_INFO("BATTERY " NRF_LOG_FLOAT_MARKER " %% - " NRF_LOG_FLOAT_MARKER " v", NRF_LOG_FLOAT(percentRemaining), NRF_LOG_FLOAT(voltage)); // NRF_LOG_INFO("POWER Charging : %d - Power : %d", isCharging, isPowerPresent); } -- cgit v1.2.3-70-g09d2