Timeout bug fix; no leading zero on the date.

master
deirdreobyrne 2022-06-06 18:23:49 +01:00 committed by GitHub
parent a448c570bf
commit 417df8e2c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 31 deletions

View File

@ -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; var drawTimeout;
// schedule a draw for the next minute // schedule a draw for the next minute
function queueDraw() { function queueDraw() {
if (drawTimeout) clearTimeout(drawTimeout); if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = setTimeout(function () { drawTimeout = setTimeout(function () {
drawTimeout = undefined;
draw(); draw();
}, 60300 - (Date.now() % 60000)); }, 60300 - (Date.now() % 60000)); // We aim for 300ms into the next minute to ensure we make it!
}
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);
} }
function draw() { function draw() {
g.reset();
drawBackground();
var date = new Date(); var date = new Date();
var h = date.getHours(), var h = date.getHours(),
m = date.getMinutes(); m = date.getMinutes();
@ -52,13 +29,16 @@ function draw() {
const level = E.getBattery(); const level = E.getBattery();
const width = level + (level/2); const width = level + (level/2);
g.reset();
g.setBgColor(0, 0, 0); g.setBgColor(0, 0, 0);
g.setColor(1, 1, 1); g.setColor(1, 1, 1);
g.clear();
g.setFontOpenSans(); g.setFontOpenSans();
g.setFontAlign(0, -1); g.setFontAlign(0, -1);
g.drawString(timeString(h, m), g.getWidth() / 2, 30); g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30);
g.drawString(dayString(d), g.getWidth() * 3 / 4, 98); g.setFontAlign(1, -1);
g.drawString(d, g.getWidth() -6, 98);
g.setFont('Vector', 52); g.setFont('Vector', 52);
g.setFontAlign(-1, -1); g.setFontAlign(-1, -1);
g.drawString("SUMOTUWETHFRSA".slice(2*w,2*w+2), 6, 103); g.drawString("SUMOTUWETHFRSA".slice(2*w,2*w+2), 6, 103);
@ -86,9 +66,6 @@ function draw() {
queueDraw(); queueDraw();
} }
Bangle.loadWidgets();
draw();
//the following section is also from waveclk //the following section is also from waveclk
Bangle.on('lcdPower', on => { Bangle.on('lcdPower', on => {
if (on) { if (on) {
@ -99,6 +76,7 @@ Bangle.on('lcdPower', on => {
} }
}); });
Bangle.setUI("clock"); Bangle.loadWidgets();
draw();
Bangle.drawWidgets(); Bangle.setUI("clock");