BangleApps/modules/power_usage.ts

30 lines
587 B
TypeScript
Raw Normal View History

2024-07-11 21:41:42 +00:00
type Pwr = {
2024-07-09 07:44:43 +00:00
usage: number,
hrsLeft: number,
batt: number, // battery percentage
};
2024-07-09 07:50:42 +00:00
// eslint-disable-next-line no-unused-vars
2024-07-09 07:44:43 +00:00
type PowerUsageModule = {
2024-07-11 21:41:42 +00:00
get: () => Pwr,
2024-07-09 07:44:43 +00:00
};
2024-07-11 21:41:42 +00:00
exports.get = (): Pwr => {
2024-07-09 07:44:43 +00:00
const pwr = E.getPowerUsage();
const batt = E.getBattery();
let usage = 0;
for(const key in pwr.device){
if(!key.startsWith("LCD"))
2024-07-11 21:41:42 +00:00
usage += pwr.device[key as keyof typeof pwr.device]!;
2024-07-09 07:44:43 +00:00
}
// 175mAh, scaled based on battery (batt/100), scaled down based on usage
const hrsLeft = 175000 * batt / (100 * usage);
return {
usage,
hrsLeft,
batt,
};
};