From ec9935687e39753eb564c26e69e636be948ddb94 Mon Sep 17 00:00:00 2001 From: MaBecker Date: Sun, 10 Nov 2019 10:47:13 +0100 Subject: [PATCH] Add Simple Digital Clock --- apps.json | 12 +++++++ apps/clock-simple-icon.js | 1 + apps/clock-simple.js | 70 ++++++++++++++++++++++++++++++++++++++ apps/clock-simple.json | 6 ++++ apps/clock-simple.png | Bin 0 -> 1003 bytes 5 files changed, 89 insertions(+) create mode 100644 apps/clock-simple-icon.js create mode 100644 apps/clock-simple.js create mode 100644 apps/clock-simple.json create mode 100755 apps/clock-simple.png diff --git a/apps.json b/apps.json index a7765b2be..537df7395 100644 --- a/apps.json +++ b/apps.json @@ -298,5 +298,17 @@ {"name":"=nceuwid","url":"nceu-widget.js"} ], "sortorder" : -1 + }, + { "id": "sclock", + "name": "Simple Clock", + "icon": "clock-simple.png", + "description": "Simple Digital Clock", + "tags": "sclock", + "type":"clock", + "storage": [ + {"name":"+sclock","url":"clock-simple.json"}, + {"name":"-sclock","url":"clock-simple.js"}, + {"name":"*sclock","url":"clock-simple.js","evaluate":true} + ] } ] diff --git a/apps/clock-simple-icon.js b/apps/clock-simple-icon.js new file mode 100644 index 000000000..31d450a2f --- /dev/null +++ b/apps/clock-simple-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("AH4A/AH4A/AH4A/AE8FrEFvABKrBP/K5BVLAKJn8LbwBILv5h/Lb8NvFWjWW3e/jnfrvvvoBBAoIJBBoIRBCoJj3gtYGpMl3JLB85VCAKIVBDIIdBMJVYLuOGzZZTAJYhBMNq5L48cLr4BD38ciuYGpJfnlvZ79dLsYBD689FoJflXZJdpMIrDJLsIBB48cLtYBD38cHpJffw2bLt4BDv17L7odHku573751562a888GYPW3QLB99dJqfnjnOrPe7YRMvsVzBDGrBfby27LoI7B3v3LYJZB404M4IFBJYJnDOIUcAoW6A4JzCJoM83vXDYRXDngTBDIIJDx2bYLYZFht4Q4JdDLIK5DBIJfDAYIPB2uWJ4INB2u2A4IZBPYl9PYjHCAoKPDOYl9HoJffq0aJ4KrD40YfoY5CvKfBH4etupPBAIOlmhhBDoJfCLIRfFDYJ5DAYLLFHoJfXgtYDIuW3Y/BJoKpDGIKbBAoJXBIIJPBX4bVC6+c+bFDX4YlB1tVKoW6EoIFBEYILBL4uOzZFFJoK9VAIO/jivBGoZdDAIK5DBogDCaoZvBa4INDEYKFFAoLtC7YtFL4Y9BI45fX79dE4YBXLoK7BJIoBMGZA9BL75dbAILDDXYIhbL9vW3XOvL/BT4JXB51ZAYJRUrpxBDJZffcIJdKzRVBAYO9+5lB88c3vXBIITDXoJvBYIpVBBIUcBYPGjCDBEIYTDHoJff34nEAIvGnBTCT4O6T4YLEKYRLBOYLLDbIQHCBIYZB2u2QYLDFHoJfYrAXFy27L5I1BJoJrMvpRDVIKxBBYIPBDYIJBW4U8EoOc+YNBQ4IlDx2bL41YL57BHq0aX5aZBI4RRCI4Olmm1yy1CK4dZKIK9DMoJhBB4IbBC4OtuoDBB4JhDp0aXqpfJht485fIHYJBBG4JDDLIJnFVoJZBB4K1DNYYBB73bCIQFB/ZpDL4I5BHoJffAIOW3bBJAIT3EAMo5BIY5fUrAbFku5KNIBNHIJfGrBfTYJOGzZdzv17XrZfLAIO/jhdvGII9IXqxhLiuY689LtfXrsdzC9fMJst7JhpFIItBLspfJYYe2/hdj38cFII1IrBffMIVYMZN+vfnLrwhBFpJdjMJ6bBx2bMaoVBDIMl3JdxMIg1JAIUNvFWjRLB38c79dK4YFBBIINBCIIVBEphdqMaYBdLd5hsXOBjMrBb/M+hX/AH4A/AH4A/AH4AoA==")) diff --git a/apps/clock-simple.js b/apps/clock-simple.js new file mode 100644 index 000000000..ba050855b --- /dev/null +++ b/apps/clock-simple.js @@ -0,0 +1,70 @@ +/* jshint esversion: 6 */ +(function() { +const xyMin = 0; +const xyMax = g.getWidth(); + +//const appScreen = { x1: xyMin, y1: 24, x2: xyMax, y2: xyMax }; + +const timeFontSize = 6; +const dateFontSize = 3; +const gmtFontSize = 2; +const font = "6x8"; + +const xyCenter = xyMax / 2; +const yposTime = 75; +const yposDate = 130; +const yposYear = 175; +const yposGMT = 220; + +function drawSimpleClock() { + + // get date + var d = new Date(); + var da = d.toString().split(" "); + + //g.clearRect(appScreen.x1, appScreen.y1, appScreen.x2, appScreen.y2); + + // drawSting centered + g.setFontAlign(0, 0); + + // draw time + var time = da[4].substr(0, 5); + //g.clearRect(xyMin, yposTime, xyMax, yposTime + g.getFontHeight()); + g.setFont(font, timeFontSize); + g.drawString(time, xyCenter, yposTime,true); + + // draw Day, name of month, Date + var date = [ da[0], da[1], da[2] ].join(" "); + g.setFont(font, dateFontSize); + //g.clearRect(xyMin, yposDate, xyMax, yposDate + g.getFontHeight()); + g.drawString(date, xyCenter, yposDate,true); + + // draw year + g.setFont(font, dateFontSize); + //g.clearRect(xyMin, yposYear, xyMax, yposDate + g.getFontHeight()); + g.drawString(d.getFullYear(), xyCenter, yposYear,true); + + // draw gmt + var gmt = da[5]; + g.setFont(font, gmtFontSize); + g.drawString(gmt, xyCenter, yposGMT,true); + +} + +// handle switch display on by pressing BTN1 +Bangle.on('lcdPower', function(on) { + if (on) { + drawSimpleClock(); + drawWidgets(); + } +}); + +// clean app screen +g.clear(); + +// refesh every 15 sec +setInterval(drawSimpleClock, 15E3); +// draw now +drawSimpleClock(); + +})(); \ No newline at end of file diff --git a/apps/clock-simple.json b/apps/clock-simple.json new file mode 100644 index 000000000..2828a4d25 --- /dev/null +++ b/apps/clock-simple.json @@ -0,0 +1,6 @@ +{ + "name":"Simple Clock","type":"clock", + "icon":"*sclock", + "src":"-sslock", + "sortorder":-10 +} diff --git a/apps/clock-simple.png b/apps/clock-simple.png new file mode 100755 index 0000000000000000000000000000000000000000..2db46858bbbf5c08b07aae8017651ca1f90d2592 GIT binary patch literal 1003 zcmVW$Of+1c3@ zvcAm6Qyu7^RgML=wBF-S!q6GB#)>iwp-FBJ;k|-z$(yA1-+J}92 zU;qE-ECZe_1=8Jf_FL~K2s7kn?&QvwPl=8Caci$ysZ{q`JN1pfhHsvpoMo`x-25=S zaacLap;Bw;JU^kv~iWE}jO9ey7u444yC2m0Iahj<%AI=Yt+7^akh2;?_~g z|C9L9O$Xkgb2CaZihCq{&L5$G;bp?Aa9&)!>q7~y?(kdgOi8!n_W_e$;2Y-H5|mg}5Zay2 zO@Mph0!-q7lRu@cqrN@q8Pu1iZ+gz0M~>kMFbKFNlQ#5F^SVknj^Ccfl+3~|WA{w1 z4C6JTOA`~AGj|BULmaZB5?aW}<~%a3XvLPEBj;~(xfJxp5yV-&kd)JbO4y6v7Sq5q zU6)Bg0+W(xMuP9Ql(rwn%dy^Z$i7NI)nd`QT~L^L7OXMGSO)(@}E$z6nu@ zl7y~cp>J~v3cg8ILXHxGaN-5-oB&M2cndpp?`KR{T}3H#Xh0ZbENrYMWt`gq=h8MJ zkE%mw%L)jOrD?#qH6sSI#P#yc@bhIw;hxhSB7JGEQ3~*L-Q2u1n|O)Yb;o7mnR(4vFp(fpqa^rePZ zbf}9T;uUQdP2lpXJpS7+WdeDdx%y|DK~lKK51o;T)Vn~qD7-t99iwg$3wBXts9E^vAc7yk7IZL0LSiU Z#BVLJkYlt%59a^?002ovPDHLkV1gUg5OM$j literal 0 HcmV?d00001