diff options
| author | panky-codes <pankaj.sarathy1992@gmail.com> | 2021-01-14 20:22:36 (GMT) |
|---|---|---|
| committer | panky-codes <pankaj.sarathy1992@gmail.com> | 2021-01-14 20:22:36 (GMT) |
| commit | b8f943e73c84e368ebe6a380a7ca231e2a81f428 (patch) | |
| tree | 9f9326dd7aa143324f3e6894d8927db287bb2c3b /src/components/battery/BatteryController.cpp | |
| parent | f1e7d0b46971c49ea293505425447a8e41547ff3 (diff) | |
Implemented a circular buffer and added an average alg for batter remaining percentage.
Diffstat (limited to 'src/components/battery/BatteryController.cpp')
| -rw-r--r-- | src/components/battery/BatteryController.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/components/battery/BatteryController.cpp b/src/components/battery/BatteryController.cpp index 3e3d65b..e0042f5 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); } |
