diff --git a/apps.json b/apps.json index e37fd0229..4a9538090 100644 --- a/apps.json +++ b/apps.json @@ -623,5 +623,16 @@ {"name":"-blobclk","url":"clock-blob.js"}, {"name":"*blobclk","url":"clock-blob-icon.js","evaluate":true} ] + }, + { "id": "berlinc", + "name": "Berlin Clock", + "icon": "berlin-clock.png", + "description": "Berlin Clock (see https://en.wikipedia.org/wiki/Mengenlehreuhr)", + "tags": "", + "storage": [ + {"name":"+berlinc","url":"berlin-clock.json"}, + {"name":"-berlinc","url":"berlin-clock.js"}, + {"name":"*berlinc","url":"berlin-clock-icon.js","evaluate":true} + ] } ] diff --git a/apps/berlinc/add_to_apps.json b/apps/berlinc/add_to_apps.json new file mode 100644 index 000000000..a3d2e84a8 --- /dev/null +++ b/apps/berlinc/add_to_apps.json @@ -0,0 +1,12 @@ +// Create an entry in apps.json as follows: +{ "id": "berlinc", + "name": "Berlin Clock", + "icon": "berlin-clock.png", + "description": "Berlin Clock (see https://en.wikipedia.org/wiki/Mengenlehreuhr)", + "tags": "", + "storage": [ + {"name":"+berlinc","url":"berlin-clock.json"}, + {"name":"-berlinc","url":"berlin-clock.js"}, + {"name":"*berlinc","url":"berlin-clock-icon.js","evaluate":true} + ] +} diff --git a/apps/berlinc/berlin-clock-icon.js b/apps/berlinc/berlin-clock-icon.js new file mode 100644 index 000000000..2d5d0b439 --- /dev/null +++ b/apps/berlinc/berlin-clock-icon.js @@ -0,0 +1,4 @@ +var img = { + width : 48, height : 48, bpp : 4, + buffer : require("heatshrink").decompress(atob("xAAWxOZAAeP/4ADApX4C/4X/C/4XvxAAWF4o1QI4wX/C/4X/C9OIAC2L3e7AQQvBzAEBFAP4FoYEFC/4X/C/4XvxAAWFIIADApYsBAAX4C/4X/C/4XXf54AH")) +} diff --git a/apps/berlinc/berlin-clock.js b/apps/berlinc/berlin-clock.js new file mode 100644 index 000000000..875ae805e --- /dev/null +++ b/apps/berlinc/berlin-clock.js @@ -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] = Math.floor(now.getHours() / 5); + rowlights[1] = now.getHours() % 5; + rowlights[2] = Math.floor(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 { + if (on) { + drawWidgets(); + // call your app function here + drawBerlinClock(); + }}); + + // call your app function here + + // refesh every 15 sec + setInterval(drawBerlinClock, 15E3); + + drawBerlinClock(); + +})(); diff --git a/apps/berlinc/berlin-clock.json b/apps/berlinc/berlin-clock.json new file mode 100644 index 000000000..e9e77aa1e --- /dev/null +++ b/apps/berlinc/berlin-clock.json @@ -0,0 +1,5 @@ +{ + "name":"Berlin Clock", + "icon":"*berlinc", + "src":"-berlinc" +} diff --git a/apps/berlinc/berlin-clock.png b/apps/berlinc/berlin-clock.png new file mode 100644 index 000000000..abcb08df8 Binary files /dev/null and b/apps/berlinc/berlin-clock.png differ