updated firmware info

pull/14/head
Gordon Williams 2019-11-10 17:01:40 +00:00
parent 90cf76249f
commit 61ccf32cc9
3 changed files with 5 additions and 1 deletions

View File

@ -1,3 +1,4 @@
NRF.sleep();
var g = Graphics.getInstance();
g.setFontAlign(1, 1, 0);
const d = g.getWidth() - 18;

View File

@ -16,6 +16,7 @@ var APPS = [ // IDs of apps to install
"astroid",
"gpstime",
"compass",
"sbt",
"sbat",
"funrun5",
"nceuwid",

View File

@ -26,6 +26,8 @@
require('Storage').write("+compass",{"name":"Compass","type":"app","icon":"*compass","src":"-compass","files":"+compass,-compass,*compass"});
require('Storage').write("-compass","g.clear();\ng.setColor(0,0.5,1);\ng.fillCircle(120,130,80,80);\ng.setColor(0,0,0);\ng.fillCircle(120,130,70,70);\n\nfunction arrow(r,c) {\n r=r*Math.PI/180;\n var p = Math.PI/2;\n g.setColor(c);\n g.fillPoly([\n 120+60*Math.sin(r), 130-60*Math.cos(r),\n 120+10*Math.sin(r+p), 130-10*Math.cos(r+p),\n 120+10*Math.sin(r+-p), 130-10*Math.cos(r-p),\n ]);\n}\n\nvar oldHeading = 0;\nBangle.on('mag', function(m) {\n if (!Bangle.isLCDOn()) return;\n g.setFont(\"6x8\",3);\n g.setColor(0);\n g.fillRect(70,0,170,24);\n g.setColor(0xffff);\n g.setFontAlign(0,0);\n g.drawString((m.heading===undefined)?\"---\":Math.round(m.heading),120,12);\n g.setColor(0,0,0);\n arrow(oldHeading,0);\n arrow(oldHeading+180,0);\n arrow(m.heading,0xF800);\n arrow(m.heading+180,0x001F);\n oldHeading = m.heading;\n});\nBangle.setCompassPower(1);\n");
require('Storage').write("*compass",require("heatshrink").decompress(atob("mEwghC/AE8IxAAEwAWVDB4WIDBwWJAAIWOwcz///mc4DBhFDwYVBAAYYDJJAWJDAoXKCw//+YXJIwWPCQk/Aof4JBAuHC4v/GBBdHC4nzMIZGHCAIOBC4vz75hDJAgXCCgS9CC4fdAYQXGIwsyCAPyl//nvdVQoXFRofzkYXCCwJGBSIgXFQ4kymcykfdIwZgDC5XzkUyCwJGDC6FNCwPTC5i9FmQXCMgLZFC48zLgMilUv/vdkUjBII9BC6HSC55HD1WiklDNIgXIBok61QYBkSBFC5kqCwMjC6RGB1RcCR4gXIx4MC+Wqkfyl70BEQf4C4+DIwYqBC4XzGAc4C4sISAfz0QDCFgUzRwmAC4wQB+QTCC4f/AYJeCC4hIEPQi9FIwwXDbIzVHC4xICSIYXGRoRGFGAgqFXgouGC4iqDLo4XIJAQYHCwZGHGAgYBXQUzCwYuIDAwAHCxRJEAAxFJDBgWNDBAWPAH4AYA=")));
require('Storage').write("+sbt",{"name":"bluetooth","type":"widget","src":"=sbt","files":"+sbt,=sbt"});
require('Storage').write("=sbt","(function(){\nvar img_bt = E.toArrayBuffer(atob(\"CxQBBgDgFgJgR4jZMawfAcA4D4NYybEYIwTAsBwDAA==\"));\nvar xpos = WIDGETPOS.tr-24;\nWIDGETPOS.tr-=24;\n\nfunction draw() {\n var x = xpos, y = 0;\n if (NRF.getSecurityStatus().connected)\n g.setColor(0,0.5,1);\n else\n g.setColor(0.3,0.3,0.3);\n g.drawImage(img_bt,10+x,2+y);\n g.setColor(1,1,1);\n}\nfunction changed() {\n draw();\n g.flip();\n}\nNRF.on('connected',changed);\nNRF.on('disconnected',changed);\nWIDGETS[\"bluetooth\"]={draw:draw};\n})()\n");
require('Storage').write("+sbat",{"name":"Battery Level","type":"widget","src":"=sbat","files":"+sbat,=sbat"});
require('Storage').write("=sbat","(function(){\nvar img_charge = E.toArrayBuffer(atob(\"DhgBHOBzgc4HOP////////////////////3/4HgB4AeAHgB4AeAHgB4AeAHg\"));\nvar xpos = WIDGETPOS.tr-64;\nWIDGETPOS.tr-=68;\n\nfunction draw() {\n var s = 63;\n var x = xpos, y = 0;\n g.clearRect(x,y,x+s,y+23);\n if (Bangle.isCharging()) {\n g.drawImage(img_charge,x,y);\n x+=16;\n s-=16;\n }\n g.setColor(1,1,1);\n g.fillRect(x,y+2,x+s-4,y+21);\n g.clearRect(x+2,y+4,x+s-6,y+19);\n g.fillRect(x+s-3,y+10,x+s,y+14);\n g.fillRect(x+4,y+6,x+4+E.getBattery()*(s-12)/100,y+17);\n g.setColor(1,1,1);\n}\nBangle.on('charging',function(charging) { draw(); g.flip(); if(charging)Bangle.buzz(); });\nWIDGETS[\"battery\"]={draw:draw};\n})()\n");
require('Storage').write("+funrun5",{"name":"5K Fun Run","type":"app","icon":"*funrun5","src":"-funrun5","sortorder":-1,"files":"+funrun5,-funrun5,*funrun5"});
@ -34,7 +36,7 @@
require('Storage').write("+nceuwid",{"name":"nceuwid","type":"widget","src":"=nceuwid","files":"+nceuwid,=nceuwid"});
require('Storage').write("=nceuwid","(function(){\nvar img = E.toArrayBuffer(atob(\"SxgCAAAAAAAAAAAAAAAAAAAAAAAAALwDwH/gD/0B//Af+AAD4C8f/wL8Dwf/8H//C//C//AAD9C8f/wL9Dw//+H//i4AD0AH8D/C8fAAL/Dz///H//y8ALgAf/D/i8fAALrzz///H//2//PAAv/Dz28f/gLz7z///H//29VPQAv/Dx+8fqQLw/y///H//y4ALwAP/Dwv8fAALwfw//9H//i+qD8FC0DwP8fAALwPwP/4H/+C//A//AADwD8fAAAAAAC/QD+gAAAAL4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGqooBkD+AP0fgvgAAAAAAAAAAL/88C4NBw0NBjQcAAAAAAAAAALQA8C4AAyQDBjAJAAAAAAAAAALQA8C4AAzACBjAKAAAAAAAAAAL/88C4ABTACRjQbAAAAAAAAAAL/48C4AHDACRgvjAAAAAAAAAALQA8C4AcDACBgACAAAAAAAAAALQA+D0BwCQDBgANAAAAAAAAAAL/8P/wHAA0NBgAoAAAAAAAAAAGqoC+AP/0HgAQuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"));\nvar xpos = WIDGETPOS.tl;\nWIDGETPOS.tl+=75;\n\n\nWIDGETS[\"nceu\"]={draw:()=>{\n var x = xpos, y = 0;\n g.setColor(0.17,0.2,0.5);\n g.drawImage(img,x,y);\n g.setColor(1,1,1);\n}};\n})()\n");
require('Storage').write("+start",{"name":"Start","type":"app","icon":"*start","src":"-start","files":"+start,-start,*start,*bangle,*nceu,*nfr,*nodew,*tf"});
require('Storage').write("-start","var g = Graphics.getInstance();\ng.setFontAlign(1, 1, 0);\nconst d = g.getWidth() - 18;\nfunction c(a) {\n return {\n width: 8,\n height: a.length,\n bpp: 1,\n buffer: (new Uint8Array(a)).buffer\n };\n}\n\nfunction welcome() {\n var welcomes = [\n 'Welcome',\n 'Failte',\n 'Bienvenue',\n 'Willkommen',\n 'Bienvenido'\n ];\n function next() {\n var n = welcomes.shift();\n E.showMessage(n);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,116);\n welcomes.push(n);\n }\n return new Promise((res) => {\n next();\n var i = setInterval(next, 2000);\n setWatch(() => {\n clearInterval(i);\n clearWatch();\n E.showMessage('Loading...');\n res();\n }, BTN2, {repeat:false});\n });\n}\n\nfunction logos() {\n var logos = [\n ['nfr', 20, 90, ()=>{}],\n ['nceu', 20, 90, ()=>{\n g.setFont(\"6x8\", 2);\n g.setColor(0,0,1);\n g.drawString('Welcome To', 160, 110);\n g.drawString('NodeConfEU', 160, 130);\n g.drawString('2019', 200, 150);\n }],\n ['bangle', 70, 90, ()=>{}],\n ['nodew', 20, 90, ()=>{}],\n ['tf', 24, 90, ()=>{}],\n ];\n function next() {\n var n = logos.shift();\n var img = require(\"Storage\").read(\"*\"+n[0]);\n g.clear();\n g.drawImage(img, n[1], n[2]);\n n[3]();\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,116);\n logos.push(n);\n }\n return new Promise((res) => {\n next();\n var i = setInterval(next, 2000);\n setWatch(() => {\n clearInterval(i);\n clearWatch();\n res();\n }, BTN2, {repeat:false});\n });\n}\n\nfunction info() {\n var slides = [\n () => E.showMessage('Visit\\nnodewatch.dev\\nfor info'),\n () => E.showMessage('Visit\\nbanglejs.com/apps\\nfor apps'),\n () => E.showMessage('Remember\\nto charge\\nyour watch!'),\n () => {\n g.clear();\n g.setFont('6x8',2);\n g.setColor(1,1,1);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,40);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,194);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,116);\n g.drawString('Menu Up', d - 50, 42);\n g.drawString('Select', d - 40, 118);\n g.drawString('Menu Down', d - 60, 196);\n },\n () => {\n g.clear();\n E.showMessage('Hold both\\nto return\\nto clock');\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,40);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,194);\n },\n () => {\n g.clear();\n E.showMessage('Hold both\\nto reboot');\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,40);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,116);\n },\n () => E.showMessage('Open Settings\\nto enable\\nBluetooth')\n ];\n function next() {\n var n = slides.shift();\n n();\n slides.push(n);\n }\n return new Promise((res) => {\n next();\n var i = setInterval(next, 2000);\n setWatch(()=>{\n clearInterval(i);\n clearWatch();\n res();\n }, BTN2, {repeat:false});\n });\n}\n\nfunction cleanup() {\n E.showMessage('Loading...');\n var s = require('Storage');\n s.erase('*nfr');\n s.erase('*nceu');\n s.erase('*bangle');\n s.erase('*nodew');\n s.erase('*tf');\n s.erase('+start');\n s.erase('-start');\n s.erase('*start');\n return Promise.resolve();\n}\n\nwelcome()\n .then(logos)\n .then(info)\n .then(cleanup)\n .then(load);\n");
require('Storage').write("-start","NRF.sleep();\nvar g = Graphics.getInstance();\ng.setFontAlign(1, 1, 0);\nconst d = g.getWidth() - 18;\nfunction c(a) {\n return {\n width: 8,\n height: a.length,\n bpp: 1,\n buffer: (new Uint8Array(a)).buffer\n };\n}\n\nfunction welcome() {\n var welcomes = [\n 'Welcome',\n 'Failte',\n 'Bienvenue',\n 'Willkommen',\n 'Bienvenido'\n ];\n function next() {\n var n = welcomes.shift();\n E.showMessage(n);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,116);\n welcomes.push(n);\n }\n return new Promise((res) => {\n next();\n var i = setInterval(next, 2000);\n setWatch(() => {\n clearInterval(i);\n clearWatch();\n E.showMessage('Loading...');\n res();\n }, BTN2, {repeat:false});\n });\n}\n\nfunction logos() {\n var logos = [\n ['nfr', 20, 90, ()=>{}],\n ['nceu', 20, 90, ()=>{\n g.setFont(\"6x8\", 2);\n g.setColor(0,0,1);\n g.drawString('Welcome To', 160, 110);\n g.drawString('NodeConfEU', 160, 130);\n g.drawString('2019', 200, 150);\n }],\n ['bangle', 70, 90, ()=>{}],\n ['nodew', 20, 90, ()=>{}],\n ['tf', 24, 90, ()=>{}],\n ];\n function next() {\n var n = logos.shift();\n var img = require(\"Storage\").read(\"*\"+n[0]);\n g.clear();\n g.drawImage(img, n[1], n[2]);\n n[3]();\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,116);\n logos.push(n);\n }\n return new Promise((res) => {\n next();\n var i = setInterval(next, 2000);\n setWatch(() => {\n clearInterval(i);\n clearWatch();\n res();\n }, BTN2, {repeat:false});\n });\n}\n\nfunction info() {\n var slides = [\n () => E.showMessage('Visit\\nnodewatch.dev\\nfor info'),\n () => E.showMessage('Visit\\nbanglejs.com/apps\\nfor apps'),\n () => E.showMessage('Remember\\nto charge\\nyour watch!'),\n () => {\n g.clear();\n g.setFont('6x8',2);\n g.setColor(1,1,1);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,40);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,194);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,116);\n g.drawString('Menu Up', d - 50, 42);\n g.drawString('Select', d - 40, 118);\n g.drawString('Menu Down', d - 60, 196);\n },\n () => {\n g.clear();\n E.showMessage('Hold\\nto return\\nto clock');\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,194);\n },\n () => {\n g.clear();\n E.showMessage('Hold both\\nto reboot');\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,40);\n g.drawImage(c([0,8,12,14,255,14,12,8]),d,116);\n },\n () => E.showMessage('Open Settings\\nto enable\\nBluetooth')\n ];\n function next() {\n var n = slides.shift();\n n();\n slides.push(n);\n }\n return new Promise((res) => {\n next();\n var i = setInterval(next, 2000);\n setWatch(()=>{\n clearInterval(i);\n clearWatch();\n res();\n }, BTN2, {repeat:false});\n });\n}\n\nfunction cleanup() {\n E.showMessage('Loading...');\n var s = require('Storage');\n s.erase('*nfr');\n s.erase('*nceu');\n s.erase('*bangle');\n s.erase('*nodew');\n s.erase('*tf');\n s.erase('+start');\n s.erase('-start');\n s.erase('*start');\n return Promise.resolve();\n}\n\nwelcome()\n .then(logos)\n .then(info)\n .then(cleanup)\n .then(load);\n");
require('Storage').write("*start",require("heatshrink").decompress(atob("mEwxH+AHMPADQv/F+YxZYtb1wFto7SEbwwQBIsen0/ADU+jxfOjwtbAAYwDWZVWF79WfBAvEq4vfq4vIGQgviR44AEFz4vEGRQvnGA4v/F79YX9IHEq4aKh//jwvRrBcHG4ovL/4ABB5gAFRAwvVGIQveoAAIF4oABq0/CZIACF8BiBrAvTGIoaKF5AABIpVXd44AFJBQvKh4vOGBIvVL54vdX5iPhqztLoFYFpYvSh8/FxgABFpYvQRRgveoEP/8eFqAvbACi/CeA4IDP6IvUGIYGEF+EMADwvJR4ovmdoovnFoowDF8QsIF4dZF79ZF5RpCj1AFztAjy7JAAgwdFwbAFFwwAmF/4vhGFrxLFkoAvA=")));
require('Storage').write("*bangle",require("heatshrink").decompress(atob("s8wxH+AH4AQ/4AJJX5mmM/5m/AH5m/M34A/M35l/M35mqM/5m/AH5m/M34A/MqQKQJm5laOh7kNM35MGbiQxLM9osWIiZnGDI5m/VTBm/MsrOGM35maB4xm/MsoZFORZm/Fq5mDAAwUKBhAHBDJYLGAY4rOPShmRF44TIIoqlJCIxmKEZLMSBxY1GE5RTIJpwYSP5hmQZxodKLBKpIDBQZHMxS4MM1IKCMzKNQHJJmtFwbbUMy4AIM35mcJR5mbLCo1GZrxLOLZ6BMH5wOHMyAYRSRLOWGRY+MAxRmODCZeNMyLNMAA4TIBgpmPFA4YMHBZnPFIp/cADa0cC9Zm2J5YkKMtgsIGjZRTCYLMsFow0dDqJluGAgzhEJwxiAGpYLMn70hAA5N/M34A/M35mzJn5m/AH5nNJf5m/AH5m/M34A/M35m/MpgA=")));
require('Storage').write("*nceu",require("heatshrink").decompress(atob("o9HxH+AEOAwAkiIkIADIv5CEI/4/IJHbNLbPA4Iv1+JHREIwkmk2EJBBE2IoUnIwJHBCx5GoBA2DIgQACBw5G3aQQADwRG+wEmagQCBvxGufoQpDFxOCI4YNIDgxNeD4gDHCY+EwgMKBQIjGJDJlHA4YlKvzRHDRZHZDJQkMBZojVECb+OHJgkOZ6w6KCJAHJCgY1dK5wPDCg4GICYjDZBY9+vxGMArItLeRgWDwOEwmBJA5Ggv2GlMMwJGTwRFBI5JGfv2HlIACwRGRwBFDAAIUGIz+FIYMMI4R0CIxzSCRwhaMIBy2FAAaMBhmHI4QjIRqwUFIxxFJOgLTDlMGRqJHFwF+CpAWDIxgwJBgN+aoSMEIyAGBweDXBg6FABIWLAgOCw+GMhRGKByI9IIxYtQIywaJC5YTTIzwRGOyQqTIzLGNCTJGgXqIRTIzILIIzQvUI5a4EBgh6TDI7dKZJo7IAwQLFIzAjKIhwQGChBvMEhojLIqIjGBaZGPEbppOEerrLBYpGVEZrVOBpJjJIzCHNcpoqPI6gaUIywfSCLJGgXBYSZIzwRFCxoSGFSJGYCA4XLCRArQIywOJYxDPLFqA3OwFPp4HCy4lKHogAIM5uulukMIxGNy1MAAWW2JENFBJIMv8B0ksAAQQDIx2AptMpoCCChZGQGROYIocslsBIyGVIQNOp5HByhaMIxj9IAAWMIYUtRwiNPaIKNCpgUGIB4FNAAMXRq/+yhDBAAOUtJGlgKOCAAOvCJRGH2OVp1OypFGI0BHB0jUBzCMCIyAABtJEHI0RICIgYRMJBBGMCg4GICYgnPCBhHPBwQSIA5IUDGpxWOJBwgLfpgkOIhwVOEBj9WIipsKA4YiKgMBERojIIqphHAgYjKy+n1VpTJYjIADZlGEpOVlwABhTJKRL4oHFxIIEIgUKlula44/hShwIG1RFB02lJQJVII2zTC0iNBhVpI24vGgOmlpIBl2WagwWIJGFp1UKhRFGImI0FGouAaIoPIJGQMWJG5E7H5BE/I4pF/JA4kiA")));