implemented simple version of a Berlin Clock
parent
282408ba6b
commit
c4acfadabb
|
|
@ -0,0 +1,12 @@
|
||||||
|
// Create an entry in apps.json as follows:
|
||||||
|
{ "id": "berlinc",
|
||||||
|
"name": "Berlin Clock",
|
||||||
|
"icon": "app.png",
|
||||||
|
"description": "Berlin Clock",
|
||||||
|
"tags": "",
|
||||||
|
"storage": [
|
||||||
|
{"name":"+berlinc","url":"app.json"},
|
||||||
|
{"name":"-berlinc","url":"app.js"},
|
||||||
|
{"name":"*berlinc","url":"app-icon.js","evaluate":true}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
require("heatshrink").decompress(atob("mEwwJC/AH4A/AH4AgA=="));
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
(() => {
|
||||||
|
|
||||||
|
// place your const, vars, functions or classes here
|
||||||
|
fields = [ 4 , 4 , 11 , 4 ];
|
||||||
|
width = g.getWidth();
|
||||||
|
height = g.getHeight();
|
||||||
|
rowHeight = height/4;
|
||||||
|
rowlights = [];
|
||||||
|
|
||||||
|
function drawBerlinClock() {
|
||||||
|
var now = new Date();
|
||||||
|
rowlights[0] = now.getHours() / 5;
|
||||||
|
rowlights[1] = now.getHours() % 5;
|
||||||
|
rowlights[2] = now.getMinutes() / 5;
|
||||||
|
rowlights[3] = now.getMinutes() % 5;
|
||||||
|
|
||||||
|
g.clear();
|
||||||
|
|
||||||
|
g.drawRect(0,0,width,height);
|
||||||
|
for (row = 0 ; row < 4 ; row++) {
|
||||||
|
nfields = fields[row];
|
||||||
|
boxWidth = width/nfields;
|
||||||
|
|
||||||
|
for (col = 0 ; col < nfields ; col++) {
|
||||||
|
x1 = col*boxWidth;
|
||||||
|
y1 = row*rowHeight;
|
||||||
|
x2 = (col+1)*boxWidth;
|
||||||
|
y2 = (row+1)*rowHeight;
|
||||||
|
|
||||||
|
g.setColor(1,1,1);
|
||||||
|
g.drawRect(x1,y1,x2,y2);
|
||||||
|
if (col<rowlights[row]) {
|
||||||
|
|
||||||
|
if (row === 2 ) {
|
||||||
|
if (((col+1) % 3) === 0) {
|
||||||
|
g.setColor(1,0,0);
|
||||||
|
} else {
|
||||||
|
g.setColor(1,1,0);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
g.setColor(1,0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
g.fillRect(x1+2,y1+2,x2-2,y2-2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// special function to handle display switch on
|
||||||
|
Bangle.on('lcdPower', (on) => {
|
||||||
|
if (on) {
|
||||||
|
drawWidgets();
|
||||||
|
// call your app function here
|
||||||
|
drawBerlinClock();
|
||||||
|
}});
|
||||||
|
|
||||||
|
// call your app function here
|
||||||
|
|
||||||
|
// refesh every 15 sec
|
||||||
|
setInterval(drawBerlinClock, 15E3);
|
||||||
|
|
||||||
|
drawBerlinClock();
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"name":"Berlin Clock",
|
||||||
|
"icon":"*berlinc",
|
||||||
|
"src":"-berlinc"
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
Loading…
Reference in New Issue