From c4acfadabb7bed54f5825409f02db5f42e5ad483 Mon Sep 17 00:00:00 2001 From: Stefan Kuehnel Date: Mon, 9 Dec 2019 22:06:47 +0100 Subject: [PATCH] implemented simple version of a Berlin Clock --- apps/berlinc/add_to_apps.json | 12 ++++++ apps/berlinc/berlin-clock-icon.js | 1 + apps/berlinc/berlin-clock.js | 65 ++++++++++++++++++++++++++++++ apps/berlinc/berlin-clock.json | 5 +++ apps/berlinc/berlin-clock.png | Bin 0 -> 1620 bytes 5 files changed, 83 insertions(+) create mode 100644 apps/berlinc/add_to_apps.json create mode 100644 apps/berlinc/berlin-clock-icon.js create mode 100644 apps/berlinc/berlin-clock.js create mode 100644 apps/berlinc/berlin-clock.json create mode 100644 apps/berlinc/berlin-clock.png diff --git a/apps/berlinc/add_to_apps.json b/apps/berlinc/add_to_apps.json new file mode 100644 index 000000000..8e9815796 --- /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": "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} + ] +} diff --git a/apps/berlinc/berlin-clock-icon.js b/apps/berlinc/berlin-clock-icon.js new file mode 100644 index 000000000..52a11577f --- /dev/null +++ b/apps/berlinc/berlin-clock-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwJC/AH4A/AH4AgA==")); diff --git a/apps/berlinc/berlin-clock.js b/apps/berlinc/berlin-clock.js new file mode 100644 index 000000000..8c86ac5fc --- /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] = 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 { + 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 0000000000000000000000000000000000000000..582cb2e0853a5a2899a3afbd7eb19cde2ee7f6a0 GIT binary patch literal 1620 zcmV-a2CMmrP)1gXjloC|3_d8m;N2OpV(|i0q4YwBna<2! zK9thw%-*|urnNbV{Gax^?eD+#{x0kLJ~)lj_;W+1>qV*k8akT^^dvctZccUyj4}H~#M%Wwee_v` zHMv7o%BM8@dBrLshn{wGD9BDl?^eV5vSM3T96;NnHvtc6La=(qzq)xrX1d8bK-TN- zrd_f$_O`9nEmS+_S7HTXK<&u;LDIW|qlN&KJvM}tt6TVVqL-AvNv`B*{NzNpBfSQwQP5~Sf(Dp@Vq1+3Q`N9wBQN2`J_?M^u0FIMlt?p^8 z%U3%80kIwg!T{E9<8J18S&$k1`eO)@HP+=TZKo(z3_A3VFYJB=sn`2^Q$mRE>02(+W)np;)L1!GUvU2{O{<&F_nE6Qe#D~Xf|dD z+?d3-D1(IUiL`C2;PPv4CKw8H)v7h8^obJ&Z6D0CjVUe8Xq_NAymxUyPAMU^CCrIu z%1M71EC`5o2if_~7E&h??0jeQ1Y3N6p?}G72FmS*)xQD)%wBE=2tW6@(+MTi!fk9H1pWKew2(jTXVu4%vk26QvSQCbGmk`Z)Y! zBIhh)6vG2)h6mF8wC^|l$M(Eo9D?JiW}=_T2jUA>LC80foTera{^p)Wi`>}Gf;(|ZwEZQ zS^k|*9wyt=f4ZOo!xty7{%}HKD9tBZ50g$=%v&&vMa!#@Nsf>EkEEDA*ST6fiC+An zsNK1#>!x0obq@j$QqYU-ad3ZvbjqUU+%iw(0WahgmHV6yeLWqoYkSl4pzFQ(_Vp&I ztO{WI-48rGLwQb?#vgVvduyd9_6W)rFRoQJq3I(J?{Xmin45#=3l9BmL6Bp<*MZej zrsWN7oRPUr7IvrHoIHOjS=gPTCw>d)^LQK+B|=f2qbGjrWaOd5D<<9Dv>MTW0X3z> zyPy}9`<>1~?NCx@m8G$_@rRTy5zH12YM&P)=tU+L^fgY z^0Z&_6^qdVuwgN3wt_Ze(10?J@%{C2grBk42hsu74qEo^nd&v`X`IHN9lrxzS~GeF S(*#!l0000