|
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 | | - |
| 31 | + |
| 32 | + |
| 33 | + |
32 | 34 | setInterval(save, saveEvery); |
33 | 35 |
|
34 | 36 | E.on("kill", ()=>{ |
|
75 | 77 | })(Bangle[functionName]); |
76 | 78 | } |
77 | 79 |
|
78 | | - let functions = {}; |
| 80 | + |
79 | 81 | let wrapDeferred = ((o,t) => (a) => { |
80 | 82 | if (a == eval || typeof a == "string") { |
81 | 83 | return o.apply(this, arguments); |
|
131 | 133 | handleCharging(Bangle.isCharging()); |
132 | 134 | } |
133 | 135 |
|
| 136 | + var savedBatPercent=E.getBattery(); |
134 | 137 | if (settings.forceMonoPercentage){ |
135 | | - var p = (E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery())/4; |
136 | | - var op = E.getBattery; |
| 138 | + var newPercent =Math.round((E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery())/6); |
| 139 | + |
137 | 140 | E.getBattery = function() { |
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 | | - }; |
| 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 | + }; |
143 | 151 | } |
144 | 152 |
|
145 | 153 | if (settings.forceMonoVoltage){ |
146 | | - var v = (NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery())/4; |
| 154 | + var v = (NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery())/6; |
147 | 155 | var ov = NRF.getBattery; |
148 | 156 | NRF.getBattery = function() { |
149 | 157 | var current = (ov()+ov()+ov()+ov())/4; |
|
0 commit comments