diff --git a/apps/widbattpwr/ChangeLog b/apps/widbattpwr/ChangeLog index b1bdaa6fc..be3698e53 100644 --- a/apps/widbattpwr/ChangeLog +++ b/apps/widbattpwr/ChangeLog @@ -1 +1,2 @@ 0.01: Initial fork from hwid_a_battery_widget +0.02: Use `power_usage` module diff --git a/apps/widbattpwr/metadata.json b/apps/widbattpwr/metadata.json index 667485666..f802a21f5 100644 --- a/apps/widbattpwr/metadata.json +++ b/apps/widbattpwr/metadata.json @@ -3,7 +3,7 @@ "name": "Battery power and percentage widget", "shortName": "Batt Pwr", "icon": "widget.png", - "version": "0.01", + "version": "0.02", "type": "widget", "supports": ["BANGLEJS2"], "readme": "README.md", diff --git a/apps/widbattpwr/widget.js b/apps/widbattpwr/widget.js index 58f89dc34..16b444208 100644 --- a/apps/widbattpwr/widget.js +++ b/apps/widbattpwr/widget.js @@ -20,13 +20,7 @@ function draw() { var x = this.x; var y = this.y; - var batt = E.getBattery(); - var pwr = E.getPowerUsage(); - var usage = 0; - for (var key in pwr.device) { - if (!/^(LCD|LED)/.test(key)) - usage += pwr.device[key]; - } + var _a = require("power_usage").get(), usage = _a.usage, hrsLeft = _a.hrsLeft, batt = _a.batt; var pwrColour = powerColour(usage); g.reset() .setBgColor(g.theme.bg) @@ -43,9 +37,8 @@ txt = "".concat(batt, "%"); } else { - var hrs = 175000 * batt / (100 * usage); - var days = hrs / 24; - txt = days >= 1 ? "".concat(Math.round(Math.min(days, 99)), "d") : "".concat(Math.round(hrs), "h"); + var days = hrsLeft / 24; + txt = days >= 1 ? "".concat(Math.round(Math.min(days, 99)), "d") : "".concat(Math.round(hrsLeft), "h"); } var txth = 14; g.setColor(g.theme.fg); diff --git a/apps/widbattpwr/widget.ts b/apps/widbattpwr/widget.ts index de5352f32..5a2de84a9 100644 --- a/apps/widbattpwr/widget.ts +++ b/apps/widbattpwr/widget.ts @@ -22,13 +22,7 @@ let x = this.x!; let y = this.y!; - const batt = E.getBattery(); - const pwr = E.getPowerUsage(); - let usage = 0; - for(const key in pwr.device){ - if(!/^(LCD|LED)/.test(key)) - usage += pwr.device[key]; - } + const { usage, hrsLeft, batt } = require("power_usage").get(); const pwrColour = powerColour(usage); g.reset() @@ -47,10 +41,8 @@ if(showPct){ txt = `${batt}%`; }else{ - // 175mAh, scaled based on battery (batt/100), scaled down based on usage - const hrs = 175000 * batt / (100 * usage); - const days = hrs / 24; - txt = days >= 1 ? `${Math.round(Math.min(days, 99))}d` : `${Math.round(hrs)}h`; + const days = hrsLeft / 24; + txt = days >= 1 ? `${Math.round(Math.min(days, 99))}d` : `${Math.round(hrsLeft)}h`; } // draw time remaining, then shade it based on batt %