drained: restore normal operation on sufficient charge
parent
ea5acf0b12
commit
d0ad4cd8df
|
|
@ -81,12 +81,22 @@ draw();
|
|||
Bangle.emit("drained", E.getBattery());
|
||||
|
||||
// restore normal boot on charge
|
||||
const { disableBoot = false }: DrainedSettings
|
||||
const { disableBoot = false, restore = 20 }: DrainedSettings
|
||||
= require("Storage").readJSON(`${app}.setting.json`, true) || {};
|
||||
|
||||
// re-enable normal boot code when we're above a threshold:
|
||||
if(disableBoot){
|
||||
const checkCharge = () => {
|
||||
if(E.getBattery() < restore) return;
|
||||
|
||||
eval(require('Storage').read('bootupdate.js'));
|
||||
load(); // necessary after updating boot.0
|
||||
};
|
||||
|
||||
if (Bangle.isCharging())
|
||||
checkCharge();
|
||||
|
||||
Bangle.on("charging", charging => {
|
||||
if (charging)
|
||||
eval(require('Storage').read('bootupdate.js'));
|
||||
if(charging) checkCharge();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
type DrainedSettings = {
|
||||
battery?: number,
|
||||
restore?: number,
|
||||
interval?: number,
|
||||
disableBoot?: ShortBoolean,
|
||||
};
|
||||
|
|
@ -10,6 +11,7 @@ type DrainedSettings = {
|
|||
const storage = require("Storage")
|
||||
const settings: DrainedSettings = storage.readJSON(SETTINGS_FILE, true) || {};
|
||||
settings.battery ??= 5;
|
||||
settings.restore ??= 20;
|
||||
settings.interval ??= 10;
|
||||
settings.disableBoot ??= false;
|
||||
|
||||
|
|
@ -50,5 +52,16 @@ type DrainedSettings = {
|
|||
save();
|
||||
},
|
||||
},
|
||||
"Restore watch at %": {
|
||||
value: settings.restore,
|
||||
min: 0,
|
||||
max: 95,
|
||||
step: 5,
|
||||
format: (v: number) => `${v}%`,
|
||||
onchange: (v: number) => {
|
||||
settings.restore = v;
|
||||
save();
|
||||
},
|
||||
},
|
||||
});
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue