1
0
Fork 0

power_usage: add module

master
Rob Pilling 2024-07-09 08:44:43 +01:00
parent 724f8423ba
commit bf3b572b9e
3 changed files with 44 additions and 0 deletions

15
modules/power_usage.js Normal file
View File

@ -0,0 +1,15 @@
exports.get = function () {
var pwr = E.getPowerUsage();
var batt = E.getBattery();
var usage = 0;
for (var key in pwr.device) {
if (!/^(LCD|LED)/.test(key))
usage += pwr.device[key];
}
var hrsLeft = 175000 * batt / (100 * usage);
return {
usage: usage,
hrsLeft: hrsLeft,
batt: batt,
};
};

28
modules/power_usage.ts Normal file
View File

@ -0,0 +1,28 @@
type PowerUsage = {
usage: number,
hrsLeft: number,
batt: number, // battery percentage
};
type PowerUsageModule = {
get: () => PowerUsage,
};
exports.get = (): PowerUsage => {
const pwr = E.getPowerUsage();
const batt = E.getBattery();
let usage = 0;
for(const key in pwr.device){
if(!/^(LCD|LED)/.test(key))
usage += pwr.device[key];
}
// 175mAh, scaled based on battery (batt/100), scaled down based on usage
const hrsLeft = 175000 * batt / (100 * usage);
return {
usage,
hrsLeft,
batt,
};
};

View File

@ -5,3 +5,4 @@ declare function require(moduleName: "sched"): typeof Sched;
declare function require(moduleName: "ClockFace"): typeof ClockFace_.ClockFace;
declare function require(moduleName: "clock_info"): typeof ClockInfo;
declare function require(moduleName: "Layout"): typeof Layout.Layout;
declare function require(moduleName: "power_usage"): PowerUsageModule;