From 7f80cb1625cf28822999e89107371ec7e4b10240 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 26 May 2021 21:06:48 +0100 Subject: [PATCH] Added super simple clock Ensure pedometer uses system colour scheme --- apps.json | 15 ++++++++++++++- apps/s7clk/ChangeLog | 1 + apps/s7clk/app.js | 40 ++++++++++++++++++++++++++++++++++++++++ apps/s7clk/icon.js | 1 + apps/s7clk/icon.png | Bin 0 -> 279 bytes apps/widpedom/ChangeLog | 1 + apps/widpedom/widget.js | 14 ++++---------- 7 files changed, 61 insertions(+), 11 deletions(-) create mode 100644 apps/s7clk/ChangeLog create mode 100644 apps/s7clk/app.js create mode 100644 apps/s7clk/icon.js create mode 100644 apps/s7clk/icon.png diff --git a/apps.json b/apps.json index 09477d72a..f1ef7849a 100644 --- a/apps.json +++ b/apps.json @@ -857,6 +857,19 @@ {"name":"sclock.img","url":"clock-simple-icon.js","evaluate":true} ] }, + { "id": "s7clk", + "name": "Simple 7 segment Clock", + "icon": "icon.png", + "version":"0.04", + "description": "A simple 7 segment Clock with date", + "tags": "clock", + "type":"clock", + "allow_emulator":true, + "storage": [ + {"name":"s7clk.app.js","url":"app.js"}, + {"name":"s7clk.img","url":"icon.js","evaluate":true} + ] + }, { "id": "vibrclock", "name": "Vibrate Clock", "icon": "app.png", @@ -1125,7 +1138,7 @@ { "id": "widpedom", "name": "Pedometer widget", "icon": "widget.png", - "version":"0.12", + "version":"0.13", "description": "Daily pedometer widget", "tags": "widget", "type":"widget", diff --git a/apps/s7clk/ChangeLog b/apps/s7clk/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/s7clk/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/s7clk/app.js b/apps/s7clk/app.js new file mode 100644 index 000000000..6973b8c16 --- /dev/null +++ b/apps/s7clk/app.js @@ -0,0 +1,40 @@ +require("Font7x11Numeric7Seg").add(Graphics); + +function draw() { + var d = new Date(); + var size = Math.floor(g.getWidth()/(7*6)); + var x = (g.getWidth()/2) - size*6, + y = (g.getHeight()/2) - size*7; + g.reset().clearRect(0,y,g.getWidth(),y+size*12+8); + g.setFont("7x11Numeric7Seg",size).setFontAlign(1,-1); + g.drawString(d.getHours(), x, y); + g.setFontAlign(-1,-1); + if (d.getSeconds()&1) g.drawString(":", x,y); + g.drawString(("0"+d.getMinutes()).substr(-2),x+size*4,y); + // draw seconds + g.setFont("7x11Numeric7Seg",size/2); + g.drawString(("0"+d.getSeconds()).substr(-2),x+size*18,y + size*7); + // date + var s = d.toString().split(" ").slice(0,4).join(" "); + g.reset().setFontAlign(0,-1); + g.drawString(s,g.getWidth()/2, y + size*12); +} + +// Only update when display turns on +Bangle.on('lcdPower', function(on) { + if (secondInterval) + clearInterval(secondInterval); + secondInterval = undefined; + if (on) + secondInterval = setInterval(draw, 1000); + draw(); +}); + +var secondInterval = setInterval(draw, 1000); +g.clear(); +draw(); +Bangle.loadWidgets(); +Bangle.drawWidgets(); + +// Show launcher when middle button pressed +setWatch(Bangle.showLauncher, BTN2, {repeat:false,edge:"falling"}); diff --git a/apps/s7clk/icon.js b/apps/s7clk/icon.js new file mode 100644 index 000000000..d5d9aaf68 --- /dev/null +++ b/apps/s7clk/icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mUygP/AC5BlH4MAn/gAwN/4EP/AFBsEMhkBwEAjEDgYJBgEGgHA4EYDwOAmEwBIIYyj/wgf+AoMH/kA/4eBJXwYLVxgAjh//AC3w")) diff --git a/apps/s7clk/icon.png b/apps/s7clk/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb08aec5e1b88cbd097bd451c072ec7c04d3bea9 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-wj^(N7l!{JxM1({$v}}ao-U3d z8I5nJU*u{w5OK~wzAvjZ-u~~px328fnZ=O@Zai~1*e;N-byXs<=jBG%BflSI>;69a zbmv@K25$Di 3){ stps = stps.slice(0,-3) + "," + stps.slice(-3); g.setFont("4x6", 1); // if big, shrink text to fix