From 012560e863b9d8f6c01bbc48194471dfa9b8a794 Mon Sep 17 00:00:00 2001 From: hughbarney Date: Tue, 23 Feb 2021 22:18:09 +0000 Subject: [PATCH] Added Compass power status widget --- apps.json | 12 ++++++++++++ apps/widcom/README.md | 11 +++++++++++ apps/widcom/widget.js | 30 ++++++++++++++++++++++++++++++ apps/widcom/widget.png | Bin 0 -> 1237 bytes 4 files changed, 53 insertions(+) create mode 100644 apps/widcom/README.md create mode 100644 apps/widcom/widget.js create mode 100644 apps/widcom/widget.png diff --git a/apps.json b/apps.json index 28798fa12..94609831a 100644 --- a/apps.json +++ b/apps.json @@ -2880,5 +2880,17 @@ {"name":"helloworld.app.js","url":"app.js"}, {"name":"helloworld.img","url":"app-icon.js","evaluate":true} ] +}, +{ "id": "widcom", + "name": "Compass Widget", + "icon": "widget.png", + "version":"0.01", + "description": "Tiny widget to show the power on/off status of the Compass. Requires firmware v2.08.167 or later", + "tags": "widget, compass", + "type":"widget", + "readme": "README.md", + "storage": [ + {"name":"widcom.wid.js","url":"widget.js"} + ] } ] diff --git a/apps/widcom/README.md b/apps/widcom/README.md new file mode 100644 index 000000000..1e45d9090 --- /dev/null +++ b/apps/widcom/README.md @@ -0,0 +1,11 @@ +# Compass Power Status Widget + +A simple widget that shows the on/off status of the compass. + +The compass draws around 1mA when on. Whilst this is not a big draw +on the battery it is still easy to have it switched on and not be +aware. + +- Uses Bangle.isCompassOn(), requires firmware v2.08.167 or later +- Shows in grey when the compass is off +- Shows in amber when the compass is on diff --git a/apps/widcom/widget.js b/apps/widcom/widget.js new file mode 100644 index 000000000..b9c911dbf --- /dev/null +++ b/apps/widcom/widget.js @@ -0,0 +1,30 @@ +(function(){ + //var img = E.toArrayBuffer(atob("FBSBAAAAAAAAA/wAf+AP/wH/2D/zw/w8PwfD9nw+b8Pg/Dw/w8/8G/+A//AH/gA/wAAAAAAA")); + //var img = E.toArrayBuffer(atob("GBiBAAB+AAP/wAeB4A4AcBgAGDAADHAADmABhmAHhsAfA8A/A8BmA8BmA8D8A8D4A2HgBmGABnAADjAADBgAGA4AcAeB4AP/wAB+AA==")); + var img = E.toArrayBuffer(atob("FBSBAAH4AH/gHAODgBwwAMYABkAMLAPDwPg8CYPBkDwfA8PANDACYABjAAw4AcHAOAf+AB+A")); + + function draw() { + g.reset(); + if (Bangle.isCompassOn()) { + g.setColor(1,0.8,0); // on = amber + } else { + g.setColor(0.3,0.3,0.3); // off = grey + } + g.drawImage(img, 10+this.x, 2+this.var); + } + + var timerInterval; + Bangle.on('lcdPower', function(on) { + if (on) { + WIDGETS.compass.draw(); + if (!timerInterval) timerInterval = setInterval(()=>WIDGETS.compass.draw(), 2000); + } else { + if (timerInterval) { + clearInterval(timerInterval); + timerInterval = undefined; + } + } + }); + + WIDGETS.compass={area:"tr",width:24,draw:draw}; +})(); diff --git a/apps/widcom/widget.png b/apps/widcom/widget.png new file mode 100644 index 0000000000000000000000000000000000000000..6c50374a3c3bc1aa6bdbd2d65f3196d20c0c2de0 GIT binary patch literal 1237 zcmV;`1ScT+SSR&#= zAa3L%u}@bnY86+lkSJSLCajDNxM63aD<4(aYf*8d)rJDE<FrVIft0dyiqZ-eb(w=T48%} zcYX=ksiILebLlU!JE?#{+|PLz7|xq%42I2|T5UJA8`yJQFi! zE%2w}c+~DNr5d#^=7Eg}@kKS)3i2h|VN{K&H5>YAy>T0epOP1P5uLr`A>K68+Y-nb zFx>2~)(3Dv3H&}M;yu7P;v&bn&}UP~{85eF5Ad0)9M4Gn5#U3jJy`7`Y)K(|LXH2l z3yEQET*^rPXW;RK{XYkOOCeu#8v^)+)>Um!Ay8vX$@<$A-|pW9SdXjiHo6$A}K@`)PH3X9zpIO=xbvmVs$ixif{pEx=m|`pqL&X)EIOhC=71rU70j z+?6-1y#ju0neMl zN!4i{zYaf-5dRvBaGKHZ zCE8-MC0)opU=LWLvw6`b_Ti=$YqUu%0&K?BxqEbW5&O)XHiv7-U62TSaMK@4h>9hB zmI^@$Q5#=+{gt%B4&i^`I8QOJi51*DXwy``87lN3{zTLbXGjn0csP4O}ObtyEKr8kqO{6#MS6Q!qYY8{~f076U3`*#K^ly ziUXSzW#Da+C9FbA9Z{#YrZNlqkzLfjQ{xWq@u@MDj> zY%{*754MyAlC$^D00000NkvXXu0mjf@^eY) literal 0 HcmV?d00001