From 7c5369d11fcd03141073c96c0ad71bb94c6b7aac Mon Sep 17 00:00:00 2001 From: numerist Date: Sat, 17 Jul 2021 15:49:50 -0400 Subject: [PATCH 1/5] Update app.js --- apps/doztime/app.js | 50 ++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/apps/doztime/app.js b/apps/doztime/app.js index 83f536018..9faede70a 100644 --- a/apps/doztime/app.js +++ b/apps/doztime/app.js @@ -17,7 +17,7 @@ const timeColour = "#f2f2f2"; const dateColours = ["#ff0000","#ffa500","#ffff00","#00b800","#0000ff","#ff00ff","#ff0080"]; const calen10 = {"size":32,"pt0":[32-g_x_off,16],"step":[20,0],"dx":-4.5,"dy":-4.5}; // positioning for usual calendar line const calen7 = {"size":32,"pt0":[62-g_x_off,16],"step":[20,0],"dx":-4.5,"dy":-4.5}; // positioning for S-day calendar line -const time5 = {"size":48,"pt0":[64-g_x_off,24],"step":[30,0],"dx":-6.5,"dy":-6.5}; // positioning for lull time line; was 64 +const time5 = {"size":48,"pt0":[64-g_x_off,24],"step":[30,0],"dx":-6.5,"dy":-6.5}; // positioning for lull time line const time6 = {"size":48,"pt0":[48-g_x_off,24],"step":[30,0],"dx":-6.5,"dy":-6.5}; // positioning for twinkling time line const baseYear = 11584; const baseDate = Date(2020,11,21); // month values run from 0 to 11 @@ -30,8 +30,11 @@ let lastX = 999999999; let res = {}; //var last_time_log = 0; +var drawtime_timeout; + // Date and time graphics buffers var dateColour = "#ffffff"; // override later +var timeColour2 = timeColour; var g_d = Graphics.createArrayBuffer(g_width,g_height_d,1,{'msb':true}); var g_t = Graphics.createArrayBuffer(g_width,g_height_t,1,{'msb':true}); // Set screen mode and function to write graphics buffers @@ -46,7 +49,7 @@ g.flip = function() height:g_height_d, buffer:g_d.buffer }, g_x_off, g_y_off + g_y_off_d); - g.setColor(timeColour); + g.setColor(timeColour2); g.drawImage( { width:g_width, @@ -118,7 +121,7 @@ function formatDate(res,dateFormat){ return(yyyy+"-"+m+"-"+w+"-"+d); } -function writeDozTime(text,def,colour){ +function writeDozTime(text,def){ let pts = def.pts; let x=def.pt0[0]; let y=def.pt0[1]; @@ -133,6 +136,7 @@ function writeDozTime(text,def,colour){ } } function writeDozDate(text,def,colour){ + dateColour = colour; let pts = def.pts; let x=def.pt0[0]; @@ -177,10 +181,10 @@ function drawTime() { // Write to background buffers, then display on screen writeDozDate(date,calenDef,res.colour); - writeDozTime(time,timeDef,timeColour); + writeDozTime(time,timeDef); g.flip(); // Ready next interval - setTimeout(drawTime,wait); + drawtime_timeout = setTimeout(drawTime,wait); } else { @@ -196,22 +200,14 @@ function modeTime() timeActiveUntil = new Date(); timeActiveUntil.setDate(timeActiveUntil.getDate()); timeActiveUntil.setSeconds(timeActiveUntil.getSeconds()+15); - //Bangle.setLCDPower(true); - clearTimeout(); + if (typeof drawtime_timeout !== 'undefined') + { + clearTimeout(drawtime_timeout); + } drawTime(); } - Bangle.loadWidgets(); - -// Time-logging function -/*function logTime(label) -{ - var d = new Date(); - var t = d.getTime(); - var diff_test = t - last_time_log; - last_time_log = t; - console.log(label + " at time: " + t + ", since last: " + diff_test); -}*/ +Bangle.drawWidgets(); // Functions for weather mode - TODO function drawWeather() {} @@ -222,4 +218,20 @@ Bangle.on('twist', function() { modeTime(); }); -Bangle.drawWidgets(); +// Time fix with GPS +function fixTime() { + Bangle.on("GPS",function cb(g) { + Bangle.setGPSPower(0,"time"); + Bangle.removeListener("GPS",cb); + if (!g.time || (g.time.getFullYear()<2000) || + (g.time.getFullYear()>2200)) { + } else { + // We have a GPS time. Set time + setTime(g.time.getTime()/1000); + } + }); + Bangle.setGPSPower(1,"time"); + setTimeout(fixTime, 10*60*1000); // every 10 minutes +} +// Start time fixing with GPS on next 10 minute interval +setTimeout(fixTime, ((60-(new Date()).getMinutes()) % 10) * 60 * 1000); From 13598a209a12a2ac5f78df796bf7ca7501312845 Mon Sep 17 00:00:00 2001 From: numerist Date: Sat, 17 Jul 2021 15:57:58 -0400 Subject: [PATCH 2/5] Update ChangeLog --- apps/doztime/ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/doztime/ChangeLog b/apps/doztime/ChangeLog index 5560f00bc..f615b246e 100644 --- a/apps/doztime/ChangeLog +++ b/apps/doztime/ChangeLog @@ -1 +1,3 @@ 0.01: New App! +0.02 added emulator capability and display of widgets +0.03 bug of advancing time fixed; doztime now correct within 1 second From ba63388a0939de6fd17fab74eef8710f889bfebe Mon Sep 17 00:00:00 2001 From: numerist Date: Sun, 18 Jul 2021 06:31:23 -0400 Subject: [PATCH 3/5] Update ChangeLog --- apps/doztime/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/doztime/ChangeLog b/apps/doztime/ChangeLog index f615b246e..ffa84b497 100644 --- a/apps/doztime/ChangeLog +++ b/apps/doztime/ChangeLog @@ -1,3 +1,3 @@ 0.01: New App! 0.02 added emulator capability and display of widgets -0.03 bug of advancing time fixed; doztime now correct within 1 second +0.03 bug of advancing time fixed; doztime now correct within ca. 1 second From d19f96f8ce8b9288f0f52c3a5d9f01b7b91bfae3 Mon Sep 17 00:00:00 2001 From: numerist Date: Thu, 22 Jul 2021 11:56:14 -0400 Subject: [PATCH 4/5] Update ChangeLog --- apps/doztime/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/doztime/ChangeLog b/apps/doztime/ChangeLog index ffa84b497..de00f009c 100644 --- a/apps/doztime/ChangeLog +++ b/apps/doztime/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02 added emulator capability and display of widgets 0.03 bug of advancing time fixed; doztime now correct within ca. 1 second +0.04 changed time colour from slightly off white to pure white From b5b85fe7f604d76496a43e99674acd31b83beca5 Mon Sep 17 00:00:00 2001 From: numerist Date: Thu, 22 Jul 2021 12:08:15 -0400 Subject: [PATCH 5/5] Update app.js --- apps/doztime/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/doztime/app.js b/apps/doztime/app.js index 9faede70a..38c5acbac 100644 --- a/apps/doztime/app.js +++ b/apps/doztime/app.js @@ -13,7 +13,7 @@ const g_height_t = 48; // height of time region const A1 = [30,30,30,30,31,31,31,31,31,31,30,30]; const B1 = [30,30,30,30,30,31,31,31,31,31,30,30]; const B2 = [30,30,30,30,31,31,31,31,31,30,30,30]; -const timeColour = "#f2f2f2"; +const timeColour = "#ffffff"; const dateColours = ["#ff0000","#ffa500","#ffff00","#00b800","#0000ff","#ff00ff","#ff0080"]; const calen10 = {"size":32,"pt0":[32-g_x_off,16],"step":[20,0],"dx":-4.5,"dy":-4.5}; // positioning for usual calendar line const calen7 = {"size":32,"pt0":[62-g_x_off,16],"step":[20,0],"dx":-4.5,"dy":-4.5}; // positioning for S-day calendar line