diff --git a/apps/isoclock/isoclock-icon.js b/apps/isoclock/isoclock-icon.js new file mode 100644 index 000000000..261a54c35 --- /dev/null +++ b/apps/isoclock/isoclock-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwUC1QA/ACev/4AG/QLB3ptHvwLB+ALHh4LB6ALHg4LDnkD/8An4eBBYsPgcA+E8BY8AgfAAYILG+ALJF4ILJJwPDBZMDBZMMEQJHJL5J3LBfX/M4PAgaRB/gLC6ZnCmEPNQM8BYpnBWwQLG/4ZBBYvQn7UCC5ILXmAKBI4pfDLoIBB//HR8p0BAA0PBYO9BY9+BYOv/4AG/QLBAH4ASA=")) diff --git a/apps/isoclock/isoclock.js b/apps/isoclock/isoclock.js new file mode 100644 index 000000000..5f63a1248 --- /dev/null +++ b/apps/isoclock/isoclock.js @@ -0,0 +1,95 @@ +//load fonts +require("Font7x11Numeric7Seg").add(Graphics); +require("FontHaxorNarrow7x17").add(Graphics); +//screen position +const X = 170; +const Y = 140; + +function draw() { + // Date Variables + var date = new Date(); + var h = date.getHours(); + var m = date.getMinutes(); + var day = date.getDay(); + var month = date.getMonth()+1; + var dateNum = date.getDate(); + var year = date.getFullYear(); + var half = "AM"; + var time = ("0" + h).substr(-2) + ":" + ("0" + m).substr(-2); + + //convert day into string + switch (day) { + case 0: + day = "Sunday"; + break; + + case 1: + day = "Monday"; + break; + + case 2: + day = "Tuesday"; + break; + + case 3: + day = "Wednesday"; + break; + + case 4: + day = "Thursday"; + break; + + case 5: + day = "Friday"; + break; + + case 6: + day = "Saturday"; + break; + + default: + day = "ERROR"; + break; + } + + + if (h > 12) { + half = "PM"; + h = h - 12; + } + //reset graphics + g.reset(); + //draw the time + g.setFont("7x11Numeric7Seg", 5); + g.setFontAlign(1,1); + g.drawString(time, X+10, Y, true /*clear background*/); + g.setFont("7x11Numeric7Seg", 3); + g.drawString(("0"+date.getSeconds()).substr(-2), X+55, Y, true /*clear background*/); + g.setFontAlign(0,1); + g.setFont("HaxorNarrow7x17", 3); + g.drawString(day, X-60, Y+53, true); + g.drawString(year+"-"+month+"-"+dateNum, X-55, Y-55, true); + + +} + +//clear screen at startup +g.clear(); +//draw immediatly +draw(); + +var secondInterval = setInterval(draw, 1000); +// Stop updates when LCD is off, restart when on +Bangle.on('lcdPower',on=>{ + if (secondInterval) clearInterval(secondInterval); + secondInterval = undefined; + if (on) { + secondInterval = setInterval(draw, 1000); + draw(); // draw immediately + } +}); + +Bangle.loadWidgets(); +Bangle.drawWidgets(); + +setWatch(Bangle.showLauncher, BTN2, {repeat : false, edge: "falling"}); diff --git a/apps/isoclock/isoclock.png b/apps/isoclock/isoclock.png new file mode 100644 index 000000000..09cf9661d Binary files /dev/null and b/apps/isoclock/isoclock.png differ