|
1 | | - |
2 | 1 | (function() { |
3 | 2 | var settings = Object.assign( |
4 | 3 | require('Storage').readJSON("powermanager.default.json", true) || {}, |
5 | 4 | require('Storage').readJSON("powermanager.json", true) || {} |
6 | 5 | ); |
7 | | - var savedBatPercent=E.getBattery(); |
| 6 | + |
8 | 7 | if (settings.log) { |
9 | 8 | let logFile = require('Storage').open("powermanager.log","a"); |
10 | 9 | let def = require('Storage').readJSON("powermanager.def.json", true) || {}; |
|
13 | 12 | let hw = require('Storage').readJSON("powermanager.hw.json", true) || {}; |
14 | 13 | if (!hw.start) hw.start = Date.now(); |
15 | 14 | if (!hw.power) hw.power = {}; |
16 | | - |
| 15 | + |
17 | 16 | const saveEvery = 1000 * 60 * 5; |
18 | 17 | const TO_WRAP = ["GPS","Compass","Barometer","HRM","LCD"]; |
19 | 18 |
|
|
29 | 28 | require('Storage').writeJSON("powermanager.hw.json", hw); |
30 | 29 | } |
31 | 30 | } |
32 | | - |
33 | | - |
34 | | - |
| 31 | + |
35 | 32 | setInterval(save, saveEvery); |
36 | 33 |
|
37 | 34 | E.on("kill", ()=>{ |
|
134 | 131 | handleCharging(Bangle.isCharging()); |
135 | 132 | } |
136 | 133 |
|
137 | | - |
138 | 134 | if (settings.forceMonoPercentage){ |
139 | | - var oldGetBattery=E.getBattery; |
| 135 | + var p = (E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery())/4; |
| 136 | + var op = E.getBattery; |
140 | 137 | E.getBattery = function() { |
141 | | - var newPercent =Math.round((oldGetBattery()+oldGetBattery()+oldGetBattery()+oldGetBattery()+oldGetBattery()+oldGetBattery())/6); |
142 | | - return newPercent; |
143 | | - } |
| 138 | + var current = Math.round((op()+op()+op()+op())/4); |
| 139 | + if (Bangle.isCharging() && current > p) p = current; |
| 140 | + if (!Bangle.isCharging() && current < p) p = current; |
| 141 | + return p; |
| 142 | + }; |
144 | 143 | } |
145 | 144 |
|
146 | 145 | if (settings.forceMonoVoltage){ |
|
0 commit comments