|
3 | 3 | require('Storage').readJSON("powermanager.default.json", true) || {}, |
4 | 4 | require('Storage').readJSON("powermanager.json", true) || {} |
5 | 5 | ); |
6 | | - |
| 6 | + |
7 | 7 | if (settings.log) { |
8 | 8 | let logFile = require('Storage').open("powermanager.log","a"); |
9 | 9 | let def = require('Storage').readJSON("powermanager.def.json", true) || {}; |
|
12 | 12 | let hw = require('Storage').readJSON("powermanager.hw.json", true) || {}; |
13 | 13 | if (!hw.start) hw.start = Date.now(); |
14 | 14 | if (!hw.power) hw.power = {}; |
15 | | - |
| 15 | + |
16 | 16 | const saveEvery = 1000 * 60 * 5; |
17 | 17 | const TO_WRAP = ["GPS","Compass","Barometer","HRM","LCD"]; |
18 | 18 |
|
|
28 | 28 | require('Storage').writeJSON("powermanager.hw.json", hw); |
29 | 29 | } |
30 | 30 | } |
31 | | - |
32 | | - |
33 | | - |
| 31 | + |
34 | 32 | setInterval(save, saveEvery); |
35 | 33 |
|
36 | 34 | E.on("kill", ()=>{ |
|
77 | 75 | })(Bangle[functionName]); |
78 | 76 | } |
79 | 77 |
|
80 | | - |
81 | 78 | let wrapDeferred = ((o,t) => (a) => { |
82 | 79 | if (a == eval || typeof a == "string") { |
83 | 80 | return o.apply(this, arguments); |
|
133 | 130 | handleCharging(Bangle.isCharging()); |
134 | 131 | } |
135 | 132 |
|
136 | | - var savedBatPercent=E.getBattery(); |
137 | 133 | 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; |
140 | 136 | 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 | + }; |
151 | 142 | } |
152 | 143 |
|
153 | 144 | 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; |
155 | 146 | var ov = NRF.getBattery; |
156 | 147 | NRF.getBattery = function() { |
157 | 148 | var current = (ov()+ov()+ov()+ov())/4; |
|
0 commit comments