From 5a80d341b5398096ce16f0aefc0a5dd933027a24 Mon Sep 17 00:00:00 2001 From: RKBoss6 Date: Tue, 24 Jun 2025 14:30:07 -0400 Subject: [PATCH 1/7] Round percentage --- apps/powermanager/boot.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/powermanager/boot.js b/apps/powermanager/boot.js index c35ec1546d..f03d8f8360 100644 --- a/apps/powermanager/boot.js +++ b/apps/powermanager/boot.js @@ -12,7 +12,7 @@ let hw = require('Storage').readJSON("powermanager.hw.json", true) || {}; if (!hw.start) hw.start = Date.now(); if (!hw.power) hw.power = {}; - + const saveEvery = 1000 * 60 * 5; const TO_WRAP = ["GPS","Compass","Barometer","HRM","LCD"]; @@ -138,7 +138,7 @@ var current = Math.round((op()+op()+op()+op())/4); if (Bangle.isCharging() && current > p) p = current; if (!Bangle.isCharging() && current < p) p = current; - return p; + return Math.round(p); }; } From e2253eaa451aa435a5c4e002099148dcea727587 Mon Sep 17 00:00:00 2001 From: RKBoss6 Date: Tue, 24 Jun 2025 15:49:49 -0400 Subject: [PATCH 2/7] Update boot.js --- apps/powermanager/boot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/powermanager/boot.js b/apps/powermanager/boot.js index f03d8f8360..6bf45400f8 100644 --- a/apps/powermanager/boot.js +++ b/apps/powermanager/boot.js @@ -74,7 +74,7 @@ return result; })(Bangle[functionName]); } - + /* exported functions */ let functions = {}; let wrapDeferred = ((o,t) => (a) => { if (a == eval || typeof a == "string") { From 08078f3cd0f507bf6e3a0e5bad91963d03d1d296 Mon Sep 17 00:00:00 2001 From: RKBoss6 Date: Tue, 24 Jun 2025 15:53:00 -0400 Subject: [PATCH 3/7] Update boot.js --- apps/powermanager/boot.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/powermanager/boot.js b/apps/powermanager/boot.js index 6bf45400f8..05d3a5a43e 100644 --- a/apps/powermanager/boot.js +++ b/apps/powermanager/boot.js @@ -1,3 +1,4 @@ +/* no-unused-vars */ (function() { var settings = Object.assign( require('Storage').readJSON("powermanager.default.json", true) || {}, @@ -163,3 +164,4 @@ }); } })(); +/* no-unused-vars */ From 149975e2c692ca0a82347c65f75f548be435bf01 Mon Sep 17 00:00:00 2001 From: RKBoss6 Date: Tue, 24 Jun 2025 15:54:26 -0400 Subject: [PATCH 4/7] Update boot.js --- apps/powermanager/boot.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/powermanager/boot.js b/apps/powermanager/boot.js index 05d3a5a43e..1f36bb7103 100644 --- a/apps/powermanager/boot.js +++ b/apps/powermanager/boot.js @@ -1,4 +1,4 @@ -/* no-unused-vars */ + (function() { var settings = Object.assign( require('Storage').readJSON("powermanager.default.json", true) || {}, @@ -76,7 +76,7 @@ })(Bangle[functionName]); } /* exported functions */ - let functions = {}; + var functions = {}; let wrapDeferred = ((o,t) => (a) => { if (a == eval || typeof a == "string") { return o.apply(this, arguments); @@ -164,4 +164,4 @@ }); } })(); -/* no-unused-vars */ + From 1a84fdfd0dd26c46664e71fa2c353c65b6e1dcc2 Mon Sep 17 00:00:00 2001 From: RKBoss6 Date: Tue, 24 Jun 2025 17:02:33 -0400 Subject: [PATCH 5/7] Update boot.js --- apps/powermanager/boot.js | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/powermanager/boot.js b/apps/powermanager/boot.js index 1f36bb7103..a7b38801c6 100644 --- a/apps/powermanager/boot.js +++ b/apps/powermanager/boot.js @@ -76,7 +76,6 @@ })(Bangle[functionName]); } /* exported functions */ - var functions = {}; let wrapDeferred = ((o,t) => (a) => { if (a == eval || typeof a == "string") { return o.apply(this, arguments); From 3b7a89c494339e79aa48d4e7d7837120305595b8 Mon Sep 17 00:00:00 2001 From: RKBoss6 Date: Wed, 25 Jun 2025 20:32:09 -0400 Subject: [PATCH 6/7] Fix monotonic percentage --- apps/powermanager/boot.js | 40 +++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/apps/powermanager/boot.js b/apps/powermanager/boot.js index a7b38801c6..b2327a4d39 100644 --- a/apps/powermanager/boot.js +++ b/apps/powermanager/boot.js @@ -1,10 +1,9 @@ - (function() { var settings = Object.assign( require('Storage').readJSON("powermanager.default.json", true) || {}, require('Storage').readJSON("powermanager.json", true) || {} ); - + if (settings.log) { let logFile = require('Storage').open("powermanager.log","a"); let def = require('Storage').readJSON("powermanager.def.json", true) || {}; @@ -29,7 +28,9 @@ require('Storage').writeJSON("powermanager.hw.json", hw); } } - + + + setInterval(save, saveEvery); E.on("kill", ()=>{ @@ -75,7 +76,8 @@ return result; })(Bangle[functionName]); } - /* exported functions */ + + let functions = {}; let wrapDeferred = ((o,t) => (a) => { if (a == eval || typeof a == "string") { return o.apply(this, arguments); @@ -131,15 +133,30 @@ handleCharging(Bangle.isCharging()); } + var savedBatPercent=E.getBattery(); if (settings.forceMonoPercentage){ - var p = (E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery())/4; - var op = E.getBattery; + var newPercent =Math.round((E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery())/6); + E.getBattery = function() { - var current = Math.round((op()+op()+op()+op())/4); - if (Bangle.isCharging() && current > p) p = current; - if (!Bangle.isCharging() && current < p) p = current; - return Math.round(p); - }; + var percentToReturn; + if(Bangle.isCharging()){ + //only go up + if(newPercent>savedBatPercent){ + percentToReturn=newPercent; + savedBatPercent=newPercent; + }else{ + percentToReturn=savedBatPercent; + } + }else{ + if(newPercent Date: Wed, 25 Jun 2025 20:33:45 -0400 Subject: [PATCH 7/7] Fix ESLint error --- apps/powermanager/boot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/powermanager/boot.js b/apps/powermanager/boot.js index b2327a4d39..18e69e0773 100644 --- a/apps/powermanager/boot.js +++ b/apps/powermanager/boot.js @@ -77,7 +77,7 @@ })(Bangle[functionName]); } - let functions = {}; + let wrapDeferred = ((o,t) => (a) => { if (a == eval || typeof a == "string") { return o.apply(this, arguments);