2022-03-08 19:16:00 +00:00
|
|
|
(function() {
|
|
|
|
var settings = Object.assign(
|
|
|
|
require('Storage').readJSON("powermanager.default.json", true) || {},
|
|
|
|
require('Storage').readJSON("powermanager.json", true) || {}
|
|
|
|
);
|
|
|
|
|
|
|
|
if (settings.warnEnabled){
|
|
|
|
var chargingInterval;
|
|
|
|
|
|
|
|
function handleCharging(charging){
|
|
|
|
if (charging){
|
|
|
|
if (chargingInterval) clearInterval(chargingInterval);
|
|
|
|
chargingInterval = setInterval(()=>{
|
|
|
|
if (E.getBattery() > settings.warn){
|
|
|
|
Bangle.buzz(1000);
|
|
|
|
}
|
|
|
|
}, 10000);
|
|
|
|
}
|
|
|
|
if (chargingInterval && !charging){
|
|
|
|
clearInterval(chargingInterval);
|
|
|
|
chargingInterval = undefined;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Bangle.on("charging",handleCharging);
|
|
|
|
handleCharging(Bangle.isCharging());
|
|
|
|
}
|
2022-03-13 19:54:06 +00:00
|
|
|
|
|
|
|
if (settings.forceMonoPercentage){
|
|
|
|
var p = (E.getBattery()+E.getBattery()+E.getBattery()+E.getBattery())/4;
|
|
|
|
var op = E.getBattery;
|
|
|
|
E.getBattery = function() {
|
2022-03-14 17:27:58 +00:00
|
|
|
var current = Math.round((op()+op()+op()+op())/4);
|
2022-03-13 19:54:06 +00:00
|
|
|
if (Bangle.isCharging() && current > p) p = current;
|
|
|
|
if (!Bangle.isCharging() && current < p) p = current;
|
|
|
|
return p;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
if (settings.forceMonoVoltage){
|
|
|
|
var v = (NRF.getBattery()+NRF.getBattery()+NRF.getBattery()+NRF.getBattery())/4;
|
|
|
|
var ov = NRF.getBattery;
|
|
|
|
NRF.getBattery = function() {
|
|
|
|
var current = (ov()+ov()+ov()+ov())/4;
|
|
|
|
if (Bangle.isCharging() && current > v) v = current;
|
|
|
|
if (!Bangle.isCharging() && current < v) v = current;
|
|
|
|
return v;
|
|
|
|
};
|
|
|
|
}
|
2022-11-04 17:34:15 +00:00
|
|
|
|
|
|
|
if (settings.autoCalibration){
|
|
|
|
let chargeStart;
|
|
|
|
Bangle.on("charging", (charging)=>{
|
|
|
|
if (charging) chargeStart = Date.now();
|
|
|
|
if (chargeStart && !charging && (Date.now() - chargeStart > 1000*60*60*3)) require("powermanager").setCalibration();
|
|
|
|
if (!charging) chargeStart = undefined;
|
|
|
|
});
|
|
|
|
}
|
2022-03-08 19:16:00 +00:00
|
|
|
})();
|