Implemented a circular buffer and added an average alg for batter remaining percentage.

This commit is contained in:
panky-codes
2021-01-14 21:22:36 +01:00
parent f1e7d0b469
commit b8f943e73c
2 changed files with 33 additions and 3 deletions

View File

@@ -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);
}