From e409ada3471a8a9cefe389c909a837be56284ede Mon Sep 17 00:00:00 2001 From: Weiming Date: Mon, 7 Jun 2021 16:40:23 -0400 Subject: [PATCH 01/37] Update ChangeLog --- apps/gpsrec/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/gpsrec/ChangeLog b/apps/gpsrec/ChangeLog index 412dbe9d3..c71a29482 100644 --- a/apps/gpsrec/ChangeLog +++ b/apps/gpsrec/ChangeLog @@ -21,3 +21,4 @@ 0.17: Disable recording if storage is full (fix #574) 0.18: Period counter now uses GPS time rather than counting packets (allows use with GPS Setup) 0.19: Fix memory usage issues inside track viewer app +0.20: Add documentation to explain time needed for getting a time fix From 3df0e9d64c6eb917b638e1c622585bcad3510c19 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Thu, 10 Jun 2021 20:18:21 +0200 Subject: [PATCH 02/37] remove duplicate omnitrix "readme" key from apps.json (no code change) --- apps.json | 1 - 1 file changed, 1 deletion(-) diff --git a/apps.json b/apps.json index f5b4c47a6..aee81676b 100644 --- a/apps.json +++ b/apps.json @@ -3212,7 +3212,6 @@ "readme": "README.md", "description": "An Omnitrix Showpiece", "tags": "game", - "readme": "README.md", "storage": [ {"name":"omnitrix.app.js","url":"omnitrix.app.js"}, {"name":"omnitrix.img","url":"omnitrix.icon.js","evaluate":true} From 002f861038674221327a50c256bcea881d3e0ab0 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Thu, 10 Jun 2021 20:17:03 +0200 Subject: [PATCH 03/37] barclock: use timeout to tick exactly on the second, instead of interval --- apps.json | 2 +- apps/barclock/ChangeLog | 3 ++- apps/barclock/clock-bar.js | 18 +++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/apps.json b/apps.json index aee81676b..c10395020 100644 --- a/apps.json +++ b/apps.json @@ -1312,7 +1312,7 @@ { "id": "barclock", "name": "Bar Clock", "icon": "clock-bar.png", - "version":"0.05", + "version":"0.06", "description": "A simple digital clock showing seconds as a bar", "tags": "clock", "type":"clock", diff --git a/apps/barclock/ChangeLog b/apps/barclock/ChangeLog index 616ee66e9..551926191 100644 --- a/apps/barclock/ChangeLog +++ b/apps/barclock/ChangeLog @@ -2,4 +2,5 @@ 0.02: Apply locale, 12-hour setting 0.03: Fix dates drawing over each other at midnight 0.04: Small bugfix -0.05: Clock does not start if app Languages is not installed \ No newline at end of file +0.05: Clock does not start if app Languages is not installed +0.06: Improve accuracy \ No newline at end of file diff --git a/apps/barclock/clock-bar.js b/apps/barclock/clock-bar.js index 0f2609298..4bb6c048a 100644 --- a/apps/barclock/clock-bar.js +++ b/apps/barclock/clock-bar.js @@ -12,12 +12,12 @@ date.setMonth(1, 3) // februari: months are zero-indexed const localized = locale.date(date, true) locale.dayFirst = /3.*2/.test(localized) - + locale.hasMeridian = false if(typeof locale.meridian === 'function') { // function does not exists if languages app is not installed locale.hasMeridian = (locale.meridian(date) !== '') } - + } const screen = { width: g.getWidth(), @@ -124,7 +124,7 @@ g.fillRect(0, timeTop, screen.width, screen.height) } - let lastSeconds + let lastSeconds, tTick const tick = function () { g.reset() const date = new Date() @@ -136,20 +136,20 @@ } // the bar only gets larger, so drawing on top of the previous one is fine drawBar(date) - lastSeconds = seconds + // schedule next update + const millis = date.getMilliseconds() + tTick = setTimeout(tick, 1000-millis) } - let iTick const start = function () { lastSeconds = 99 // force redraw tick() - iTick = setInterval(tick, 1000) } const stop = function () { - if (iTick) { - clearInterval(iTick) - iTick = undefined + if (tTick) { + clearTimeout(tTick) + tTick = undefined } } From c6bafb6b0a1cd7f6efa71a800c41e5b67229c740 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Thu, 10 Jun 2021 20:46:02 +0200 Subject: [PATCH 04/37] barclock: add readme with screenshots --- apps.json | 1 + apps/barclock/README.md | 6 ++++++ apps/barclock/screenshot.png | Bin 0 -> 2764 bytes apps/barclock/screenshot_pm.png | Bin 0 -> 2595 bytes 4 files changed, 7 insertions(+) create mode 100644 apps/barclock/README.md create mode 100644 apps/barclock/screenshot.png create mode 100644 apps/barclock/screenshot_pm.png diff --git a/apps.json b/apps.json index c10395020..31c791c86 100644 --- a/apps.json +++ b/apps.json @@ -1316,6 +1316,7 @@ "description": "A simple digital clock showing seconds as a bar", "tags": "clock", "type":"clock", + "readme": "README.md", "allow_emulator":true, "storage": [ {"name":"barclock.app.js","url":"clock-bar.js"}, diff --git a/apps/barclock/README.md b/apps/barclock/README.md new file mode 100644 index 000000000..4b92313c5 --- /dev/null +++ b/apps/barclock/README.md @@ -0,0 +1,6 @@ +# Bar Clock +A simple digital clock showing seconds as a horizontal bar. + +| 24hr style | 12hr style | +| --- | --- | +| ![24-hour bar clock](screenshot.png) | ![12-hour bar clock with meridian](screenshot_pm.png) | diff --git a/apps/barclock/screenshot.png b/apps/barclock/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..d37ee9cae2680e73889600e8eb29f87ba2956f87 GIT binary patch literal 2764 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 literal 0 HcmV?d00001 From ca12134ffe2a4ee3b464b49d1f497ca842a9e7af Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 11 Jun 2021 11:14:52 +0100 Subject: [PATCH 05/37] lock alignment --- apps/widlock/widget.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widlock/widget.js b/apps/widlock/widget.js index b710de8c6..ea664a083 100644 --- a/apps/widlock/widget.js +++ b/apps/widlock/widget.js @@ -5,6 +5,6 @@ }); WIDGETS["lock"]={area:"tl",width:Bangle.isLCDOn()?0:16,draw:function(w) { if (!Bangle.isLCDOn()) - g.reset().drawImage(atob("DhABH+D/wwMMDDAwwMf/v//4f+H/h/8//P/z///f/g=="), w.x, w.y); + g.reset().drawImage(atob("DhABH+D/wwMMDDAwwMf/v//4f+H/h/8//P/z///f/g=="), w.x+1, w.y+4); }}; })() From 45b5ab231a5875e131a8f494f1701d0e39f84c6a Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 11 Jun 2021 11:15:18 +0100 Subject: [PATCH 06/37] minor colour change to help with rounding on 3bpp --- apps/widid/widget.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widid/widget.js b/apps/widid/widget.js index 68917c65a..d4f4d6386 100644 --- a/apps/widid/widget.js +++ b/apps/widid/widget.js @@ -2,7 +2,7 @@ (() => { function draw() { var id = NRF.getAddress().substr().substr(12).split(":"); - g.reset().setColor(0, 0.5, 1).setFont("6x8", 1); + g.reset().setColor(0, 0.49, 1).setFont("6x8", 1); g.drawString(id[0], this.x+2, this.y+4, true); g.drawString(id[1], this.x+2, this.y+14, true); } From 7a287c497e17b8389ea683218de13edd22f6d822 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 11 Jun 2021 11:34:05 +0100 Subject: [PATCH 07/37] Add option for 3 bit maps, scrolling support --- apps.json | 2 +- apps/openstmap/ChangeLog | 1 + apps/openstmap/app.js | 16 +++++++++++++++- apps/openstmap/custom.html | 11 +++++++++++ apps/openstmap/openstmap.js | 15 ++++++++++----- 5 files changed, 38 insertions(+), 7 deletions(-) diff --git a/apps.json b/apps.json index f5b4c47a6..a02aec925 100644 --- a/apps.json +++ b/apps.json @@ -1462,7 +1462,7 @@ "name": "OpenStreetMap", "shortName":"OpenStMap", "icon": "app.png", - "version":"0.05", + "version":"0.06", "description": "[BETA] Loads map tiles from OpenStreetMap onto your Bangle.js and displays a map of where you are", "tags": "outdoors,gps", "custom": "custom.html", diff --git a/apps/openstmap/ChangeLog b/apps/openstmap/ChangeLog index 64b39b509..4d9b61031 100644 --- a/apps/openstmap/ChangeLog +++ b/apps/openstmap/ChangeLog @@ -3,3 +3,4 @@ 0.03: Show widgets (mainly so we can use the GPS recorder widget) 0.04: Move map rendering to a module (fix #396) 0.05: Show currently active gpsrec GPS trace (fix #395) +0.06: Add support for scrolling, option for 3 bit maps diff --git a/apps/openstmap/app.js b/apps/openstmap/app.js index 940557361..5a01a9059 100644 --- a/apps/openstmap/app.js +++ b/apps/openstmap/app.js @@ -34,7 +34,7 @@ Bangle.on('GPS',function(f) { g.drawString(txt,120,y1 + 4); drawMarker(); }); -Bangle.setGPSPower(1); +Bangle.setGPSPower(1, "app"); if (HASWIDGETS) { Bangle.loadWidgets(); @@ -55,3 +55,17 @@ setWatch(function() { m.lon = fix.lon; redraw(); }, BTN2, {repeat:true}); + +var hasScrolled = false; +E.on('touch',e=>{ + if (e.b) { + g.setClipRect(0,y1,g.getWidth()-1,y2); + g.scroll(e.dx,e.dy); + m.scroll(e.dx,e.dy); + g.setClipRect(0,0,g.getWidth()-1,g.getHeight()-1); + hasScrolled = true; + } else if (hasScrolled) { + hasScrolled = false; + redraw(); + } +}); diff --git a/apps/openstmap/custom.html b/apps/openstmap/custom.html index 81a55a4f8..95a4ff0a6 100644 --- a/apps/openstmap/custom.html +++ b/apps/openstmap/custom.html @@ -32,6 +32,7 @@
+

3 bit