Skip to content

Commit 1743ef8

Browse files
authored
Merge pull request #3958 from RKBoss6/PowerManagerfix
[Power Manager] Fix percentage not updating.
2 parents 0be9981 + a8a7ea8 commit 1743ef8

File tree

3 files changed

+13
-21
lines changed

3 files changed

+13
-21
lines changed

apps/powermanager/ChangeLog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@
1414
Log additional timestamp for trace log
1515
0.11: Minor code improvements
1616
0.12: Round monotonic percentage, rename to stable percentage/voltage
17+
0.13: Fix stable percentage not updating

apps/powermanager/boot.js

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
require('Storage').readJSON("powermanager.default.json", true) || {},
44
require('Storage').readJSON("powermanager.json", true) || {}
55
);
6-
6+
77
if (settings.log) {
88
let logFile = require('Storage').open("powermanager.log","a");
99
let def = require('Storage').readJSON("powermanager.def.json", true) || {};
@@ -12,7 +12,7 @@
1212
let hw = require('Storage').readJSON("powermanager.hw.json", true) || {};
1313
if (!hw.start) hw.start = Date.now();
1414
if (!hw.power) hw.power = {};
15-
15+
1616
const saveEvery = 1000 * 60 * 5;
1717
const TO_WRAP = ["GPS","Compass","Barometer","HRM","LCD"];
1818

@@ -28,9 +28,7 @@
2828
require('Storage').writeJSON("powermanager.hw.json", hw);
2929
}
3030
}
31-
32-
33-
31+
3432
setInterval(save, saveEvery);
3533

3634
E.on("kill", ()=>{
@@ -77,7 +75,6 @@
7775
})(Bangle[functionName]);
7876
}
7977

80-
8178
let wrapDeferred = ((o,t) => (a) => {
8279
if (a == eval || typeof a == "string") {
8380
return o.apply(this, arguments);
@@ -133,25 +130,19 @@
133130
handleCharging(Bangle.isCharging());
134131
}
135132

136-
var savedBatPercent=E.getBattery();
137133
if (settings.forceMonoPercentage){
138-
var newPercent =Math.round((E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery())/6);
139-
134+
var p = Math.round((E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery())/4);
135+
var op = E.getBattery;
140136
E.getBattery = function() {
141-
142-
if(Bangle.isCharging()){
143-
if(newPercent > savedBatPercent)
144-
savedBatPercent = newPercent;
145-
}else{
146-
if(newPercent < savedBatPercent)
147-
savedBatPercent = newPercent;
148-
}
149-
return savedBatPercent;
150-
};
137+
var current = Math.round((op()+op()+op()+op())/4);
138+
if (Bangle.isCharging() && current > p) p = current;
139+
if (!Bangle.isCharging() && current < p) p = current;
140+
return p;
141+
};
151142
}
152143

153144
if (settings.forceMonoVoltage){
154-
var v = (NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery())/6;
145+
var v = (NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery())/4;
155146
var ov = NRF.getBattery;
156147
NRF.getBattery = function() {
157148
var current = (ov()+ov()+ov()+ov())/4;

apps/powermanager/metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"id": "powermanager",
33
"name": "Power Manager",
44
"shortName": "Power Manager",
5-
"version": "0.12",
5+
"version": "0.13",
66
"description": "Allow configuration of warnings for battery charging, stabilization of voltage, stabilization of battery percentage, and battery logging.",
77
"icon": "app.png",
88
"type": "bootloader",

0 commit comments

Comments
 (0)