diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index 983ca0d1c..c4da40606 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -10,40 +10,17 @@ Graphics.prototype.setFontOpenSans = function(scale) { ); }; -// the following 2 sections are used from waveclk to schedule minutely updates -// timeout used to update every minute var drawTimeout; // schedule a draw for the next minute function queueDraw() { if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(function () { - drawTimeout = undefined; draw(); - }, 60300 - (Date.now() % 60000)); -} - -function drawBackground() { - g.setBgColor(0, 0, 0); - g.setColor(1, 1, 1); - g.clear(); -} - -function digit(num) { - return String.fromCharCode(num + 48); -} - -function timeString(h, m) { - return digit(h / 10) + digit(h % 10) + ":" + digit(m / 10) + digit(m % 10); -} - -function dayString(w) { - return digit(w / 10) + digit(w % 10); + }, 60300 - (Date.now() % 60000)); // We aim for 300ms into the next minute to ensure we make it! } function draw() { - g.reset(); - drawBackground(); var date = new Date(); var h = date.getHours(), m = date.getMinutes(); @@ -52,13 +29,16 @@ function draw() { const level = E.getBattery(); const width = level + (level/2); + g.reset(); g.setBgColor(0, 0, 0); g.setColor(1, 1, 1); + g.clear(); g.setFontOpenSans(); g.setFontAlign(0, -1); - g.drawString(timeString(h, m), g.getWidth() / 2, 30); - g.drawString(dayString(d), g.getWidth() * 3 / 4, 98); + g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + g.setFontAlign(1, -1); + g.drawString(d, g.getWidth() -6, 98); g.setFont('Vector', 52); g.setFontAlign(-1, -1); g.drawString("SUMOTUWETHFRSA".slice(2*w,2*w+2), 6, 103); @@ -86,9 +66,6 @@ function draw() { queueDraw(); } -Bangle.loadWidgets(); -draw(); - //the following section is also from waveclk Bangle.on('lcdPower', on => { if (on) { @@ -99,6 +76,7 @@ Bangle.on('lcdPower', on => { } }); -Bangle.setUI("clock"); +Bangle.loadWidgets(); +draw(); -Bangle.drawWidgets(); +Bangle.setUI("clock");