From b90edaf3759ea26baa225cbf845d40985bdb4828 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 16:57:42 +0100 Subject: [PATCH 01/20] message --- apps.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps.json b/apps.json index 878bc7946..4ef5b13d9 100644 --- a/apps.json +++ b/apps.json @@ -515,7 +515,7 @@ {"name": "-pomodo","url": "pomodoro.js"}, {"name": "*pomodo","url": "pomodoro-icon.js","evaluate": true} ] -}, + }, { "id": "blobclk", "name": "Large Digit Clock", "icon": "clock-blob.png", @@ -527,5 +527,16 @@ {"name":"-blobclk","url":"clock-blob.js"}, {"name":"*blobclk","url":"clock-blob-icon.js","evaluate":true} ] + }, + { "id": "clck3x2", + "name": "3x2 Pixel Clock", + "icon": "clock3x2.png", + "description": "This is a simple clock using minimalistic 3x2 pixel numerical digits", + "tags": "clock", + "storage": [ + {"name":"+clck3x2","url":"clock3x2.json"}, + {"name":"-clck3x2","url":"clock3x2.js"}, + {"name":"*clck3x2","url":"clock3x2-icon.js","evaluate":true} + ], } ] From 1314d2ec86c9a89ffbbad33c63fa1d5c5e3f460c Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 17:01:14 +0100 Subject: [PATCH 02/20] Adding a 3x2 pixel digit clock app --- apps/clck3x2/clock3x2-icon.js | 1 + apps/clck3x2/clock3x2.js | 121 ++++++++++++++++++++++++++++++++++ apps/clck3x2/clock3x2.json | 5 ++ apps/clck3x2/clock3x2.png | Bin 0 -> 145 bytes 4 files changed, 127 insertions(+) create mode 100644 apps/clck3x2/clock3x2-icon.js create mode 100644 apps/clck3x2/clock3x2.js create mode 100644 apps/clck3x2/clock3x2.json create mode 100644 apps/clck3x2/clock3x2.png diff --git a/apps/clck3x2/clock3x2-icon.js b/apps/clck3x2/clock3x2-icon.js new file mode 100644 index 000000000..4c4d22d34 --- /dev/null +++ b/apps/clck3x2/clock3x2-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("AH4AfgPn3k8g+8AqIdG8E8noOBAqIdIASiT/AFY=")); diff --git a/apps/clck3x2/clock3x2.js b/apps/clck3x2/clock3x2.js new file mode 100644 index 000000000..ff151e35a --- /dev/null +++ b/apps/clck3x2/clock3x2.js @@ -0,0 +1,121 @@ +(() => { + + // place your const, vars, functions or classes here + + const ox=10; // x offset + const oy=80; + const pw=20; // pixel width + const ps=5; // pixel spacing + const ds=10; // digit spacing + const ms=20; // middle space + + const x00=ox; // digit 0, pixel 0, x position + const x01=x00+pw+ps; + const x10=x01+pw+ds; + const x11=x10+pw+ps; + const x20=x11+pw+ms; + const x21=x20+pw+ps; + const x30=x21+pw+ds; + const x31=x30+pw+ps; + const xSpace=[[x00,x01], // all pixel x spacing + [x10,x11], + [x20,x21], + [x30,x31]]; + + const y0=oy; // y spacing + const y1=y0+pw+ps; + const y2=y1+pw+ps; + const ySpace=[y0, y1, y2]; + + const pixels = [[[0,0], // digit on/off pixels + [1,1], + [1,1]], + [[0,1], // digit 1 + [0,1], + [0,1]], + [[0,1], + [1,0], + [1,1]], + [[1,1], + [0,1], + [1,1]], + [[1,0], + [1,1], + [0,1]], + [[1,1], + [1,0], + [0,1]], + [[1,0], + [1,1], + [1,1]], + [[1,1], + [0,1], + [0,1]], + [[1,1], + [1,1], + [1,1]], + [[1,1], + [1,1], + [0,1]]]; + + let id = null; // timer interval id + + function drawTime() { + g.clear(); + let d = Date(); + let h = d.getHours(); + let m = d.getMinutes(); + + let digit = [Math.floor(h/10), h%10, Math.floor(m/10), m%10]; // time digit + + for (let id=0; id<4; id++){ + for (let xp=0; xp<2; xp++){ + for (let yp=0; yp<3; yp++){ + if (pixels[digit[id]][yp][xp]==1){ + g.fillRect(xSpace[id][xp], ySpace[yp], xSpace[id][xp]+pw, ySpace[yp]+pw); + } + } + } + } + } + + function planNextUpdate() { + let d = Date(); + let t = d.getSeconds()*1000 + d.getMilliseconds(); + let delta = (60000 - t) % 60000; // time till next minute + idTimeout = setTimeout(updateTime, delta); + } + + function stopPlanning() { + if(idTimeout) { + clearTimeout(idTimeout); + } + } + + function updateTime() { + drawTime(); + planNextUpdate(); + } + + Bangle.on('gesture', function(gesture) { + if (gesture && !Bangle.isLCDOn()) { + Bangle.setLCDPower(true); + } + }); + + // special function to handle display switch on + Bangle.on('lcdPower', (on) => { + if (on) { + drawWidgets(); + // call your app function here + updateTime(); + } else { + stopPlanning(); + } + }); + + // call your app function here + Bangle.setLCDTimeout(30); + updateTime(); + +})(); diff --git a/apps/clck3x2/clock3x2.json b/apps/clck3x2/clock3x2.json new file mode 100644 index 000000000..1ffd00f4f --- /dev/null +++ b/apps/clck3x2/clock3x2.json @@ -0,0 +1,5 @@ +{ + "name":"3x2 Pixel Clock", + "icon":"*clck3x2", + "src":"-clck3x2" +} diff --git a/apps/clck3x2/clock3x2.png b/apps/clck3x2/clock3x2.png new file mode 100644 index 0000000000000000000000000000000000000000..fe3272ce2de7f2c7fa5fed4292e1f14624ef41e0 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)I*aCb)Tv?b{{`~vnx$k%!P=vk2 z)7O>#F%P4loRD Date: Mon, 2 Dec 2019 17:51:23 +0100 Subject: [PATCH 03/20] MESSAGE2 --- apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps.json b/apps.json index 4ef5b13d9..23b83e259 100644 --- a/apps.json +++ b/apps.json @@ -537,6 +537,6 @@ {"name":"+clck3x2","url":"clock3x2.json"}, {"name":"-clck3x2","url":"clock3x2.js"}, {"name":"*clck3x2","url":"clock3x2-icon.js","evaluate":true} - ], + ] } ] From 3c446d62fd39514dab5ba361ce6343637a10bbd4 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 17:59:45 +0100 Subject: [PATCH 04/20] MESSAGE3 --- apps.json | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/apps.json b/apps.json index 23b83e259..8986d5469 100644 --- a/apps.json +++ b/apps.json @@ -527,16 +527,5 @@ {"name":"-blobclk","url":"clock-blob.js"}, {"name":"*blobclk","url":"clock-blob-icon.js","evaluate":true} ] - }, - { "id": "clck3x2", - "name": "3x2 Pixel Clock", - "icon": "clock3x2.png", - "description": "This is a simple clock using minimalistic 3x2 pixel numerical digits", - "tags": "clock", - "storage": [ - {"name":"+clck3x2","url":"clock3x2.json"}, - {"name":"-clck3x2","url":"clock3x2.js"}, - {"name":"*clck3x2","url":"clock3x2-icon.js","evaluate":true} - ] } ] From f6191c0589bfae0d15be9b0ddde71731d4fb98f9 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 18:13:26 +0100 Subject: [PATCH 05/20] MESSAGE4 --- apps.json | 11 +++++++++++ apps/clck3x2/add_to_apps.json | 12 ++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 apps/clck3x2/add_to_apps.json diff --git a/apps.json b/apps.json index 8986d5469..fa423537e 100644 --- a/apps.json +++ b/apps.json @@ -1,4 +1,15 @@ [ + { "id": "clck3x2", + "name": "3x2 Pixel Clock", + "icon": "clock3x2.png", + "description": "This is a simple clock using minimalistic 3x2 pixel numerical digits", + "tags": "clock", + "storage": [ + {"name":"+clck3x2","url":"clock3x2.json"}, + {"name":"-clck3x2","url":"clock3x2.js"}, + {"name":"*clck3x2","url":"clock3x2-icon.js","evaluate":true} + ] + }, { "id": "boot", "name": "Bootloader", "icon": "bootloader.png", diff --git a/apps/clck3x2/add_to_apps.json b/apps/clck3x2/add_to_apps.json new file mode 100644 index 000000000..685df8973 --- /dev/null +++ b/apps/clck3x2/add_to_apps.json @@ -0,0 +1,12 @@ +// Create an entry in apps.json as follows: + { "id": "clck3x2", + "name": "3x2 Pixel Clock", + "icon": "clock3x2.png", + "description": "This is a simple clock using minimalistic 3x2 pixel numerical digits", + "tags": "clock", + "storage": [ + {"name":"+clck3x2","url":"clock3x2.json"}, + {"name":"-clck3x2","url":"clock3x2.js"}, + {"name":"*clck3x2","url":"clock3x2-icon.js","evaluate":true} + ] + } \ No newline at end of file From c557bc518fcced83ffb56262920b8abfb48b5abf Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 18:31:25 +0100 Subject: [PATCH 06/20] MESSAGE5 --- apps/clck3x2/clock3x2-icon.js | 3 ++- apps/clck3x2/clock3x2.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/clck3x2/clock3x2-icon.js b/apps/clck3x2/clock3x2-icon.js index 4c4d22d34..1908cc719 100644 --- a/apps/clck3x2/clock3x2-icon.js +++ b/apps/clck3x2/clock3x2-icon.js @@ -1 +1,2 @@ -require("heatshrink").decompress(atob("AH4AfgPn3k8g+8AqIdG8E8noOBAqIdIASiT/AFY=")); +E.toArrayBuffer(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAee8PAe8Aee8PAe8Aee8PAe8Aee8PAe8AAAAAAAAAeA8Pee8AeA8Pee8AeA8Pee8AeA8Pee8AAAAAAAAAeA8AeA8AeA8AeA8AeA8AeA8AeA8AeA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")) +}; diff --git a/apps/clck3x2/clock3x2.json b/apps/clck3x2/clock3x2.json index 1ffd00f4f..55ca67048 100644 --- a/apps/clck3x2/clock3x2.json +++ b/apps/clck3x2/clock3x2.json @@ -1,5 +1,5 @@ { - "name":"3x2 Pixel Clock", + "name":"3x2 Pix Clock", "icon":"*clck3x2", "src":"-clck3x2" } From 1925676ea5938e1edb33b9d8812d9db2a211a13a Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 18:56:02 +0100 Subject: [PATCH 07/20] MESSAGE6 --- apps/clck3x2/clock3x2-icon.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/clck3x2/clock3x2-icon.js b/apps/clck3x2/clock3x2-icon.js index 1908cc719..11aa4b796 100644 --- a/apps/clck3x2/clock3x2-icon.js +++ b/apps/clck3x2/clock3x2-icon.js @@ -1,2 +1 @@ -E.toArrayBuffer(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAee8PAe8Aee8PAe8Aee8PAe8Aee8PAe8AAAAAAAAAeA8Pee8AeA8Pee8AeA8Pee8AeA8Pee8AAAAAAAAAeA8AeA8AeA8AeA8AeA8AeA8AeA8AeA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")) -}; +require("heatshrink").decompress(atob("mEwgP/AH4Ae/0YofD/FDAqIdGj/D4QOBAqIdIASiT/AFYA==")); From a5217341c99264f5510ebde124490337b5d91912 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 19:00:57 +0100 Subject: [PATCH 08/20] MESSAGE7 --- apps/clck3x2/clock3x2-icon.js | 2 +- apps/clck3x2/clock3x2.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/clck3x2/clock3x2-icon.js b/apps/clck3x2/clock3x2-icon.js index 11aa4b796..5ef420d1e 100644 --- a/apps/clck3x2/clock3x2-icon.js +++ b/apps/clck3x2/clock3x2-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("mEwgP/AH4Ae/0YofD/FDAqIdGj/D4QOBAqIdIASiT/AFYA==")); +require("heatshrink").decompress(atob("mEwgRC/AH4A/gED/k/5/wh/wgAFCBcg7NgAVBh/zDoYLkHaAFqAH4A/AH4AW")); diff --git a/apps/clck3x2/clock3x2.json b/apps/clck3x2/clock3x2.json index 55ca67048..bc387a6db 100644 --- a/apps/clck3x2/clock3x2.json +++ b/apps/clck3x2/clock3x2.json @@ -1,5 +1,5 @@ { - "name":"3x2 Pix Clock", + "name":"Clock 3x2 Pix", "icon":"*clck3x2", "src":"-clck3x2" } From bbc9d5f0c95b446b3ed59035f257c1ac2f6be10f Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 19:03:45 +0100 Subject: [PATCH 09/20] MESSAGE8 --- apps/clck3x2/clock3x2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/clck3x2/clock3x2.json b/apps/clck3x2/clock3x2.json index bc387a6db..d1235d8f0 100644 --- a/apps/clck3x2/clock3x2.json +++ b/apps/clck3x2/clock3x2.json @@ -1,5 +1,5 @@ { - "name":"Clock 3x2 Pix", + "name":"Clock, 3x2Pix", "icon":"*clck3x2", "src":"-clck3x2" } From 03fa1e93492959ad6587d8d63d592df69af030c6 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 19:05:00 +0100 Subject: [PATCH 10/20] MESSAGE9 --- apps/clck3x2/clock3x2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/clck3x2/clock3x2.json b/apps/clck3x2/clock3x2.json index d1235d8f0..5bd96b13f 100644 --- a/apps/clck3x2/clock3x2.json +++ b/apps/clck3x2/clock3x2.json @@ -1,5 +1,5 @@ { - "name":"Clock, 3x2Pix", + "name":"Clock 3x2 Pixel", "icon":"*clck3x2", "src":"-clck3x2" } From 68fbcd49a5120167185a3da574b5707c0c0a215a Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 19:27:15 +0100 Subject: [PATCH 11/20] message10 --- apps/clck3x2/clock3x2.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/clck3x2/clock3x2.json b/apps/clck3x2/clock3x2.json index 5bd96b13f..2d445787e 100644 --- a/apps/clck3x2/clock3x2.json +++ b/apps/clck3x2/clock3x2.json @@ -1,5 +1,6 @@ { - "name":"Clock 3x2 Pixel", + "name":"Clock 3x2 Pix", + "type":"clock", "icon":"*clck3x2", "src":"-clck3x2" } From 69ce853d716ee8ff0460d1fbb2c2a0a6b04fc3bd Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 19:35:55 +0100 Subject: [PATCH 12/20] message11 --- apps/clck3x2/clock3x2.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/clck3x2/clock3x2.js b/apps/clck3x2/clock3x2.js index ff151e35a..c48213983 100644 --- a/apps/clck3x2/clock3x2.js +++ b/apps/clck3x2/clock3x2.js @@ -1,4 +1,4 @@ -(() => { +(function(){ // place your const, vars, functions or classes here @@ -104,18 +104,16 @@ }); // special function to handle display switch on - Bangle.on('lcdPower', (on) => { + Bangle.on('lcdPower', function(on){ if (on) { - drawWidgets(); - // call your app function here - updateTime(); + updateTime(); + drawWidgets(); } else { stopPlanning(); } }); // call your app function here - Bangle.setLCDTimeout(30); updateTime(); - + drawWidgets(); })(); From bdfbb5276657b04b634e26cc37224fba84eafdb2 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 20:09:56 +0100 Subject: [PATCH 13/20] message12 --- apps/clck3x2/clock3x2.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/apps/clck3x2/clock3x2.js b/apps/clck3x2/clock3x2.js index c48213983..1c8734870 100644 --- a/apps/clck3x2/clock3x2.js +++ b/apps/clck3x2/clock3x2.js @@ -58,7 +58,7 @@ [1,1], [0,1]]]; - let id = null; // timer interval id + let idTimeout = null; // timer interval id function drawTime() { g.clear(); @@ -77,13 +77,11 @@ } } } - } - function planNextUpdate() { let d = Date(); let t = d.getSeconds()*1000 + d.getMilliseconds(); let delta = (60000 - t) % 60000; // time till next minute - idTimeout = setTimeout(updateTime, delta); + idTimeout = setTimeout(drawTime, delta); } function stopPlanning() { @@ -92,11 +90,6 @@ } } - function updateTime() { - drawTime(); - planNextUpdate(); - } - Bangle.on('gesture', function(gesture) { if (gesture && !Bangle.isLCDOn()) { Bangle.setLCDPower(true); @@ -106,14 +99,13 @@ // special function to handle display switch on Bangle.on('lcdPower', function(on){ if (on) { - updateTime(); drawWidgets(); + drawTime(); } else { stopPlanning(); } }); // call your app function here - updateTime(); - drawWidgets(); + Bangle.setLCDPower(true); })(); From 3fe78154c33b11a54873b216deb2a0a91712de64 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 20:23:21 +0100 Subject: [PATCH 14/20] message13 --- apps/clck3x2/clock3x2.js | 188 +++++++++++++++++++-------------------- 1 file changed, 91 insertions(+), 97 deletions(-) diff --git a/apps/clck3x2/clock3x2.js b/apps/clck3x2/clock3x2.js index 1c8734870..812089019 100644 --- a/apps/clck3x2/clock3x2.js +++ b/apps/clck3x2/clock3x2.js @@ -1,111 +1,105 @@ (function(){ - // place your const, vars, functions or classes here - - const ox=10; // x offset - const oy=80; - const pw=20; // pixel width - const ps=5; // pixel spacing - const ds=10; // digit spacing - const ms=20; // middle space + const ox=10; // x offset + const oy=80; + const pw=20; // pixel width + const ps=5; // pixel spacing + const ds=10; // digit spacing + const ms=20; // middle space - const x00=ox; // digit 0, pixel 0, x position - const x01=x00+pw+ps; - const x10=x01+pw+ds; - const x11=x10+pw+ps; - const x20=x11+pw+ms; - const x21=x20+pw+ps; - const x30=x21+pw+ds; - const x31=x30+pw+ps; - const xSpace=[[x00,x01], // all pixel x spacing - [x10,x11], - [x20,x21], - [x30,x31]]; + const x00=ox; // digit 0, pixel 0, x position + const x01=x00+pw+ps; + const x10=x01+pw+ds; + const x11=x10+pw+ps; + const x20=x11+pw+ms; + const x21=x20+pw+ps; + const x30=x21+pw+ds; + const x31=x30+pw+ps; + const xSpace=[[x00,x01], // all pixel x spacing + [x10,x11], + [x20,x21], + [x30,x31]]; - const y0=oy; // y spacing - const y1=y0+pw+ps; - const y2=y1+pw+ps; - const ySpace=[y0, y1, y2]; + const y0=oy; // y spacing + const y1=y0+pw+ps; + const y2=y1+pw+ps; + const ySpace=[y0, y1, y2]; - const pixels = [[[0,0], // digit on/off pixels - [1,1], - [1,1]], - [[0,1], // digit 1 - [0,1], - [0,1]], - [[0,1], - [1,0], - [1,1]], - [[1,1], - [0,1], - [1,1]], - [[1,0], - [1,1], - [0,1]], - [[1,1], - [1,0], - [0,1]], - [[1,0], - [1,1], - [1,1]], - [[1,1], - [0,1], - [0,1]], - [[1,1], - [1,1], - [1,1]], - [[1,1], - [1,1], - [0,1]]]; + const pixels = [[[0,0], // digit on/off pixels + [1,1], + [1,1]], + [[0,1], // digit 1 + [0,1], + [0,1]], + [[0,1], + [1,0], + [1,1]], + [[1,1], + [0,1], + [1,1]], + [[1,0], + [1,1], + [0,1]], + [[1,1], + [1,0], + [0,1]], + [[1,0], + [1,1], + [1,1]], + [[1,1], + [0,1], + [0,1]], + [[1,1], + [1,1], + [1,1]], + [[1,1], + [1,1], + [0,1]]]; - let idTimeout = null; // timer interval id + let idTimeout = null; - function drawTime() { - g.clear(); - let d = Date(); - let h = d.getHours(); - let m = d.getMinutes(); + function drawTime() { + g.clear(); + drawWidgets(); + let d = Date(); + let h = d.getHours(); + let m = d.getMinutes(); - let digit = [Math.floor(h/10), h%10, Math.floor(m/10), m%10]; // time digit + let digits = [Math.floor(h/10), h%10, Math.floor(m/10), m%10]; // time digits - for (let id=0; id<4; id++){ - for (let xp=0; xp<2; xp++){ - for (let yp=0; yp<3; yp++){ - if (pixels[digit[id]][yp][xp]==1){ - g.fillRect(xSpace[id][xp], ySpace[yp], xSpace[id][xp]+pw, ySpace[yp]+pw); - } - } - } - } + for (let id=0; id<4; id++){ + for (let xp=0; xp<2; xp++){ + for (let yp=0; yp<3; yp++){ + if (pixels[digits[id]][yp][xp]==1){ + g.fillRect(xSpace[id][xp], ySpace[yp], xSpace[id][xp]+pw, ySpace[yp]+pw); + } + } + } + } - let d = Date(); - let t = d.getSeconds()*1000 + d.getMilliseconds(); - let delta = (60000 - t) % 60000; // time till next minute - idTimeout = setTimeout(drawTime, delta); - } + let d = Date(); + let t = d.getSeconds()*1000 + d.getMilliseconds(); + let delta = (60000 - t) % 60000; // time till next minute + idTimeout = setTimeout(drawTime, delta); + } - function stopPlanning() { - if(idTimeout) { - clearTimeout(idTimeout); - } - } + Bangle.on('gesture', function(gesture) { + if (gesture && !Bangle.isLCDOn()) { + Bangle.setLCDPower(true); + } + }); - Bangle.on('gesture', function(gesture) { - if (gesture && !Bangle.isLCDOn()) { - Bangle.setLCDPower(true); - } - }); + // special function to handle display switch on + Bangle.on('lcdPower', function(on){ + if (on) { + drawTime(); + } else { + if(idTimeout) { + clearTimeout(idTimeout); + } + } + }); - // special function to handle display switch on - Bangle.on('lcdPower', function(on){ - if (on) { - drawWidgets(); - drawTime(); - } else { - stopPlanning(); - } - }); - - // call your app function here - Bangle.setLCDPower(true); + // call your app function here + Bangle.setLCDPower(true); })(); From 2a9c16c160fc1026cebe4f252e47c849315c1502 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 20:26:35 +0100 Subject: [PATCH 15/20] message14 --- apps/clck3x2/clock3x2.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/clck3x2/clock3x2.js b/apps/clck3x2/clock3x2.js index 812089019..0a68b995d 100644 --- a/apps/clck3x2/clock3x2.js +++ b/apps/clck3x2/clock3x2.js @@ -101,5 +101,5 @@ }); // call your app function here - Bangle.setLCDPower(true); + drawTime(); })(); From 8c5852ec910ce3ddb5db4e7ce64602609c795d00 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 20:47:58 +0100 Subject: [PATCH 16/20] message15 --- apps/clck3x2/clock3x2-dev-offline.js | 129 +++++++++++++++++++++++++++ apps/clck3x2/clock3x2.js | 4 +- 2 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 apps/clck3x2/clock3x2-dev-offline.js diff --git a/apps/clck3x2/clock3x2-dev-offline.js b/apps/clck3x2/clock3x2-dev-offline.js new file mode 100644 index 000000000..65f2d82a8 --- /dev/null +++ b/apps/clck3x2/clock3x2-dev-offline.js @@ -0,0 +1,129 @@ +var appname = "clck3x2"; + +require("Storage").write('*'+appname, + require("heatshrink").decompress(atob("mEwgRC/AH4A/gED/k/5/wh/wgAFCBcg7NgAVBh/zDoYLkHaAFqAH4A/AH4AW")) +); + +require("Storage").write("+"+appname,{ + "name":"Clock 3x2 Pix", + "type":"clock", + "icon":"*"+appname, + "src":"-"+appname, +}); + +require("Storage").write("-"+appname,` + + + + +(function(){ + + const ox=10; // x offset + const oy=80; + const pw=20; // pixel width + const ps=5; // pixel spacing + const ds=10; // digit spacing + const ms=20; // middle space + + const x00=ox; // digit 0, pixel 0, x position + const x01=x00+pw+ps; + const x10=x01+pw+ds; + const x11=x10+pw+ps; + const x20=x11+pw+ms; + const x21=x20+pw+ps; + const x30=x21+pw+ds; + const x31=x30+pw+ps; + const xSpace=[[x00,x01], // all pixel x spacing + [x10,x11], + [x20,x21], + [x30,x31]]; + + const y0=oy; // y spacing + const y1=y0+pw+ps; + const y2=y1+pw+ps; + const ySpace=[y0, y1, y2]; + + const pixels = [[[0,0], // digit on/off pixels + [1,1], + [1,1]], + [[0,1], // digit 1 + [0,1], + [0,1]], + [[0,1], + [1,0], + [1,1]], + [[1,1], + [0,1], + [1,1]], + [[1,0], + [1,1], + [0,1]], + [[1,1], + [1,0], + [0,1]], + [[1,0], + [1,1], + [1,1]], + [[1,1], + [0,1], + [0,1]], + [[1,1], + [1,1], + [1,1]], + [[1,1], + [1,1], + [0,1]]]; + + let idTimeout = null; + + function drawTime() { + g.clear(); + drawWidgets(); + let d = Date(); + let h = d.getHours(); + let m = d.getMinutes(); + + let digits = [Math.floor(h/10), h%10, Math.floor(m/10), m%10]; // time digits + + for (let id=0; id<4; id++){ + for (let xp=0; xp<2; xp++){ + for (let yp=0; yp<3; yp++){ + if (pixels[digits[id]][yp][xp]==1){ + g.fillRect(xSpace[id][xp], ySpace[yp], xSpace[id][xp]+pw, ySpace[yp]+pw); + } + } + } + } + + let d = Date(); + let t = d.getSeconds()*1000 + d.getMilliseconds(); + let delta = (60000 - t) % 60000; // time till next minute + idTimeout = setTimeout(drawTime, delta); + } + + Bangle.on('gesture', function(gesture) { + if (gesture && !Bangle.isLCDOn()) { + Bangle.setLCDPower(true); + } + }); + + // special function to handle display switch on + Bangle.on('lcdPower', function(on){ + if (on) { + drawTime(); + } else { + if(idTimeout) { + clearTimeout(idTimeout); + } + } + }); + + // call your app function here + drawTime(); +})(); + + + + + +`); \ No newline at end of file diff --git a/apps/clck3x2/clock3x2.js b/apps/clck3x2/clock3x2.js index 0a68b995d..9c282a451 100644 --- a/apps/clck3x2/clock3x2.js +++ b/apps/clck3x2/clock3x2.js @@ -61,10 +61,10 @@ function drawTime() { g.clear(); drawWidgets(); + let d = Date(); let h = d.getHours(); let m = d.getMinutes(); - let digits = [Math.floor(h/10), h%10, Math.floor(m/10), m%10]; // time digits for (let id=0; id<4; id++){ @@ -100,6 +100,6 @@ } }); - // call your app function here drawTime(); + })(); From 0f90c06ec742986dd28950fd1e91720b3ceba67e Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 20:57:13 +0100 Subject: [PATCH 17/20] message16 --- apps/clck3x2/clock3x2-dev-offline.js | 129 --------------------------- 1 file changed, 129 deletions(-) delete mode 100644 apps/clck3x2/clock3x2-dev-offline.js diff --git a/apps/clck3x2/clock3x2-dev-offline.js b/apps/clck3x2/clock3x2-dev-offline.js deleted file mode 100644 index 65f2d82a8..000000000 --- a/apps/clck3x2/clock3x2-dev-offline.js +++ /dev/null @@ -1,129 +0,0 @@ -var appname = "clck3x2"; - -require("Storage").write('*'+appname, - require("heatshrink").decompress(atob("mEwgRC/AH4A/gED/k/5/wh/wgAFCBcg7NgAVBh/zDoYLkHaAFqAH4A/AH4AW")) -); - -require("Storage").write("+"+appname,{ - "name":"Clock 3x2 Pix", - "type":"clock", - "icon":"*"+appname, - "src":"-"+appname, -}); - -require("Storage").write("-"+appname,` - - - - -(function(){ - - const ox=10; // x offset - const oy=80; - const pw=20; // pixel width - const ps=5; // pixel spacing - const ds=10; // digit spacing - const ms=20; // middle space - - const x00=ox; // digit 0, pixel 0, x position - const x01=x00+pw+ps; - const x10=x01+pw+ds; - const x11=x10+pw+ps; - const x20=x11+pw+ms; - const x21=x20+pw+ps; - const x30=x21+pw+ds; - const x31=x30+pw+ps; - const xSpace=[[x00,x01], // all pixel x spacing - [x10,x11], - [x20,x21], - [x30,x31]]; - - const y0=oy; // y spacing - const y1=y0+pw+ps; - const y2=y1+pw+ps; - const ySpace=[y0, y1, y2]; - - const pixels = [[[0,0], // digit on/off pixels - [1,1], - [1,1]], - [[0,1], // digit 1 - [0,1], - [0,1]], - [[0,1], - [1,0], - [1,1]], - [[1,1], - [0,1], - [1,1]], - [[1,0], - [1,1], - [0,1]], - [[1,1], - [1,0], - [0,1]], - [[1,0], - [1,1], - [1,1]], - [[1,1], - [0,1], - [0,1]], - [[1,1], - [1,1], - [1,1]], - [[1,1], - [1,1], - [0,1]]]; - - let idTimeout = null; - - function drawTime() { - g.clear(); - drawWidgets(); - let d = Date(); - let h = d.getHours(); - let m = d.getMinutes(); - - let digits = [Math.floor(h/10), h%10, Math.floor(m/10), m%10]; // time digits - - for (let id=0; id<4; id++){ - for (let xp=0; xp<2; xp++){ - for (let yp=0; yp<3; yp++){ - if (pixels[digits[id]][yp][xp]==1){ - g.fillRect(xSpace[id][xp], ySpace[yp], xSpace[id][xp]+pw, ySpace[yp]+pw); - } - } - } - } - - let d = Date(); - let t = d.getSeconds()*1000 + d.getMilliseconds(); - let delta = (60000 - t) % 60000; // time till next minute - idTimeout = setTimeout(drawTime, delta); - } - - Bangle.on('gesture', function(gesture) { - if (gesture && !Bangle.isLCDOn()) { - Bangle.setLCDPower(true); - } - }); - - // special function to handle display switch on - Bangle.on('lcdPower', function(on){ - if (on) { - drawTime(); - } else { - if(idTimeout) { - clearTimeout(idTimeout); - } - } - }); - - // call your app function here - drawTime(); -})(); - - - - - -`); \ No newline at end of file From 52be9ef483607ddb3242228cfc64208af8f80b04 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 20:57:55 +0100 Subject: [PATCH 18/20] message16 --- apps/clck3x2/add_to_apps.json | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 apps/clck3x2/add_to_apps.json diff --git a/apps/clck3x2/add_to_apps.json b/apps/clck3x2/add_to_apps.json deleted file mode 100644 index 685df8973..000000000 --- a/apps/clck3x2/add_to_apps.json +++ /dev/null @@ -1,12 +0,0 @@ -// Create an entry in apps.json as follows: - { "id": "clck3x2", - "name": "3x2 Pixel Clock", - "icon": "clock3x2.png", - "description": "This is a simple clock using minimalistic 3x2 pixel numerical digits", - "tags": "clock", - "storage": [ - {"name":"+clck3x2","url":"clock3x2.json"}, - {"name":"-clck3x2","url":"clock3x2.js"}, - {"name":"*clck3x2","url":"clock3x2-icon.js","evaluate":true} - ] - } \ No newline at end of file From d3830e6dc64c60a4bbe1224e72ffc864960d3cf0 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Mon, 2 Dec 2019 21:43:34 +0100 Subject: [PATCH 19/20] bug fix --- apps/clck3x2/clock3x2.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/clck3x2/clock3x2.js b/apps/clck3x2/clock3x2.js index 9c282a451..d3c2c44b6 100644 --- a/apps/clck3x2/clock3x2.js +++ b/apps/clck3x2/clock3x2.js @@ -77,7 +77,7 @@ } } - let d = Date(); + d = Date(); let t = d.getSeconds()*1000 + d.getMilliseconds(); let delta = (60000 - t) % 60000; // time till next minute idTimeout = setTimeout(drawTime, delta); From 960401b53cb1c6dc4a8613dbdd8f4ea6d0b98823 Mon Sep 17 00:00:00 2001 From: sebi5361 Date: Tue, 3 Dec 2019 02:46:38 +0100 Subject: [PATCH 20/20] bug fix2 --- apps/clck3x2/clock3x2.js | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/clck3x2/clock3x2.js b/apps/clck3x2/clock3x2.js index d3c2c44b6..489458178 100644 --- a/apps/clck3x2/clock3x2.js +++ b/apps/clck3x2/clock3x2.js @@ -77,7 +77,6 @@ } } - d = Date(); let t = d.getSeconds()*1000 + d.getMilliseconds(); let delta = (60000 - t) % 60000; // time till next minute idTimeout = setTimeout(drawTime, delta);