From 4d107148c78d5a7211e2e08664052014059b5371 Mon Sep 17 00:00:00 2001 From: jeffyactive Date: Mon, 29 Nov 2021 21:31:53 -0500 Subject: [PATCH 01/14] Added SensiBLE app --- apps.json | 17 ++++ apps/sensible/ChangeLog | 1 + apps/sensible/README.md | 35 +++++++ apps/sensible/sensible-icon.js | 1 + apps/sensible/sensible.js | 163 +++++++++++++++++++++++++++++++++ apps/sensible/sensible.png | Bin 0 -> 1716 bytes 6 files changed, 217 insertions(+) create mode 100644 apps/sensible/ChangeLog create mode 100644 apps/sensible/README.md create mode 100644 apps/sensible/sensible-icon.js create mode 100644 apps/sensible/sensible.js create mode 100644 apps/sensible/sensible.png diff --git a/apps.json b/apps.json index 1c614c592..5ccbecd98 100644 --- a/apps.json +++ b/apps.json @@ -4526,5 +4526,22 @@ {"name":"93dub.app.js","url":"app.js"}, {"name":"93dub.img","url":"app-icon.js","evaluate":true} ] + }, + { + "id": "sensible", + "name": "SensiBLE", + "shortName": "SensiBLE", + "version": "0.01", + "description": "Collect, display and advertise real-time sensor data.", + "icon": "sensible.png", + "type": "app", + "tags": "tool,sensors", + "supports" : [ "BANGLEJS2" ], + "allow_emulator": true, + "readme": "README.md", + "storage": [ + { "name": "sensible.app.js", "url": "sensible.js" }, + { "name": "sensible.img", "url": "sensible-icon.js", "evaluate": true } + ] } ] diff --git a/apps/sensible/ChangeLog b/apps/sensible/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/sensible/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/sensible/README.md b/apps/sensible/README.md new file mode 100644 index 000000000..f79b61aea --- /dev/null +++ b/apps/sensible/README.md @@ -0,0 +1,35 @@ +# Sensible + +Collect all the sensor data from the Bangle.js 2, display the live readings in menu pages, and broadcast in Bluetooth Low Energy (BLE) advertising packets to any listening devices in range. + + +## Usage + +The advertising packets will be recognised by [Pareto Anywhere](https://www.reelyactive.com/pareto/anywhere/) open source middleware and any other program which observes the standard packet types. Also convenient for testing individual sensors of the Bangle.js 2 via the menu interface. + + +## Features + +Currently implements: +- Accelerometer +- Barometer +- GPS +- Heart Rate Monitor +- Magnetometer + +in the menu display but NOT YET in Bluetooth Low Energy advertising (which will be implemented in a subsequent version). + + +## Controls + +Browse and control sensors using the standard Espruino menu interface. + + +## Requests + +[Contact reelyActive](https://www.reelyactive.com/contact/) for support/updates. + + +## Creator + +Developed by [jeffyactive](https://github.com/jeffyactive) of [reelyActive](https://www.reelyactive.com) diff --git a/apps/sensible/sensible-icon.js b/apps/sensible/sensible-icon.js new file mode 100644 index 000000000..f904fc7f3 --- /dev/null +++ b/apps/sensible/sensible-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwkG/4AG+cilGIxGCkU/B44AGmQUBAAsjCyoYN+QWJAAMvCxsjLQXzG4gYIOIZwG+YLDCw34BRIkFx4JFHQRDElGCJYgOCFw5RCPQwJFGAg4BIoSRIDAQQEG4YLBHgYAGJQIjCJ4RGBDoU4SIqNDwYwDJAQEDFwSRGDAQfBFQgIDFwQtDRoowBAgQDEDYQzC7oACTogrEA4IfF/4WDDAY/Fx4CCEYQbB/oXF74TDCAYGBUoIDDCwowCUoIkBAYSABGwIDCLogADBIKMCAYRODLwRGGJAaMFPwghBnoXJHoJ8DF4Q5DC5HTKogVBgAAFpoXH6oQGAA1dC7/UC5sNC4/dCA0QAwsEC50BC40AC5FQC4sgMB4XFgUwC40FC4/QBwkD+B5HDA6oFh/xSREFqtVbogMEj/yVxkFMwRgEl//Y5sAqhgF///SA4AHghgDgQXBPBAAHrpICh4XBMBoADC4ReBAALxHABUBCwX/bI4AKgYXD+YXRn4XDSKCNDAAZ5QOoZhSLohhESRkBLopJQIo4YOCxYYCJQ0BCxoACmURCoMRkYOI")) \ No newline at end of file diff --git a/apps/sensible/sensible.js b/apps/sensible/sensible.js new file mode 100644 index 000000000..eaebd5c2b --- /dev/null +++ b/apps/sensible/sensible.js @@ -0,0 +1,163 @@ +/** + * Copyright reelyActive 2021 + * We believe in an open Internet of Things + */ + + +// Non-user-configurable constants +const APP_ID = 'sensible'; + + +// Global variables +let acc, bar, hrm, mag; +let isAccMenu, isBarMenu, isGpsMenu, isHrmMenu, isMagMenu = false; +let barEnabled, gpsEnabled, hrmEnabled, magEnabled = true; + + +// Menus +let mainMenu = { + "": { "title": "-- SensiBLE --" }, + "Acceleration": function() { E.showMenu(accMenu); isAccMenu = true; }, + "Barometer": function() { E.showMenu(barMenu); isBarMenu = true; }, + "GPS": function() { E.showMenu(gpsMenu); isGpsMenu = true; }, + "Heart Rate": function() { E.showMenu(hrmMenu); isHrmMenu = true; }, + "Magnetometer": function() { E.showMenu(magMenu); isMagMenu = true; } +}; +let accMenu = { + "": { "title" : "- Acceleration -" }, + "State": { value: "On" }, + "x": { value: null }, + "y": { value: null }, + "z": { value: null }, + "<-": function() { E.showMenu(mainMenu); isAccMenu = false; }, +}; +let barMenu = { + "": { "title" : "- Barometer -" }, + "State": { + value: barEnabled, + format: v => v ? "On" : "Off", + onchange: v => { barEnabled = v; Bangle.setBarometerPower(v, APP_ID); } + }, + "Altitude": { value: null }, + "Press": { value: null }, + "Temp": { value: null }, + "<-": function() { E.showMenu(mainMenu); isBarMenu = false; }, +}; +let gpsMenu = { + "": { "title" : "- GPS -" }, + "State": { + value: gpsEnabled, + format: v => v ? "On" : "Off", + onchange: v => { gpsEnabled = v; Bangle.setGPSPower(v, APP_ID); } + }, + "Lat": { value: null }, + "Lon": { value: null }, + "Altitude": { value: null }, + "Satellites": { value: null }, + "HDOP": { value: null }, + "<-": function() { E.showMenu(mainMenu); isGpsMenu = false; }, +}; +let hrmMenu = { + "": { "title" : "- Heart Rate -" }, + "State": { + value: hrmEnabled, + format: v => v ? "On" : "Off", + onchange: v => { hrmEnabled = v; Bangle.setHRMPower(v, APP_ID); } + }, + "BPM": { value: null }, + "Confidence": { value: null }, + "<-": function() { E.showMenu(mainMenu); isHrmMenu = false; }, +}; +let magMenu = { + "": { "title" : "- Magnetometer -" }, + "State": { + value: magEnabled, + format: v => v ? "On" : "Off", + onchange: v => { magEnabled = v; Bangle.setCompassPower(v, APP_ID); } + }, + "x": { value: null }, + "y": { value: null }, + "z": { value: null }, + "Heading": { value: null }, + "<-": function() { E.showMenu(mainMenu); isMagMenu = false; }, +}; + + +// Update acceleration +Bangle.on('accel', function(newAcc) { + acc = newAcc; + + if(isAccMenu) { + accMenu.x.value = acc.x.toFixed(2); + accMenu.y.value = acc.y.toFixed(2); + accMenu.z.value = acc.z.toFixed(2); + E.showMenu(accMenu); + } +}); + +// Update barometer +Bangle.on('pressure', function(newBar) { + bar = newBar; + + if(isBarMenu) { + barMenu.Altitude.value = bar.altitude.toFixed(1) + 'm'; + barMenu.Press.value = bar.pressure.toFixed(1) + 'mbar'; + barMenu.Temp.value = bar.temperature.toFixed(1) + 'C'; + E.showMenu(barMenu); + } +}); + +// Update GPS +Bangle.on('GPS', function(newGps) { + gps = newGps; + + if(isGpsMenu) { + gpsMenu.Lat.value = gps.lat.toFixed(4); + gpsMenu.Lon.value = gps.lon.toFixed(4); + gpsMenu.Altitude.value = gps.alt + 'm'; + gpsMenu.Satellites.value = gps.satellites; + gpsMenu.HDOP.value = (gps.hdop * 5).toFixed(1) + 'm'; + E.showMenu(gpsMenu); + } +}); + +// Update heart rate monitor +Bangle.on('HRM', function(newHrm) { + hrm = newHrm; + + if(isHrmMenu) { + hrmMenu.BPM.value = hrm.bpm; + hrmMenu.Confidence.value = hrm.confidence + '%'; + E.showMenu(hrmMenu); + } +}); + +// Update magnetometer +Bangle.on('mag', function(newMag) { + mag = newMag; + + if(isMagMenu) { + magMenu.x.value = mag.x; + magMenu.y.value = mag.y; + magMenu.z.value = mag.z; + magMenu.Heading.value = mag.heading.toFixed(1); + E.showMenu(magMenu); + } +}); + + +// Special function to handle display switch on +//Bangle.on('lcdPower', (on) => { +// if(on) { +// E.showMenu(mainMenu); +// } +//}); + + +// On start: +g.clear(); +Bangle.setBarometerPower(true, APP_ID); +Bangle.setGPSPower(true, APP_ID); +Bangle.setHRMPower(true, APP_ID); +Bangle.setCompassPower(true, APP_ID); +E.showMenu(mainMenu); \ No newline at end of file diff --git a/apps/sensible/sensible.png b/apps/sensible/sensible.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e3dfbef76d1f4d89f0836f150715a1a796e870 GIT binary patch literal 1716 zcmV;l221&gP);L88V%$8I>Vz!-GZ43L{7;uQ&8ysK#o0edR-0 zk;iMxjUc2NN@yDDaCaJvM}rMJ)x7=Z=f!20r|+*WuD(`xv+1h6x$RyD0vGs+B$iNs zGIcKq6AO-joa%MMyCHi^+vsnL)O6!B517tc9BnSz;0-84@tc_k)I6gy3L!xoy5Pmo z-~T!yQVR%0{KoRL*L&D)Eu6V-LpvcHmXZ%4TB z{}_r-zq{$+s5PaL%gj;fW?a0p@!iTW^FcP5P ztD;ju$}t8iRse}-lTB=CcJ3iDFBrn{dm_=(w&}zL)`p|;c%p|CN2&74Ew(Da<>YVt z$=CkIU##G*fAMa`;X?8A>1NgrD*1uUIdPFK!GJgg1Vf9>m26?;Hzn*rzSG)1B(0Dw zMX%axlb?vX^4n`By5>H{f5EY6`!dLuIfcJ=hE<{E)m1+;5)d{yrMU_r$g!nGMJJKu z+?}06Q#{XOZsjG$g)zhO*c)q8i?rZqy!-uIav$nw+BAc2mu@Q>qh$L8S|+ir>XOH6 zaz4y(RhC;U_0*yQ_FA~r?36zNm~|3|?TT|jxY~g_9BD7{Ez%r9JEHRkYxl6< z8;;hox(QjovV2+h_PEUp)vCV3edI^6w@kK4AZJ1lW%-HU6>%>w^L*}L$5`FK?wt%z z*(J@S);sRG{nV1a!?|z}-zl_%1XLm?$e9pMA~W#fk^*jMs%IFm@q_mZOO9J#Cbd@W zQ0wW6%g056vFpkhEqjGQlqClz<#U*l>~~H5WlI;ze)qgarev3i$^UZaP$hj~GpCCT zpZs)i#L_}B4*hXnOhS}t!3-A`7RKpA-rH13XJo`uDlLSDhH`;{fi$gw4P&U1&d451 zsk9)N(QjzpNUEeWj1wr876dc;Z`rW^T&GG*Pn>z5QfWaj6BQLj)7mJWM8)((%N(v> zUrOZ_f|48P(Gh;|5bIuMo^6BqY$ZPfQ%jxjv_QJ;s{Rl*cOsGbWRX zrhCGeaL)P>mGm7AA9DeHD32O~na0M(K7Dl5DlssSTOPyNKc&JxVtP-{Dr~@v@PQT^ zt9x=Ofj>QVurLl*#BjOeg(#oQU7ba(h*A9k=lg%d1}}awW@Tm3#fJm-Z*qh%56PYV z@C8~a2W&`&>~?!lP!L`34PZ;+pX2t%NdpZ2`aeo*M8E)SNQMA|!9YuT6(d8X8Mbvi zT@nEUq7%uG)oKk64yIMT4NRk&>D+t6X&%xrpfCiiUcH(Y`T>vhKu3*HU!UH8sU&l70XcZxyN5a0ET_xia5A$f`k zd>P`qW&wsougpx4fJ%PCy`l$0A{rVR5)%_2_A;4=!JcKF Date: Mon, 29 Nov 2021 21:48:30 -0500 Subject: [PATCH 02/14] Corrected variable initialisation --- apps.json | 2 +- apps/sensible/ChangeLog | 1 + apps/sensible/sensible.js | 45 +++++++++++++++++++-------------------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/apps.json b/apps.json index 5ccbecd98..a5c9263d2 100644 --- a/apps.json +++ b/apps.json @@ -4531,7 +4531,7 @@ "id": "sensible", "name": "SensiBLE", "shortName": "SensiBLE", - "version": "0.01", + "version": "0.02", "description": "Collect, display and advertise real-time sensor data.", "icon": "sensible.png", "type": "app", diff --git a/apps/sensible/ChangeLog b/apps/sensible/ChangeLog index 5560f00bc..ba597a22f 100644 --- a/apps/sensible/ChangeLog +++ b/apps/sensible/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Corrected variable initialisation diff --git a/apps/sensible/sensible.js b/apps/sensible/sensible.js index eaebd5c2b..c569ff720 100644 --- a/apps/sensible/sensible.js +++ b/apps/sensible/sensible.js @@ -10,8 +10,15 @@ const APP_ID = 'sensible'; // Global variables let acc, bar, hrm, mag; -let isAccMenu, isBarMenu, isGpsMenu, isHrmMenu, isMagMenu = false; -let barEnabled, gpsEnabled, hrmEnabled, magEnabled = true; +let isAccMenu = false; +let isBarMenu = false; +let isGpsMenu = false; +let isHrmMenu = false; +let isMagMenu = false; +let isBarEnabled = true; +let isGpsEnabled = true; +let isHrmEnabled = true; +let isMagEnabled = true; // Menus @@ -34,9 +41,9 @@ let accMenu = { let barMenu = { "": { "title" : "- Barometer -" }, "State": { - value: barEnabled, + value: isBarEnabled, format: v => v ? "On" : "Off", - onchange: v => { barEnabled = v; Bangle.setBarometerPower(v, APP_ID); } + onchange: v => { isBarEnabled = v; Bangle.setBarometerPower(v, APP_ID); } }, "Altitude": { value: null }, "Press": { value: null }, @@ -46,9 +53,9 @@ let barMenu = { let gpsMenu = { "": { "title" : "- GPS -" }, "State": { - value: gpsEnabled, + value: isGpsEnabled, format: v => v ? "On" : "Off", - onchange: v => { gpsEnabled = v; Bangle.setGPSPower(v, APP_ID); } + onchange: v => { isGpsEnabled = v; Bangle.setGPSPower(v, APP_ID); } }, "Lat": { value: null }, "Lon": { value: null }, @@ -60,9 +67,9 @@ let gpsMenu = { let hrmMenu = { "": { "title" : "- Heart Rate -" }, "State": { - value: hrmEnabled, + value: isHrmEnabled, format: v => v ? "On" : "Off", - onchange: v => { hrmEnabled = v; Bangle.setHRMPower(v, APP_ID); } + onchange: v => { isHrmEnabled = v; Bangle.setHRMPower(v, APP_ID); } }, "BPM": { value: null }, "Confidence": { value: null }, @@ -71,9 +78,9 @@ let hrmMenu = { let magMenu = { "": { "title" : "- Magnetometer -" }, "State": { - value: magEnabled, + value: isMagEnabled, format: v => v ? "On" : "Off", - onchange: v => { magEnabled = v; Bangle.setCompassPower(v, APP_ID); } + onchange: v => { isMagEnabled = v; Bangle.setCompassPower(v, APP_ID); } }, "x": { value: null }, "y": { value: null }, @@ -146,18 +153,10 @@ Bangle.on('mag', function(newMag) { }); -// Special function to handle display switch on -//Bangle.on('lcdPower', (on) => { -// if(on) { -// E.showMenu(mainMenu); -// } -//}); - - -// On start: +// On start: enable sensors and display main menu g.clear(); -Bangle.setBarometerPower(true, APP_ID); -Bangle.setGPSPower(true, APP_ID); -Bangle.setHRMPower(true, APP_ID); -Bangle.setCompassPower(true, APP_ID); +Bangle.setBarometerPower(isBarEnabled, APP_ID); +Bangle.setGPSPower(isGpsEnabled, APP_ID); +Bangle.setHRMPower(isHrmEnabled, APP_ID); +Bangle.setCompassPower(isMagEnabled, APP_ID); E.showMenu(mainMenu); \ No newline at end of file From 8775a6f3392fedbb2385dde7558254ae5ba559ec Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:24:43 +0100 Subject: [PATCH 03/14] Create ChangeLog --- apps/poweroff/ChangeLog | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/poweroff/ChangeLog diff --git a/apps/poweroff/ChangeLog b/apps/poweroff/ChangeLog new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/apps/poweroff/ChangeLog @@ -0,0 +1 @@ + From c822b62789b269d9f1732e3e664a4670dd4d233a Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:36:28 +0100 Subject: [PATCH 04/14] Create app.js --- apps/poweroff/app.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 apps/poweroff/app.js diff --git a/apps/poweroff/app.js b/apps/poweroff/app.js new file mode 100644 index 000000000..303e78d03 --- /dev/null +++ b/apps/poweroff/app.js @@ -0,0 +1,13 @@ +g.clear(); + +g.setFont("6x8",2).setFontAlign(0,0); + var x = g.getWidth()/2; + var y = g.getHeight()/2 + 10; + g.drawString("Powering off...", x, y); + +setTimeout(function() { + if (Bangle.softOff) Bangle.softOff(); else Bangle.off(); +}, 1000); + +Bangle.loadWidgets(); +Bangle.drawWidgets(); From eeb3206a095f0a9db31c0a95b917b2b2d506f5e0 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:39:36 +0100 Subject: [PATCH 05/14] Create Readme.md --- apps/poweroff/Readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 apps/poweroff/Readme.md diff --git a/apps/poweroff/Readme.md b/apps/poweroff/Readme.md new file mode 100644 index 000000000..0595b6d6c --- /dev/null +++ b/apps/poweroff/Readme.md @@ -0,0 +1,13 @@ +# PowerOff + +Simple app to power off your Bangle.js + +## Usage + +Start the app shutdowns your Bangle.js watch after a short delay. + +## Creator +Marco (@myxor) + +## Icon +Icon taken from https://materialdesignicons.com/ Apache License 2.0 From eef1569c9900cce4eb7c779aa6b51a7bc60682dc Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:41:49 +0100 Subject: [PATCH 06/14] Create app-icon.js --- apps/poweroff/app-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/poweroff/app-icon.js diff --git a/apps/poweroff/app-icon.js b/apps/poweroff/app-icon.js new file mode 100644 index 000000000..3d3af6ac7 --- /dev/null +++ b/apps/poweroff/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwIpmgfAArUDAoIGCg+D4PgAoMPAoPwAoMfAoP4AoM/C4P8AoM+AoN8AoN8AoM+AoN4AoMeAo/4AoMfAoPwAoMPArRQCFIRQCGoQCBHYYFEKARNCAQQICn4CBMoUfwEBEwUP4EDGQUH/EfRIUD///SoUBAoOAUQV//ytDh4cCAF4A=")) From f73055253e76284dd520080ad03cefac225b9d18 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:42:30 +0100 Subject: [PATCH 07/14] Add files via upload --- apps/poweroff/app.png | Bin 0 -> 905 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/poweroff/app.png diff --git a/apps/poweroff/app.png b/apps/poweroff/app.png new file mode 100644 index 0000000000000000000000000000000000000000..dc2a206855c7d024d1efbaea336ebcc48d9497b0 GIT binary patch literal 905 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmUKs7M+SzC{oH>NS%G|oWRD45dJguM!v-tY$DUh!@P+6=(yLU`z6LcLCBs@Y8vBJ&@uo z@Q5r1(g|SvA=~LZ0|QgHr;B4q#=W;QeY1ldMcU3^$<)5*ubsNaJm9@Yl)Oa&Cv}s&qTk6uBGHw`=wr?O#y5mWe^!ru13k z+>K|}vo5psRd2krY zuzEP&2|m2~zyj3+EmYY(DXdq;+~HF69wxvk365>xxX#l?WE;*cb9jo*7rv+$b@`M&i>4sCBK2; z#==MDf{byicid-M;D0n;nW-l5qZ>EF-s|i8I5sT1+9J>(uXRsKFrm9^e>B6HRTbeK z!plWC7Wm)4nZ~KeV5}v_XEND!*EgSKTA7T?uRILmvpiw+MU$a;)pgG9L#_)Jan0{! zCu1dJpY@eN-{$PHO*+d{ZrXggQq5K}n_0!zd!Dxbf%FG9jPJ`QMaq9% zQ`x|OV4KFXV7717+jg^_Wi)SCd|+M*ySCc=enxZYC({~h1J5p3Fk|-LaJhKF6~WJ% z9eEFwPM_}x3t9SYoAS9?{4AP`k9C_uR_xWts9tUI`*P#0m6ke6?MuF?m@0Ii7rO8A zWNn9!_uG}PCl;@}baCdnsoKC4@_*?+#-J-#KIR-XiU+1o)e_f;l9a@fRIB8oR3OD* zWME{dYiOuzY!G5#Ze?s@Wn!#tU|?lnu&CJV4T^@`{FKbJO57SQ>-7ZyH86O(`njxg HN@xNAl{#*T literal 0 HcmV?d00001 From ea10cea706d638de3827202fde9400317412e142 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:44:45 +0100 Subject: [PATCH 08/14] Update Readme.md --- apps/poweroff/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/poweroff/Readme.md b/apps/poweroff/Readme.md index 0595b6d6c..3aeff5e8d 100644 --- a/apps/poweroff/Readme.md +++ b/apps/poweroff/Readme.md @@ -1,4 +1,4 @@ -# PowerOff +# Poweroff Simple app to power off your Bangle.js From 166994311e6bfacbd6b1327a41800a489bf05852 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:46:04 +0100 Subject: [PATCH 09/14] Add app to apps.json --- apps.json | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps.json b/apps.json index 1c614c592..b8ef18570 100644 --- a/apps.json +++ b/apps.json @@ -4526,5 +4526,19 @@ {"name":"93dub.app.js","url":"app.js"}, {"name":"93dub.img","url":"app-icon.js","evaluate":true} ] - } + }, + { "id": "poweroff", + "name": "Poweroff", + "shortName":"Poweroff", + "version":"0.01", + "description": "Simple app to power off your Bangle.js", + "icon": "app.png", + "tags": "", + "supports" : ["BANGLEJS", "BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"poweroff.app.js","url":"app.js"}, + {"name":"poweroff.img","url":"app-icon.js","evaluate":true} + ] +} ] From a08a8d8a24139b29d091f0c6847d80612066eef4 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:52:29 +0100 Subject: [PATCH 10/14] Update apps.json --- apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps.json b/apps.json index b8ef18570..1f85d0ec6 100644 --- a/apps.json +++ b/apps.json @@ -4533,7 +4533,7 @@ "version":"0.01", "description": "Simple app to power off your Bangle.js", "icon": "app.png", - "tags": "", + "tags": "poweroff, shutdown", "supports" : ["BANGLEJS", "BANGLEJS2"], "readme": "README.md", "storage": [ From 4a852e713834b4163acff86a1a9edba5cab2f91c Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:52:47 +0100 Subject: [PATCH 11/14] Rename Readme.md to README.md --- apps/poweroff/{Readme.md => README.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/poweroff/{Readme.md => README.md} (100%) diff --git a/apps/poweroff/Readme.md b/apps/poweroff/README.md similarity index 100% rename from apps/poweroff/Readme.md rename to apps/poweroff/README.md From ffd7eebf258636c52f07e82b5fe8fe787c77cb36 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:59:20 +0100 Subject: [PATCH 12/14] Change icon to black --- apps/poweroff/app-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/poweroff/app-icon.js b/apps/poweroff/app-icon.js index 3d3af6ac7..7caf256a2 100644 --- a/apps/poweroff/app-icon.js +++ b/apps/poweroff/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("mEwwIpmgfAArUDAoIGCg+D4PgAoMPAoPwAoMfAoP4AoM/C4P8AoM+AoN8AoN8AoM+AoN4AoMeAo/4AoMfAoPwAoMPArRQCFIRQCGoQCBHYYFEKARNCAQQICn4CBMoUfwEBEwUP4EDGQUH/EfRIUD///SoUBAoOAUQV//ytDh4cCAF4A=")) +require("heatshrink").decompress(atob("mEwwMB/4Ak/k/ArX8AoIGC/F8n0fAoPwAoMPAoPgAoMHAoPAC4MDAoPBAoODAoODAoPBAoOHAoPhAo8HAoPgAoMPAoPwArRQCFIRQCGoQCBHYYFEKARNCAQQIC4ACBMoXgv/+EwXwn/8GQX4g/gRIX8b4KVC/wFBv6iCwDnE+AcCAF4=")) From 31dba4df497d464374237b9617f576d3cda54f15 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 30 Nov 2021 08:59:37 +0100 Subject: [PATCH 13/14] Change icon to black --- apps/poweroff/app.png | Bin 905 -> 882 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/poweroff/app.png b/apps/poweroff/app.png index dc2a206855c7d024d1efbaea336ebcc48d9497b0..5c199c3baa43660d2ff1589bfcef3fc8826da228 100644 GIT binary patch delta 701 zcmV;u0z&^!p*h(sch)np)`?^ZuzB>@HWg(zUPDI=g_n1`h=6@NQ`*TBs#V_KqRQ3Kur zWBp400PuN5Vzm+iYAb$U0``YaewRqT(=HVdaK$rb3D_Ab`Srj%PtZwVQvm^6fTx~u zZ-Ai?0-be-ij( zab*O*fyd&zaSH)QM1Lkg@>#wQTR4@4YrE1e?-T;JMUjQAG|R&2U_b#w!e+Ubfo2NH zwSKL|RmosoUIUGQ@1nmgpn$ES|II?cyy)*%CNm(K27g(7=X)7w1k8#4No6uckiO>% zc@doD{|Bp%u8`%W0xXDFr!5>;frfB=A%K93B1WSf+k{7?H**^elOF~aMU01*S7$Hq zO9Yt0=2RmAo(bPg^oxa>TcnHAL`e||aNFbehIR7bs^lwAuqld7r(s~){ zVFZ}XNTf)6iMzXfWe~VZx<=$_P26cmusN?`6!!w2M@R#AP*8fQwEWYdirdQ^#l1<5 z@$cl~EASq7Fg61`Z;OaTB9Ta>6n_B`TO^Ik8v_5JlN$pf4>dSCGBYbMFgh?WmX#Hz jlS~658#OpOGBYbMFgh?W=g6%Z00000NkvXXu0mjf^KCo2 delta 724 zcmV;_0xSLU28jodhkuJnL_t(&-tC!9Yg0iKhR@V!D@I!pAu4KX5wxI)|3F=7w6B)qRyzt*8r?C`6RUMQ-Ws=_HxloJm3MyUGc3 z&Uv57Ff;c?Bv-CnxmHpxR$+i8jhu_pt1A{jr<4P%v@!z#1%E3O?bONy0BjeLr@&PM z^P?j25*V@McvCOXpraet3 zf!+)Nn}GYCdar<<7yy?&&Bg#%XMD&K>H=Rz%oKL}JkGw&MYGzCaO+*8A=z@R0- zglg~}=xdS_1b>i>?FGszW!%bq5%{HwpAN_i21v$_sFa_;Itzf4s_;8tRRn;7=T|u1 zEHC6BJFMbK=iJ}6XGY06_eVtTs;`e&031~DV{7vbY9Fuw*rDP#5dmJSxZeVxPsLv& z0(?>NMhgJF*RPHUu%^|75P%;l-Wm~Li;BNn0L-d*SAU2TrxXaFPv6;Q2_XP8Djp6r zlSR7rOr|Pn0jJdAQVu!DGW00`bE?+~i^4^qq6(jh0B~0Ir~pN);&(ikx%GzTHvk`1 zkK2~Bvm5xW8cYFgztu>t(+@n?>7dP`l}6WCuCaC?67$zRb+4G3Pnz`rFFehrvMi@$ z**x^rdw&LWn*$_GOP(t)z-Qn*0q=K`Ss(GNd4LbVwkYOP2KIZly9LbwH-MwSo@56r zCZCT1Hyh-ZfqhZUryw>1Pq5Q-pwtobDTr?1BFoQ+R#c_-wj<7(4+JRz<1KWFr1m5=AdAlu-$dlCh)hfEsTu2$bFR|Sna-6fSFT+DrTzg@)YS28 z#WG)$1Op-uGc-ChGb=DKIxsMzb2jXgH3K3WGc-ChGb=DKIxsNPE{;$D0000 Date: Tue, 30 Nov 2021 09:04:43 +0100 Subject: [PATCH 14/14] Update ChangeLog --- apps/poweroff/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/poweroff/ChangeLog b/apps/poweroff/ChangeLog index 8b1378917..1a3bc1757 100644 --- a/apps/poweroff/ChangeLog +++ b/apps/poweroff/ChangeLog @@ -1 +1 @@ - +0.01: New app!