From c54a6dbaaa503f0768c3006c6d241143326d1b2c Mon Sep 17 00:00:00 2001 From: "Marko.Kl.Berkenbusch@gmail.com" Date: Sat, 28 May 2022 11:26:12 -0400 Subject: [PATCH 001/622] Add lightning mode --- apps/f9lander/ChangeLog | 1 + apps/f9lander/app.js | 34 +++++++++++++++++++++++++++++++--- apps/f9lander/metadata.json | 3 ++- apps/f9lander/settings.js | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 apps/f9lander/settings.js diff --git a/apps/f9lander/ChangeLog b/apps/f9lander/ChangeLog index 5560f00bc..a13f2a313 100644 --- a/apps/f9lander/ChangeLog +++ b/apps/f9lander/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Add lightning diff --git a/apps/f9lander/app.js b/apps/f9lander/app.js index 7e52104c0..2f17a5bd5 100644 --- a/apps/f9lander/app.js +++ b/apps/f9lander/app.js @@ -46,6 +46,9 @@ var booster = { x : g.getWidth()/4 + Math.random()*g.getWidth()/2, var exploded = false; var nExplosions = 0; var landed = false; +var lightning = 0; + +var settings = require("Storage").readJSON('f9settings.json', 1) || {}; const gravity = 4; const dt = 0.1; @@ -61,18 +64,40 @@ function flameImageGen (throttle) { function drawFalcon(x, y, throttle, angle) { g.setColor(1, 1, 1).drawImage(falcon9, x, y, {rotate:angle}); - if (throttle>0) { + if (throttle>0 || lightning>0) { var flameImg = flameImageGen(throttle); var r = falcon9.height/2 + flameImg.height/2-1; var xoffs = -Math.sin(angle)*r; var yoffs = Math.cos(angle)*r; if (Math.random()>0.7) g.setColor(1, 0.5, 0); else g.setColor(1, 1, 0); - g.drawImage(flameImg, x+xoffs, y+yoffs, {rotate:angle}); + if (throttle>0) g.drawImage(flameImg, x+xoffs, y+yoffs, {rotate:angle}); + if (lightning>1 && lightning<30) { + for (var i=0; i<6; ++i) { + var r = Math.random()*6; + var x = Math.random()*5 - xoffs; + var y = Math.random()*5 - yoffs; + g.setColor(1, Math.random()*0.5+0.5, 0).fillCircle(booster.x+x, booster.y+y, r); + } + } } } +function drawLightning() { + var c = {x:cloudOffs+50, y:30}; + var dx = c.x-booster.x; + var dy = c.y-booster.y; + var m1 = {x:booster.x+0.6*dx+Math.random()*20, y:booster.y+0.6*dy+Math.random()*10}; + var m2 = {x:booster.x+0.4*dx+Math.random()*20, y:booster.y+0.4*dy+Math.random()*10}; + g.setColor(1, 1, 1).drawLine(c.x, c.y, m1.x, m1.y).drawLine(m1.x, m1.y, m2.x, m2.y).drawLine(m2.x, m2.y, booster.x, booster.y); +} + function drawBG() { + if (lightning==1) { + g.setBgColor(1, 1, 1).clear(); + Bangle.buzz(200); + return; + } g.setBgColor(0.2, 0.2, 1).clear(); g.setColor(0, 0, 1).fillRect(0, g.getHeight()-oceanHeight, g.getWidth()-1, g.getHeight()-1); g.setColor(0.5, 0.5, 1).fillCircle(cloudOffs+34, 30, 15).fillCircle(cloudOffs+60, 35, 20).fillCircle(cloudOffs+75, 20, 10); @@ -88,6 +113,7 @@ function renderScreen(input) { drawBG(); showFuel(); drawFalcon(booster.x, booster.y, Math.floor(input.throttle*12), input.angle); + if (lightning>1 && lightning<6) drawLightning(); } function getInputs() { @@ -97,6 +123,7 @@ function getInputs() { if (t > 1) t = 1; if (t < 0) t = 0; if (booster.fuel<=0) t = 0; + if (lightning>0 && lightning<20) t = 0; return {throttle: t, angle: a}; } @@ -121,7 +148,6 @@ function gameStep() { else { var input = getInputs(); if (booster.y >= targetY) { -// console.log(booster.x + " " + booster.y + " " + booster.vy + " " + droneX + " " + input.angle); if (Math.abs(booster.x-droneX-droneShip.width/2)40) && Math.random()>0.98) lightning = 1; booster.x += booster.vx*dt; booster.y += booster.vy*dt; booster.vy += gravity*dt; diff --git a/apps/f9lander/metadata.json b/apps/f9lander/metadata.json index 75c6a0164..5e7031b45 100644 --- a/apps/f9lander/metadata.json +++ b/apps/f9lander/metadata.json @@ -1,7 +1,7 @@ { "id": "f9lander", "name": "Falcon9 Lander", "shortName":"F9lander", - "version":"0.01", + "version":"0.02", "description": "Land a rocket booster", "icon": "f9lander.png", "screenshots" : [ { "url":"f9lander_screenshot1.png" }, { "url":"f9lander_screenshot2.png" }, { "url":"f9lander_screenshot3.png" }], @@ -11,5 +11,6 @@ "storage": [ {"name":"f9lander.app.js","url":"app.js"}, {"name":"f9lander.img","url":"app-icon.js","evaluate":true} + {"name":"f9lander.settings.js", "url":"settings.js"} ] } diff --git a/apps/f9lander/settings.js b/apps/f9lander/settings.js new file mode 100644 index 000000000..0f9fba302 --- /dev/null +++ b/apps/f9lander/settings.js @@ -0,0 +1,36 @@ +// This file should contain exactly one function, which shows the app's settings +/** + * @param {function} back Use back() to return to settings menu + */ +const boolFormat = v => v ? /*LANG*/"On" : /*LANG*/"Off"; +(function(back) { + const SETTINGS_FILE = 'f9settings.json' + // initialize with default settings... + let settings = { + 'lightning': false, + } + // ...and overwrite them with any saved values + // This way saved values are preserved if a new version adds more settings + const storage = require('Storage') + const saved = storage.readJSON(SETTINGS_FILE, 1) || {} + for (const key in saved) { + settings[key] = saved[key]; + } + // creates a function to safe a specific setting, e.g. save('color')(1) + function save(key) { + return function (value) { + settings[key] = value; + storage.write(SETTINGS_FILE, settings); + } + } + const menu = { + '': { 'title': 'OpenWind' }, + '< Back': back, + 'Lightning': { + value: settings.lightning, + format: boolFormat, + onchange: save('lightning'), + } + } + E.showMenu(menu); +}) From 3c121a808f845906ce4732662bb381fdeb09060f Mon Sep 17 00:00:00 2001 From: "Marko.Kl.Berkenbusch@gmail.com" Date: Sat, 28 May 2022 11:29:51 -0400 Subject: [PATCH 002/622] Fix missing comma --- apps/f9lander/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/f9lander/metadata.json b/apps/f9lander/metadata.json index 5e7031b45..1db777099 100644 --- a/apps/f9lander/metadata.json +++ b/apps/f9lander/metadata.json @@ -10,7 +10,7 @@ "supports" : ["BANGLEJS", "BANGLEJS2"], "storage": [ {"name":"f9lander.app.js","url":"app.js"}, - {"name":"f9lander.img","url":"app-icon.js","evaluate":true} + {"name":"f9lander.img","url":"app-icon.js","evaluate":true}, {"name":"f9lander.settings.js", "url":"settings.js"} ] } From f32ab8383beab1e3d040c1614365edd10ba14693 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Mon, 11 Jul 2022 16:51:03 +0200 Subject: [PATCH 003/622] gipy : initial commit --- apps/gipy/README.md | 13 ++++++ apps/gipy/app.js | 85 ++++++++++++++++++++++++++++++++++++++++ apps/gipy/gipy.img | Bin 0 -> 1156 bytes apps/gipy/gipy.png | Bin 0 -> 1606 bytes apps/gipy/metadata.json | 22 +++++++++++ 5 files changed, 120 insertions(+) create mode 100644 apps/gipy/README.md create mode 100644 apps/gipy/app.js create mode 100644 apps/gipy/gipy.img create mode 100644 apps/gipy/gipy.png create mode 100644 apps/gipy/metadata.json diff --git a/apps/gipy/README.md b/apps/gipy/README.md new file mode 100644 index 000000000..f28a2ed46 --- /dev/null +++ b/apps/gipy/README.md @@ -0,0 +1,13 @@ +# Gipy + +Development still in progress. Follow compressed gpx traces. +Warns you before reaching intersections and tries to turn off gps. + +## Usage + +WIP. + + +## Creator + +frederic.wagner@imag.fr diff --git a/apps/gipy/app.js b/apps/gipy/app.js new file mode 100644 index 000000000..92ec0ccfc --- /dev/null +++ b/apps/gipy/app.js @@ -0,0 +1,85 @@ + +// screen size is 172x172 +// we want to show 100 meters ahead +// 86 pixels is 100 meters +// 10 meters is 8.6 pixels +// 1 integer unit is 1.1 meter +// 8.6 pixels is 10 / 1.1 integers +// int = 8.6 pix * 1.1 / 10 +// int = 0.946 pixels + +var lat = null; +var lon = null; + +class Path { + constructor(filename) { + let buffer = require("Storage").readArrayBuffer(filename); + this.points_number = (buffer.byteLength - 2*8)/4; + this.view = DataView(buffer); + this.min_lon = this.view.getFloat64(0); + this.min_lat = this.view.getFloat64(8); + this.current_start = 0; // index of first point to be displayed + this.current_x = 0; + this.current_y = 0; + } + + get len() { + return this.points_number; + } +} + +class Point { + constructor(lon, lat) { + this.lon = lon; + this.lat = lat; + } + screen_x() { + return 192/2 + Math.round((this.lon - lon) * 100000.0); + } + screen_y() { + return 192/2 + Math.round((this.lat - lat) * 100000.0); + } +} + +function display(path) { + g.clear(); + let previous_point = null; + let current_x = path.current_x; + let current_y = path.current_y; + for (let i = path.current_start ; i < path.len ; i++) { + current_x += path.view.getInt16(2*8+4*i); + current_y += path.view.getInt16(2*8+4*i+2); + let point = new Point(current_x/100000.0 + path.min_lon, current_y/100000.0 + path.min_lat); + + if (previous_point !== null) { + g.drawLine( + previous_point.screen_x(), + previous_point.screen_y(), + point.screen_x(), + point.screen_y() + ); + } + previous_point = point; + } + g.setColor(1.0, 0.0, 0.0); + g.fillCircle(192/2, 192/2, 5); +} + +let path = new Path("test.gpc"); +lat = path.min_lat; +lon = path.min_lon; + +function set_coordinates(data) { + if (!isNaN(data.lat)) { + lat = data.lat; + } + if (!isNaN(data.lon)) { + lon = data.lon; + } +} + +Bangle.setGPSPower(true, "gipy"); +Bangle.on('GPS', set_coordinates); + +setInterval(display, 1000, path); + diff --git a/apps/gipy/gipy.img b/apps/gipy/gipy.img new file mode 100644 index 0000000000000000000000000000000000000000..9d6a7a9217c6ab57c6e0b17cb8535e24c90b03ef GIT binary patch literal 1156 zcmchVI}*Y$3`E^9xlWFfCikH81#)mKX?JbQ$qWrpFz~#eNY1`rSL%#4(mNw3t2scvQ2IQ3e>p z0Xz<%`|Xbn&~+G?24HufHEWh+$xB8yZ#2ztY8n7^U3aCOKT`lu0l1YZC3upF;7)A?#Cl%ocKpz5V6hfT1bn)f|y}rK9s&=X? zr3(L>2Y|tm$kiZ#`6|An5eWG5_Yg2qEyz>+)$4aU(Oum-ZalHr0U$Xl)W#&IE=k|p z6rCgNb`tdFWyCWN&{?PE0pN*qX`d44S4HUeYvH!fR5`W_kR)D@ALZ`li)W$tSNP_Pu);1oko7EpIdRp1dF6+)21mEspF+eR zStb*n2ILnNi}F`hd%dP3Cje2QHl&)QSfq`PXd0>7{N_n)x=UJ-jdWUQx0f%p52B^a4*+O8G zcYF2Ki}$eOFA8or!z{-F_}i%l6EdaLz72Ri)12hr(+J!_Wx<>w zQpy(CU72FdG^Dm^^WLnjy=EiF8p;p2Uj~5UjONc(@t`*^gGp-!*w&d=ffEs??2?*w ze_A11Dxm5}cF%A)asq%R$u+bjea|@+FR;inmY6?=we5x({vyUCe@)$2iHHfG0iAVm zGaPBatxa4H!QoBYw&iFl?&8q8eIS|zK-#u^H+nIlC9uddHW4vl0jUR%=>)VBqRi91 zuf*N<7KPSr1>$duZ6JjhyDPo3$C!~!r%+jI)@Z@J4?y%UE?Ka9$xF@3QxXFd^m!Tp zo^H>x(&BX?jP$~)4PUFGaYvx)NOn)bya}=90YH$XhO*Xd<@!$m|9d&&0ppZ2)9t~X zr4-v%&7J$ODyl5t*1R`1!Tj*jLvUoX-jb=@*XZ^2Z7f6{0JiNp7Eig7jgTr}I)wrU z-9-!v#0eJ_k8BDi>N()^Y<0S4ih@BJ2Kp=OerewrcM4UuOzOsrQWL>t!NaerPEU71 zu&lFT(hM3)_+#|ru_M}zr679LM6kOdwYL-XN}5c#mRp8I%(AL1psdB+7eosZ3NpNb zL*pMerO?$ImJKEXpW#@^b+eFn-8W{oj14**jFt!{UsKACBjMSF=M zcwbDDil?8-=>%|1B0XjbRX4fgZrpBPsifO7Y0{kr-VoiWEFks#wL$;`Er<@dktPaM z0X;W287ynjL1zvCjRm3gKSejj6c9W-p$~v%)^&OLs@949+qdYtF1mIV4Irp4YVCt? zDI(dY3dIy)7)Ai#E;i&-G>(+r`4TM5>6~`{%oYZ{=D?~7VTO34WX*cz8N~ANTDfQ{ zTR6M7OJEm3!|eN1B20u_f2eMAJVJ+EFa;ORejb8$GSDIGJ_G-NXj)NdUCheU9(D@& zK3*W;%l9x)gV?`@oPn`NxWaGwD>t6)5WNR@fcqH#0oLvGD9P1zN&o-=07*qoM6N<$ Ef?_oAlK=n! literal 0 HcmV?d00001 diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json new file mode 100644 index 000000000..9f31726d8 --- /dev/null +++ b/apps/gipy/metadata.json @@ -0,0 +1,22 @@ +{ + "id": "gipy", + "name": "Gipy", + "shortName": "Gipy", + "version": "0.01", + "description": "Follow gpx files", + "allow_emulator":false, + "icon": "gipy.img", + "type": "app", + "tags": "tool,outdoors,gps", + "screenshots": [{"url":"screenshot_gipy.png"}], + "supports": ["BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"gipy.app.js","url":"app.js"}, + {"name":"gipy.img","url":"gipy-icon.js","evaluate":true}, + {"name":"gipy.settings.js","url":"settings.js"} + ], + "data": [ + {"name":"gipy.gpc"} + ] +} From 1b0bd0d014135147e933fefc6153f29dde81ce89 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Mon, 11 Jul 2022 17:08:00 +0200 Subject: [PATCH 004/622] test icon --- apps/gipy/metadata.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 9f31726d8..7fbc756b8 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -8,15 +8,13 @@ "icon": "gipy.img", "type": "app", "tags": "tool,outdoors,gps", - "screenshots": [{"url":"screenshot_gipy.png"}], + "screenshots": [], "supports": ["BANGLEJS2"], "readme": "README.md", "storage": [ {"name":"gipy.app.js","url":"app.js"}, - {"name":"gipy.img","url":"gipy-icon.js","evaluate":true}, - {"name":"gipy.settings.js","url":"settings.js"} + {"name":"gipy.img", "url":"gipy.img"} ], "data": [ - {"name":"gipy.gpc"} ] } From afa1dea6287a4ac8d1ae03b31bb916b47a3c76f1 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Mon, 11 Jul 2022 17:17:55 +0200 Subject: [PATCH 005/622] gipy: trying adding icon --- apps/gipy/app-icon.js | 1 + apps/gipy/gipy.img | Bin 1156 -> 0 bytes apps/gipy/metadata.json | 4 ++-- 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 apps/gipy/app-icon.js delete mode 100644 apps/gipy/gipy.img diff --git a/apps/gipy/app-icon.js b/apps/gipy/app-icon.js new file mode 100644 index 000000000..0fc51609f --- /dev/null +++ b/apps/gipy/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwkBiIA/AE8VqoAGCy1RiN3CyYuBi93uIXJIBV3AAIuMBY4XjQ5YXPRAIAEOwIABPBC4LF54wGF6IwFC5jWGIwxIJC4xJFgDuJJAxJFC6TEIJBzEHGCIYPGA5JQC44YPGBBJKY4gwRfQL4DGCL4GGCAXPGAxGBAAJIMGAwWCGCoWGC55HHJB5HIC8pGDSChfXC5AWIL5ynOC45GJC4h3IIyYwCFxwADgB1SC44uSC4guSAH4Ab")) diff --git a/apps/gipy/gipy.img b/apps/gipy/gipy.img deleted file mode 100644 index 9d6a7a9217c6ab57c6e0b17cb8535e24c90b03ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1156 zcmchVI}*Y$3`E^9xlWFfCikH81#)mKX?JbQ$qWrpFz~#eNY1`rSL%#4(mNw3t2scvQ2 Date: Tue, 12 Jul 2022 16:45:37 +0200 Subject: [PATCH 006/622] gipy: path following - gps simulation - back to simple but large file format - find nearest segment - avoid printing all segments testing all segments --- apps/gipy/TODO | 20 +++ apps/gipy/app.js | 162 +++++++++++++++++----- apps/gipy/gpconv/.gitignore | 1 + apps/gipy/gpconv/Cargo.lock | 257 +++++++++++++++++++++++++++++++++++ apps/gipy/gpconv/Cargo.toml | 10 ++ apps/gipy/gpconv/src/main.rs | 208 ++++++++++++++++++++++++++++ 6 files changed, 627 insertions(+), 31 deletions(-) create mode 100644 apps/gipy/TODO create mode 100644 apps/gipy/gpconv/.gitignore create mode 100644 apps/gipy/gpconv/Cargo.lock create mode 100644 apps/gipy/gpconv/Cargo.toml create mode 100644 apps/gipy/gpconv/src/main.rs diff --git a/apps/gipy/TODO b/apps/gipy/TODO new file mode 100644 index 000000000..44ef08e23 --- /dev/null +++ b/apps/gipy/TODO @@ -0,0 +1,20 @@ +- plugins +- do not redraw if no coordinates changed +- display distance to target + +- detect reached waypoints +- beep when reaching waypoint +- display distance to next waypoint +- display average speed +- turn off gps when moving to next waypoint +- beep when moving away from path +- dynamic map rescale +- display scale (100m) + +- store several tracks + +- map rotation to match direction +- water points + +- compress path +- avoid display of all segments diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 92ec0ccfc..3b71c7f6a 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -14,17 +14,35 @@ var lon = null; class Path { constructor(filename) { let buffer = require("Storage").readArrayBuffer(filename); - this.points_number = (buffer.byteLength - 2*8)/4; - this.view = DataView(buffer); - this.min_lon = this.view.getFloat64(0); - this.min_lat = this.view.getFloat64(8); - this.current_start = 0; // index of first point to be displayed - this.current_x = 0; - this.current_y = 0; + this.points = Float64Array(buffer); + } + + point(index) { + let lon = this.points[2*index]; + let lat = this.points[2*index+1]; + return new Point(lon, lat); + } + + // return index of segment which is nearest from point + nearest_segment(point, start, end) { + let previous_point = null; + let min_index = 0; + let min_distance = Number.MAX_VALUE; + for(let i = Math.max(0, start) ; i < Math.min(this.len, end) ; i++) { + let current_point = this.point(i); + if (previous_point !== null) { + let distance = point.distance_to_segment(previous_point, current_point); + if (distance <= min_distance) { + min_distance = distance; + min_index = i-1; + } + } + previous_point = current_point; + } + return min_index; } - get len() { - return this.points_number; + return this.points.length /2; } } @@ -34,52 +52,134 @@ class Point { this.lat = lat; } screen_x() { - return 192/2 + Math.round((this.lon - lon) * 100000.0); + return 172/2 + Math.round((this.lon - lon) * 100000.0); } screen_y() { - return 192/2 + Math.round((this.lat - lat) * 100000.0); + return 172/2 + Math.round((this.lat - lat) * 100000.0); + } + minus(other_point) { + let xdiff = this.lon - other_point.lon; + let ydiff = this.lat - other_point.lat; + return new Point(xdiff, ydiff); + } + plus(other_point) { + return new Point(this.lon + other_point.lon, this.lat + other_point.lat); + } + length_squared(other_point) { + let d = this.minus(other_point); + return (d.lon*d.lon + d.lat*d.lat); + } + times(scalar) { + return new Point(this.lon * scalar, this.lat * scalar); + } + dot(other_point) { + return this.lon * other_point.lon + this.lat * other_point.lat; + } + distance(other_point) { + return Math.sqrt(this.length_squared(other_point)); + } + distance_to_segment(v, w) { + // from : https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment + // Return minimum distance between line segment vw and point p + let l2 = v.length_squared(w); // i.e. |w-v|^2 - avoid a sqrt + if (l2 == 0.0) { + return this.distance(v); // v == w case + } + // Consider the line extending the segment, parameterized as v + t (w - v). + // We find projection of point p onto the line. + // It falls where t = [(p-v) . (w-v)] / |w-v|^2 + // We clamp t from [0,1] to handle points outside the segment vw. + let t = Math.max(0, Math.min(1, (this.minus(v)).dot(w.minus(v)) / l2)); + let projection = v.plus((w.minus(v)).times(t)); // Projection falls on the segment + return this.distance(projection); } } function display(path) { g.clear(); + g.setColor(g.theme.fg); + let next_segment = path.nearest_segment(new Point(lon, lat), current_segment-2, current_segment+3); + if (next_segment < current_segment) { + console.log("error going from", current_segment, "back to", next_segment, "at", lon, lat); + console.log("we are at", fake_gps_point); + let previous_point = null; + for (let i = 0 ; i < current_segment+2 ; i++) { + let point = path.point(i); + if (previous_point !== null) { + let distance = new Point(lon, lat).distance_to_segment(previous_point, point); + console.log(i, distance); + } + previous_point = point; + } + } + current_segment = next_segment; + //current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len); let previous_point = null; - let current_x = path.current_x; - let current_y = path.current_y; - for (let i = path.current_start ; i < path.len ; i++) { - current_x += path.view.getInt16(2*8+4*i); - current_y += path.view.getInt16(2*8+4*i+2); - let point = new Point(current_x/100000.0 + path.min_lon, current_y/100000.0 + path.min_lat); + let start = Math.max(current_segment - 4, 0); + let end = Math.min(current_segment + 5, path.len); + for (let i=start ; i < end ; i++) { + let point = path.point(i); + let px = point.screen_x(); + let py = point.screen_y(); if (previous_point !== null) { + if (i == current_segment + 1) { + g.setColor(0.0, 1.0, 0.0); + } else { + g.setColor(1.0, 0.0, 0.0); + } g.drawLine( previous_point.screen_x(), previous_point.screen_y(), - point.screen_x(), - point.screen_y() + px, + py ); } + g.setColor(g.theme.fg2); + g.fillCircle(px, py, 4); + g.setColor(g.theme.fg); + g.fillCircle(px, py, 3); previous_point = point; } - g.setColor(1.0, 0.0, 0.0); - g.fillCircle(192/2, 192/2, 5); + g.setColor(g.theme.fgH); + g.fillCircle(172/2, 172/2, 5); } let path = new Path("test.gpc"); lat = path.min_lat; lon = path.min_lon; +console.log("len is", path.len); +var current_segment = path.nearest_segment(new Point(lon, lat), 0, Number.MAX_VALUE); -function set_coordinates(data) { - if (!isNaN(data.lat)) { - lat = data.lat; - } - if (!isNaN(data.lon)) { - lon = data.lon; +// function set_coordinates(data) { +// if (!isNaN(data.lat)) { +// lat = data.lat; +// } +// if (!isNaN(data.lon)) { +// lon = data.lon; +// } +// } +// Bangle.setGPSPower(true, "gipy"); +// Bangle.on('GPS', set_coordinates); + + + +let fake_gps_point = 0.0; +function simulate_gps(path) { + let point_index = Math.floor(fake_gps_point); + if (point_index >= path.len) { + return; } + let p1 = path.point(point_index); + let p2 = path.point(point_index+1); + let alpha = fake_gps_point - point_index; + + lon = (1-alpha)*p1.lon + alpha*p2.lon; + lat = (1-alpha)*p1.lat + alpha*p2.lat; + fake_gps_point += 0.2; + display(path); } -Bangle.setGPSPower(true, "gipy"); -Bangle.on('GPS', set_coordinates); - -setInterval(display, 1000, path); +setInterval(simulate_gps, 500, path); +//// setInterval(display, 1000, path); diff --git a/apps/gipy/gpconv/.gitignore b/apps/gipy/gpconv/.gitignore new file mode 100644 index 000000000..ea8c4bf7f --- /dev/null +++ b/apps/gipy/gpconv/.gitignore @@ -0,0 +1 @@ +/target diff --git a/apps/gipy/gpconv/Cargo.lock b/apps/gipy/gpconv/Cargo.lock new file mode 100644 index 000000000..fbe549955 --- /dev/null +++ b/apps/gipy/gpconv/Cargo.lock @@ -0,0 +1,257 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "assert_approx_eq" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c07dab4369547dbe5114677b33fbbf724971019f3818172d59a97a61c774ffd" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "cc" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "either" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" + +[[package]] +name = "error-chain" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +dependencies = [ + "backtrace", + "version_check", +] + +[[package]] +name = "geo-types" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9805fbfcea97de816e6408e938603241879cc41eea3fba3f84f122f4f6f9c54" +dependencies = [ + "num-traits", +] + +[[package]] +name = "gimli" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" + +[[package]] +name = "gpconv" +version = "0.1.0" +dependencies = [ + "gpx", + "itertools", +] + +[[package]] +name = "gpx" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b03599b85866c88fd0125db7ca7a683be1550724918682c736c7893a399dc5e" +dependencies = [ + "assert_approx_eq", + "error-chain", + "geo-types", + "thiserror", + "time", + "xml-rs", +] + +[[package]] +name = "itertools" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" + +[[package]] +name = "libc" +version = "0.2.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "miniz_oxide" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +dependencies = [ + "adler", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_threads" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +dependencies = [ + "libc", +] + +[[package]] +name = "object" +version = "0.28.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" +dependencies = [ + "memchr", +] + +[[package]] +name = "proc-macro2" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" + +[[package]] +name = "syn" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "1.0.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" +dependencies = [ + "itoa", + "libc", + "num_threads", +] + +[[package]] +name = "unicode-ident" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "xml-rs" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" diff --git a/apps/gipy/gpconv/Cargo.toml b/apps/gipy/gpconv/Cargo.toml new file mode 100644 index 000000000..69891c99c --- /dev/null +++ b/apps/gipy/gpconv/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "gpconv" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +gpx="*" +itertools="*" \ No newline at end of file diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs new file mode 100644 index 000000000..a60924a53 --- /dev/null +++ b/apps/gipy/gpconv/src/main.rs @@ -0,0 +1,208 @@ +use itertools::Itertools; +use std::fs::File; +use std::io::{BufReader, Write}; +use std::path::Path; + +use gpx::read; +use gpx::{Gpx, Track, TrackSegment}; + +fn points(filename: &str) -> impl Iterator { + // This XML file actually exists — try it for yourself! + let file = File::open(filename).unwrap(); + let reader = BufReader::new(file); + + // read takes any io::Read and gives a Result. + let mut gpx: Gpx = read(reader).unwrap(); + eprintln!("we have {} tracks", gpx.tracks.len()); + + gpx.tracks + .pop() + .unwrap() + .segments + .into_iter() + .flat_map(|segment| segment.linestring().points().collect::>()) + .map(|point| (point.x(), point.y())) +} + +// returns distance from point p to line passing through points p1 and p2 +// see https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line +fn distance_to_line(p: &(f64, f64), p1: &(f64, f64), p2: &(f64, f64)) -> f64 { + let (x0, y0) = *p; + let (x1, y1) = *p1; + let (x2, y2) = *p2; + let dx = x2 - x1; + let dy = y2 - y1; + (dx * (y1 - y0) - dy * (x1 - x0)).abs() / (dx * dx + dy * dy).sqrt() +} + +fn rdp(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { + if points.len() <= 2 { + points.iter().copied().collect() + } else { + let (index_farthest, farthest_distance) = points + .iter() + .map(|p| distance_to_line(p, points.first().unwrap(), points.last().unwrap())) + .enumerate() + .max_by(|(_, d1), (_, d2)| d1.partial_cmp(d2).unwrap()) + .unwrap(); + if farthest_distance <= epsilon { + vec![ + points.first().copied().unwrap(), + points.last().copied().unwrap(), + ] + } else { + let (start, end) = points.split_at(index_farthest); + let mut res = rdp(start, epsilon); + res.append(&mut rdp(end, epsilon)); + res + } + } +} + +fn convert_coordinates(points: &[(f64, f64)]) -> (f64, f64, Vec<(i32, i32)>) { + let xmin = points + .iter() + .map(|(x, _)| x) + .min_by(|x1, x2| x1.partial_cmp(x2).unwrap()) + .unwrap(); + + let ymin = points + .iter() + .map(|(_, y)| y) + .min_by(|y1, y2| y1.partial_cmp(y2).unwrap()) + .unwrap(); + + // 0.00001 is 1 meter + // max distance is 1000km + // so we need at most 10^6 + ( + *xmin, + *ymin, + points + .iter() + .map(|(x, y)| { + eprintln!("x {} y {}", x, y); + let r = ( + ((*x - xmin) * 100_000.0) as i32, + ((*y - ymin) * 100_000.0) as i32, + ); + eprintln!( + "again x {} y {}", + xmin + r.0 as f64 / 100_000.0, + ymin + r.1 as f64 / 100_000.0 + ); + r + }) + .collect(), + ) +} + +fn compress_coordinates(points: &[(i32, i32)]) -> Vec<(i16, i16)> { + // we could store the diffs such that + // diffs are either 8bits or 16bits nums + // we store how many nums are 16bits + // then all their indices (compressed with diffs) + // then all nums as either 8 or 16bits + let xdiffs = std::iter::once(0).chain( + points + .iter() + .map(|(x, _)| x) + .tuple_windows() + .map(|(x1, x2)| (x2 - x1) as i16), + ); + + let ydiffs = std::iter::once(0).chain( + points + .iter() + .map(|(_, y)| y) + .tuple_windows() + .map(|(y1, y2)| (y2 - y1) as i16), + ); + + xdiffs.zip(ydiffs).collect() +} + +fn save_coordinates>( + path: P, + //xmin: f64, + //ymin: f64, + // points: &[(i32, i32)], + points: &[(f64, f64)], +) -> std::io::Result<()> { + let mut writer = std::io::BufWriter::new(File::create(path)?); + + eprintln!("saving {} points", points.len()); + // writer.write_all(&xmin.to_be_bytes())?; + // writer.write_all(&ymin.to_be_bytes())?; + points + .iter() + .flat_map(|(x, y)| [x, y]) + .try_for_each(|c| writer.write_all(&c.to_le_bytes()))?; + + Ok(()) +} + +fn save_json>(path: P, points: &[(f64, f64)]) -> std::io::Result<()> { + let mut writer = std::io::BufWriter::new(File::create(path)?); + + eprintln!("saving {} points", points.len()); + writeln!(&mut writer, "[")?; + points + .iter() + .map(|(x, y)| format!("{{\"lat\": {}, \"lon\":{}}}", y, x)) + .intersperse_with(|| ",\n".to_string()) + .try_for_each(|s| write!(&mut writer, "{}", s))?; + write!(&mut writer, "]")?; + + Ok(()) +} + +fn main() { + let input_file = std::env::args().nth(2).unwrap_or("m.gpx".to_string()); + let p = points(&input_file).collect::>(); + let rp = rdp(&p, 0.001); + // let rp = rdp(&p, 0.0001); + save_coordinates("test.gpc", &rp).unwrap(); + return; + eprintln!("we go from {} to {}", p.len(), rp.len()); + + //TODO: assert we don't wrap around the globe + let (xmin, ymin, p) = convert_coordinates(&rp); + // let diffs = compress_coordinates(&p); + + // save_coordinates("test.gpc", xmin, ymin, &p).unwrap(); + + // // compress_coordinates(&p); + // let (xmin, xmax) = p + // .iter() + // .map(|&(x, _)| x) + // .minmax_by(|a, b| a.partial_cmp(b).unwrap()) + // .into_option() + // .unwrap(); + + // let (ymin, ymax) = p + // .iter() + // .map(|&(_, y)| y) + // .minmax_by(|a, b| a.partial_cmp(b).unwrap()) + // .into_option() + // .unwrap(); + + // println!( + // "", + // xmin, + // ymin, + // xmax - xmin, + // ymax - ymin + // ); + // print!( + // "", + // xmin, + // ymin, + // xmax - xmin, + // ymax - ymin + // ); + // print!(""); + // println!(""); +} From 46c6f8cd4defdedbdb7a92d582b21f74cdb3a4a2 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 12 Jul 2022 16:57:34 +0200 Subject: [PATCH 007/622] gipy: testing new code --- apps/gipy/TODO | 2 -- apps/gipy/app.js | 85 ++++++++++++++++++++++++------------------------ 2 files changed, 42 insertions(+), 45 deletions(-) diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 44ef08e23..47019376c 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,5 +1,3 @@ -- plugins -- do not redraw if no coordinates changed - display distance to target - detect reached waypoints diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 3b71c7f6a..6a9b53500 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -10,6 +10,7 @@ var lat = null; var lon = null; +var refresh_needed = false; class Path { constructor(filename) { @@ -96,27 +97,17 @@ class Point { } function display(path) { + if (!refresh_needed) { + return; + } + refresh_needed = false; g.clear(); g.setColor(g.theme.fg); - let next_segment = path.nearest_segment(new Point(lon, lat), current_segment-2, current_segment+3); - if (next_segment < current_segment) { - console.log("error going from", current_segment, "back to", next_segment, "at", lon, lat); - console.log("we are at", fake_gps_point); - let previous_point = null; - for (let i = 0 ; i < current_segment+2 ; i++) { - let point = path.point(i); - if (previous_point !== null) { - let distance = new Point(lon, lat).distance_to_segment(previous_point, point); - console.log(i, distance); - } - previous_point = point; - } - } - current_segment = next_segment; - //current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len); + // let next_segment = path.nearest_segment(new Point(lon, lat), current_segment-2, current_segment+3); + current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len); let previous_point = null; - let start = Math.max(current_segment - 4, 0); - let end = Math.min(current_segment + 5, path.len); + let start = Math.max(current_segment - 5, 0); + let end = Math.min(current_segment + 7, path.len); for (let i=start ; i < end ; i++) { let point = path.point(i); @@ -143,43 +134,51 @@ function display(path) { } g.setColor(g.theme.fgH); g.fillCircle(172/2, 172/2, 5); + Bangle.drawWidgets(); } +Bangle.loadWidgets() let path = new Path("test.gpc"); lat = path.min_lat; lon = path.min_lon; -console.log("len is", path.len); var current_segment = path.nearest_segment(new Point(lon, lat), 0, Number.MAX_VALUE); -// function set_coordinates(data) { -// if (!isNaN(data.lat)) { -// lat = data.lat; -// } -// if (!isNaN(data.lon)) { -// lon = data.lon; + +// let fake_gps_point = 0.0; +// function simulate_gps(path) { +// let point_index = Math.floor(fake_gps_point); +// if (point_index >= path.len) { +// return; // } +// let p1 = path.point(point_index); +// let p2 = path.point(point_index+1); +// let alpha = fake_gps_point - point_index; + +// lon = (1-alpha)*p1.lon + alpha*p2.lon; +// lat = (1-alpha)*p1.lat + alpha*p2.lat; +// fake_gps_point += 0.2; +// display(path); // } -// Bangle.setGPSPower(true, "gipy"); -// Bangle.on('GPS', set_coordinates); + +// setInterval(simulate_gps, 500, path); - -let fake_gps_point = 0.0; -function simulate_gps(path) { - let point_index = Math.floor(fake_gps_point); - if (point_index >= path.len) { - return; +function set_coordinates(data) { + let old_lat = lat; + if (!isNaN(data.lat)) { + lat = data.lat; + } + let old_lon = lon; + if (!isNaN(data.lon)) { + lon = data.lon; + } + if ((old_lat != lat)||(old_lon != lon)) { + refresh_needed = true; } - let p1 = path.point(point_index); - let p2 = path.point(point_index+1); - let alpha = fake_gps_point - point_index; - - lon = (1-alpha)*p1.lon + alpha*p2.lon; - lat = (1-alpha)*p1.lat + alpha*p2.lat; - fake_gps_point += 0.2; - display(path); } +Bangle.setGPSPower(true, "gipy"); +Bangle.on('GPS', set_coordinates); -setInterval(simulate_gps, 500, path); -//// setInterval(display, 1000, path); + +setInterval(display, 1000, path); From ed84d25846c17519d25e8f39a9c3dc385982340c Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 12 Jul 2022 17:01:35 +0200 Subject: [PATCH 008/622] gipy: change res --- apps/gipy/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 6a9b53500..6acf35312 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -53,10 +53,10 @@ class Point { this.lat = lat; } screen_x() { - return 172/2 + Math.round((this.lon - lon) * 100000.0); + return 172/2 + Math.round((this.lon - lon) * 20000.0); } screen_y() { - return 172/2 + Math.round((this.lat - lat) * 100000.0); + return 172/2 + Math.round((this.lat - lat) * 20000.0); } minus(other_point) { let xdiff = this.lon - other_point.lon; From a1705964c24ec44e3a313a2bbbc75426665c3044 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 12 Jul 2022 20:07:25 +0200 Subject: [PATCH 009/622] fix in gpconv --- apps/gipy/app.js | 4 +--- apps/gipy/gpconv/src/main.rs | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 6acf35312..d2068d1d2 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -137,10 +137,8 @@ function display(path) { Bangle.drawWidgets(); } -Bangle.loadWidgets() +Bangle.loadWidgets(); let path = new Path("test.gpc"); -lat = path.min_lat; -lon = path.min_lon; var current_segment = path.nearest_segment(new Point(lon, lat), 0, Number.MAX_VALUE); diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index a60924a53..a19f0530d 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -158,7 +158,8 @@ fn save_json>(path: P, points: &[(f64, f64)]) -> std::io::Result< } fn main() { - let input_file = std::env::args().nth(2).unwrap_or("m.gpx".to_string()); + let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); + eprintln!("input is {}", input_file); let p = points(&input_file).collect::>(); let rp = rdp(&p, 0.001); // let rp = rdp(&p, 0.0001); From 81226a34d64d293f9a228982e668c35bf282ee02 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 13 Jul 2022 11:53:53 +0200 Subject: [PATCH 010/622] gipy : compute distances --- apps/gipy/app.js | 169 ++++++++++++++++++++++++++--------------------- 1 file changed, 93 insertions(+), 76 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index d2068d1d2..0a6df824f 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -10,36 +10,48 @@ var lat = null; var lon = null; -var refresh_needed = false; class Path { constructor(filename) { let buffer = require("Storage").readArrayBuffer(filename); this.points = Float64Array(buffer); + let total_distance = 0.0; + this.on_segments(function (p1, p2, i) { + total_distance += p1.distance(p2); + }, 0, this.len-1); + this.total_distance = total_distance; } - + + // start is index of first wanted segment + // end is 1 after index of last wanted segment + on_segments(op, start, end) { + let previous_point = null; + for(let i = start ; i < end + 1 ; i++) { + let point = new Point(this.points[2*i], this.points[2*i+1]); + if (previous_point !== null) { + op(previous_point, point, i); + } + previous_point = point; + } + } + point(index) { let lon = this.points[2*index]; let lat = this.points[2*index+1]; return new Point(lon, lat); } - + // return index of segment which is nearest from point nearest_segment(point, start, end) { - let previous_point = null; let min_index = 0; let min_distance = Number.MAX_VALUE; - for(let i = Math.max(0, start) ; i < Math.min(this.len, end) ; i++) { - let current_point = this.point(i); - if (previous_point !== null) { - let distance = point.distance_to_segment(previous_point, current_point); + this.on_segments(function (p1, p2, i) { + let distance = point.fake_distance_to_segment(p1, p2); if (distance <= min_distance) { min_distance = distance; min_index = i-1; } - } - previous_point = current_point; - } + }, start, end); return min_index; } get len() { @@ -77,9 +89,24 @@ class Point { return this.lon * other_point.lon + this.lat * other_point.lat; } distance(other_point) { + //see https://www.movable-type.co.uk/scripts/latlong.html + const R = 6371e3; // metres + const phi1 = this.lat * Math.PI/180; + const phi2 = other_point.lat * Math.PI/180; + const deltaphi = (other_point.lat-this.lat) * Math.PI/180; + const deltalambda = (other_point.lon-this.lon) * Math.PI/180; + + const a = Math.sin(deltaphi/2) * Math.sin(deltaphi/2) + + Math.cos(phi1) * Math.cos(phi2) * + Math.sin(deltalambda/2) * Math.sin(deltalambda/2); + const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); + + return R * c; // in metres + } + fake_distance(other_point) { return Math.sqrt(this.length_squared(other_point)); } - distance_to_segment(v, w) { + fake_distance_to_segment(v, w) { // from : https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment // Return minimum distance between line segment vw and point p let l2 = v.length_squared(w); // i.e. |w-v|^2 - avoid a sqrt @@ -87,96 +114,86 @@ class Point { return this.distance(v); // v == w case } // Consider the line extending the segment, parameterized as v + t (w - v). - // We find projection of point p onto the line. + // We find projection of point p onto the line. // It falls where t = [(p-v) . (w-v)] / |w-v|^2 // We clamp t from [0,1] to handle points outside the segment vw. let t = Math.max(0, Math.min(1, (this.minus(v)).dot(w.minus(v)) / l2)); let projection = v.plus((w.minus(v)).times(t)); // Projection falls on the segment - return this.distance(projection); + return this.fake_distance(projection); } } function display(path) { - if (!refresh_needed) { - return; - } - refresh_needed = false; g.clear(); g.setColor(g.theme.fg); // let next_segment = path.nearest_segment(new Point(lon, lat), current_segment-2, current_segment+3); - current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len); - let previous_point = null; + current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len-1); let start = Math.max(current_segment - 5, 0); - let end = Math.min(current_segment + 7, path.len); - for (let i=start ; i < end ; i++) { - let point = path.point(i); - - let px = point.screen_x(); - let py = point.screen_y(); - if (previous_point !== null) { - if (i == current_segment + 1) { - g.setColor(0.0, 1.0, 0.0); - } else { - g.setColor(1.0, 0.0, 0.0); - } - g.drawLine( - previous_point.screen_x(), - previous_point.screen_y(), - px, - py - ); + let end = Math.min(current_segment + 7, path.len-1); + path.on_segments(function(p1, p2, i) { + let px = p2.screen_x(); + let py = p2.screen_y(); + if (i == current_segment + 1) { + g.setColor(0.0, 1.0, 0.0); + } else { + g.setColor(1.0, 0.0, 0.0); } - g.setColor(g.theme.fg2); - g.fillCircle(px, py, 4); + g.drawLine( + p1.screen_x(), + p1.screen_y(), + px, + py + ); g.setColor(g.theme.fg); + g.fillCircle(px, py, 4); + g.setColor(g.theme.bg); g.fillCircle(px, py, 3); - previous_point = point; - } + }, 0, path.len-1); + g.setColor(g.theme.fgH); g.fillCircle(172/2, 172/2, 5); + g.setFont("6x8:2").drawString(("distance "+(Math.round(path.total_distance/100)/10))+" km",0,30); Bangle.drawWidgets(); } Bangle.loadWidgets(); let path = new Path("test.gpc"); -var current_segment = path.nearest_segment(new Point(lon, lat), 0, Number.MAX_VALUE); +var current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len-1); -// let fake_gps_point = 0.0; -// function simulate_gps(path) { -// let point_index = Math.floor(fake_gps_point); -// if (point_index >= path.len) { -// return; -// } -// let p1 = path.point(point_index); -// let p2 = path.point(point_index+1); -// let alpha = fake_gps_point - point_index; - -// lon = (1-alpha)*p1.lon + alpha*p2.lon; -// lat = (1-alpha)*p1.lat + alpha*p2.lat; -// fake_gps_point += 0.2; -// display(path); -// } - -// setInterval(simulate_gps, 500, path); - - -function set_coordinates(data) { - let old_lat = lat; - if (!isNaN(data.lat)) { - lat = data.lat; - } - let old_lon = lon; - if (!isNaN(data.lon)) { - lon = data.lon; - } - if ((old_lat != lat)||(old_lon != lon)) { - refresh_needed = true; +let fake_gps_point = 0.0; +function simulate_gps(path) { + let point_index = Math.floor(fake_gps_point); + if (point_index >= path.len) { + return; } + let p1 = path.point(point_index); + let p2 = path.point(point_index+1); + let alpha = fake_gps_point - point_index; + + lon = (1-alpha)*p1.lon + alpha*p2.lon; + lat = (1-alpha)*p1.lat + alpha*p2.lat; + fake_gps_point += 0.2; + display(path); } -Bangle.setGPSPower(true, "gipy"); -Bangle.on('GPS', set_coordinates); + +setInterval(simulate_gps, 500, path); -setInterval(display, 1000, path); +// function set_coordinates(data) { +// let old_lat = lat; +// if (!isNaN(data.lat)) { +// lat = data.lat; +// } +// let old_lon = lon; +// if (!isNaN(data.lon)) { +// lon = data.lon; +// } +// if ((old_lat != lat)||(old_lon != lon)) { +// display(path); +// } +// } +// Bangle.setGPSPower(true, "gipy"); +// Bangle.on('GPS', set_coordinates); + From 14b273a8341a994b31b0d6589354affb49e59183 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 13 Jul 2022 13:10:42 +0200 Subject: [PATCH 011/622] gipy: distances --- apps/gipy/app.js | 108 ++++++++++++++++++++++++++--------------------- 1 file changed, 59 insertions(+), 49 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 0a6df824f..6b70c41a4 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,12 +1,4 @@ -// screen size is 172x172 -// we want to show 100 meters ahead -// 86 pixels is 100 meters -// 10 meters is 8.6 pixels -// 1 integer unit is 1.1 meter -// 8.6 pixels is 10 / 1.1 integers -// int = 8.6 pix * 1.1 / 10 -// int = 0.946 pixels var lat = null; var lon = null; @@ -15,11 +7,18 @@ class Path { constructor(filename) { let buffer = require("Storage").readArrayBuffer(filename); this.points = Float64Array(buffer); - let total_distance = 0.0; - this.on_segments(function (p1, p2, i) { - total_distance += p1.distance(p2); - }, 0, this.len-1); - this.total_distance = total_distance; + this.total_distance = this.segments_length(0, this.len-1); + } + + // return cumulated length of wanted segments (in km). + // start is index of first wanted segment + // end is 1 after index of last wanted segment + segments_length(start, end) { + let total = 0.0; + this.on_segments(function(p1, p2, i) { + total += p1.distance(p2); + }, start, end); + return total; } // start is index of first wanted segment @@ -126,8 +125,17 @@ class Point { function display(path) { g.clear(); g.setColor(g.theme.fg); - // let next_segment = path.nearest_segment(new Point(lon, lat), current_segment-2, current_segment+3); - current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len-1); + let next_segment = path.nearest_segment(new Point(lon, lat), 0, path.len-1); + let diff; + if (next_segment != current_segment) { + if (next_segment > current_segment) { + diff = path.segments_length(current_segment+1, next_segment+1); + } else { + diff = -path.segments_length(next_segment+1, current_segment+1); + } + remaining_distance -= diff; + current_segment = next_segment; + } let start = Math.max(current_segment - 5, 0); let end = Math.min(current_segment + 7, path.len-1); path.on_segments(function(p1, p2, i) { @@ -152,48 +160,50 @@ function display(path) { g.setColor(g.theme.fgH); g.fillCircle(172/2, 172/2, 5); - g.setFont("6x8:2").drawString(("distance "+(Math.round(path.total_distance/100)/10))+" km",0,30); + let real_remaining_distance = remaining_distance + path.point(current_segment+1).distance(new Point(lon, lat)); + let rounded_distance = Math.round(real_remaining_distance/100)/10; + let total = Math.round(path.total_distance/100)/10; + g.setFont("6x8:2").drawString("d. "+rounded_distance + "/" + total, 0, 30); + g.drawString("seg." + (current_segment+1) + "/" + path.len, 0, 48); Bangle.drawWidgets(); } Bangle.loadWidgets(); let path = new Path("test.gpc"); var current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len-1); +var remaining_distance = path.total_distance - path.segments_length(0, 1); - -let fake_gps_point = 0.0; -function simulate_gps(path) { - let point_index = Math.floor(fake_gps_point); - if (point_index >= path.len) { - return; - } - let p1 = path.point(point_index); - let p2 = path.point(point_index+1); - let alpha = fake_gps_point - point_index; - - lon = (1-alpha)*p1.lon + alpha*p2.lon; - lat = (1-alpha)*p1.lat + alpha*p2.lat; - fake_gps_point += 0.2; - display(path); -} - -setInterval(simulate_gps, 500, path); - - -// function set_coordinates(data) { -// let old_lat = lat; -// if (!isNaN(data.lat)) { -// lat = data.lat; -// } -// let old_lon = lon; -// if (!isNaN(data.lon)) { -// lon = data.lon; -// } -// if ((old_lat != lat)||(old_lon != lon)) { -// display(path); +// let fake_gps_point = 0.0; +// function simulate_gps(path) { +// let point_index = Math.floor(fake_gps_point); +// if (point_index >= path.len) { +// return; // } +// let p1 = path.point(point_index); +// let p2 = path.point(point_index+1); +// let alpha = fake_gps_point - point_index; +// +// lon = (1-alpha)*p1.lon + alpha*p2.lon; +// lat = (1-alpha)*p1.lat + alpha*p2.lat; +// fake_gps_point += 0.2; +// display(path); // } -// Bangle.setGPSPower(true, "gipy"); -// Bangle.on('GPS', set_coordinates); +// +// setInterval(simulate_gps, 500, path); +function set_coordinates(data) { + let old_lat = lat; + if (!isNaN(data.lat)) { + lat = data.lat; + } + let old_lon = lon; + if (!isNaN(data.lon)) { + lon = data.lon; + } + if ((old_lat != lat)||(old_lon != lon)) { + display(path); + } +} +Bangle.setGPSPower(true, "gipy"); +Bangle.on('GPS', set_coordinates); From 20712747c731051feb3314903b547191426d07ed Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 13 Jul 2022 13:11:07 +0200 Subject: [PATCH 012/622] gipy: bump version --- apps/gipy/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 96a068194..753fc7f7f 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.01", + "version": "0.02", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From 1f76505f5f3a993a2dee428f46bf1d7d4e29619e Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sat, 16 Jul 2022 14:42:48 +0200 Subject: [PATCH 013/622] gipy: prog dyn path simplification --- apps/gipy/gpconv/src/main.rs | 341 +++++++++++++++++++++++++++++------ 1 file changed, 287 insertions(+), 54 deletions(-) diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index a19f0530d..4f2d4a079 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -1,4 +1,5 @@ use itertools::Itertools; +use std::collections::HashMap; use std::fs::File; use std::io::{BufReader, Write}; use std::path::Path; @@ -6,6 +7,14 @@ use std::path::Path; use gpx::read; use gpx::{Gpx, Track, TrackSegment}; +fn squared_distance_between(p1: &(f64, f64), p2: &(f64, f64)) -> f64 { + let (x1, y1) = *p1; + let (x2, y2) = *p2; + let dx = x2 - x1; + let dy = y2 - y1; + dx * dx + dy * dy +} + fn points(filename: &str) -> impl Iterator { // This XML file actually exists — try it for yourself! let file = File::open(filename).unwrap(); @@ -22,6 +31,7 @@ fn points(filename: &str) -> impl Iterator { .into_iter() .flat_map(|segment| segment.linestring().points().collect::>()) .map(|point| (point.x(), point.y())) + .dedup() } // returns distance from point p to line passing through points p1 and p2 @@ -32,33 +42,193 @@ fn distance_to_line(p: &(f64, f64), p1: &(f64, f64), p2: &(f64, f64)) -> f64 { let (x2, y2) = *p2; let dx = x2 - x1; let dy = y2 - y1; + //TODO: remove this division by computing fake distances (dx * (y1 - y0) - dy * (x1 - x0)).abs() / (dx * dx + dy * dy).sqrt() } +fn acceptable_angles(p1: &(f64, f64), p2: &(f64, f64), epsilon: f64) -> (f64, f64) { + // first, convert p2's coordinates for p1 as origin + let (x1, y1) = *p1; + let (x2, y2) = *p2; + let (x, y) = (x2 - x1, y2 - y1); + // rotate so that (p1, p2) ends on x axis + let theta = y.atan2(x); + let rx = x * theta.cos() - y * theta.sin(); + let ry = x * theta.sin() + y * theta.cos(); + assert!(ry.abs() <= std::f64::EPSILON); + + // now imagine a line at an angle alpha. + // we want the distance d from (rx, 0) to our line + // we have sin(alpha) = d / rx + // limiting d to epsilon, we solve + // sin(alpha) = e / rx + // and get + // alpha = arcsin(e/rx) + let alpha = (epsilon / rx).asin(); + + // now we just need to rotate back + let a1 = theta + alpha.abs(); + let a2 = theta - alpha.abs(); + assert!(a1 >= a2); + (a1, a2) +} + +// this is like ramer douglas peucker algorithm +// except that we advance from the start without knowing the end. +// each point we meet constrains the chosen segment's angle +// a bit more. +// +fn simplify(mut points: &[(f64, f64)]) -> Vec<(f64, f64)> { + let mut remaining_points = Vec::new(); + while !points.is_empty() { + let (sx, sy) = points.first().unwrap(); + let i = match points + .iter() + .enumerate() + .map(|(i, (x, y))| todo!("compute angles")) + .try_fold( + (0.0f64, std::f64::consts::FRAC_2_PI), + |(amin, amax), (i, (amin2, amax2))| -> Result<(f64, f64), usize> { + let new_amax = amax.min(amax2); + let new_amin = amin.max(amin2); + if new_amin >= new_amax { + Err(i) + } else { + Ok((new_amin, new_amax)) + } + }, + ) { + Err(i) => i, + Ok(_) => points.len(), + }; + remaining_points.push(points.first().cloned().unwrap()); + points = &points[i..]; + } + remaining_points +} + +fn extract_prog_dyn_solution( + points: &[(f64, f64)], + start: usize, + end: usize, + cache: &HashMap<(usize, usize), (Option, usize)>, +) -> Vec<(f64, f64)> { + if let Some(choice) = cache.get(&(start, end)).unwrap().0 { + let mut v1 = extract_prog_dyn_solution(points, start, choice + 1, cache); + let mut v2 = extract_prog_dyn_solution(points, choice, end, cache); + v1.pop(); + v1.append(&mut v2); + v1 + } else { + vec![points[start], points[end - 1]] + } +} + +fn simplify_prog_dyn( + points: &[(f64, f64)], + start: usize, + end: usize, + epsilon: f64, + cache: &mut HashMap<(usize, usize), (Option, usize)>, +) -> usize { + if let Some(val) = cache.get(&(start, end)) { + val.1 + } else { + let res = if end - start <= 2 { + assert_eq!(end - start, 2); + (None, end - start) + } else { + let first_point = &points[start]; + let last_point = &points[end - 1]; + if points[(start + 1)..end] + .iter() + .map(|p| distance_to_line(p, first_point, last_point)) + .all(|d| d <= epsilon) + { + (None, 2) + } else { + // now we test all possible cutting points + ((start + 1)..(end - 1)) //TODO: take middle min + .map(|i| { + let v1 = simplify_prog_dyn(points, start, i + 1, epsilon, cache); + let v2 = simplify_prog_dyn(points, i, end, epsilon, cache); + (Some(i), v1 + v2 - 1) + }) + .min_by_key(|(_, v)| *v) + .unwrap() + } + }; + cache.insert((start, end), res); + res.1 + } +} + fn rdp(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { if points.len() <= 2 { points.iter().copied().collect() } else { - let (index_farthest, farthest_distance) = points - .iter() - .map(|p| distance_to_line(p, points.first().unwrap(), points.last().unwrap())) - .enumerate() - .max_by(|(_, d1), (_, d2)| d1.partial_cmp(d2).unwrap()) - .unwrap(); - if farthest_distance <= epsilon { - vec![ - points.first().copied().unwrap(), - points.last().copied().unwrap(), - ] - } else { - let (start, end) = points.split_at(index_farthest); + if points.first().unwrap() == points.last().unwrap() { + let first = points.first().unwrap(); + let index_farthest = points + .iter() + .enumerate() + .skip(1) + .max_by(|(_, p1), (_, p2)| { + squared_distance_between(first, p1) + .partial_cmp(&squared_distance_between(first, p2)) + .unwrap() + }) + .map(|(i, _)| i) + .unwrap(); + + let start = &points[..(index_farthest + 1)]; + let end = &points[index_farthest..]; let mut res = rdp(start, epsilon); + res.pop(); res.append(&mut rdp(end, epsilon)); res + } else { + let (index_farthest, farthest_distance) = points + .iter() + .map(|p| distance_to_line(p, points.first().unwrap(), points.last().unwrap())) + .enumerate() + .max_by(|(_, d1), (_, d2)| { + if d1.is_nan() { + std::cmp::Ordering::Greater + } else { + if d2.is_nan() { + std::cmp::Ordering::Less + } else { + d1.partial_cmp(d2).unwrap() + } + } + }) + .unwrap(); + if farthest_distance <= epsilon { + vec![ + points.first().copied().unwrap(), + points.last().copied().unwrap(), + ] + } else { + let start = &points[..(index_farthest + 1)]; + let end = &points[index_farthest..]; + let mut res = rdp(start, epsilon); + res.pop(); + res.append(&mut rdp(end, epsilon)); + res + } } } } +fn simplify_path(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { + if points.len() <= 600 { + optimal_simplification(points, epsilon) + } else { + hybrid_simplification(points, epsilon) + } +} + fn convert_coordinates(points: &[(f64, f64)]) -> (f64, f64, Vec<(i32, i32)>) { let xmin = points .iter() @@ -157,53 +327,116 @@ fn save_json>(path: P, points: &[(f64, f64)]) -> std::io::Result< Ok(()) } +fn optimal_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { + let mut cache = HashMap::new(); + simplify_prog_dyn(&points, 0, points.len(), epsilon, &mut cache); + extract_prog_dyn_solution(&points, 0, points.len(), &cache) +} + +fn hybrid_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { + if points.len() <= 300 { + optimal_simplification(points, epsilon) + } else { + if points.first().unwrap() == points.last().unwrap() { + let first = points.first().unwrap(); + let index_farthest = points + .iter() + .enumerate() + .skip(1) + .max_by(|(_, p1), (_, p2)| { + squared_distance_between(first, p1) + .partial_cmp(&squared_distance_between(first, p2)) + .unwrap() + }) + .map(|(i, _)| i) + .unwrap(); + + let start = &points[..(index_farthest + 1)]; + let end = &points[index_farthest..]; + let mut res = hybrid_simplification(start, epsilon); + res.pop(); + res.append(&mut hybrid_simplification(end, epsilon)); + res + } else { + let (index_farthest, farthest_distance) = points + .iter() + .map(|p| distance_to_line(p, points.first().unwrap(), points.last().unwrap())) + .enumerate() + .max_by(|(_, d1), (_, d2)| { + if d1.is_nan() { + std::cmp::Ordering::Greater + } else { + if d2.is_nan() { + std::cmp::Ordering::Less + } else { + d1.partial_cmp(d2).unwrap() + } + } + }) + .unwrap(); + if farthest_distance <= epsilon { + vec![ + points.first().copied().unwrap(), + points.last().copied().unwrap(), + ] + } else { + let start = &points[..(index_farthest + 1)]; + let end = &points[index_farthest..]; + let mut res = hybrid_simplification(start, epsilon); + res.pop(); + res.append(&mut hybrid_simplification(end, epsilon)); + res + } + } + } +} + fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); eprintln!("input is {}", input_file); let p = points(&input_file).collect::>(); - let rp = rdp(&p, 0.001); - // let rp = rdp(&p, 0.0001); + eprintln!("initialy we have {} points", p.len()); + //eprintln!("opt is {}", optimal_simplification(&p, 0.0005).len()); + let start = std::time::Instant::now(); + let rp = hybrid_simplification(&p, 0.0005); + eprintln!("hybrid took {:?}", start.elapsed()); + eprintln!("we now have {} points", rp.len()); + let start = std::time::Instant::now(); + eprintln!("rdp would have had {}", rdp(&p, 0.0005).len()); + eprintln!("rdp took {:?}", start.elapsed()); + // let rp = rdp(&p, 0.001); save_coordinates("test.gpc", &rp).unwrap(); - return; - eprintln!("we go from {} to {}", p.len(), rp.len()); - //TODO: assert we don't wrap around the globe - let (xmin, ymin, p) = convert_coordinates(&rp); - // let diffs = compress_coordinates(&p); + let (xmin, xmax) = rp + .iter() + .map(|&(x, _)| x) + .minmax_by(|a, b| a.partial_cmp(b).unwrap()) + .into_option() + .unwrap(); - // save_coordinates("test.gpc", xmin, ymin, &p).unwrap(); + let (ymin, ymax) = rp + .iter() + .map(|&(_, y)| y) + .minmax_by(|a, b| a.partial_cmp(b).unwrap()) + .into_option() + .unwrap(); - // // compress_coordinates(&p); - // let (xmin, xmax) = p - // .iter() - // .map(|&(x, _)| x) - // .minmax_by(|a, b| a.partial_cmp(b).unwrap()) - // .into_option() - // .unwrap(); - - // let (ymin, ymax) = p - // .iter() - // .map(|&(_, y)| y) - // .minmax_by(|a, b| a.partial_cmp(b).unwrap()) - // .into_option() - // .unwrap(); - - // println!( - // "", - // xmin, - // ymin, - // xmax - xmin, - // ymax - ymin - // ); - // print!( - // "", - // xmin, - // ymin, - // xmax - xmin, - // ymax - ymin - // ); - // print!(""); - // println!(""); + println!( + "", + xmin, + ymin, + xmax - xmin, + ymax - ymin + ); + print!( + "", + xmin, + ymin, + xmax - xmin, + ymax - ymin + ); + print!(""); + println!(""); } From 531d403ff381060e896bfd9e18ed9529ae08205a Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sat, 16 Jul 2022 15:20:41 +0200 Subject: [PATCH 014/622] working on rotation --- apps/gipy/app.js | 95 ++++++++++++++++++++++++++---------------------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 6b70c41a4..90ac10b1f 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -2,6 +2,9 @@ var lat = null; var lon = null; +var direction = 0; +var cos_direction = Math.cos(direction); +var sin_direction = Math.sin(direction); class Path { constructor(filename) { @@ -63,11 +66,12 @@ class Point { this.lon = lon; this.lat = lat; } - screen_x() { - return 172/2 + Math.round((this.lon - lon) * 20000.0); - } - screen_y() { - return 172/2 + Math.round((this.lat - lat) * 20000.0); + coordinates() { + let x = (this.lon - lon) * 20000.0; + let y = (this.lat - lat) * 20000.0; + let rotated_x = x*cos_direction - y*sin_direction; + let rotated_y = x*sin_direction + y*cos_direction; + return [g.getWidth()/2 + Math.round(rotated_x), g.getHeight()/2 + Math.round(rotated_y)]; } minus(other_point) { let xdiff = this.lon - other_point.lon; @@ -139,23 +143,20 @@ function display(path) { let start = Math.max(current_segment - 5, 0); let end = Math.min(current_segment + 7, path.len-1); path.on_segments(function(p1, p2, i) { - let px = p2.screen_x(); - let py = p2.screen_y(); + let c2 = p2.coordinates(); if (i == current_segment + 1) { g.setColor(0.0, 1.0, 0.0); } else { g.setColor(1.0, 0.0, 0.0); } + let c1 = p1.coordinates(); g.drawLine( - p1.screen_x(), - p1.screen_y(), - px, - py + c1[0], c1[1], c2[0], c2[1] ); g.setColor(g.theme.fg); - g.fillCircle(px, py, 4); + g.fillCircle(c2[0], c2[1], 4); g.setColor(g.theme.bg); - g.fillCircle(px, py, 3); + g.fillCircle(c2[0], c2[1], 3); }, 0, path.len-1); g.setColor(g.theme.fgH); @@ -173,37 +174,43 @@ let path = new Path("test.gpc"); var current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len-1); var remaining_distance = path.total_distance - path.segments_length(0, 1); -// let fake_gps_point = 0.0; -// function simulate_gps(path) { -// let point_index = Math.floor(fake_gps_point); -// if (point_index >= path.len) { -// return; -// } -// let p1 = path.point(point_index); -// let p2 = path.point(point_index+1); -// let alpha = fake_gps_point - point_index; -// -// lon = (1-alpha)*p1.lon + alpha*p2.lon; -// lat = (1-alpha)*p1.lat + alpha*p2.lat; -// fake_gps_point += 0.2; -// display(path); -// } -// -// setInterval(simulate_gps, 500, path); - - -function set_coordinates(data) { - let old_lat = lat; - if (!isNaN(data.lat)) { - lat = data.lat; +let fake_gps_point = 0.0; +function simulate_gps(path) { + let point_index = Math.floor(fake_gps_point); + if (point_index >= path.len) { + return; } + let p1 = path.point(point_index); + let p2 = path.point(point_index+1); + let alpha = fake_gps_point - point_index; + let old_lon = lon; - if (!isNaN(data.lon)) { - lon = data.lon; - } - if ((old_lat != lat)||(old_lon != lon)) { - display(path); - } + let old_lat = lat; + lon = (1-alpha)*p1.lon + alpha*p2.lon; + lat = (1-alpha)*p1.lat + alpha*p2.lat; + fake_gps_point += 0.2; + direction = Math.atan2(lat-old_lat, lon-old_lon); + direction = 0.0; + cos_direction = Math.cos(direction); + sin_direction = Math.sin(direction); + display(path); } -Bangle.setGPSPower(true, "gipy"); -Bangle.on('GPS', set_coordinates); + +setInterval(simulate_gps, 500, path); + + +// function set_coordinates(data) { +// let old_lat = lat; +// if (!isNaN(data.lat)) { +// lat = data.lat; +// } +// let old_lon = lon; +// if (!isNaN(data.lon)) { +// lon = data.lon; +// } +// if ((old_lat != lat)||(old_lon != lon)) { +// display(path); +// } +// } +// Bangle.setGPSPower(true, "gipy"); +// Bangle.on('GPS', set_coordinates); From db46d75c6adc4c2eebde00eeb94b29fad4b86280 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sat, 16 Jul 2022 16:23:01 +0200 Subject: [PATCH 015/622] orientation --- apps/gipy/app.js | 378 ++++++++++++++++++++-------------------- apps/gipy/metadata.json | 2 +- 2 files changed, 194 insertions(+), 186 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 90ac10b1f..d6444803d 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,216 +1,224 @@ - - var lat = null; var lon = null; -var direction = 0; -var cos_direction = Math.cos(direction); -var sin_direction = Math.sin(direction); +var cos_direction; +var sin_direction; + +let simulated = false; class Path { - constructor(filename) { - let buffer = require("Storage").readArrayBuffer(filename); - this.points = Float64Array(buffer); - this.total_distance = this.segments_length(0, this.len-1); - } + constructor(filename) { + let buffer = require("Storage").readArrayBuffer(filename); + this.points = Float64Array(buffer); + this.total_distance = this.segments_length(0, this.len - 1); + } - // return cumulated length of wanted segments (in km). - // start is index of first wanted segment - // end is 1 after index of last wanted segment - segments_length(start, end) { - let total = 0.0; - this.on_segments(function(p1, p2, i) { - total += p1.distance(p2); - }, start, end); - return total; - } + // return cumulated length of wanted segments (in km). + // start is index of first wanted segment + // end is 1 after index of last wanted segment + segments_length(start, end) { + let total = 0.0; + this.on_segments(function(p1, p2, i) { + total += p1.distance(p2); + }, start, end); + return total; + } - // start is index of first wanted segment - // end is 1 after index of last wanted segment - on_segments(op, start, end) { - let previous_point = null; - for(let i = start ; i < end + 1 ; i++) { - let point = new Point(this.points[2*i], this.points[2*i+1]); - if (previous_point !== null) { - op(previous_point, point, i); - } - previous_point = point; - } - } - - point(index) { - let lon = this.points[2*index]; - let lat = this.points[2*index+1]; - return new Point(lon, lat); - } - - // return index of segment which is nearest from point - nearest_segment(point, start, end) { - let min_index = 0; - let min_distance = Number.MAX_VALUE; - this.on_segments(function (p1, p2, i) { - let distance = point.fake_distance_to_segment(p1, p2); - if (distance <= min_distance) { - min_distance = distance; - min_index = i-1; + // start is index of first wanted segment + // end is 1 after index of last wanted segment + on_segments(op, start, end) { + let previous_point = null; + for (let i = start; i < end + 1; i++) { + let point = new Point(this.points[2 * i], this.points[2 * i + 1]); + if (previous_point !== null) { + op(previous_point, point, i); + } + previous_point = point; } - }, start, end); - return min_index; - } - get len() { - return this.points.length /2; - } + } + + point(index) { + let lon = this.points[2 * index]; + let lat = this.points[2 * index + 1]; + return new Point(lon, lat); + } + + // return index of segment which is nearest from point + nearest_segment(point, start, end) { + let min_index = 0; + let min_distance = Number.MAX_VALUE; + this.on_segments(function(p1, p2, i) { + let distance = point.fake_distance_to_segment(p1, p2); + if (distance <= min_distance) { + min_distance = distance; + min_index = i - 1; + } + }, start, end); + return min_index; + } + get len() { + return this.points.length / 2; + } } class Point { - constructor(lon, lat) { - this.lon = lon; - this.lat = lat; - } - coordinates() { - let x = (this.lon - lon) * 20000.0; - let y = (this.lat - lat) * 20000.0; - let rotated_x = x*cos_direction - y*sin_direction; - let rotated_y = x*sin_direction + y*cos_direction; - return [g.getWidth()/2 + Math.round(rotated_x), g.getHeight()/2 + Math.round(rotated_y)]; - } - minus(other_point) { - let xdiff = this.lon - other_point.lon; - let ydiff = this.lat - other_point.lat; - return new Point(xdiff, ydiff); - } - plus(other_point) { - return new Point(this.lon + other_point.lon, this.lat + other_point.lat); - } - length_squared(other_point) { - let d = this.minus(other_point); - return (d.lon*d.lon + d.lat*d.lat); - } - times(scalar) { - return new Point(this.lon * scalar, this.lat * scalar); - } - dot(other_point) { - return this.lon * other_point.lon + this.lat * other_point.lat; - } - distance(other_point) { - //see https://www.movable-type.co.uk/scripts/latlong.html - const R = 6371e3; // metres - const phi1 = this.lat * Math.PI/180; - const phi2 = other_point.lat * Math.PI/180; - const deltaphi = (other_point.lat-this.lat) * Math.PI/180; - const deltalambda = (other_point.lon-this.lon) * Math.PI/180; + constructor(lon, lat) { + this.lon = lon; + this.lat = lat; + } + coordinates() { + let x = (this.lon - lon) * 20000.0; + let y = (this.lat - lat) * 20000.0; + let rotated_x = x * cos_direction - y * sin_direction; + let rotated_y = x * sin_direction + y * cos_direction; + return [g.getWidth() / 2 - Math.round(rotated_x), // x is inverted + g.getHeight() / 2 + Math.round(rotated_y) + ]; + } + minus(other_point) { + let xdiff = this.lon - other_point.lon; + let ydiff = this.lat - other_point.lat; + return new Point(xdiff, ydiff); + } + plus(other_point) { + return new Point(this.lon + other_point.lon, this.lat + other_point.lat); + } + length_squared(other_point) { + let d = this.minus(other_point); + return (d.lon * d.lon + d.lat * d.lat); + } + times(scalar) { + return new Point(this.lon * scalar, this.lat * scalar); + } + dot(other_point) { + return this.lon * other_point.lon + this.lat * other_point.lat; + } + distance(other_point) { + //see https://www.movable-type.co.uk/scripts/latlong.html + const R = 6371e3; // metres + const phi1 = this.lat * Math.PI / 180; + const phi2 = other_point.lat * Math.PI / 180; + const deltaphi = (other_point.lat - this.lat) * Math.PI / 180; + const deltalambda = (other_point.lon - this.lon) * Math.PI / 180; - const a = Math.sin(deltaphi/2) * Math.sin(deltaphi/2) + + const a = Math.sin(deltaphi / 2) * Math.sin(deltaphi / 2) + Math.cos(phi1) * Math.cos(phi2) * - Math.sin(deltalambda/2) * Math.sin(deltalambda/2); - const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); + Math.sin(deltalambda / 2) * Math.sin(deltalambda / 2); + const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); - return R * c; // in metres - } - fake_distance(other_point) { - return Math.sqrt(this.length_squared(other_point)); - } - fake_distance_to_segment(v, w) { - // from : https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment - // Return minimum distance between line segment vw and point p - let l2 = v.length_squared(w); // i.e. |w-v|^2 - avoid a sqrt - if (l2 == 0.0) { - return this.distance(v); // v == w case - } - // Consider the line extending the segment, parameterized as v + t (w - v). - // We find projection of point p onto the line. - // It falls where t = [(p-v) . (w-v)] / |w-v|^2 - // We clamp t from [0,1] to handle points outside the segment vw. - let t = Math.max(0, Math.min(1, (this.minus(v)).dot(w.minus(v)) / l2)); - let projection = v.plus((w.minus(v)).times(t)); // Projection falls on the segment - return this.fake_distance(projection); - } + return R * c; // in metres + } + fake_distance(other_point) { + return Math.sqrt(this.length_squared(other_point)); + } + fake_distance_to_segment(v, w) { + // from : https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment + // Return minimum distance between line segment vw and point p + let l2 = v.length_squared(w); // i.e. |w-v|^2 - avoid a sqrt + if (l2 == 0.0) { + return this.distance(v); // v == w case + } + // Consider the line extending the segment, parameterized as v + t (w - v). + // We find projection of point p onto the line. + // It falls where t = [(p-v) . (w-v)] / |w-v|^2 + // We clamp t from [0,1] to handle points outside the segment vw. + let t = + Math.max(0, Math.min(1, (this.minus(v)).dot(w.minus(v)) / l2)); + let projection = v.plus((w.minus(v)).times(t)); // Projection falls on the segment + return this.fake_distance(projection); + } } function display(path) { - g.clear(); - g.setColor(g.theme.fg); - let next_segment = path.nearest_segment(new Point(lon, lat), 0, path.len-1); - let diff; - if (next_segment != current_segment) { - if (next_segment > current_segment) { - diff = path.segments_length(current_segment+1, next_segment+1); - } else { - diff = -path.segments_length(next_segment+1, current_segment+1); - } - remaining_distance -= diff; - current_segment = next_segment; - } - let start = Math.max(current_segment - 5, 0); - let end = Math.min(current_segment + 7, path.len-1); - path.on_segments(function(p1, p2, i) { - let c2 = p2.coordinates(); - if (i == current_segment + 1) { - g.setColor(0.0, 1.0, 0.0); - } else { - g.setColor(1.0, 0.0, 0.0); - } - let c1 = p1.coordinates(); - g.drawLine( - c1[0], c1[1], c2[0], c2[1] - ); + g.clear(); g.setColor(g.theme.fg); - g.fillCircle(c2[0], c2[1], 4); - g.setColor(g.theme.bg); - g.fillCircle(c2[0], c2[1], 3); - }, 0, path.len-1); + let next_segment = + path.nearest_segment(new Point(lon, lat), 0, path.len - 1); + let diff; + if (next_segment != current_segment) { + if (next_segment > current_segment) { + diff = path.segments_length(current_segment + 1, next_segment + 1); + } else { + diff = -path.segments_length(next_segment + 1, current_segment + 1); + } + remaining_distance -= diff; + current_segment = next_segment; + } + let start = Math.max(current_segment - 5, 0); + let end = Math.min(current_segment + 7, path.len - 1); + path.on_segments(function(p1, p2, i) { + let c2 = p2.coordinates(); + if (i == current_segment + 1) { + g.setColor(0.0, 1.0, 0.0); + } else { + g.setColor(1.0, 0.0, 0.0); + } + let c1 = p1.coordinates(); + g.drawLine(c1[0], c1[1], c2[0], c2[1]); + g.setColor(g.theme.fg); + g.fillCircle(c2[0], c2[1], 4); + g.setColor(g.theme.bg); + g.fillCircle(c2[0], c2[1], 3); + }, 0, path.len - 1); - g.setColor(g.theme.fgH); - g.fillCircle(172/2, 172/2, 5); - let real_remaining_distance = remaining_distance + path.point(current_segment+1).distance(new Point(lon, lat)); - let rounded_distance = Math.round(real_remaining_distance/100)/10; - let total = Math.round(path.total_distance/100)/10; - g.setFont("6x8:2").drawString("d. "+rounded_distance + "/" + total, 0, 30); - g.drawString("seg." + (current_segment+1) + "/" + path.len, 0, 48); - Bangle.drawWidgets(); + g.setColor(g.theme.fgH); + g.fillCircle(172 / 2, 172 / 2, 5); + let real_remaining_distance = + remaining_distance + path.point(current_segment + 1).distance(new Point(lon, lat)); + let rounded_distance = Math.round(real_remaining_distance / 100) / 10; + let total = Math.round(path.total_distance / 100) / 10; + g.setFont("6x8:2").drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); + g.drawString("seg." + (current_segment + 1) + "/" + path.len, 0, g.getHeight() - 15); + Bangle.drawWidgets(); } Bangle.loadWidgets(); let path = new Path("test.gpc"); -var current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len-1); +var current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len - 1); var remaining_distance = path.total_distance - path.segments_length(0, 1); +function set_coordinates(data) { + let old_lat = lat; + if (!isNaN(data.lat)) { + lat = data.lat; + } + let old_lon = lon; + if (!isNaN(data.lon)) { + lon = data.lon; + } + if ((old_lat != lat) || (old_lon != lon)) { + let direction = data.course * Math.PI / 180.0; + cos_direction = Math.cos(-direction - Math.PI / 2.0); + sin_direction = Math.sin(-direction - Math.PI / 2.0); + display(path); + } +} + let fake_gps_point = 0.0; function simulate_gps(path) { - let point_index = Math.floor(fake_gps_point); - if (point_index >= path.len) { - return; - } - let p1 = path.point(point_index); - let p2 = path.point(point_index+1); - let alpha = fake_gps_point - point_index; + let point_index = Math.floor(fake_gps_point); + if (point_index >= path.len) { + return; + } + let p1 = path.point(point_index); + let p2 = path.point(point_index + 1); + let alpha = fake_gps_point - point_index; - let old_lon = lon; - let old_lat = lat; - lon = (1-alpha)*p1.lon + alpha*p2.lon; - lat = (1-alpha)*p1.lat + alpha*p2.lat; - fake_gps_point += 0.2; - direction = Math.atan2(lat-old_lat, lon-old_lon); - direction = 0.0; - cos_direction = Math.cos(direction); - sin_direction = Math.sin(direction); - display(path); + let old_lon = lon; + let old_lat = lat; + lon = (1 - alpha) * p1.lon + alpha * p2.lon; + lat = (1 - alpha) * p1.lat + alpha * p2.lat; + fake_gps_point += 0.05; + let direction = Math.atan2(lat - old_lat, lon - old_lon); + cos_direction = Math.cos(-direction - Math.PI / 2.0); + sin_direction = Math.sin(-direction - Math.PI / 2.0); + display(path); } -setInterval(simulate_gps, 500, path); +if (simulated) { + setInterval(simulate_gps, 500, path); -// function set_coordinates(data) { -// let old_lat = lat; -// if (!isNaN(data.lat)) { -// lat = data.lat; -// } -// let old_lon = lon; -// if (!isNaN(data.lon)) { -// lon = data.lon; -// } -// if ((old_lat != lat)||(old_lon != lon)) { -// display(path); -// } -// } -// Bangle.setGPSPower(true, "gipy"); -// Bangle.on('GPS', set_coordinates); +} else { + Bangle.setGPSPower(true, "gipy"); + Bangle.on('GPS', set_coordinates); +} diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 753fc7f7f..6a3e7bc8d 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.02", + "version": "0.03", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From 9fb484a6b119c371da732df78bd42502d2dd627e Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Mon, 18 Jul 2022 17:01:04 +0200 Subject: [PATCH 016/622] gipy: refactoring --- apps/gipy/TODO | 5 +- apps/gipy/app.js | 222 +++++++++++++++++++++++++++-------------------- 2 files changed, 130 insertions(+), 97 deletions(-) diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 47019376c..360ae0da5 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,4 +1,3 @@ -- display distance to target - detect reached waypoints - beep when reaching waypoint @@ -11,8 +10,8 @@ - store several tracks -- map rotation to match direction - water points - compress path -- avoid display of all segments + +- add a version number to gpc files diff --git a/apps/gipy/app.js b/apps/gipy/app.js index d6444803d..a5d111f03 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,28 +1,113 @@ -var lat = null; -var lon = null; -var cos_direction; -var sin_direction; -let simulated = false; +let simulated = true; + +class Status { + constructor(path) { + this.path = path; + this.position = null; // where we are + this.cos_direction = null; // cos of where we look at + this.sin_direction = null; // sin of where we look at + this.current_segment = null; // which segment is closest + + let r = [0]; + // let's do a reversed prefix computations on all distances: + // loop on all segments in reversed order + let previous_point = null; + for (let i = this.path.len - 1; i >= 0; i--) { + let point = this.path.point(i); + if (previous_point !== null) { + r.unshift(r[0] + point.distance(previous_point)); + } + previous_point = point; + } + this.remaining_distances = r; // how much distance remains at start of each segment + } + update_position(new_position, direction) { + if (Bangle.isLocked() && this.position !== null && new_position.lon == this.position.lon && new_position.lat == this.position.lat) { + return; + } + this.cos_direction = Math.cos(-direction - Math.PI / 2.0); + this.sin_direction = Math.sin(-direction - Math.PI / 2.0); + this.position = new_position; + if (this.is_lost()) { + this.current_segment = this.path.nearest_segment(this.position, 0, path.len - 1); + } else { + this.current_segment = this.path.nearest_segment(this.position, Math.max(0, current_segment-1), Math.min(current_segment+2, path.len - 1)); + } + this.display(); + } + remaining_distance() { + return this.remaining_distances[this.current_segment+1] + this.position.distance(this.path.point(this.current_segment+1)); + } + is_lost() { + let distance_to_nearest = this.position.fake_distance_to_segment(this.path.point(this.current_segment), this.path.point(this.current_segment+1)); + // TODO: if more than something then we are lost + return true; + } + display() { + g.clear(); + this.display_map(); + this.display_stats(); + Bangle.drawWidgets(); + } + display_stats() { + let rounded_distance = Math.round(this.remaining_distance() / 100) / 10; + let total = Math.round(this.remaining_distances[0] / 100) / 10; + let now = new Date(); + let minutes = now.getMinutes().toString(); + if (minutes.length < 2) { + minutes = '0' + minutes; + } + let hours = now.getHours().toString(); + g.setFont("6x8:2").drawString(hours + ":" + minutes, 0, g.getHeight() - 49); + g.drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); + g.drawString("seg." + (this.current_segment + 1) + "/" + path.len, 0, g.getHeight() - 15); + } + display_map() { + // don't display all segments, only those neighbouring current segment + // this is most likely to be the correct display + // while lowering the cost a lot + let start = Math.max(this.current_segment - 5, 0); + let end = Math.min(this.current_segment + 6, this.path.len - 1); + let pos = this.position; + let cos = this.cos_direction; + let sin = this.sin_direction; + + // segments + this.path.on_segments(function(p1, p2, i) { + if (i == this.current_segment + 1) { + g.setColor(0.0, 1.0, 0.0); + } else { + g.setColor(1.0, 0.0, 0.0); + } + let c1 = p1.coordinates(pos, cos, sin); + let c2 = p2.coordinates(pos, cos, sin); + g.drawLine(c1[0], c1[1], c2[0], c2[1]); + }, start, end); + + // waypoints + for (let i = start ; i < end + 1 ; i++) { + let p = this.path.point(i); + let c = p.coordinates(pos, cos, sin); + g.setColor(g.theme.fg); + g.fillCircle(c[0], c[1], 4); + g.setColor(g.theme.bg); + g.fillCircle(c[0], c[1], 3); + } + + // now display ourselves + g.setColor(g.theme.fgH); + g.fillCircle(g.getWidth() / 2, g.getHeight() / 2, 5); + } +} class Path { constructor(filename) { let buffer = require("Storage").readArrayBuffer(filename); this.points = Float64Array(buffer); - this.total_distance = this.segments_length(0, this.len - 1); - } - - // return cumulated length of wanted segments (in km). - // start is index of first wanted segment - // end is 1 after index of last wanted segment - segments_length(start, end) { - let total = 0.0; - this.on_segments(function(p1, p2, i) { - total += p1.distance(p2); - }, start, end); - return total; } + // execute op on all segments. // start is index of first wanted segment // end is 1 after index of last wanted segment on_segments(op, start, end) { @@ -36,6 +121,7 @@ class Path { } } + // return point at given index point(index) { let lon = this.points[2 * index]; let lat = this.points[2 * index + 1]; @@ -65,12 +151,12 @@ class Point { this.lon = lon; this.lat = lat; } - coordinates() { - let x = (this.lon - lon) * 20000.0; - let y = (this.lat - lat) * 20000.0; - let rotated_x = x * cos_direction - y * sin_direction; - let rotated_y = x * sin_direction + y * cos_direction; - return [g.getWidth() / 2 - Math.round(rotated_x), // x is inverted + coordinates(current_position, cos_direction, sin_direction) { + let translated = this.minus(current_position).times(20000.0); + let rotated_x = translated.lon * cos_direction - translated.lat * sin_direction; + let rotated_y = translated.lon * sin_direction + translated.lat * cos_direction; + return [ + g.getWidth() / 2 - Math.round(rotated_x), // x is inverted g.getHeight() / 2 + Math.round(rotated_y) ]; } @@ -128,97 +214,45 @@ class Point { } } -function display(path) { - g.clear(); - g.setColor(g.theme.fg); - let next_segment = - path.nearest_segment(new Point(lon, lat), 0, path.len - 1); - let diff; - if (next_segment != current_segment) { - if (next_segment > current_segment) { - diff = path.segments_length(current_segment + 1, next_segment + 1); - } else { - diff = -path.segments_length(next_segment + 1, current_segment + 1); - } - remaining_distance -= diff; - current_segment = next_segment; - } - let start = Math.max(current_segment - 5, 0); - let end = Math.min(current_segment + 7, path.len - 1); - path.on_segments(function(p1, p2, i) { - let c2 = p2.coordinates(); - if (i == current_segment + 1) { - g.setColor(0.0, 1.0, 0.0); - } else { - g.setColor(1.0, 0.0, 0.0); - } - let c1 = p1.coordinates(); - g.drawLine(c1[0], c1[1], c2[0], c2[1]); - g.setColor(g.theme.fg); - g.fillCircle(c2[0], c2[1], 4); - g.setColor(g.theme.bg); - g.fillCircle(c2[0], c2[1], 3); - }, 0, path.len - 1); - - g.setColor(g.theme.fgH); - g.fillCircle(172 / 2, 172 / 2, 5); - let real_remaining_distance = - remaining_distance + path.point(current_segment + 1).distance(new Point(lon, lat)); - let rounded_distance = Math.round(real_remaining_distance / 100) / 10; - let total = Math.round(path.total_distance / 100) / 10; - g.setFont("6x8:2").drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); - g.drawString("seg." + (current_segment + 1) + "/" + path.len, 0, g.getHeight() - 15); - Bangle.drawWidgets(); -} Bangle.loadWidgets(); let path = new Path("test.gpc"); -var current_segment = path.nearest_segment(new Point(lon, lat), 0, path.len - 1); -var remaining_distance = path.total_distance - path.segments_length(0, 1); +let status = new Status(path); function set_coordinates(data) { - let old_lat = lat; - if (!isNaN(data.lat)) { - lat = data.lat; - } - let old_lon = lon; - if (!isNaN(data.lon)) { - lon = data.lon; - } - if ((old_lat != lat) || (old_lon != lon)) { + let valid_coordinates = !isNaN(data.lat) && !isNaN(data.lon); + if (valid_coordinates) { let direction = data.course * Math.PI / 180.0; - cos_direction = Math.cos(-direction - Math.PI / 2.0); - sin_direction = Math.sin(-direction - Math.PI / 2.0); - display(path); + let position = new Point(data.lon, data.lat); + status.update_position(position, direction); } } let fake_gps_point = 0.0; -function simulate_gps(path) { +function simulate_gps(status) { let point_index = Math.floor(fake_gps_point); if (point_index >= path.len) { return; } let p1 = path.point(point_index); let p2 = path.point(point_index + 1); - let alpha = fake_gps_point - point_index; - let old_lon = lon; - let old_lat = lat; - lon = (1 - alpha) * p1.lon + alpha * p2.lon; - lat = (1 - alpha) * p1.lat + alpha * p2.lat; - fake_gps_point += 0.05; - let direction = Math.atan2(lat - old_lat, lon - old_lon); - cos_direction = Math.cos(-direction - Math.PI / 2.0); - sin_direction = Math.sin(-direction - Math.PI / 2.0); - display(path); + let alpha = fake_gps_point - point_index; + let pos = p1.times(1-alpha).plus(p2.times(alpha)); + let old_pos = status.position; + + fake_gps_point += 0.05; // advance simulation + let direction = Math.atan2(pos.lat - old_pos.lat, pos.lon - old_pos.lon); + status.update_position(pos, direction); } if (simulated) { - setInterval(simulate_gps, 500, path); - + status.position = new Point(status.path.point(0)); + setInterval(simulate_gps, 500, status); } else { - Bangle.setGPSPower(true, "gipy"); - Bangle.on('GPS', set_coordinates); + Bangle.setGPSPower(true, "gipy"); + Bangle.on('GPS', set_coordinates); } + + From a93fc07bd84fef37059203a978debce975c1589e Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Mon, 18 Jul 2022 17:11:41 +0200 Subject: [PATCH 017/622] minor stuff --- apps/gipy/README.md | 2 +- apps/gipy/app.js | 2 +- apps/gipy/metadata.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/gipy/README.md b/apps/gipy/README.md index f28a2ed46..f7fd04233 100644 --- a/apps/gipy/README.md +++ b/apps/gipy/README.md @@ -1,7 +1,7 @@ # Gipy Development still in progress. Follow compressed gpx traces. -Warns you before reaching intersections and tries to turn off gps. +Will warn you before reaching intersections and try to turn off gps. ## Usage diff --git a/apps/gipy/app.js b/apps/gipy/app.js index a5d111f03..ebbb37965 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,5 +1,5 @@ -let simulated = true; +let simulated = false; class Status { constructor(path) { diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 6a3e7bc8d..9e05dec6e 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.03", + "version": "0.04", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From ab5f4ed3de22e77a1ae33730d5d146bc0d39b34b Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 19 Jul 2022 10:05:34 +0200 Subject: [PATCH 018/622] buzz --- apps/gipy/ChangeLog | 4 +++ apps/gipy/TODO | 18 +++++------- apps/gipy/app.js | 65 ++++++++++++++++++++++++++++++++--------- apps/gipy/metadata.json | 2 +- 4 files changed, 63 insertions(+), 26 deletions(-) create mode 100644 apps/gipy/ChangeLog diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog new file mode 100644 index 000000000..f3c377e06 --- /dev/null +++ b/apps/gipy/ChangeLog @@ -0,0 +1,4 @@ +0.01: Initial code +0.05: We now buzz before reaching a waypoint. Display is only updated when not +locked. We detect leaving path and finding path again. We display remaining distance to +next point. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 360ae0da5..a5d534b63 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,17 +1,13 @@ +- nearest_segment : use highest_completed_segment to disambiguate +- gps direction is weak when speed is low +- add a version number to gpc files +- water points -- detect reached waypoints -- beep when reaching waypoint -- display distance to next waypoint -- display average speed +- store several tracks - turn off gps when moving to next waypoint -- beep when moving away from path + +- display average speed - dynamic map rescale - display scale (100m) -- store several tracks - -- water points - - compress path - -- add a version number to gpc files diff --git a/apps/gipy/app.js b/apps/gipy/app.js index ebbb37965..a4c005073 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -4,10 +4,14 @@ let simulated = false; class Status { constructor(path) { this.path = path; + this.on_path = false; // are we on the path or lost ? this.position = null; // where we are this.cos_direction = null; // cos of where we look at this.sin_direction = null; // sin of where we look at this.current_segment = null; // which segment is closest + this.highest_completed_segment = -1; // remember what we already acomplished to disambiguate nearest path when some segments are takend in both directions + this.reaching = null; // which waypoint are we reaching ? + this.distance_to_next_point = null; // how far are we from next point ? let r = [0]; // let's do a reversed prefix computations on all distances: @@ -23,26 +27,61 @@ class Status { this.remaining_distances = r; // how much distance remains at start of each segment } update_position(new_position, direction) { + if (Bangle.isLocked() && this.position !== null && new_position.lon == this.position.lon && new_position.lat == this.position.lat) { return; } + this.cos_direction = Math.cos(-direction - Math.PI / 2.0); this.sin_direction = Math.sin(-direction - Math.PI / 2.0); this.position = new_position; - if (this.is_lost()) { - this.current_segment = this.path.nearest_segment(this.position, 0, path.len - 1); - } else { - this.current_segment = this.path.nearest_segment(this.position, Math.max(0, current_segment-1), Math.min(current_segment+2, path.len - 1)); + + // detect segment we are on now + let next_segment = this.path.nearest_segment(this.position, Math.max(0, this.current_segment-1), Math.min(this.current_segment+2, path.len - 1)); + + if (this.is_lost(next_segment)) { + // it did not work, try anywhere + next_segment = this.path.nearest_segment(this.position, 0, path.len - 1); + } + // now check if we strayed away from path or back to it + let lost = this.is_lost(next_segment); + if (this.on_path == lost) { + if (lost) { + Bangle.buzz(); // we lost path + setTimeout(()=>Bangle.buzz(), 300); + } else { + Bangle.buzz(); // we found path back + } + this.on_path = !lost; + } + + if (this.current_segment != next_segment) { + if (this.current_segment == next_segment - 1) { + this.highest_completed_segment = this.current_segment; + } + } + this.current_segment = next_segment; + + // check if we are nearing the next point on our path and alert the user + let next_point = this.current_segment + 1; + this.distance_to_next_point = Math.ceil(this.position.distance(this.path.point(next_point))); + if (this.reaching != next_point && this.distance_to_next_point <= 20) { + this.reaching = next_point; + Bangle.buzz(); + } + + // re-display unless locked + if (!Bangle.isLocked()) { + this.display(); } - this.display(); } remaining_distance() { return this.remaining_distances[this.current_segment+1] + this.position.distance(this.path.point(this.current_segment+1)); } - is_lost() { - let distance_to_nearest = this.position.fake_distance_to_segment(this.path.point(this.current_segment), this.path.point(this.current_segment+1)); - // TODO: if more than something then we are lost - return true; + is_lost(segment) { + let distance_to_nearest = this.position.fake_distance_to_segment(this.path.point(segment), this.path.point(segment+1)); + let meters = 6371e3 * distance_to_nearest; + return (meters > 20); } display() { g.clear(); @@ -61,7 +100,7 @@ class Status { let hours = now.getHours().toString(); g.setFont("6x8:2").drawString(hours + ":" + minutes, 0, g.getHeight() - 49); g.drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); - g.drawString("seg." + (this.current_segment + 1) + "/" + path.len, 0, g.getHeight() - 15); + g.drawString("seg." + (this.current_segment + 1) + "/" + path.len + " " + this.distance_to_next_point + "m", 0, g.getHeight() - 15); } display_map() { // don't display all segments, only those neighbouring current segment @@ -207,8 +246,8 @@ class Point { // We find projection of point p onto the line. // It falls where t = [(p-v) . (w-v)] / |w-v|^2 // We clamp t from [0,1] to handle points outside the segment vw. - let t = - Math.max(0, Math.min(1, (this.minus(v)).dot(w.minus(v)) / l2)); + let t = Math.max(0, Math.min(1, (this.minus(v)).dot(w.minus(v)) / l2)); + let projection = v.plus((w.minus(v)).times(t)); // Projection falls on the segment return this.fake_distance(projection); } @@ -254,5 +293,3 @@ if (simulated) { Bangle.setGPSPower(true, "gipy"); Bangle.on('GPS', set_coordinates); } - - diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 9e05dec6e..f5baf2eeb 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.04", + "version": "0.05", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From c0164d249318311800b2f7217dcd95f3f1fb6d56 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 19 Jul 2022 14:10:12 +0200 Subject: [PATCH 019/622] gpconv: bugfix + osm - we now use distances to segments - better svg - we can now fetch osm data --- apps/gipy/gpconv/Cargo.lock | 975 +++++++++++++++++++++++++++++++++++ apps/gipy/gpconv/Cargo.toml | 5 +- apps/gipy/gpconv/src/main.rs | 385 +++++++++----- 3 files changed, 1247 insertions(+), 118 deletions(-) diff --git a/apps/gipy/gpconv/Cargo.lock b/apps/gipy/gpconv/Cargo.lock index fbe549955..da2fdaac5 100644 --- a/apps/gipy/gpconv/Cargo.lock +++ b/apps/gipy/gpconv/Cargo.lock @@ -44,6 +44,30 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bumpalo" +version = "3.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" + +[[package]] +name = "bytes" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" + [[package]] name = "cc" version = "1.0.73" @@ -56,12 +80,37 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + [[package]] name = "either" version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +[[package]] +name = "encoding_rs" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +dependencies = [ + "cfg-if", +] + [[package]] name = "error-chain" version = "0.12.4" @@ -72,6 +121,85 @@ dependencies = [ "version_check", ] +[[package]] +name = "fastrand" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +dependencies = [ + "instant", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" + +[[package]] +name = "futures-sink" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" + +[[package]] +name = "futures-task" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" + +[[package]] +name = "futures-util" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +dependencies = [ + "futures-core", + "futures-task", + "pin-project-lite", + "pin-utils", +] + [[package]] name = "geo-types" version = "0.7.6" @@ -93,6 +221,9 @@ version = "0.1.0" dependencies = [ "gpx", "itertools", + "lazy_static", + "openstreetmap-api", + "tokio", ] [[package]] @@ -109,6 +240,147 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "h2" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "hyper" +version = "0.14.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" + [[package]] name = "itertools" version = "0.10.3" @@ -124,18 +396,64 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" +[[package]] +name = "js-sys" +version = "0.3.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + [[package]] name = "libc" version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +[[package]] +name = "lock_api" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + [[package]] name = "memchr" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "mime" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" + [[package]] name = "miniz_oxide" version = "0.5.3" @@ -145,6 +463,36 @@ dependencies = [ "adler", ] +[[package]] +name = "mio" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys", +] + +[[package]] +name = "native-tls" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "num-traits" version = "0.2.15" @@ -154,6 +502,16 @@ dependencies = [ "autocfg", ] +[[package]] +name = "num_cpus" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +dependencies = [ + "hermit-abi", + "libc", +] + [[package]] name = "num_threads" version = "0.1.6" @@ -172,6 +530,120 @@ dependencies = [ "memchr", ] +[[package]] +name = "once_cell" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" + +[[package]] +name = "openssl" +version = "0.10.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "openstreetmap-api" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0964095cdc40d448c6291d079dc98cc5d094c92af5b5fbfcda24a4c9637fc6" +dependencies = [ + "log", + "quick-xml", + "reqwest", + "serde", + "serde_derive", + "serde_urlencoded", + "url", + "urlencoding", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" + [[package]] name = "proc-macro2" version = "1.0.40" @@ -181,6 +653,16 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "quick-xml" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "quote" version = "1.0.20" @@ -190,12 +672,183 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "redox_syscall" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +dependencies = [ + "bitflags", +] + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + +[[package]] +name = "reqwest" +version = "0.11.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "lazy_static", + "log", + "mime", + "native-tls", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + [[package]] name = "rustc-demangle" version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +[[package]] +name = "ryu" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "security-framework" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6" + +[[package]] +name = "serde_derive" +version = "1.0.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc1d3230c1de7932af58ad8ffbe1d784bd55efd5a9d84ac24f69c72d83543dfb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" + +[[package]] +name = "smallvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" + +[[package]] +name = "socket2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "syn" version = "1.0.98" @@ -207,6 +860,20 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "tempfile" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +dependencies = [ + "cfg-if", + "fastrand", + "libc", + "redox_syscall", + "remove_dir_all", + "winapi", +] + [[package]] name = "thiserror" version = "1.0.31" @@ -238,18 +905,326 @@ dependencies = [ "num_threads", ] +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "tokio" +version = "1.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57aec3cfa4c296db7255446efb4928a6be304b431a806216105542a67b6ca82e" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "once_cell", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "unicode-bidi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + [[package]] name = "unicode-ident" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" +[[package]] +name = "unicode-normalization" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "urlencoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b90931029ab9b034b300b797048cf23723400aa757e8a2bfb9d748102f9821" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a" +dependencies = [ + "bumpalo", + "lazy_static", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de9a9cec1733468a8c657e57fa2413d2ae2c0129b95e87c5b72b8ace4d13f31f" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be" + +[[package]] +name = "web-sys" +version = "0.3.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + [[package]] name = "xml-rs" version = "0.8.4" diff --git a/apps/gipy/gpconv/Cargo.toml b/apps/gipy/gpconv/Cargo.toml index 69891c99c..b6053a3ce 100644 --- a/apps/gipy/gpconv/Cargo.toml +++ b/apps/gipy/gpconv/Cargo.toml @@ -7,4 +7,7 @@ edition = "2021" [dependencies] gpx="*" -itertools="*" \ No newline at end of file +itertools="*" +openstreetmap-api="*" +tokio={version="1", features=["full"]} +lazy_static="*" diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 4f2d4a079..74acaa8e5 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -1,11 +1,91 @@ use itertools::Itertools; -use std::collections::HashMap; +use std::collections::{HashMap, HashSet}; use std::fs::File; -use std::io::{BufReader, Write}; +use std::io::{BufReader, BufWriter, Write}; use std::path::Path; use gpx::read; -use gpx::{Gpx, Track, TrackSegment}; +use gpx::Gpx; + +use lazy_static::lazy_static; +use openstreetmap_api::{ + types::{BoundingBox, Credentials}, + Openstreetmap, +}; + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +enum Interest { + Bakery, + DrinkingWater, + Toilets, + BikeShop, + ChargingStation, + Bank, + Supermarket, + Table, + // TourismOffice, + Artwork, + Pharmacy, +} + +#[derive(Debug, PartialEq)] +struct InterestPoint { + lat: f64, + lon: f64, + interest: Interest, +} + +impl Eq for InterestPoint {} +impl std::hash::Hash for InterestPoint { + fn hash(&self, state: &mut H) { + unsafe { std::mem::transmute::(self.lat) }.hash(state); + unsafe { std::mem::transmute::(self.lon) }.hash(state); + self.interest.hash(state); + } +} + +lazy_static! { + static ref INTERESTS: HashMap<(&'static str, &'static str), Interest> = { + [ + (("shop", "bakery"), Interest::Bakery), + (("amenity", "drinking_water"), Interest::DrinkingWater), + (("amenity", "toilets"), Interest::Toilets), + (("shop", "bicycle"), Interest::BikeShop), + (("amenity", "charging_station"), Interest::ChargingStation), + (("amenity", "bank"), Interest::Bank), + (("shop", "supermarket"), Interest::Supermarket), + (("leisure", "picnic_table"), Interest::Table), + // (("tourism", "information"), Interest::TourismOffice), + (("tourism", "artwork"), Interest::Artwork), + (("amenity", "pharmacy"), Interest::Pharmacy), + ] + .into_iter() + .collect() + }; +} + +impl Interest { + fn new(key: &str, value: &str) -> Option { + INTERESTS.get(&(key, value)).cloned() + } +} + +impl InterestPoint { + fn color(&self) -> &'static str { + match self.interest { + Interest::Bakery => "red", + Interest::DrinkingWater => "blue", + Interest::Toilets => "brown", + Interest::BikeShop => "purple", + Interest::ChargingStation => "green", + Interest::Bank => "black", + Interest::Supermarket => "red", + Interest::Table => "pink", + Interest::Artwork => "orange", + Interest::Pharmacy => "chartreuse", + } + } +} fn squared_distance_between(p1: &(f64, f64), p2: &(f64, f64)) -> f64 { let (x1, y1) = *p1; @@ -34,79 +114,90 @@ fn points(filename: &str) -> impl Iterator { .dedup() } -// returns distance from point p to line passing through points p1 and p2 -// see https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line -fn distance_to_line(p: &(f64, f64), p1: &(f64, f64), p2: &(f64, f64)) -> f64 { - let (x0, y0) = *p; - let (x1, y1) = *p1; - let (x2, y2) = *p2; - let dx = x2 - x1; - let dy = y2 - y1; - //TODO: remove this division by computing fake distances - (dx * (y1 - y0) - dy * (x1 - x0)).abs() / (dx * dx + dy * dy).sqrt() -} - -fn acceptable_angles(p1: &(f64, f64), p2: &(f64, f64), epsilon: f64) -> (f64, f64) { - // first, convert p2's coordinates for p1 as origin - let (x1, y1) = *p1; - let (x2, y2) = *p2; - let (x, y) = (x2 - x1, y2 - y1); - // rotate so that (p1, p2) ends on x axis - let theta = y.atan2(x); - let rx = x * theta.cos() - y * theta.sin(); - let ry = x * theta.sin() + y * theta.cos(); - assert!(ry.abs() <= std::f64::EPSILON); - - // now imagine a line at an angle alpha. - // we want the distance d from (rx, 0) to our line - // we have sin(alpha) = d / rx - // limiting d to epsilon, we solve - // sin(alpha) = e / rx - // and get - // alpha = arcsin(e/rx) - let alpha = (epsilon / rx).asin(); - - // now we just need to rotate back - let a1 = theta + alpha.abs(); - let a2 = theta - alpha.abs(); - assert!(a1 >= a2); - (a1, a2) -} - -// this is like ramer douglas peucker algorithm -// except that we advance from the start without knowing the end. -// each point we meet constrains the chosen segment's angle -// a bit more. -// -fn simplify(mut points: &[(f64, f64)]) -> Vec<(f64, f64)> { - let mut remaining_points = Vec::new(); - while !points.is_empty() { - let (sx, sy) = points.first().unwrap(); - let i = match points - .iter() - .enumerate() - .map(|(i, (x, y))| todo!("compute angles")) - .try_fold( - (0.0f64, std::f64::consts::FRAC_2_PI), - |(amin, amax), (i, (amin2, amax2))| -> Result<(f64, f64), usize> { - let new_amax = amax.min(amax2); - let new_amin = amin.max(amin2); - if new_amin >= new_amax { - Err(i) - } else { - Ok((new_amin, new_amax)) - } - }, - ) { - Err(i) => i, - Ok(_) => points.len(), - }; - remaining_points.push(points.first().cloned().unwrap()); - points = &points[i..]; +fn distance_to_segment(p: &(f64, f64), v: &(f64, f64), w: &(f64, f64)) -> f64 { + let l2 = squared_distance_between(v, w); + if l2 == 0.0 { + return squared_distance_between(p, v).sqrt(); } - remaining_points + // Consider the line extending the segment, parameterized as v + t (w - v). + // We find projection of point p onto the line. + // It falls where t = [(p-v) . (w-v)] / |w-v|^2 + // We clamp t from [0,1] to handle points outside the segment vw. + let x0 = p.0 - v.0; + let y0 = p.1 - v.1; + let x1 = w.0 - v.0; + let y1 = w.1 - v.1; + let dot = x0 * x1 + y0 * y1; + let t = (dot / l2).min(1.0).max(0.0); + + let proj_x = v.0 + x1 * t; + let proj_y = v.1 + y1 * t; + + squared_distance_between(&(proj_x, proj_y), p).sqrt() } +// // NOTE: this angles idea could maybe be use to get dp from n^3 to n^2 +// fn acceptable_angles(p1: &(f64, f64), p2: &(f64, f64), epsilon: f64) -> (f64, f64) { +// // first, convert p2's coordinates for p1 as origin +// let (x1, y1) = *p1; +// let (x2, y2) = *p2; +// let (x, y) = (x2 - x1, y2 - y1); +// // rotate so that (p1, p2) ends on x axis +// let theta = y.atan2(x); +// let rx = x * theta.cos() - y * theta.sin(); +// let ry = x * theta.sin() + y * theta.cos(); +// assert!(ry.abs() <= std::f64::EPSILON); +// +// // now imagine a line at an angle alpha. +// // we want the distance d from (rx, 0) to our line +// // we have sin(alpha) = d / rx +// // limiting d to epsilon, we solve +// // sin(alpha) = e / rx +// // and get +// // alpha = arcsin(e/rx) +// let alpha = (epsilon / rx).asin(); +// +// // now we just need to rotate back +// let a1 = theta + alpha.abs(); +// let a2 = theta - alpha.abs(); +// assert!(a1 >= a2); +// (a1, a2) +// } +// +// // this is like ramer douglas peucker algorithm +// // except that we advance from the start without knowing the end. +// // each point we meet constrains the chosen segment's angle +// // a bit more. +// // +// fn simplify(mut points: &[(f64, f64)]) -> Vec<(f64, f64)> { +// let mut remaining_points = Vec::new(); +// while !points.is_empty() { +// let (sx, sy) = points.first().unwrap(); +// let i = match points +// .iter() +// .enumerate() +// .map(|(i, (x, y))| todo!("compute angles")) +// .try_fold( +// (0.0f64, std::f64::consts::FRAC_2_PI), +// |(amin, amax), (i, (amin2, amax2))| -> Result<(f64, f64), usize> { +// let new_amax = amax.min(amax2); +// let new_amin = amin.max(amin2); +// if new_amin >= new_amax { +// Err(i) +// } else { +// Ok((new_amin, new_amax)) +// } +// }, +// ) { +// Err(i) => i, +// Ok(_) => points.len(), +// }; +// remaining_points.push(points.first().cloned().unwrap()); +// points = &points[i..]; +// } +// remaining_points +// } + fn extract_prog_dyn_solution( points: &[(f64, f64)], start: usize, @@ -140,9 +231,10 @@ fn simplify_prog_dyn( } else { let first_point = &points[start]; let last_point = &points[end - 1]; + if points[(start + 1)..end] .iter() - .map(|p| distance_to_line(p, first_point, last_point)) + .map(|p| distance_to_segment(p, first_point, last_point)) .all(|d| d <= epsilon) { (None, 2) @@ -190,7 +282,7 @@ fn rdp(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { } else { let (index_farthest, farthest_distance) = points .iter() - .map(|p| distance_to_line(p, points.first().unwrap(), points.last().unwrap())) + .map(|p| distance_to_segment(p, points.first().unwrap(), points.last().unwrap())) .enumerate() .max_by(|(_, d1), (_, d2)| { if d1.is_nan() { @@ -299,7 +391,7 @@ fn save_coordinates>( // points: &[(i32, i32)], points: &[(f64, f64)], ) -> std::io::Result<()> { - let mut writer = std::io::BufWriter::new(File::create(path)?); + let mut writer = BufWriter::new(File::create(path)?); eprintln!("saving {} points", points.len()); // writer.write_all(&xmin.to_be_bytes())?; @@ -312,21 +404,6 @@ fn save_coordinates>( Ok(()) } -fn save_json>(path: P, points: &[(f64, f64)]) -> std::io::Result<()> { - let mut writer = std::io::BufWriter::new(File::create(path)?); - - eprintln!("saving {} points", points.len()); - writeln!(&mut writer, "[")?; - points - .iter() - .map(|(x, y)| format!("{{\"lat\": {}, \"lon\":{}}}", y, x)) - .intersperse_with(|| ",\n".to_string()) - .try_for_each(|s| write!(&mut writer, "{}", s))?; - write!(&mut writer, "]")?; - - Ok(()) -} - fn optimal_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { let mut cache = HashMap::new(); simplify_prog_dyn(&points, 0, points.len(), epsilon, &mut cache); @@ -360,7 +437,7 @@ fn hybrid_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> } else { let (index_farthest, farthest_distance) = points .iter() - .map(|p| distance_to_line(p, points.first().unwrap(), points.last().unwrap())) + .map(|p| distance_to_segment(p, points.first().unwrap(), points.last().unwrap())) .enumerate() .max_by(|(_, d1), (_, d2)| { if d1.is_nan() { @@ -391,52 +468,126 @@ fn hybrid_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> } } -fn main() { - let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); - eprintln!("input is {}", input_file); - let p = points(&input_file).collect::>(); - eprintln!("initialy we have {} points", p.len()); - //eprintln!("opt is {}", optimal_simplification(&p, 0.0005).len()); - let start = std::time::Instant::now(); - let rp = hybrid_simplification(&p, 0.0005); - eprintln!("hybrid took {:?}", start.elapsed()); - eprintln!("we now have {} points", rp.len()); - let start = std::time::Instant::now(); - eprintln!("rdp would have had {}", rdp(&p, 0.0005).len()); - eprintln!("rdp took {:?}", start.elapsed()); - // let rp = rdp(&p, 0.001); - save_coordinates("test.gpc", &rp).unwrap(); +async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet { + let osm = Openstreetmap::new("https://openstreetmap.org", Credentials::None); + let mut interest_points = HashSet::new(); + let border = 0.0001; + for (&(x1, y1), &(x2, y2)) in points.iter().tuple_windows() { + let left = x1.min(x2) - border; + let right = x1.max(x2) + border; + let bottom = y1.min(y2) - border; + let top = y1.max(y2) + border; + if let Ok(map) = osm + .map(&BoundingBox { + bottom, + left, + top, + right, + }) + .await + { + let points = map.nodes.iter().flat_map(|n| { + n.tags.iter().filter_map(|t| { + let latlon = n.lat.and_then(|lat| n.lon.map(|lon| (lat, lon))); + latlon.and_then(|(lat, lon)| { + Interest::new(&t.k, &t.v).map(|i| InterestPoint { + lat, + lon, + interest: i, + }) + }) + }) + }); + interest_points.extend(points) + } else { + eprintln!("failed retrieving osm data") + } + } + interest_points +} - let (xmin, xmax) = rp +fn save_path(writer: &mut W, p: &[(f64, f64)], stroke: &str) -> std::io::Result<()> { + write!( + writer, + "")?; + Ok(()) +} + +fn save_svg>( + filename: P, + p: &[(f64, f64)], + rp: &[(f64, f64)], + interest_points: &HashSet, +) -> std::io::Result<()> { + let mut writer = BufWriter::new(std::fs::File::create(filename)?); + let (xmin, xmax) = p .iter() .map(|&(x, _)| x) .minmax_by(|a, b| a.partial_cmp(b).unwrap()) .into_option() .unwrap(); - let (ymin, ymax) = rp + let (ymin, ymax) = p .iter() .map(|&(_, y)| y) .minmax_by(|a, b| a.partial_cmp(b).unwrap()) .into_option() .unwrap(); - println!( + writeln!( + &mut writer, "", xmin, ymin, xmax - xmin, ymax - ymin - ); - print!( + )?; + write!( + &mut writer, "", xmin, ymin, xmax - xmin, ymax - ymin - ); - print!(""); - println!(""); + )?; + + save_path(&mut writer, &p, "red")?; + save_path(&mut writer, &rp, "black")?; + + for point in interest_points { + writeln!( + &mut writer, + "", + point.lon, + point.lat, + point.color(), + )?; + } + writeln!(&mut writer, "")?; + Ok(()) +} + +#[tokio::main] +async fn main() { + let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); + eprintln!("input is {}", input_file); + let p = points(&input_file).collect::>(); + eprintln!("initialy we have {} points", p.len()); + let start = std::time::Instant::now(); + let rp = simplify_path(&p, 0.00015); + eprintln!("we took {:?}", start.elapsed()); + eprintln!("we now have {} points", rp.len()); + let start = std::time::Instant::now(); + eprintln!("rdp would have had {}", rdp(&p, 0.00015).len()); + eprintln!("rdp took {:?}", start.elapsed()); + + save_coordinates("test.gpc", &rp).unwrap(); + // let i = get_openstreetmap_data(&rp).await; + let i = HashSet::new(); + save_svg("test.svg", &p, &rp, &i).unwrap(); } From e3b5a6bba66702d6573c639a9e8c64bb6ffadf82 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 20 Jul 2022 10:52:00 +0200 Subject: [PATCH 020/622] gipy: steep turns --- apps/gipy/TODO | 3 + apps/gipy/app.js | 34 ++++- apps/gipy/gpconv/src/main.rs | 274 ++++++++++++++--------------------- apps/gipy/gpconv/src/osm.rs | 130 +++++++++++++++++ 4 files changed, 271 insertions(+), 170 deletions(-) create mode 100644 apps/gipy/gpconv/src/osm.rs diff --git a/apps/gipy/TODO b/apps/gipy/TODO index a5d534b63..8149d2636 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -2,6 +2,9 @@ - gps direction is weak when speed is low - add a version number to gpc files - water points + ---> we group them following path by groups of cst_size and record segments ids marking limits + +- gps wait screen - store several tracks - turn off gps when moving to next waypoint diff --git a/apps/gipy/app.js b/apps/gipy/app.js index a4c005073..2196246c8 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -38,7 +38,7 @@ class Status { // detect segment we are on now let next_segment = this.path.nearest_segment(this.position, Math.max(0, this.current_segment-1), Math.min(this.current_segment+2, path.len - 1)); - + if (this.is_lost(next_segment)) { // it did not work, try anywhere next_segment = this.path.nearest_segment(this.position, 0, path.len - 1); @@ -67,7 +67,12 @@ class Status { this.distance_to_next_point = Math.ceil(this.position.distance(this.path.point(next_point))); if (this.reaching != next_point && this.distance_to_next_point <= 20) { this.reaching = next_point; - Bangle.buzz(); + if (Bangle.isLocked()) { + if (this.path.is_waypoint(next_point)) { + Bangle.buzz(); + Bangle.setLocked(false); + } + } } // re-display unless locked @@ -128,6 +133,12 @@ class Status { for (let i = start ; i < end + 1 ; i++) { let p = this.path.point(i); let c = p.coordinates(pos, cos, sin); + if (this.path.is_waypoint(i)) { + g.setColor(g.theme.fg); + g.fillCircle(c[0], c[1], 6); + g.setColor(g.theme.bg); + g.fillCircle(c[0], c[1], 5); + } g.setColor(g.theme.fg); g.fillCircle(c[0], c[1], 4); g.setColor(g.theme.bg); @@ -146,6 +157,24 @@ class Path { this.points = Float64Array(buffer); } + // if start, end or steep direction change + // we are buzzing and displayed specially + is_waypoint(point_index) { + if ((point_index == 0)||(point_index == this.len -1)) { + return true; + } else { + let p1 = this.point(point_index-1); + let p2 = this.point(point_index); + let p3 = this.point(point_index+1); + let d1 = p2.minus(p1); + let d2 = p3.minus(p2); + let a1 = Math.atan2(d1.lat, d1.lon); + let a2 = Math.atan2(d2.lat, d2.lon); + let direction_change = Math.abs(a2-a1); + return (direction_change > Math.PI / 3.0); + } + } + // execute op on all segments. // start is index of first wanted segment // end is 1 after index of last wanted segment @@ -293,3 +322,4 @@ if (simulated) { Bangle.setGPSPower(true, "gipy"); Bangle.on('GPS', set_coordinates); } + diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 74acaa8e5..a6033bfb2 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -7,95 +7,55 @@ use std::path::Path; use gpx::read; use gpx::Gpx; -use lazy_static::lazy_static; -use openstreetmap_api::{ - types::{BoundingBox, Credentials}, - Openstreetmap, -}; +mod osm; +use osm::InterestPoint; -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] -enum Interest { - Bakery, - DrinkingWater, - Toilets, - BikeShop, - ChargingStation, - Bank, - Supermarket, - Table, - // TourismOffice, - Artwork, - Pharmacy, +#[derive(Debug, PartialEq, Clone, Copy)] +pub struct Point { + x: f64, + y: f64, } -#[derive(Debug, PartialEq)] -struct InterestPoint { - lat: f64, - lon: f64, - interest: Interest, -} - -impl Eq for InterestPoint {} -impl std::hash::Hash for InterestPoint { +impl Eq for Point {} +impl std::hash::Hash for Point { fn hash(&self, state: &mut H) { - unsafe { std::mem::transmute::(self.lat) }.hash(state); - unsafe { std::mem::transmute::(self.lon) }.hash(state); - self.interest.hash(state); + unsafe { std::mem::transmute::(self.x) }.hash(state); + unsafe { std::mem::transmute::(self.y) }.hash(state); } } -lazy_static! { - static ref INTERESTS: HashMap<(&'static str, &'static str), Interest> = { - [ - (("shop", "bakery"), Interest::Bakery), - (("amenity", "drinking_water"), Interest::DrinkingWater), - (("amenity", "toilets"), Interest::Toilets), - (("shop", "bicycle"), Interest::BikeShop), - (("amenity", "charging_station"), Interest::ChargingStation), - (("amenity", "bank"), Interest::Bank), - (("shop", "supermarket"), Interest::Supermarket), - (("leisure", "picnic_table"), Interest::Table), - // (("tourism", "information"), Interest::TourismOffice), - (("tourism", "artwork"), Interest::Artwork), - (("amenity", "pharmacy"), Interest::Pharmacy), - ] - .into_iter() - .collect() - }; -} - -impl Interest { - fn new(key: &str, value: &str) -> Option { - INTERESTS.get(&(key, value)).cloned() +impl Point { + fn squared_distance_between(&self, other: &Point) -> f64 { + let dx = other.x - self.x; + let dy = other.y - self.y; + dx * dx + dy * dy } -} - -impl InterestPoint { - fn color(&self) -> &'static str { - match self.interest { - Interest::Bakery => "red", - Interest::DrinkingWater => "blue", - Interest::Toilets => "brown", - Interest::BikeShop => "purple", - Interest::ChargingStation => "green", - Interest::Bank => "black", - Interest::Supermarket => "red", - Interest::Table => "pink", - Interest::Artwork => "orange", - Interest::Pharmacy => "chartreuse", + fn distance_to_segment(&self, v: &Point, w: &Point) -> f64 { + let l2 = v.squared_distance_between(w); + if l2 == 0.0 { + return self.squared_distance_between(v).sqrt(); } + // Consider the line extending the segment, parameterized as v + t (w - v). + // We find projection of point p onto the line. + // It falls where t = [(p-v) . (w-v)] / |w-v|^2 + // We clamp t from [0,1] to handle points outside the segment vw. + let x0 = self.x - v.x; + let y0 = self.y - v.y; + let x1 = w.x - v.x; + let y1 = w.y - v.y; + let dot = x0 * x1 + y0 * y1; + let t = (dot / l2).min(1.0).max(0.0); + + let proj = Point { + x: v.x + x1 * t, + y: v.y + y1 * t, + }; + + proj.squared_distance_between(self).sqrt() } } -fn squared_distance_between(p1: &(f64, f64), p2: &(f64, f64)) -> f64 { - let (x1, y1) = *p1; - let (x2, y2) = *p2; - let dx = x2 - x1; - let dy = y2 - y1; - dx * dx + dy * dy -} - -fn points(filename: &str) -> impl Iterator { +fn points(filename: &str) -> impl Iterator { // This XML file actually exists — try it for yourself! let file = File::open(filename).unwrap(); let reader = BufReader::new(file); @@ -112,28 +72,7 @@ fn points(filename: &str) -> impl Iterator { .flat_map(|segment| segment.linestring().points().collect::>()) .map(|point| (point.x(), point.y())) .dedup() -} - -fn distance_to_segment(p: &(f64, f64), v: &(f64, f64), w: &(f64, f64)) -> f64 { - let l2 = squared_distance_between(v, w); - if l2 == 0.0 { - return squared_distance_between(p, v).sqrt(); - } - // Consider the line extending the segment, parameterized as v + t (w - v). - // We find projection of point p onto the line. - // It falls where t = [(p-v) . (w-v)] / |w-v|^2 - // We clamp t from [0,1] to handle points outside the segment vw. - let x0 = p.0 - v.0; - let y0 = p.1 - v.1; - let x1 = w.0 - v.0; - let y1 = w.1 - v.1; - let dot = x0 * x1 + y0 * y1; - let t = (dot / l2).min(1.0).max(0.0); - - let proj_x = v.0 + x1 * t; - let proj_y = v.1 + y1 * t; - - squared_distance_between(&(proj_x, proj_y), p).sqrt() + .map(|(x, y)| Point { x, y }) } // // NOTE: this angles idea could maybe be use to get dp from n^3 to n^2 @@ -199,11 +138,11 @@ fn distance_to_segment(p: &(f64, f64), v: &(f64, f64), w: &(f64, f64)) -> f64 { // } fn extract_prog_dyn_solution( - points: &[(f64, f64)], + points: &[Point], start: usize, end: usize, cache: &HashMap<(usize, usize), (Option, usize)>, -) -> Vec<(f64, f64)> { +) -> Vec { if let Some(choice) = cache.get(&(start, end)).unwrap().0 { let mut v1 = extract_prog_dyn_solution(points, start, choice + 1, cache); let mut v2 = extract_prog_dyn_solution(points, choice, end, cache); @@ -216,7 +155,7 @@ fn extract_prog_dyn_solution( } fn simplify_prog_dyn( - points: &[(f64, f64)], + points: &[Point], start: usize, end: usize, epsilon: f64, @@ -234,7 +173,7 @@ fn simplify_prog_dyn( if points[(start + 1)..end] .iter() - .map(|p| distance_to_segment(p, first_point, last_point)) + .map(|p| p.distance_to_segment(first_point, last_point)) .all(|d| d <= epsilon) { (None, 2) @@ -255,7 +194,7 @@ fn simplify_prog_dyn( } } -fn rdp(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { +fn rdp(points: &[Point], epsilon: f64) -> Vec { if points.len() <= 2 { points.iter().copied().collect() } else { @@ -266,8 +205,9 @@ fn rdp(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { .enumerate() .skip(1) .max_by(|(_, p1), (_, p2)| { - squared_distance_between(first, p1) - .partial_cmp(&squared_distance_between(first, p2)) + first + .squared_distance_between(p1) + .partial_cmp(&first.squared_distance_between(p2)) .unwrap() }) .map(|(i, _)| i) @@ -282,7 +222,7 @@ fn rdp(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { } else { let (index_farthest, farthest_distance) = points .iter() - .map(|p| distance_to_segment(p, points.first().unwrap(), points.last().unwrap())) + .map(|p| p.distance_to_segment(points.first().unwrap(), points.last().unwrap())) .enumerate() .max_by(|(_, d1), (_, d2)| { if d1.is_nan() { @@ -313,7 +253,7 @@ fn rdp(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { } } -fn simplify_path(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { +fn simplify_path(points: &[Point], epsilon: f64) -> Vec { if points.len() <= 600 { optimal_simplification(points, epsilon) } else { @@ -384,13 +324,7 @@ fn compress_coordinates(points: &[(i32, i32)]) -> Vec<(i16, i16)> { xdiffs.zip(ydiffs).collect() } -fn save_coordinates>( - path: P, - //xmin: f64, - //ymin: f64, - // points: &[(i32, i32)], - points: &[(f64, f64)], -) -> std::io::Result<()> { +fn save_coordinates>(path: P, points: &[Point]) -> std::io::Result<()> { let mut writer = BufWriter::new(File::create(path)?); eprintln!("saving {} points", points.len()); @@ -398,19 +332,19 @@ fn save_coordinates>( // writer.write_all(&ymin.to_be_bytes())?; points .iter() - .flat_map(|(x, y)| [x, y]) + .flat_map(|p| [p.x, p.y]) .try_for_each(|c| writer.write_all(&c.to_le_bytes()))?; Ok(()) } -fn optimal_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { +fn optimal_simplification(points: &[Point], epsilon: f64) -> Vec { let mut cache = HashMap::new(); simplify_prog_dyn(&points, 0, points.len(), epsilon, &mut cache); extract_prog_dyn_solution(&points, 0, points.len(), &cache) } -fn hybrid_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> { +fn hybrid_simplification(points: &[Point], epsilon: f64) -> Vec { if points.len() <= 300 { optimal_simplification(points, epsilon) } else { @@ -421,8 +355,9 @@ fn hybrid_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> .enumerate() .skip(1) .max_by(|(_, p1), (_, p2)| { - squared_distance_between(first, p1) - .partial_cmp(&squared_distance_between(first, p2)) + first + .squared_distance_between(p1) + .partial_cmp(&first.squared_distance_between(p2)) .unwrap() }) .map(|(i, _)| i) @@ -437,7 +372,7 @@ fn hybrid_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> } else { let (index_farthest, farthest_distance) = points .iter() - .map(|p| distance_to_segment(p, points.first().unwrap(), points.last().unwrap())) + .map(|p| p.distance_to_segment(points.first().unwrap(), points.last().unwrap())) .enumerate() .max_by(|(_, d1), (_, d2)| { if d1.is_nan() { @@ -468,73 +403,36 @@ fn hybrid_simplification(points: &[(f64, f64)], epsilon: f64) -> Vec<(f64, f64)> } } -async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet { - let osm = Openstreetmap::new("https://openstreetmap.org", Credentials::None); - let mut interest_points = HashSet::new(); - let border = 0.0001; - for (&(x1, y1), &(x2, y2)) in points.iter().tuple_windows() { - let left = x1.min(x2) - border; - let right = x1.max(x2) + border; - let bottom = y1.min(y2) - border; - let top = y1.max(y2) + border; - if let Ok(map) = osm - .map(&BoundingBox { - bottom, - left, - top, - right, - }) - .await - { - let points = map.nodes.iter().flat_map(|n| { - n.tags.iter().filter_map(|t| { - let latlon = n.lat.and_then(|lat| n.lon.map(|lon| (lat, lon))); - latlon.and_then(|(lat, lon)| { - Interest::new(&t.k, &t.v).map(|i| InterestPoint { - lat, - lon, - interest: i, - }) - }) - }) - }); - interest_points.extend(points) - } else { - eprintln!("failed retrieving osm data") - } - } - interest_points -} - -fn save_path(writer: &mut W, p: &[(f64, f64)], stroke: &str) -> std::io::Result<()> { +fn save_path(writer: &mut W, p: &[Point], stroke: &str) -> std::io::Result<()> { write!( writer, "")?; Ok(()) } fn save_svg>( filename: P, - p: &[(f64, f64)], - rp: &[(f64, f64)], + p: &[Point], + rp: &[Point], interest_points: &HashSet, + waypoints: &HashSet, ) -> std::io::Result<()> { let mut writer = BufWriter::new(std::fs::File::create(filename)?); let (xmin, xmax) = p .iter() - .map(|&(x, _)| x) + .map(|p| p.x) .minmax_by(|a, b| a.partial_cmp(b).unwrap()) .into_option() .unwrap(); let (ymin, ymax) = p .iter() - .map(|&(_, y)| y) + .map(|p| p.y) .minmax_by(|a, b| a.partial_cmp(b).unwrap()) .into_option() .unwrap(); @@ -563,15 +461,54 @@ fn save_svg>( writeln!( &mut writer, "", - point.lon, - point.lat, + point.point.x, + point.point.y, point.color(), )?; } + + let rpoints = rp.iter().cloned().collect::>(); + waypoints.difference(&rpoints).try_for_each(|p| { + writeln!( + &mut writer, + "", + p.x, p.y, + ) + })?; + waypoints.intersection(&rpoints).try_for_each(|p| { + writeln!( + &mut writer, + "", + p.x, p.y, + ) + })?; + writeln!(&mut writer, "")?; Ok(()) } +fn detect_waypoints(points: &[Point]) -> HashSet { + points + .first() + .into_iter() + .chain(points.iter().tuple_windows().filter_map(|(p1, p2, p3)| { + let x1 = p2.x - p1.x; + let y1 = p2.y - p1.y; + let a1 = y1.atan2(x1); + let x2 = p3.x - p2.x; + let y2 = p3.y - p2.y; + let a2 = y2.atan2(x2); + if (a2 - a1).abs() <= std::f64::consts::PI / 3.0 { + None + } else { + Some(p2) + } + })) + .chain(points.last().into_iter()) + .copied() + .collect::>() +} + #[tokio::main] async fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); @@ -580,6 +517,7 @@ async fn main() { eprintln!("initialy we have {} points", p.len()); let start = std::time::Instant::now(); let rp = simplify_path(&p, 0.00015); + let waypoints = detect_waypoints(&rp); eprintln!("we took {:?}", start.elapsed()); eprintln!("we now have {} points", rp.len()); let start = std::time::Instant::now(); @@ -589,5 +527,5 @@ async fn main() { save_coordinates("test.gpc", &rp).unwrap(); // let i = get_openstreetmap_data(&rp).await; let i = HashSet::new(); - save_svg("test.svg", &p, &rp, &i).unwrap(); + save_svg("test.svg", &p, &rp, &i, &waypoints).unwrap(); } diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs new file mode 100644 index 000000000..a70e7ff5d --- /dev/null +++ b/apps/gipy/gpconv/src/osm.rs @@ -0,0 +1,130 @@ +use super::Point; +use lazy_static::lazy_static; +use openstreetmap_api::{ + types::{BoundingBox, Credentials}, + Openstreetmap, +}; +use std::collections::{HashMap, HashSet}; + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +pub enum Interest { + Bakery, + DrinkingWater, + Toilets, + BikeShop, + ChargingStation, + Bank, + Supermarket, + Table, + // TourismOffice, + Artwork, + Pharmacy, +} + +#[derive(Debug, PartialEq, Eq, Hash)] +pub struct InterestPoint { + pub point: Point, + pub interest: Interest, +} + +lazy_static! { + static ref INTERESTS: HashMap<(&'static str, &'static str), Interest> = { + [ + (("shop", "bakery"), Interest::Bakery), + (("amenity", "drinking_water"), Interest::DrinkingWater), + (("amenity", "toilets"), Interest::Toilets), + (("shop", "bicycle"), Interest::BikeShop), + (("amenity", "charging_station"), Interest::ChargingStation), + (("amenity", "bank"), Interest::Bank), + (("shop", "supermarket"), Interest::Supermarket), + (("leisure", "picnic_table"), Interest::Table), + // (("tourism", "information"), Interest::TourismOffice), + (("tourism", "artwork"), Interest::Artwork), + (("amenity", "pharmacy"), Interest::Pharmacy), + ] + .into_iter() + .collect() + }; +} + +impl Interest { + fn new(key: &str, value: &str) -> Option { + INTERESTS.get(&(key, value)).cloned() + } +} + +impl InterestPoint { + pub fn color(&self) -> &'static str { + match self.interest { + Interest::Bakery => "red", + Interest::DrinkingWater => "blue", + Interest::Toilets => "brown", + Interest::BikeShop => "purple", + Interest::ChargingStation => "green", + Interest::Bank => "black", + Interest::Supermarket => "red", + Interest::Table => "pink", + Interest::Artwork => "orange", + Interest::Pharmacy => "chartreuse", + } + } +} + +async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet { + let osm = Openstreetmap::new("https://openstreetmap.org", Credentials::None); + let mut interest_points = HashSet::new(); + let border = 0.0001; + let mut boxes = Vec::new(); + let max_size = 0.005; + points.iter().fold( + (std::f64::MAX, std::f64::MIN, std::f64::MAX, std::f64::MIN), + |in_box, &(x, y)| { + let (mut xmin, mut xmax, mut ymin, mut ymax) = in_box; + xmin = xmin.min(x); + xmax = xmax.max(x); + ymin = ymin.min(y); + ymax = ymax.max(y); + if (xmax - xmin > max_size) || (ymax - ymin > max_size) { + boxes.push(in_box); + (x, x, y, y) + } else { + (xmin, xmax, ymin, ymax) + } + }, + ); + eprintln!("we need {} requests to openstreetmap", boxes.len()); + for (xmin, xmax, ymin, ymax) in boxes { + let left = xmin - border; + let right = xmax + border; + let bottom = ymin - border; + let top = ymax + border; + match osm + .map(&BoundingBox { + bottom, + left, + top, + right, + }) + .await + { + Ok(map) => { + let points = map.nodes.iter().flat_map(|n| { + n.tags.iter().filter_map(|t| { + let latlon = n.lat.and_then(|lat| n.lon.map(|lon| (lat, lon))); + latlon.and_then(|(lat, lon)| { + Interest::new(&t.k, &t.v).map(|i| InterestPoint { + point: Point { x: lon, y: lat }, + interest: i, + }) + }) + }) + }); + interest_points.extend(points) + } + Err(e) => { + eprintln!("failed retrieving osm data: {:?}", e); + } + } + } + interest_points +} From f1c204c77a95518707f872c03e2a0eb27c6b3382 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 20 Jul 2022 12:00:51 +0200 Subject: [PATCH 021/622] gipy 0.06 --- apps/gipy/ChangeLog | 14 +++++++++++--- apps/gipy/TODO | 4 +--- apps/gipy/app.js | 28 +++++++++++++++++++--------- apps/gipy/gpconv/src/main.rs | 4 +++- apps/gipy/metadata.json | 2 +- 5 files changed, 35 insertions(+), 17 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index f3c377e06..0410d07e7 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -1,4 +1,12 @@ 0.01: Initial code -0.05: We now buzz before reaching a waypoint. Display is only updated when not -locked. We detect leaving path and finding path again. We display remaining distance to -next point. + +0.05: + * We now buzz before reaching a waypoint. + * Display is only updated when not locked. + * We detect leaving path and finding path again. + * We display remaining distance to next point. + +0.06: + * Special display for points with steep turns + * Buzz on points with steep turns and unlock + * Losing gps is now displayed diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 8149d2636..96642608f 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,11 +1,9 @@ -- nearest_segment : use highest_completed_segment to disambiguate +- nearest_segment : use direction to disambiguate - gps direction is weak when speed is low - add a version number to gpc files - water points ---> we group them following path by groups of cst_size and record segments ids marking limits -- gps wait screen - - store several tracks - turn off gps when moving to next waypoint diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 2196246c8..85d8cb11c 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -9,7 +9,6 @@ class Status { this.cos_direction = null; // cos of where we look at this.sin_direction = null; // sin of where we look at this.current_segment = null; // which segment is closest - this.highest_completed_segment = -1; // remember what we already acomplished to disambiguate nearest path when some segments are takend in both directions this.reaching = null; // which waypoint are we reaching ? this.distance_to_next_point = null; // how far are we from next point ? @@ -55,11 +54,6 @@ class Status { this.on_path = !lost; } - if (this.current_segment != next_segment) { - if (this.current_segment == next_segment - 1) { - this.highest_completed_segment = this.current_segment; - } - } this.current_segment = next_segment; // check if we are nearing the next point on our path and alert the user @@ -74,7 +68,6 @@ class Status { } } } - // re-display unless locked if (!Bangle.isLocked()) { this.display(); @@ -171,7 +164,7 @@ class Path { let a1 = Math.atan2(d1.lat, d1.lon); let a2 = Math.atan2(d2.lat, d2.lon); let direction_change = Math.abs(a2-a1); - return (direction_change > Math.PI / 3.0); + return ((direction_change > Math.PI / 3.0)&&(direction_change < Math.PI * 5.0/3.0)); } } @@ -276,7 +269,7 @@ class Point { // It falls where t = [(p-v) . (w-v)] / |w-v|^2 // We clamp t from [0,1] to handle points outside the segment vw. let t = Math.max(0, Math.min(1, (this.minus(v)).dot(w.minus(v)) / l2)); - + let projection = v.plus((w.minus(v)).times(t)); // Projection falls on the segment return this.fake_distance(projection); } @@ -287,13 +280,22 @@ Bangle.loadWidgets(); let path = new Path("test.gpc"); let status = new Status(path); +let frame = 0; function set_coordinates(data) { + frame += 1; let valid_coordinates = !isNaN(data.lat) && !isNaN(data.lon); if (valid_coordinates) { let direction = data.course * Math.PI / 180.0; let position = new Point(data.lon, data.lat); status.update_position(position, direction); } + let gps_status_color; + if ((frame % 2 == 0)||valid_coordinates) { + gps_status_color = g.theme.bg; + } else { + gps_status_color = g.theme.fg; + } + g.setColor(gps_status_color).setFont("6x8:2").drawString("gps", g.getWidth() - 40, 30); } let fake_gps_point = 0.0; @@ -319,6 +321,14 @@ if (simulated) { status.position = new Point(status.path.point(0)); setInterval(simulate_gps, 500, status); } else { + // let's display start while waiting for gps signal + let p1 = status.path.point(0); + let p2 = status.path.point(1); + let diff = p2.minus(p1); + let direction = Math.atan2(diff.lat, diff.lon); + Bangle.setLocked(false); + status.update_position(p1, direction); + Bangle.setGPSPower(true, "gipy"); Bangle.on('GPS', set_coordinates); } diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index a6033bfb2..3b6f7e9f2 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -498,9 +498,11 @@ fn detect_waypoints(points: &[Point]) -> HashSet { let x2 = p3.x - p2.x; let y2 = p3.y - p2.y; let a2 = y2.atan2(x2); - if (a2 - a1).abs() <= std::f64::consts::PI / 3.0 { + let a = (a2 - a1).abs(); + if a <= std::f64::consts::PI / 3.0 || a >= std::f64::consts::PI * 5.0 / 3.0 { None } else { + eprintln!("we have {}", (a2 - a1).abs()); Some(p2) } })) diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index f5baf2eeb..5fb8c4944 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.05", + "version": "0.06", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From e6b76cde3130ff676a13ca70d0c15e77a41bbd27 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 20 Jul 2022 15:09:25 +0200 Subject: [PATCH 022/622] gipy: v007 --- apps/gipy/ChangeLog | 5 ++++ apps/gipy/TODO | 5 ++-- apps/gipy/app.js | 48 +++++++++++++++++++++++++++--------- apps/gipy/gpconv/src/main.rs | 9 ++++--- 4 files changed, 49 insertions(+), 18 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 0410d07e7..1a9e16c05 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -10,3 +10,8 @@ * Special display for points with steep turns * Buzz on points with steep turns and unlock * Losing gps is now displayed + +0.07: + * We now use orientation to detect current segment + when segments overlap going in both directions. + * File format is now versioned. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 96642608f..e229268b2 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,12 +1,11 @@ -- nearest_segment : use direction to disambiguate - gps direction is weak when speed is low -- add a version number to gpc files + - water points ---> we group them following path by groups of cst_size and record segments ids marking limits -- store several tracks - turn off gps when moving to next waypoint +- store several tracks - display average speed - dynamic map rescale - display scale (100m) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 85d8cb11c..233680df7 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,5 +1,7 @@ -let simulated = false; +let simulated = true; +let code_version = 7; +let code_key = 47490; class Status { constructor(path) { @@ -36,11 +38,11 @@ class Status { this.position = new_position; // detect segment we are on now - let next_segment = this.path.nearest_segment(this.position, Math.max(0, this.current_segment-1), Math.min(this.current_segment+2, path.len - 1)); + let next_segment = this.path.nearest_segment(this.position, Math.max(0, this.current_segment-1), Math.min(this.current_segment+2, path.len - 1), this.cos_direction, this.sin_direction); if (this.is_lost(next_segment)) { // it did not work, try anywhere - next_segment = this.path.nearest_segment(this.position, 0, path.len - 1); + next_segment = this.path.nearest_segment(this.position, 0, path.len - 1, this.cos_direction, this.sin_direction); } // now check if we strayed away from path or back to it let lost = this.is_lost(next_segment); @@ -147,7 +149,15 @@ class Status { class Path { constructor(filename) { let buffer = require("Storage").readArrayBuffer(filename); - this.points = Float64Array(buffer); + let header = Uint16Array(buffer, 0, 3); + let key = header[0]; + let version = header[1]; + let points_number = header[2]; + if ((key != code_key)||(version>code_version)) { + E.showMessage("Invalid gpc file"); + return; + } + this.points = Float64Array(buffer, 3*2, points_number*2); } // if start, end or steep direction change @@ -189,18 +199,32 @@ class Path { return new Point(lon, lat); } - // return index of segment which is nearest from point - nearest_segment(point, start, end) { - let min_index = 0; - let min_distance = Number.MAX_VALUE; + // return index of segment which is nearest from point. + // we need a direction because we need there is an ambiguity + // for overlapping segments which are taken once to go and once to come back. + // (in the other direction). + nearest_segment(point, start, end, cos_direction, sin_direction) { + // we are going to compute two min distances, one for each direction. + let indices = [0, 0]; + let mins = [Number.MAX_VALUE, Number.MAX_VALUE]; this.on_segments(function(p1, p2, i) { + // we use the dot product to figure out if oriented correctly let distance = point.fake_distance_to_segment(p1, p2); - if (distance <= min_distance) { - min_distance = distance; - min_index = i - 1; + let diff = p2.minus(p1); + let dot = cos_direction * diff.lon + sin_direction * diff.lat; + let orientation = + (dot < 0); // index 0 is good orientation + if (distance <= mins[orientation]) { + mins[orientation] = distance; + indices[orientation] = i - 1; } }, start, end); - return min_index; + // by default correct orientation (0) wins + // but if other one is really closer, return other one + if (mins[1] < mins[0] / 10.0) { + return indices[1]; + } else { + return indices[0]; + } } get len() { return this.points.length / 2; diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 3b6f7e9f2..c003bfb72 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -10,6 +10,9 @@ use gpx::Gpx; mod osm; use osm::InterestPoint; +const KEY: u16 = 47490; +const VERSION: u16 = 7; + #[derive(Debug, PartialEq, Clone, Copy)] pub struct Point { x: f64, @@ -328,8 +331,9 @@ fn save_coordinates>(path: P, points: &[Point]) -> std::io::Resul let mut writer = BufWriter::new(File::create(path)?); eprintln!("saving {} points", points.len()); - // writer.write_all(&xmin.to_be_bytes())?; - // writer.write_all(&ymin.to_be_bytes())?; + writer.write_all(&KEY.to_le_bytes())?; + writer.write_all(&VERSION.to_le_bytes())?; + writer.write_all(&(points.len() as u16).to_le_bytes())?; points .iter() .flat_map(|p| [p.x, p.y]) @@ -502,7 +506,6 @@ fn detect_waypoints(points: &[Point]) -> HashSet { if a <= std::f64::consts::PI / 3.0 || a >= std::f64::consts::PI * 5.0 / 3.0 { None } else { - eprintln!("we have {}", (a2 - a1).abs()); Some(p2) } })) From 8a1e71ce7606299bc6e9e24c8b96309541841e35 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 20 Jul 2022 15:17:22 +0200 Subject: [PATCH 023/622] fix --- apps/gipy/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 233680df7..223766440 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,5 +1,5 @@ -let simulated = true; +let simulated = false; let code_version = 7; let code_key = 47490; From dafca5136511875260e7fc6aaff11033df152410 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 20 Jul 2022 17:02:03 +0200 Subject: [PATCH 024/622] update metadata --- apps/gipy/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 5fb8c4944..16b0a5916 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.06", + "version": "0.07", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From b70bebdbacb7a22675ac700691ce1040f430dbfe Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 20 Jul 2022 17:57:38 +0200 Subject: [PATCH 025/622] v008 --- apps/gipy/ChangeLog | 11 +++++--- apps/gipy/TODO | 7 ++++-- apps/gipy/app.js | 49 ++++++++++++++++++++++++++++-------- apps/gipy/gpconv/src/main.rs | 4 +-- apps/gipy/metadata.json | 2 +- 5 files changed, 54 insertions(+), 19 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 1a9e16c05..536692371 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -7,11 +7,16 @@ * We display remaining distance to next point. 0.06: - * Special display for points with steep turns - * Buzz on points with steep turns and unlock - * Losing gps is now displayed + * Special display for points with steep turns. + * Buzz on points with steep turns and unlock. + * Losing gps is now displayed. 0.07: * We now use orientation to detect current segment when segments overlap going in both directions. * File format is now versioned. + +0.08: + * Don't use gps course anymore but figure it from previous positions. + * Bugfix: path colors are back. + * Always buzz when reaching waypoint even if unlocked. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index e229268b2..f0ccbd299 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,10 +1,13 @@ -- gps direction is weak when speed is low - - water points ---> we group them following path by groups of cst_size and record segments ids marking limits - turn off gps when moving to next waypoint +- meters seem to be a bit too long + +- buzzing does not work nicely + -> is_list seems fishy + - store several tracks - display average speed - dynamic map rescale diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 223766440..aa523f005 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,6 +1,6 @@ let simulated = false; -let code_version = 7; +let file_version = 1; let code_key = 47490; class Status { @@ -46,12 +46,10 @@ class Status { } // now check if we strayed away from path or back to it let lost = this.is_lost(next_segment); - if (this.on_path == lost) { + if (this.on_path == lost) { // if status changes if (lost) { Bangle.buzz(); // we lost path - setTimeout(()=>Bangle.buzz(), 300); - } else { - Bangle.buzz(); // we found path back + setTimeout(()=>Bangle.buzz(), 500); } this.on_path = !lost; } @@ -63,9 +61,10 @@ class Status { this.distance_to_next_point = Math.ceil(this.position.distance(this.path.point(next_point))); if (this.reaching != next_point && this.distance_to_next_point <= 20) { this.reaching = next_point; - if (Bangle.isLocked()) { - if (this.path.is_waypoint(next_point)) { - Bangle.buzz(); + let reaching_waypoint = this.path.is_waypoint(next_point); + if (reaching_waypoint) { + Bangle.buzz(); + if (Bangle.isLocked()) { Bangle.setLocked(false); } } @@ -113,8 +112,9 @@ class Status { let sin = this.sin_direction; // segments + let current_segment = this.current_segment; this.path.on_segments(function(p1, p2, i) { - if (i == this.current_segment + 1) { + if (i == current_segment + 1) { g.setColor(0.0, 1.0, 0.0); } else { g.setColor(1.0, 0.0, 0.0); @@ -153,7 +153,7 @@ class Path { let key = header[0]; let version = header[1]; let points_number = header[2]; - if ((key != code_key)||(version>code_version)) { + if ((key != code_key)||(version>file_version)) { E.showMessage("Invalid gpc file"); return; } @@ -305,13 +305,40 @@ let path = new Path("test.gpc"); let status = new Status(path); let frame = 0; +let old_points = []; // remember the at most 3 previous points function set_coordinates(data) { frame += 1; let valid_coordinates = !isNaN(data.lat) && !isNaN(data.lon); if (valid_coordinates) { + // we try to figure out direction by looking at previous points + // instead of the gps course which is not very nice. let direction = data.course * Math.PI / 180.0; let position = new Point(data.lon, data.lat); - status.update_position(position, direction); + if (old_points.length == 0) { + old_points.push(position); + } else { + let last_point = old_points[old_points.length-1]; + if (last_point.x != position.x || last_point.y != position.y) { + if (old_points.length == 4) { + old_points.shift(); + } + old_points.push(position); + } + } + if (old_points.length == 4) { + // let's just take average angle of 3 previous segments + let angles_sum = 0; + for(let i = 0 ; i < 3 ; i++) { + let p1 = old_points[i]; + let p2 = old_points[i+1]; + let diff = p2.minus(p1); + let angle = Math.atan2(diff.lat, diff.lon); + angles_sum += angle; + } + status.update_position(position, angles_sum / 3.0); + } else { + status.update_position(position, direction); + } } let gps_status_color; if ((frame % 2 == 0)||valid_coordinates) { diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index c003bfb72..95b21c63f 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -11,7 +11,7 @@ mod osm; use osm::InterestPoint; const KEY: u16 = 47490; -const VERSION: u16 = 7; +const FILE_VERSION: u16 = 1; #[derive(Debug, PartialEq, Clone, Copy)] pub struct Point { @@ -332,7 +332,7 @@ fn save_coordinates>(path: P, points: &[Point]) -> std::io::Resul eprintln!("saving {} points", points.len()); writer.write_all(&KEY.to_le_bytes())?; - writer.write_all(&VERSION.to_le_bytes())?; + writer.write_all(&FILE_VERSION.to_le_bytes())?; writer.write_all(&(points.len() as u16).to_le_bytes())?; points .iter() diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 16b0a5916..18c692733 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.07", + "version": "0.08", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From 2c410ecdfebc920710b67e3288404aae2c36bac9 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 21 Jul 2022 11:17:57 +0200 Subject: [PATCH 026/622] preparing for interest points --- apps/gipy/TODO | 4 +- apps/gipy/gpconv/Cargo.lock | 297 ++++++++++++++++++++++++++++++++- apps/gipy/gpconv/Cargo.toml | 1 + apps/gipy/gpconv/README_gpc.md | 58 +++++++ apps/gipy/gpconv/src/main.rs | 117 ++++++++++++- apps/gipy/gpconv/src/osm.rs | 51 +++++- 6 files changed, 515 insertions(+), 13 deletions(-) create mode 100644 apps/gipy/gpconv/README_gpc.md diff --git a/apps/gipy/TODO b/apps/gipy/TODO index f0ccbd299..bad276a60 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,12 +1,14 @@ - water points ---> we group them following path by groups of cst_size and record segments ids marking limits +- split on points with comments + - turn off gps when moving to next waypoint - meters seem to be a bit too long - buzzing does not work nicely - -> is_list seems fishy + -> is_lost seems fishy - store several tracks - display average speed diff --git a/apps/gipy/gpconv/Cargo.lock b/apps/gipy/gpconv/Cargo.lock index da2fdaac5..50bc76cb4 100644 --- a/apps/gipy/gpconv/Cargo.lock +++ b/apps/gipy/gpconv/Cargo.lock @@ -17,6 +17,23 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "anyhow" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" + [[package]] name = "assert_approx_eq" version = "1.1.0" @@ -62,12 +79,39 @@ version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + [[package]] name = "bytes" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +[[package]] +name = "bzip2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "cc" version = "1.0.73" @@ -80,6 +124,19 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time 0.1.44", + "winapi", +] + [[package]] name = "core-foundation" version = "0.9.3" @@ -96,6 +153,81 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "darling" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "derive_builder" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_builder_macro" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73" +dependencies = [ + "derive_builder_core", + "syn", +] + [[package]] name = "either" version = "1.6.1" @@ -121,6 +253,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + [[package]] name = "fastrand" version = "1.7.0" @@ -130,6 +274,16 @@ dependencies = [ "instant", ] +[[package]] +name = "flate2" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + [[package]] name = "fnv" version = "1.0.7" @@ -209,6 +363,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "getrandom" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + [[package]] name = "gimli" version = "0.26.1" @@ -223,6 +388,7 @@ dependencies = [ "itertools", "lazy_static", "openstreetmap-api", + "osmio", "tokio", ] @@ -236,7 +402,7 @@ dependencies = [ "error-chain", "geo-types", "thiserror", - "time", + "time 0.3.11", "xml-rs", ] @@ -259,12 +425,30 @@ dependencies = [ "tracing", ] +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + [[package]] name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +[[package]] +name = "hashlink" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" +dependencies = [ + "hashbrown 0.11.2", +] + [[package]] name = "hermit-abi" version = "0.1.19" @@ -345,6 +529,12 @@ dependencies = [ "tokio-native-tls", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.2.3" @@ -363,7 +553,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -381,6 +571,12 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +[[package]] +name = "iter-progress" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97059d64dd4e3a8e16696f6c0be50c1d5da3a709983f39b73fd7f84f120c5cd4" + [[package]] name = "itertools" version = "0.10.3" @@ -417,6 +613,16 @@ version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +[[package]] +name = "libsqlite3-sys" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d" +dependencies = [ + "pkg-config", + "vcpkg", +] + [[package]] name = "lock_api" version = "0.4.7" @@ -471,7 +677,7 @@ checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys", ] @@ -493,6 +699,16 @@ dependencies = [ "tempfile", ] +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.15" @@ -597,6 +813,28 @@ dependencies = [ "urlencoding", ] +[[package]] +name = "osmio" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0db40ae840afac7f6c710abf757bb76c6b95b4a34a20d55811ef70d30b3ea24f" +dependencies = [ + "anyhow", + "byteorder", + "bzip2", + "chrono", + "derive_builder", + "flate2", + "iter-progress", + "protobuf", + "quick-xml", + "rusqlite", + "separator", + "serde", + "serde_json", + "xml-rs", +] + [[package]] name = "parking_lot" version = "0.12.1" @@ -653,6 +891,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "protobuf" +version = "2.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70731852eec72c56d11226c8a5f96ad5058a3dab73647ca5f7ee351e464f2571" + [[package]] name = "quick-xml" version = "0.22.0" @@ -727,6 +971,21 @@ dependencies = [ "winreg", ] +[[package]] +name = "rusqlite" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c4b1eaf239b47034fb450ee9cdedd7d0226571689d8823030c4b6c2cb407152" +dependencies = [ + "bitflags", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "memchr", + "smallvec", +] + [[package]] name = "rustc-demangle" version = "0.1.21" @@ -778,11 +1037,20 @@ dependencies = [ "libc", ] +[[package]] +name = "separator" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" + [[package]] name = "serde" version = "1.0.139" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6" +dependencies = [ + "serde_derive", +] [[package]] name = "serde_derive" @@ -849,6 +1117,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "syn" version = "1.0.98" @@ -894,6 +1168,17 @@ dependencies = [ "syn", ] +[[package]] +name = "time" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi", +] + [[package]] name = "time" version = "0.3.11" @@ -1069,6 +1354,12 @@ dependencies = [ "try-lock", ] +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" diff --git a/apps/gipy/gpconv/Cargo.toml b/apps/gipy/gpconv/Cargo.toml index b6053a3ce..681c86c7e 100644 --- a/apps/gipy/gpconv/Cargo.toml +++ b/apps/gipy/gpconv/Cargo.toml @@ -11,3 +11,4 @@ itertools="*" openstreetmap-api="*" tokio={version="1", features=["full"]} lazy_static="*" +osmio="*" diff --git a/apps/gipy/gpconv/README_gpc.md b/apps/gipy/gpconv/README_gpc.md new file mode 100644 index 000000000..a881d01bf --- /dev/null +++ b/apps/gipy/gpconv/README_gpc.md @@ -0,0 +1,58 @@ +This file documents the .gpc file format. + +current version is version 2. + +every number is encoded in little endian order. + +# header + +We start by a header of 5 16bytes unsigned ints. + +- the first int is a marker with value 47490 +- second int is version of this file format +- third int is **NP** the number of points composing the path +- fourth int is **IP** the number of interest points bordering the path +- fifth int is **LP** the number of interest points as encountered when looping through the path (higher than previous int since some points can be met several times) + +# points + +We continue with an array of **2 NP** f64 containing +for each point its x and y coordinate. + +# interest points + +After that comes the storage for interest points. + +- we start by an array of **2 IP** f64 containing +the x and y coordinates of each interest point +- we continue with an **IP** u8 array named **IPOINTS** containing the id of the point's type. +you can see the `Interest` enum in `src/osm.rs` to know what int is what. +for example 0 is a Bakery and 1 is a water point. + +Now we need to store the relationship between segments and points. +The idea is that in a display phase we don't want to loop on all interest points +to figure out if they should appear on the map or not. +We'll use the fact that we now the segments we want to display and therefore we should only +need to display the points bordering these segments. + +- we store an array **LOOP** of **LP** u16 indices of interest points in **IPOINTS** + +while this is a contiguous array it contains points along the path grouped in buckets of 5 points. + +to figure out on which segments they are : + +- we store an array **STARTS** of **ceil(LP/5)** u16 indices of groups of segments. + +Segments are grouped by 3. +This array tells us on which group of segment is the first point of any bucket. + +## display algorithm + +If we want to display the interest points for the segments between 10 and 16 for example we proceed +as follows: + + * segments are grouped by 3 so instead of segment indices of 10..=16 we will look at group indices 10/3 ..= 16/3 so 3..=5 + * we do a binary search of the highest number below 3 in the **STARTS** array. we call *s* the obtained index + * we do a binary search of the smallest number above 5 in the **STARTS** array. we call *e* the obtained index + * we now loop on all buckets between *s* and *e* that is : on all indices *i* in `LOOP[(s*5)..=(e*5)]` + * display `IPOINTS[i]` diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 95b21c63f..811a4c361 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -8,10 +8,10 @@ use gpx::read; use gpx::Gpx; mod osm; -use osm::InterestPoint; +use osm::{parse_osm_data, InterestPoint}; const KEY: u16 = 47490; -const FILE_VERSION: u16 = 1; +const FILE_VERSION: u16 = 2; #[derive(Debug, PartialEq, Clone, Copy)] pub struct Point { @@ -327,18 +327,57 @@ fn compress_coordinates(points: &[(i32, i32)]) -> Vec<(i16, i16)> { xdiffs.zip(ydiffs).collect() } -fn save_coordinates>(path: P, points: &[Point]) -> std::io::Result<()> { +fn save_gpc>(path: P, points: &[Point], buckets: &[Bucket]) -> std::io::Result<()> { let mut writer = BufWriter::new(File::create(path)?); eprintln!("saving {} points", points.len()); + + let mut unique_interest_points = Vec::new(); + let mut correspondance = HashMap::new(); + let interests_on_path = buckets + .iter() + .flat_map(|b| &b.points) + .map(|p| match correspondance.entry(*p) { + std::collections::hash_map::Entry::Occupied(o) => *o.get(), + std::collections::hash_map::Entry::Vacant(v) => { + let index = unique_interest_points.len(); + unique_interest_points.push(*p); + v.insert(index); + index + } + }) + .collect::>(); + writer.write_all(&KEY.to_le_bytes())?; writer.write_all(&FILE_VERSION.to_le_bytes())?; writer.write_all(&(points.len() as u16).to_le_bytes())?; + writer.write_all(&(unique_interest_points.len() as u16).to_le_bytes())?; + writer.write_all(&(interests_on_path.len() as u16).to_le_bytes())?; points .iter() .flat_map(|p| [p.x, p.y]) .try_for_each(|c| writer.write_all(&c.to_le_bytes()))?; + unique_interest_points + .iter() + .flat_map(|p| [p.point.x, p.point.y]) + .try_for_each(|c| writer.write_all(&c.to_le_bytes()))?; + + unique_interest_points + .iter() + .map(|p| p.interest.into()) + .try_for_each(|i: u8| writer.write_all(&i.to_le_bytes()))?; + + interests_on_path + .iter() + .map(|i| *i as u16) + .try_for_each(|i| writer.write_all(&i.to_le_bytes()))?; + + buckets + .iter() + .map(|b| b.start as u16) + .try_for_each(|i| writer.write_all(&i.to_le_bytes()))?; + Ok(()) } @@ -419,11 +458,11 @@ fn save_path(writer: &mut W, p: &[Point], stroke: &str) -> std::io::Re Ok(()) } -fn save_svg>( +fn save_svg<'a, P: AsRef, I: IntoIterator>( filename: P, p: &[Point], rp: &[Point], - interest_points: &HashSet, + interest_points: I, waypoints: &HashSet, ) -> std::io::Result<()> { let mut writer = BufWriter::new(std::fs::File::create(filename)?); @@ -514,6 +553,58 @@ fn detect_waypoints(points: &[Point]) -> HashSet { .collect::>() } +pub struct Bucket { + points: Vec, + start: usize, +} + +fn position_interests_along_path( + interests: &mut [InterestPoint], + path: &[Point], + d: f64, + buckets_size: usize, // final points are indexed in buckets + groups_size: usize, // how many segments are compacted together +) -> Vec { + interests.sort_unstable_by(|p1, p2| p1.point.x.partial_cmp(&p2.point.x).unwrap()); + // first compute for each segment a vec containing its nearby points + let mut positions = Vec::new(); + for segment in path.windows(2) { + let mut local_interests = Vec::new(); + let x0 = segment[0].x; + let x1 = segment[1].x; + let (xmin, xmax) = if x0 <= x1 { (x0, x1) } else { (x1, x0) }; + let i = interests.partition_point(|p| p.point.x < xmin - d); + let interests = &interests[i..]; + let i = interests.partition_point(|p| p.point.x <= xmax + d); + let interests = &interests[..i]; + for interest in interests { + if interest.point.distance_to_segment(&segment[0], &segment[1]) <= d { + local_interests.push(*interest); + } + } + positions.push(local_interests); + } + // fuse points on chunks of consecutive segments together + let grouped_positions = positions + .chunks(groups_size) + .map(|c| c.iter().flatten().unique().copied().collect::>()) + .collect::>(); + // now, group the points in buckets + let chunks = grouped_positions + .iter() + .enumerate() + .flat_map(|(i, points)| points.iter().map(move |p| (i, p))) + .chunks(buckets_size); + let mut buckets = Vec::new(); + for bucket_points in &chunks { + let mut bucket_points = bucket_points.peekable(); + let start = bucket_points.peek().unwrap().0; + let points = bucket_points.map(|(_, p)| *p).collect(); + buckets.push(Bucket { points, start }); + } + buckets +} + #[tokio::main] async fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); @@ -529,8 +620,18 @@ async fn main() { eprintln!("rdp would have had {}", rdp(&p, 0.00015).len()); eprintln!("rdp took {:?}", start.elapsed()); - save_coordinates("test.gpc", &rp).unwrap(); + let mut interests = parse_osm_data("isere.osm.pbf"); + let buckets = position_interests_along_path(&mut interests, &rp, 0.0005, 5, 3); // let i = get_openstreetmap_data(&rp).await; - let i = HashSet::new(); - save_svg("test.svg", &p, &rp, &i, &waypoints).unwrap(); + // let i = HashSet::new(); + save_svg( + "test.svg", + &p, + &rp, + buckets.iter().flat_map(|b| &b.points), + &waypoints, + ) + .unwrap(); + + save_gpc("test.gpc", &rp, &buckets).unwrap(); } diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs index a70e7ff5d..6f5cdc4bc 100644 --- a/apps/gipy/gpconv/src/osm.rs +++ b/apps/gipy/gpconv/src/osm.rs @@ -1,10 +1,14 @@ use super::Point; +use itertools::Itertools; use lazy_static::lazy_static; use openstreetmap_api::{ types::{BoundingBox, Credentials}, Openstreetmap, }; +use osmio::prelude::*; +use osmio::OSMObjBase; use std::collections::{HashMap, HashSet}; +use std::path::Path; #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] pub enum Interest { @@ -21,7 +25,24 @@ pub enum Interest { Pharmacy, } -#[derive(Debug, PartialEq, Eq, Hash)] +impl Into for Interest { + fn into(self) -> u8 { + match self { + Interest::Bakery => 0, + Interest::DrinkingWater => 1, + Interest::Toilets => 2, + Interest::BikeShop => 3, + Interest::ChargingStation => 4, + Interest::Bank => 5, + Interest::Supermarket => 6, + Interest::Table => 7, + Interest::Artwork => 8, + Interest::Pharmacy => 9, + } + } +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] pub struct InterestPoint { pub point: Point, pub interest: Interest, @@ -128,3 +149,31 @@ async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet } interest_points } + +pub fn parse_osm_data>(path: P) -> Vec { + let reader = osmio::read_pbf(path).ok(); + reader + .map(|mut reader| { + let mut interests = Vec::new(); + for obj in reader.objects() { + match obj { + osmio::obj_types::ArcOSMObj::Node(n) => { + n.lat_lon_f64().map(|(lat, lon)| { + for p in n.tags().filter_map(move |(k, v)| { + Interest::new(k, v).map(|i| InterestPoint { + point: Point { x: lon, y: lat }, + interest: i, + }) + }) { + interests.push(p); + } + }); + } + osmio::obj_types::ArcOSMObj::Way(_) => {} + osmio::obj_types::ArcOSMObj::Relation(_) => {} + } + } + interests + }) + .unwrap_or_default() +} From b2a7b65c5bb4daea6c7730c5413da8570162ddbb Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 21 Jul 2022 12:35:24 +0200 Subject: [PATCH 027/622] parsing new file format --- apps/gipy/ChangeLog | 3 ++ apps/gipy/app.js | 69 +++++++++++++++++++++++++++++++++++++---- apps/gipy/metadata.json | 2 +- 3 files changed, 67 insertions(+), 7 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 536692371..260abaf0e 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -20,3 +20,6 @@ * Don't use gps course anymore but figure it from previous positions. * Bugfix: path colors are back. * Always buzz when reaching waypoint even if unlocked. + +0.09: + * We now display interest points. diff --git a/apps/gipy/app.js b/apps/gipy/app.js index aa523f005..6fe05ee65 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,8 +1,21 @@ let simulated = false; -let file_version = 1; +let file_version = 2; let code_key = 47490; +let interests_colors = [ + 0x780F, // Bakery, purple + 0x001F, // DrinkingWater, blue + 0x07FF, // Toilets, cyan + 0x7BEF, // BikeShop, dark grey + 0xAFE5, // ChargingStation, green yellow + 0x7800, // Bank, maroon + 0xF800, // Supermarket, red + 0xF81F, // Table, pink + 0xFD20, // Artwork, orange + 0x07E0, // Pharmacy, green +]; + class Status { constructor(path) { this.path = path; @@ -70,7 +83,7 @@ class Status { } } // re-display unless locked - if (!Bangle.isLocked()) { + if (!Bangle.isLocked() || simulated) { this.display(); } } @@ -85,9 +98,18 @@ class Status { display() { g.clear(); this.display_map(); + this.display_interest_points(); this.display_stats(); Bangle.drawWidgets(); } + display_interest_points() { + for (let i = 0 ; i < this.path.interests_coordinates.length ; i++) { + let p = this.path.interest_point(i); + let color = this.path.interest_color(i); + let c = p.coordinates(this.position, this.cos_direction, this.sin_direction); + g.setColor(color).fillCircle(c[0], c[1], 5); + } + } display_stats() { let rounded_distance = Math.round(this.remaining_distance() / 100) / 10; let total = Math.round(this.remaining_distances[0] / 100) / 10; @@ -149,7 +171,11 @@ class Status { class Path { constructor(filename) { let buffer = require("Storage").readArrayBuffer(filename); - let header = Uint16Array(buffer, 0, 3); + let offset = 0; + + // header + let header = Uint16Array(buffer, offset, 5); + offset += 5 * 2; let key = header[0]; let version = header[1]; let points_number = header[2]; @@ -157,7 +183,25 @@ class Path { E.showMessage("Invalid gpc file"); return; } - this.points = Float64Array(buffer, 3*2, points_number*2); + + // path points + this.points = Float64Array(buffer, offset, points_number*2); + + // interest points + offset += 8 * points_number * 2; + let interests_number = header[3]; + this.interests_coordinates = Float64Array(buffer, offset, interests_number * 2); + offset += 8 * interests_number * 2; + this.interests_types = Uint8Array(buffer, offset, interests_number); + offset += interests_number; + + // interests on path + let interests_on_path_number = header[4]; + this.interests_on_path = Uint16Array(buffer, offset, interests_on_path_number); + offset += 2 * interests_on_path_number; + let starts_length = Math.ceil(interests_on_path_number / 5.0); + this.interests_starts = Uint16Array(buffer, offset, starts_length); + offset += 2 * starts_length; } // if start, end or steep direction change @@ -199,6 +243,16 @@ class Path { return new Point(lon, lat); } + interest_point(index) { + let lon = this.interests_coordinates[2 * index]; + let lat = this.interests_coordinates[2 * index + 1]; + return new Point(lon, lat); + } + + interest_color(index) { + return interests_colors[this.interests_types[index]]; + } + // return index of segment which is nearest from point. // we need a direction because we need there is an ambiguity // for overlapping segments which are taken once to go and once to come back. @@ -237,7 +291,7 @@ class Point { this.lat = lat; } coordinates(current_position, cos_direction, sin_direction) { - let translated = this.minus(current_position).times(20000.0); + let translated = this.minus(current_position).times(40000.0); let rotated_x = translated.lon * cos_direction - translated.lat * sin_direction; let rotated_y = translated.lon * sin_direction + translated.lat * cos_direction; return [ @@ -351,6 +405,9 @@ function set_coordinates(data) { let fake_gps_point = 0.0; function simulate_gps(status) { + if (fake_gps_point > status.path.len -1) { + return; + } let point_index = Math.floor(fake_gps_point); if (point_index >= path.len) { return; @@ -362,7 +419,7 @@ function simulate_gps(status) { let pos = p1.times(1-alpha).plus(p2.times(alpha)); let old_pos = status.position; - fake_gps_point += 0.05; // advance simulation + fake_gps_point += 0.2; // advance simulation let direction = Math.atan2(pos.lat - old_pos.lat, pos.lon - old_pos.lon); status.update_position(pos, direction); } diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 18c692733..2ff1d3acd 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.08", + "version": "0.09", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From d4a755660ed5e124e49f0cf73faf1f1b3bffe3a9 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 21 Jul 2022 14:19:41 +0200 Subject: [PATCH 028/622] complex algorithm for interest points seems ok --- apps/gipy/app.js | 33 ++++++++++++++++++++++++++++----- apps/gipy/gpconv/src/main.rs | 10 ++++++++++ 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 6fe05ee65..a463f15e9 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,5 +1,5 @@ -let simulated = false; +let simulated = true; let file_version = 2; let code_key = 47490; @@ -16,6 +16,19 @@ let interests_colors = [ 0x07E0, // Pharmacy, green ]; +function binary_search(array, x) { + let start = 0, end = array.length - 1; + + while (start <= end){ + let mid = Math.floor((start + end) / 2); + if (array[mid] < x) + start = mid + 1; + else + end = mid - 1; + } + return start; +} + class Status { constructor(path) { this.path = path; @@ -103,10 +116,18 @@ class Status { Bangle.drawWidgets(); } display_interest_points() { - for (let i = 0 ; i < this.path.interests_coordinates.length ; i++) { - let p = this.path.interest_point(i); + // this is the algorithm in case we have a lot of interest points + // let's draw all points for 5 segments centered on current one + let starting_group = Math.floor(Math.max(this.current_segment-2, 0) / 3); + let ending_group = Math.floor(Math.min(this.current_segment+2, this.path.len-2) / 3); + let starting_bucket = binary_search(this.path.interests_starts, starting_group); + let ending_bucket = binary_search(this.path.interests_starts, ending_group+0.5); + // we have 5 points per bucket + for (let i = starting_bucket*5 ; i <= ending_bucket*5 ; i++) { + let index = this.path.interests_on_path[i]; + let interest_point = this.path.interest_point(index); let color = this.path.interest_color(i); - let c = p.coordinates(this.position, this.cos_direction, this.sin_direction); + let c = interest_point.coordinates(this.position, this.cos_direction, this.sin_direction); g.setColor(color).fillCircle(c[0], c[1], 5); } } @@ -119,7 +140,7 @@ class Status { minutes = '0' + minutes; } let hours = now.getHours().toString(); - g.setFont("6x8:2").drawString(hours + ":" + minutes, 0, g.getHeight() - 49); + g.setFont("6x8:2").setColor(g.theme.fg).drawString(hours + ":" + minutes, 0, g.getHeight() - 49); g.drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); g.drawString("seg." + (this.current_segment + 1) + "/" + path.len + " " + this.distance_to_next_point + "m", 0, g.getHeight() - 15); } @@ -441,3 +462,5 @@ if (simulated) { Bangle.on('GPS', set_coordinates); } + + diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 811a4c361..48da9a76b 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -378,6 +378,9 @@ fn save_gpc>(path: P, points: &[Point], buckets: &[Bucket]) -> st .map(|b| b.start as u16) .try_for_each(|i| writer.write_all(&i.to_le_bytes()))?; + let starts: Vec<_> = buckets.iter().map(|b| b.start).collect(); + eprintln!("starts {:?} of length {}", starts, starts.len()); + Ok(()) } @@ -589,6 +592,13 @@ fn position_interests_along_path( .chunks(groups_size) .map(|c| c.iter().flatten().unique().copied().collect::>()) .collect::>(); + eprintln!( + "group sizes are {:?}", + grouped_positions + .iter() + .map(|g| g.len()) + .collect::>() + ); // now, group the points in buckets let chunks = grouped_positions .iter() From 1bce4cf8e049d7de0ced5b20178a70b6ed343af1 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 21 Jul 2022 14:20:50 +0200 Subject: [PATCH 029/622] updated todo list --- apps/gipy/TODO | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/gipy/TODO b/apps/gipy/TODO index bad276a60..222177c8e 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,5 +1,3 @@ -- water points - ---> we group them following path by groups of cst_size and record segments ids marking limits - split on points with comments From b1e3db6d81c03f3030d723dd9a89c0e4f79cf648 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 21 Jul 2022 15:09:16 +0200 Subject: [PATCH 030/622] v009 --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 2 +- apps/gipy/app.js | 167 ++++++++++++++++++++--------------- apps/gipy/gpconv/src/main.rs | 8 -- 4 files changed, 100 insertions(+), 78 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 260abaf0e..932e1282c 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -23,3 +23,4 @@ 0.09: * We now display interest points. + * Menu to choose which file to load. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 222177c8e..b740d0d71 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,4 +1,5 @@ +- it is becoming messy - split on points with comments - turn off gps when moving to next waypoint @@ -8,7 +9,6 @@ - buzzing does not work nicely -> is_lost seems fishy -- store several tracks - display average speed - dynamic map rescale - display scale (100m) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index a463f15e9..5f5d9604c 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,5 +1,5 @@ -let simulated = true; +let simulated = false; let file_version = 2; let code_key = 47490; @@ -64,11 +64,11 @@ class Status { this.position = new_position; // detect segment we are on now - let next_segment = this.path.nearest_segment(this.position, Math.max(0, this.current_segment-1), Math.min(this.current_segment+2, path.len - 1), this.cos_direction, this.sin_direction); + let next_segment = this.path.nearest_segment(this.position, Math.max(0, this.current_segment-1), Math.min(this.current_segment+2, this.path.len - 1), this.cos_direction, this.sin_direction); if (this.is_lost(next_segment)) { // it did not work, try anywhere - next_segment = this.path.nearest_segment(this.position, 0, path.len - 1, this.cos_direction, this.sin_direction); + next_segment = this.path.nearest_segment(this.position, 0, this.path.len - 1, this.cos_direction, this.sin_direction); } // now check if we strayed away from path or back to it let lost = this.is_lost(next_segment); @@ -123,7 +123,8 @@ class Status { let starting_bucket = binary_search(this.path.interests_starts, starting_group); let ending_bucket = binary_search(this.path.interests_starts, ending_group+0.5); // we have 5 points per bucket - for (let i = starting_bucket*5 ; i <= ending_bucket*5 ; i++) { + let end_index = Math.min(this.path.interests_types.length - 1, ending_bucket*5); + for (let i = starting_bucket*5 ; i <= end_index ; i++) { let index = this.path.interests_on_path[i]; let interest_point = this.path.interest_point(index); let color = this.path.interest_color(i); @@ -142,7 +143,7 @@ class Status { let hours = now.getHours().toString(); g.setFont("6x8:2").setColor(g.theme.fg).drawString(hours + ":" + minutes, 0, g.getHeight() - 49); g.drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); - g.drawString("seg." + (this.current_segment + 1) + "/" + path.len + " " + this.distance_to_next_point + "m", 0, g.getHeight() - 15); + g.drawString("seg." + (this.current_segment + 1) + "/" + this.path.len + " " + this.distance_to_next_point + "m", 0, g.getHeight() - 15); } display_map() { // don't display all segments, only those neighbouring current segment @@ -376,53 +377,7 @@ class Point { Bangle.loadWidgets(); -let path = new Path("test.gpc"); -let status = new Status(path); -let frame = 0; -let old_points = []; // remember the at most 3 previous points -function set_coordinates(data) { - frame += 1; - let valid_coordinates = !isNaN(data.lat) && !isNaN(data.lon); - if (valid_coordinates) { - // we try to figure out direction by looking at previous points - // instead of the gps course which is not very nice. - let direction = data.course * Math.PI / 180.0; - let position = new Point(data.lon, data.lat); - if (old_points.length == 0) { - old_points.push(position); - } else { - let last_point = old_points[old_points.length-1]; - if (last_point.x != position.x || last_point.y != position.y) { - if (old_points.length == 4) { - old_points.shift(); - } - old_points.push(position); - } - } - if (old_points.length == 4) { - // let's just take average angle of 3 previous segments - let angles_sum = 0; - for(let i = 0 ; i < 3 ; i++) { - let p1 = old_points[i]; - let p2 = old_points[i+1]; - let diff = p2.minus(p1); - let angle = Math.atan2(diff.lat, diff.lon); - angles_sum += angle; - } - status.update_position(position, angles_sum / 3.0); - } else { - status.update_position(position, direction); - } - } - let gps_status_color; - if ((frame % 2 == 0)||valid_coordinates) { - gps_status_color = g.theme.bg; - } else { - gps_status_color = g.theme.fg; - } - g.setColor(gps_status_color).setFont("6x8:2").drawString("gps", g.getWidth() - 40, 30); -} let fake_gps_point = 0.0; function simulate_gps(status) { @@ -430,11 +385,11 @@ function simulate_gps(status) { return; } let point_index = Math.floor(fake_gps_point); - if (point_index >= path.len) { + if (point_index >= status.path.len) { return; } - let p1 = path.point(point_index); - let p2 = path.point(point_index + 1); + let p1 = status.path.point(point_index); + let p2 = status.path.point(point_index + 1); let alpha = fake_gps_point - point_index; let pos = p1.times(1-alpha).plus(p2.times(alpha)); @@ -445,22 +400,96 @@ function simulate_gps(status) { status.update_position(pos, direction); } - -if (simulated) { - status.position = new Point(status.path.point(0)); - setInterval(simulate_gps, 500, status); -} else { - // let's display start while waiting for gps signal - let p1 = status.path.point(0); - let p2 = status.path.point(1); - let diff = p2.minus(p1); - let direction = Math.atan2(diff.lat, diff.lon); - Bangle.setLocked(false); - status.update_position(p1, direction); - - Bangle.setGPSPower(true, "gipy"); - Bangle.on('GPS', set_coordinates); +function drawMenu() { + const menu = { + '': { 'title': 'choose trace' } + }; + var files = require("Storage").list(".gpc"); + for (var i=0; i>(path: P, points: &[Point], buckets: &[Bucket]) -> st .try_for_each(|i| writer.write_all(&i.to_le_bytes()))?; let starts: Vec<_> = buckets.iter().map(|b| b.start).collect(); - eprintln!("starts {:?} of length {}", starts, starts.len()); Ok(()) } @@ -592,13 +591,6 @@ fn position_interests_along_path( .chunks(groups_size) .map(|c| c.iter().flatten().unique().copied().collect::>()) .collect::>(); - eprintln!( - "group sizes are {:?}", - grouped_positions - .iter() - .map(|g| g.len()) - .collect::>() - ); // now, group the points in buckets let chunks = grouped_positions .iter() From 9650cb0204870191117254260baf80bf41c2ef6a Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 21 Jul 2022 17:58:12 +0200 Subject: [PATCH 031/622] faster display --- apps/gipy/ChangeLog | 3 ++ apps/gipy/app.js | 70 ++++++++++++++++++++++++++--------------- apps/gipy/metadata.json | 2 +- 3 files changed, 49 insertions(+), 26 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 932e1282c..25a2e7fba 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -24,3 +24,6 @@ 0.09: * We now display interest points. * Menu to choose which file to load. + +0.10: + * Display performances enhancement. diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 5f5d9604c..339a59116 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -149,44 +149,65 @@ class Status { // don't display all segments, only those neighbouring current segment // this is most likely to be the correct display // while lowering the cost a lot - let start = Math.max(this.current_segment - 5, 0); - let end = Math.min(this.current_segment + 6, this.path.len - 1); + // + // note that all code is inlined here to speed things up from 400ms to 200ms + let start = Math.max(this.current_segment - 3, 0); + let end = Math.min(this.current_segment + 5, this.path.len - 1); let pos = this.position; let cos = this.cos_direction; let sin = this.sin_direction; - - // segments - let current_segment = this.current_segment; - this.path.on_segments(function(p1, p2, i) { - if (i == current_segment + 1) { - g.setColor(0.0, 1.0, 0.0); - } else { - g.setColor(1.0, 0.0, 0.0); + let points = this.path.points; + let cx = pos.lon; + let cy = pos.lat; + let half_width = g.getWidth() / 2; + let half_height = g.getHeight() / 2; + let previous_x = null; + let previous_y = null; + for (let i = start ; i < end ; i++) { + let tx = (points[2*i] - cx) * 40000.0; + let ty = (points[2*i+1] - cy) * 40000.0; + let rotated_x = tx * cos - ty * sin; + let rotated_y = tx * sin + ty * cos; + let x = half_width - Math.round(rotated_x); // x is inverted + let y = half_height + Math.round(rotated_y); + if (previous_x !== null) { + if (i == this.current_segment + 1) { + g.setColor(0.0, 1.0, 0.0); + } else { + g.setColor(1.0, 0.0, 0.0); + } + g.drawLine(previous_x, previous_y, x, y); } - let c1 = p1.coordinates(pos, cos, sin); - let c2 = p2.coordinates(pos, cos, sin); - g.drawLine(c1[0], c1[1], c2[0], c2[1]); - }, start, end); - // waypoints - for (let i = start ; i < end + 1 ; i++) { - let p = this.path.point(i); - let c = p.coordinates(pos, cos, sin); - if (this.path.is_waypoint(i)) { + if (this.path.is_waypoint(i-1)) { g.setColor(g.theme.fg); - g.fillCircle(c[0], c[1], 6); + g.fillCircle(previous_x, previous_y, 6); g.setColor(g.theme.bg); - g.fillCircle(c[0], c[1], 5); + g.fillCircle(previous_x, previous_y, 5); } g.setColor(g.theme.fg); - g.fillCircle(c[0], c[1], 4); + g.fillCircle(previous_x, previous_y, 4); g.setColor(g.theme.bg); - g.fillCircle(c[0], c[1], 3); + g.fillCircle(previous_x, previous_y, 3); + + previous_x = x; + previous_y = y; } + if (this.path.is_waypoint(end-1)) { + g.setColor(g.theme.fg); + g.fillCircle(previous_x, previous_y, 6); + g.setColor(g.theme.bg); + g.fillCircle(previous_x, previous_y, 5); + } + g.setColor(g.theme.fg); + g.fillCircle(previous_x, previous_y, 4); + g.setColor(g.theme.bg); + g.fillCircle(previous_x, previous_y, 3); + // now display ourselves g.setColor(g.theme.fgH); - g.fillCircle(g.getWidth() / 2, g.getHeight() / 2, 5); + g.fillCircle(half_width, half_height, 5); } } @@ -492,4 +513,3 @@ if (files.length <= 1) { } else { drawMenu(); } - diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 2ff1d3acd..3673abb30 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.09", + "version": "0.10", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From a255fc5c1efcf4dc1229e40d46a329f64aabd116 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 21 Jul 2022 20:49:49 +0200 Subject: [PATCH 032/622] waypoints from gmaps --- apps/gipy/TODO | 9 +++- apps/gipy/gpconv/src/main.rs | 99 +++++++++++++++++++++++++----------- apps/gipy/gpconv/src/osm.rs | 50 +++++++++--------- 3 files changed, 100 insertions(+), 58 deletions(-) diff --git a/apps/gipy/TODO b/apps/gipy/TODO index b740d0d71..b63a6b066 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,16 +1,21 @@ -- it is becoming messy +- direction is still shitty on gps - split on points with comments + and encode them as waypoints + +- code is becoming messy - turn off gps when moving to next waypoint +- display distance to next water/toilet - meters seem to be a bit too long - buzzing does not work nicely -> is_lost seems fishy + -> we need a display on top of buzz - display average speed - dynamic map rescale - display scale (100m) -- compress path +- compress path ? diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index e14bffe08..fd2f4bded 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -58,8 +58,7 @@ impl Point { } } -fn points(filename: &str) -> impl Iterator { - // This XML file actually exists — try it for yourself! +fn points(filename: &str) -> Vec> { let file = File::open(filename).unwrap(); let reader = BufReader::new(file); @@ -67,15 +66,38 @@ fn points(filename: &str) -> impl Iterator { let mut gpx: Gpx = read(reader).unwrap(); eprintln!("we have {} tracks", gpx.tracks.len()); - gpx.tracks + let mut points = Vec::new(); + + let mut iter = gpx + .tracks .pop() .unwrap() .segments .into_iter() - .flat_map(|segment| segment.linestring().points().collect::>()) - .map(|point| (point.x(), point.y())) - .dedup() - .map(|(x, y)| Point { x, y }) + .flat_map(|segment| segment.points.into_iter()) + .map(|p| { + let geop = p.point(); + ( + Point { + x: geop.x(), + y: geop.y(), + }, + p.comment.is_some(), + ) + }) + .dedup(); + let mut current_segment = iter.next().map(|(p, _)| p).into_iter().collect::>(); + for (p, is_waypoint) in iter { + if is_waypoint { + points.push(current_segment); + current_segment = Vec::new(); + } + current_segment.push(p); + } + let last_point = current_segment.pop(); + points.push(current_segment); + points.extend(last_point.map(|p| vec![p])); + points } // // NOTE: this angles idea could maybe be use to get dp from n^3 to n^2 @@ -363,6 +385,17 @@ fn save_gpc>(path: P, points: &[Point], buckets: &[Bucket]) -> st .flat_map(|p| [p.point.x, p.point.y]) .try_for_each(|c| writer.write_all(&c.to_le_bytes()))?; + let counts: HashMap<_, usize> = + unique_interest_points + .iter() + .fold(HashMap::new(), |mut h, p| { + *h.entry(p.interest).or_default() += 1; + h + }); + counts.into_iter().for_each(|(interest, count)| { + eprintln!("{:?} appears {} times", interest, count); + }); + unique_interest_points .iter() .map(|p| p.interest.into()) @@ -378,8 +411,6 @@ fn save_gpc>(path: P, points: &[Point], buckets: &[Bucket]) -> st .map(|b| b.start as u16) .try_for_each(|i| writer.write_all(&i.to_le_bytes()))?; - let starts: Vec<_> = buckets.iter().map(|b| b.start).collect(); - Ok(()) } @@ -512,18 +543,10 @@ fn save_svg<'a, P: AsRef, I: IntoIterator>( )?; } - let rpoints = rp.iter().cloned().collect::>(); - waypoints.difference(&rpoints).try_for_each(|p| { + waypoints.iter().try_for_each(|p| { writeln!( &mut writer, - "", - p.x, p.y, - ) - })?; - waypoints.intersection(&rpoints).try_for_each(|p| { - writeln!( - &mut writer, - "", + "", p.x, p.y, ) })?; @@ -611,19 +634,33 @@ fn position_interests_along_path( async fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); eprintln!("input is {}", input_file); - let p = points(&input_file).collect::>(); - eprintln!("initialy we have {} points", p.len()); - let start = std::time::Instant::now(); - let rp = simplify_path(&p, 0.00015); - let waypoints = detect_waypoints(&rp); - eprintln!("we took {:?}", start.elapsed()); - eprintln!("we now have {} points", rp.len()); - let start = std::time::Instant::now(); - eprintln!("rdp would have had {}", rdp(&p, 0.00015).len()); - eprintln!("rdp took {:?}", start.elapsed()); + let mut segmented_points = points(&input_file); + let p = segmented_points + .iter() + .flatten() + .copied() + .collect::>(); - let mut interests = parse_osm_data("isere.osm.pbf"); - let buckets = position_interests_along_path(&mut interests, &rp, 0.0005, 5, 3); + eprintln!("initialy we have {} points", p.len()); + + eprintln!("we have {} waypoints", segmented_points.len()); + + let mut waypoints = HashSet::new(); + let mut rp = Vec::new(); + for (i1, i2) in (0..segmented_points.len()).tuple_windows() { + if let [s1, s2] = &mut segmented_points[i1..=i2] { + s1.extend(s2.first().copied()); + waypoints.insert(s1.first().copied().unwrap()); + let mut simplified = simplify_path(&s1, 0.00015); + rp.append(&mut simplified); + rp.pop(); + } + } + rp.extend(segmented_points.last().and_then(|l| l.last()).copied()); + + let mut interests = parse_osm_data("ardeche.osm.pbf"); + // let mut interests = parse_osm_data("isere.osm.pbf"); + let buckets = position_interests_along_path(&mut interests, &rp, 0.001, 5, 3); // let i = get_openstreetmap_data(&rp).await; // let i = HashSet::new(); save_svg( diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs index 6f5cdc4bc..763b54be8 100644 --- a/apps/gipy/gpconv/src/osm.rs +++ b/apps/gipy/gpconv/src/osm.rs @@ -15,14 +15,14 @@ pub enum Interest { Bakery, DrinkingWater, Toilets, - BikeShop, - ChargingStation, - Bank, - Supermarket, - Table, - // TourismOffice, + // BikeShop, + // ChargingStation, + // Bank, + // Supermarket, + // Table, + // TourismOffice, Artwork, - Pharmacy, + // Pharmacy, } impl Into for Interest { @@ -31,13 +31,13 @@ impl Into for Interest { Interest::Bakery => 0, Interest::DrinkingWater => 1, Interest::Toilets => 2, - Interest::BikeShop => 3, - Interest::ChargingStation => 4, - Interest::Bank => 5, - Interest::Supermarket => 6, - Interest::Table => 7, + // Interest::BikeShop => 3, + // Interest::ChargingStation => 4, + // Interest::Bank => 5, + // Interest::Supermarket => 6, + // Interest::Table => 7, Interest::Artwork => 8, - Interest::Pharmacy => 9, + // Interest::Pharmacy => 9, } } } @@ -54,14 +54,14 @@ lazy_static! { (("shop", "bakery"), Interest::Bakery), (("amenity", "drinking_water"), Interest::DrinkingWater), (("amenity", "toilets"), Interest::Toilets), - (("shop", "bicycle"), Interest::BikeShop), - (("amenity", "charging_station"), Interest::ChargingStation), - (("amenity", "bank"), Interest::Bank), - (("shop", "supermarket"), Interest::Supermarket), - (("leisure", "picnic_table"), Interest::Table), + // (("shop", "bicycle"), Interest::BikeShop), + // (("amenity", "charging_station"), Interest::ChargingStation), + // (("amenity", "bank"), Interest::Bank), + // (("shop", "supermarket"), Interest::Supermarket), + // (("leisure", "picnic_table"), Interest::Table), // (("tourism", "information"), Interest::TourismOffice), (("tourism", "artwork"), Interest::Artwork), - (("amenity", "pharmacy"), Interest::Pharmacy), + // (("amenity", "pharmacy"), Interest::Pharmacy), ] .into_iter() .collect() @@ -80,13 +80,13 @@ impl InterestPoint { Interest::Bakery => "red", Interest::DrinkingWater => "blue", Interest::Toilets => "brown", - Interest::BikeShop => "purple", - Interest::ChargingStation => "green", - Interest::Bank => "black", - Interest::Supermarket => "red", - Interest::Table => "pink", + // Interest::BikeShop => "purple", + // Interest::ChargingStation => "green", + // Interest::Bank => "black", + // Interest::Supermarket => "red", + // Interest::Table => "pink", Interest::Artwork => "orange", - Interest::Pharmacy => "chartreuse", + // Interest::Pharmacy => "chartreuse", } } } From d2b38405185170e9b7de4eb923dd048344f8bd8c Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 22 Jul 2022 07:02:45 +0200 Subject: [PATCH 033/622] waypoints in file --- apps/gipy/ChangeLog | 2 ++ apps/gipy/TODO | 3 +-- apps/gipy/app.js | 47 +++++++++++++++--------------------- apps/gipy/gpconv/src/main.rs | 23 +++++++++++++++--- 4 files changed, 43 insertions(+), 32 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 25a2e7fba..43f112202 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -27,3 +27,5 @@ 0.10: * Display performances enhancement. + * Waypoints information is embedded in file and extracted from comments on + points. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index b63a6b066..f0dac6b2f 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,12 +1,11 @@ - direction is still shitty on gps -- split on points with comments - and encode them as waypoints - code is becoming messy - turn off gps when moving to next waypoint - display distance to next water/toilet +- display distance to next waypoint - meters seem to be a bit too long diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 339a59116..5b4d5c06b 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,6 +1,6 @@ -let simulated = false; -let file_version = 2; +let simulated = true; +let file_version = 3; let code_key = 47490; let interests_colors = [ @@ -177,18 +177,19 @@ class Status { g.setColor(1.0, 0.0, 0.0); } g.drawLine(previous_x, previous_y, x, y); - } - if (this.path.is_waypoint(i-1)) { + if (this.path.is_waypoint(i-1)) { + g.setColor(g.theme.fg); + g.fillCircle(previous_x, previous_y, 6); + g.setColor(g.theme.bg); + g.fillCircle(previous_x, previous_y, 5); + } g.setColor(g.theme.fg); - g.fillCircle(previous_x, previous_y, 6); + g.fillCircle(previous_x, previous_y, 4); g.setColor(g.theme.bg); - g.fillCircle(previous_x, previous_y, 5); + g.fillCircle(previous_x, previous_y, 3); + } - g.setColor(g.theme.fg); - g.fillCircle(previous_x, previous_y, 4); - g.setColor(g.theme.bg); - g.fillCircle(previous_x, previous_y, 3); previous_x = x; previous_y = y; @@ -224,14 +225,19 @@ class Path { let points_number = header[2]; if ((key != code_key)||(version>file_version)) { E.showMessage("Invalid gpc file"); - return; + load(); } // path points this.points = Float64Array(buffer, offset, points_number*2); + offset += 8 * points_number * 2; + + // path waypoints + let waypoints_len = Math.ceil(points_number / 8.0); + this.waypoints = Uint8Array(buffer, offset, waypoints_len); + offset += waypoints_len; // interest points - offset += 8 * points_number * 2; let interests_number = header[3]; this.interests_coordinates = Float64Array(buffer, offset, interests_number * 2); offset += 8 * interests_number * 2; @@ -247,22 +253,8 @@ class Path { offset += 2 * starts_length; } - // if start, end or steep direction change - // we are buzzing and displayed specially is_waypoint(point_index) { - if ((point_index == 0)||(point_index == this.len -1)) { - return true; - } else { - let p1 = this.point(point_index-1); - let p2 = this.point(point_index); - let p3 = this.point(point_index+1); - let d1 = p2.minus(p1); - let d2 = p3.minus(p2); - let a1 = Math.atan2(d1.lat, d1.lon); - let a2 = Math.atan2(d2.lat, d2.lon); - let direction_change = Math.abs(a2-a1); - return ((direction_change > Math.PI / 3.0)&&(direction_change < Math.PI * 5.0/3.0)); - } + return (this.waypoints[Math.floor(point_index / 8)] & (point_index % 8)); } // execute op on all segments. @@ -513,3 +505,4 @@ if (files.length <= 1) { } else { drawMenu(); } + diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index fd2f4bded..df8a5789d 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -11,7 +11,7 @@ mod osm; use osm::{parse_osm_data, InterestPoint}; const KEY: u16 = 47490; -const FILE_VERSION: u16 = 2; +const FILE_VERSION: u16 = 3; #[derive(Debug, PartialEq, Clone, Copy)] pub struct Point { @@ -349,7 +349,12 @@ fn compress_coordinates(points: &[(i32, i32)]) -> Vec<(i16, i16)> { xdiffs.zip(ydiffs).collect() } -fn save_gpc>(path: P, points: &[Point], buckets: &[Bucket]) -> std::io::Result<()> { +fn save_gpc>( + path: P, + points: &[Point], + waypoints: &HashSet, + buckets: &[Bucket], +) -> std::io::Result<()> { let mut writer = BufWriter::new(File::create(path)?); eprintln!("saving {} points", points.len()); @@ -380,6 +385,18 @@ fn save_gpc>(path: P, points: &[Point], buckets: &[Bucket]) -> st .flat_map(|p| [p.x, p.y]) .try_for_each(|c| writer.write_all(&c.to_le_bytes()))?; + let mut waypoints_bits = std::iter::repeat(0u8) + .take(points.len() / 8 + if points.len() % 8 != 0 { 1 } else { 0 }) + .collect::>(); + points.iter().enumerate().for_each(|(i, p)| { + if waypoints.contains(p) { + waypoints_bits[i / 8] |= 1 << (i % 8) + } + }); + waypoints_bits + .iter() + .try_for_each(|byte| writer.write_all(&byte.to_le_bytes()))?; + unique_interest_points .iter() .flat_map(|p| [p.point.x, p.point.y]) @@ -672,5 +689,5 @@ async fn main() { ) .unwrap(); - save_gpc("test.gpc", &rp, &buckets).unwrap(); + save_gpc("test.gpc", &rp, &waypoints, &buckets).unwrap(); } From f4ca3afe3407e3e125b174ef3f3116774340446f Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 22 Jul 2022 07:31:23 +0200 Subject: [PATCH 034/622] minor stuff --- apps/gipy/app.js | 925 +++++++++++++++++++---------------- apps/gipy/gpconv/src/main.rs | 7 +- 2 files changed, 498 insertions(+), 434 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 5b4d5c06b..a1b2a6453 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,508 +1,567 @@ - let simulated = true; let file_version = 3; let code_key = 47490; let interests_colors = [ - 0x780F, // Bakery, purple - 0x001F, // DrinkingWater, blue - 0x07FF, // Toilets, cyan - 0x7BEF, // BikeShop, dark grey - 0xAFE5, // ChargingStation, green yellow - 0x7800, // Bank, maroon - 0xF800, // Supermarket, red - 0xF81F, // Table, pink - 0xFD20, // Artwork, orange - 0x07E0, // Pharmacy, green + 0x780f, // Bakery, purple + 0x001f, // DrinkingWater, blue + 0x07ff, // Toilets, cyan + 0xfd20, // Artwork, orange ]; function binary_search(array, x) { - let start = 0, end = array.length - 1; + let start = 0, + end = array.length - 1; - while (start <= end){ - let mid = Math.floor((start + end) / 2); - if (array[mid] < x) - start = mid + 1; - else - end = mid - 1; - } - return start; + while (start <= end) { + let mid = Math.floor((start + end) / 2); + if (array[mid] < x) start = mid + 1; + else end = mid - 1; + } + return start; } class Status { - constructor(path) { - this.path = path; - this.on_path = false; // are we on the path or lost ? - this.position = null; // where we are - this.cos_direction = null; // cos of where we look at - this.sin_direction = null; // sin of where we look at - this.current_segment = null; // which segment is closest - this.reaching = null; // which waypoint are we reaching ? - this.distance_to_next_point = null; // how far are we from next point ? + constructor(path) { + this.path = path; + this.on_path = false; // are we on the path or lost ? + this.position = null; // where we are + this.cos_direction = null; // cos of where we look at + this.sin_direction = null; // sin of where we look at + this.current_segment = null; // which segment is closest + this.reaching = null; // which waypoint are we reaching ? + this.distance_to_next_point = null; // how far are we from next point ? - let r = [0]; - // let's do a reversed prefix computations on all distances: - // loop on all segments in reversed order - let previous_point = null; - for (let i = this.path.len - 1; i >= 0; i--) { - let point = this.path.point(i); - if (previous_point !== null) { - r.unshift(r[0] + point.distance(previous_point)); - } - previous_point = point; - } - this.remaining_distances = r; // how much distance remains at start of each segment + let r = [0]; + // let's do a reversed prefix computations on all distances: + // loop on all segments in reversed order + let previous_point = null; + for (let i = this.path.len - 1; i >= 0; i--) { + let point = this.path.point(i); + if (previous_point !== null) { + r.unshift(r[0] + point.distance(previous_point)); + } + previous_point = point; } - update_position(new_position, direction) { - - if (Bangle.isLocked() && this.position !== null && new_position.lon == this.position.lon && new_position.lat == this.position.lat) { - return; - } - - this.cos_direction = Math.cos(-direction - Math.PI / 2.0); - this.sin_direction = Math.sin(-direction - Math.PI / 2.0); - this.position = new_position; - - // detect segment we are on now - let next_segment = this.path.nearest_segment(this.position, Math.max(0, this.current_segment-1), Math.min(this.current_segment+2, this.path.len - 1), this.cos_direction, this.sin_direction); - - if (this.is_lost(next_segment)) { - // it did not work, try anywhere - next_segment = this.path.nearest_segment(this.position, 0, this.path.len - 1, this.cos_direction, this.sin_direction); - } - // now check if we strayed away from path or back to it - let lost = this.is_lost(next_segment); - if (this.on_path == lost) { // if status changes - if (lost) { - Bangle.buzz(); // we lost path - setTimeout(()=>Bangle.buzz(), 500); - } - this.on_path = !lost; - } - - this.current_segment = next_segment; - - // check if we are nearing the next point on our path and alert the user - let next_point = this.current_segment + 1; - this.distance_to_next_point = Math.ceil(this.position.distance(this.path.point(next_point))); - if (this.reaching != next_point && this.distance_to_next_point <= 20) { - this.reaching = next_point; - let reaching_waypoint = this.path.is_waypoint(next_point); - if (reaching_waypoint) { - Bangle.buzz(); - if (Bangle.isLocked()) { - Bangle.setLocked(false); - } - } - } - // re-display unless locked - if (!Bangle.isLocked() || simulated) { - this.display(); - } + this.remaining_distances = r; // how much distance remains at start of each segment + } + update_position(new_position, direction) { + if ( + Bangle.isLocked() && + this.position !== null && + new_position.lon == this.position.lon && + new_position.lat == this.position.lat + ) { + return; } - remaining_distance() { - return this.remaining_distances[this.current_segment+1] + this.position.distance(this.path.point(this.current_segment+1)); + + this.cos_direction = Math.cos(-direction - Math.PI / 2.0); + this.sin_direction = Math.sin(-direction - Math.PI / 2.0); + this.position = new_position; + + // detect segment we are on now + let next_segment = this.path.nearest_segment( + this.position, + Math.max(0, this.current_segment - 1), + Math.min(this.current_segment + 2, this.path.len - 1), + this.cos_direction, + this.sin_direction + ); + + if (this.is_lost(next_segment)) { + // it did not work, try anywhere + next_segment = this.path.nearest_segment( + this.position, + 0, + this.path.len - 1, + this.cos_direction, + this.sin_direction + ); } - is_lost(segment) { - let distance_to_nearest = this.position.fake_distance_to_segment(this.path.point(segment), this.path.point(segment+1)); - let meters = 6371e3 * distance_to_nearest; - return (meters > 20); + // now check if we strayed away from path or back to it + let lost = this.is_lost(next_segment); + if (this.on_path == lost) { + // if status changes + if (lost) { + Bangle.buzz(); // we lost path + setTimeout(() => Bangle.buzz(), 500); + } + this.on_path = !lost; } - display() { - g.clear(); - this.display_map(); - this.display_interest_points(); - this.display_stats(); - Bangle.drawWidgets(); - } - display_interest_points() { - // this is the algorithm in case we have a lot of interest points - // let's draw all points for 5 segments centered on current one - let starting_group = Math.floor(Math.max(this.current_segment-2, 0) / 3); - let ending_group = Math.floor(Math.min(this.current_segment+2, this.path.len-2) / 3); - let starting_bucket = binary_search(this.path.interests_starts, starting_group); - let ending_bucket = binary_search(this.path.interests_starts, ending_group+0.5); - // we have 5 points per bucket - let end_index = Math.min(this.path.interests_types.length - 1, ending_bucket*5); - for (let i = starting_bucket*5 ; i <= end_index ; i++) { - let index = this.path.interests_on_path[i]; - let interest_point = this.path.interest_point(index); - let color = this.path.interest_color(i); - let c = interest_point.coordinates(this.position, this.cos_direction, this.sin_direction); - g.setColor(color).fillCircle(c[0], c[1], 5); + + this.current_segment = next_segment; + + // check if we are nearing the next point on our path and alert the user + let next_point = this.current_segment + 1; + this.distance_to_next_point = Math.ceil( + this.position.distance(this.path.point(next_point)) + ); + if (this.reaching != next_point && this.distance_to_next_point <= 20) { + this.reaching = next_point; + let reaching_waypoint = this.path.is_waypoint(next_point); + if (reaching_waypoint) { + Bangle.buzz(); + if (Bangle.isLocked()) { + Bangle.setLocked(false); } + } } - display_stats() { - let rounded_distance = Math.round(this.remaining_distance() / 100) / 10; - let total = Math.round(this.remaining_distances[0] / 100) / 10; - let now = new Date(); - let minutes = now.getMinutes().toString(); - if (minutes.length < 2) { - minutes = '0' + minutes; - } - let hours = now.getHours().toString(); - g.setFont("6x8:2").setColor(g.theme.fg).drawString(hours + ":" + minutes, 0, g.getHeight() - 49); - g.drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); - g.drawString("seg." + (this.current_segment + 1) + "/" + this.path.len + " " + this.distance_to_next_point + "m", 0, g.getHeight() - 15); + // re-display unless locked + if (!Bangle.isLocked() || simulated) { + this.display(); } - display_map() { - // don't display all segments, only those neighbouring current segment - // this is most likely to be the correct display - // while lowering the cost a lot - // - // note that all code is inlined here to speed things up from 400ms to 200ms - let start = Math.max(this.current_segment - 3, 0); - let end = Math.min(this.current_segment + 5, this.path.len - 1); - let pos = this.position; - let cos = this.cos_direction; - let sin = this.sin_direction; - let points = this.path.points; - let cx = pos.lon; - let cy = pos.lat; - let half_width = g.getWidth() / 2; - let half_height = g.getHeight() / 2; - let previous_x = null; - let previous_y = null; - for (let i = start ; i < end ; i++) { - let tx = (points[2*i] - cx) * 40000.0; - let ty = (points[2*i+1] - cy) * 40000.0; - let rotated_x = tx * cos - ty * sin; - let rotated_y = tx * sin + ty * cos; - let x = half_width - Math.round(rotated_x); // x is inverted - let y = half_height + Math.round(rotated_y); - if (previous_x !== null) { - if (i == this.current_segment + 1) { - g.setColor(0.0, 1.0, 0.0); - } else { - g.setColor(1.0, 0.0, 0.0); - } - g.drawLine(previous_x, previous_y, x, y); - - if (this.path.is_waypoint(i-1)) { - g.setColor(g.theme.fg); - g.fillCircle(previous_x, previous_y, 6); - g.setColor(g.theme.bg); - g.fillCircle(previous_x, previous_y, 5); - } - g.setColor(g.theme.fg); - g.fillCircle(previous_x, previous_y, 4); - g.setColor(g.theme.bg); - g.fillCircle(previous_x, previous_y, 3); - - } - - previous_x = x; - previous_y = y; + } + remaining_distance() { + return ( + this.remaining_distances[this.current_segment + 1] + + this.position.distance(this.path.point(this.current_segment + 1)) + ); + } + is_lost(segment) { + let distance_to_nearest = this.position.fake_distance_to_segment( + this.path.point(segment), + this.path.point(segment + 1) + ); + let meters = 6371e3 * distance_to_nearest; + return meters > 20; + } + display() { + g.clear(); + this.display_map(); + this.display_interest_points(); + this.display_stats(); + Bangle.drawWidgets(); + } + display_interest_points() { + // this is the algorithm in case we have a lot of interest points + // let's draw all points for 5 segments centered on current one + let starting_group = Math.floor(Math.max(this.current_segment - 2, 0) / 3); + let ending_group = Math.floor( + Math.min(this.current_segment + 2, this.path.len - 2) / 3 + ); + let starting_bucket = binary_search( + this.path.interests_starts, + starting_group + ); + let ending_bucket = binary_search( + this.path.interests_starts, + ending_group + 0.5 + ); + // we have 5 points per bucket + let end_index = Math.min( + this.path.interests_types.length - 1, + ending_bucket * 5 + ); + for (let i = starting_bucket * 5; i <= end_index; i++) { + let index = this.path.interests_on_path[i]; + let interest_point = this.path.interest_point(index); + let color = this.path.interest_color(i); + let c = interest_point.coordinates( + this.position, + this.cos_direction, + this.sin_direction + ); + g.setColor(color).fillCircle(c[0], c[1], 5); + } + } + display_stats() { + let rounded_distance = Math.round(this.remaining_distance() / 100) / 10; + let total = Math.round(this.remaining_distances[0] / 100) / 10; + let now = new Date(); + let minutes = now.getMinutes().toString(); + if (minutes.length < 2) { + minutes = "0" + minutes; + } + let hours = now.getHours().toString(); + g.setFont("6x8:2") + .setColor(g.theme.fg) + .drawString(hours + ":" + minutes, 0, g.getHeight() - 49); + g.drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); + g.drawString( + "seg." + + (this.current_segment + 1) + + "/" + + this.path.len + + " " + + this.distance_to_next_point + + "m", + 0, + g.getHeight() - 15 + ); + } + display_map() { + // don't display all segments, only those neighbouring current segment + // this is most likely to be the correct display + // while lowering the cost a lot + // + // note that all code is inlined here to speed things up from 400ms to 200ms + let start = Math.max(this.current_segment - 3, 0); + let end = Math.min(this.current_segment + 5, this.path.len - 1); + let pos = this.position; + let cos = this.cos_direction; + let sin = this.sin_direction; + let points = this.path.points; + let cx = pos.lon; + let cy = pos.lat; + let half_width = g.getWidth() / 2; + let half_height = g.getHeight() / 2; + let previous_x = null; + let previous_y = null; + for (let i = start; i < end; i++) { + let tx = (points[2 * i] - cx) * 40000.0; + let ty = (points[2 * i + 1] - cy) * 40000.0; + let rotated_x = tx * cos - ty * sin; + let rotated_y = tx * sin + ty * cos; + let x = half_width - Math.round(rotated_x); // x is inverted + let y = half_height + Math.round(rotated_y); + if (previous_x !== null) { + if (i == this.current_segment + 1) { + g.setColor(0.0, 1.0, 0.0); + } else { + g.setColor(1.0, 0.0, 0.0); } + g.drawLine(previous_x, previous_y, x, y); - if (this.path.is_waypoint(end-1)) { - g.setColor(g.theme.fg); - g.fillCircle(previous_x, previous_y, 6); - g.setColor(g.theme.bg); - g.fillCircle(previous_x, previous_y, 5); + if (this.path.is_waypoint(i - 1)) { + g.setColor(g.theme.fg); + g.fillCircle(previous_x, previous_y, 6); + g.setColor(g.theme.bg); + g.fillCircle(previous_x, previous_y, 5); } g.setColor(g.theme.fg); g.fillCircle(previous_x, previous_y, 4); g.setColor(g.theme.bg); g.fillCircle(previous_x, previous_y, 3); + } - // now display ourselves - g.setColor(g.theme.fgH); - g.fillCircle(half_width, half_height, 5); + previous_x = x; + previous_y = y; } + + if (this.path.is_waypoint(end - 1)) { + g.setColor(g.theme.fg); + g.fillCircle(previous_x, previous_y, 6); + g.setColor(g.theme.bg); + g.fillCircle(previous_x, previous_y, 5); + } + g.setColor(g.theme.fg); + g.fillCircle(previous_x, previous_y, 4); + g.setColor(g.theme.bg); + g.fillCircle(previous_x, previous_y, 3); + + // now display ourselves + g.setColor(g.theme.fgH); + g.fillCircle(half_width, half_height, 5); + } } class Path { - constructor(filename) { - let buffer = require("Storage").readArrayBuffer(filename); - let offset = 0; + constructor(filename) { + let buffer = require("Storage").readArrayBuffer(filename); + let offset = 0; - // header - let header = Uint16Array(buffer, offset, 5); - offset += 5 * 2; - let key = header[0]; - let version = header[1]; - let points_number = header[2]; - if ((key != code_key)||(version>file_version)) { - E.showMessage("Invalid gpc file"); - load(); + // header + let header = Uint16Array(buffer, offset, 5); + offset += 5 * 2; + let key = header[0]; + let version = header[1]; + let points_number = header[2]; + if (key != code_key || version > file_version) { + E.showMessage("Invalid gpc file"); + load(); + } + + // path points + this.points = Float64Array(buffer, offset, points_number * 2); + offset += 8 * points_number * 2; + + // path waypoints + let waypoints_len = Math.ceil(points_number / 8.0); + this.waypoints = Uint8Array(buffer, offset, waypoints_len); + offset += waypoints_len; + + // interest points + let interests_number = header[3]; + this.interests_coordinates = Float64Array( + buffer, + offset, + interests_number * 2 + ); + offset += 8 * interests_number * 2; + this.interests_types = Uint8Array(buffer, offset, interests_number); + offset += interests_number; + + // interests on path + let interests_on_path_number = header[4]; + this.interests_on_path = Uint16Array( + buffer, + offset, + interests_on_path_number + ); + offset += 2 * interests_on_path_number; + let starts_length = Math.ceil(interests_on_path_number / 5.0); + this.interests_starts = Uint16Array(buffer, offset, starts_length); + offset += 2 * starts_length; + } + + is_waypoint(point_index) { + return this.waypoints[Math.floor(point_index / 8)] & point_index % 8; + } + + // execute op on all segments. + // start is index of first wanted segment + // end is 1 after index of last wanted segment + on_segments(op, start, end) { + let previous_point = null; + for (let i = start; i < end + 1; i++) { + let point = new Point(this.points[2 * i], this.points[2 * i + 1]); + if (previous_point !== null) { + op(previous_point, point, i); + } + previous_point = point; + } + } + + // return point at given index + point(index) { + let lon = this.points[2 * index]; + let lat = this.points[2 * index + 1]; + return new Point(lon, lat); + } + + interest_point(index) { + let lon = this.interests_coordinates[2 * index]; + let lat = this.interests_coordinates[2 * index + 1]; + return new Point(lon, lat); + } + + interest_color(index) { + return interests_colors[this.interests_types[index]]; + } + + // return index of segment which is nearest from point. + // we need a direction because we need there is an ambiguity + // for overlapping segments which are taken once to go and once to come back. + // (in the other direction). + nearest_segment(point, start, end, cos_direction, sin_direction) { + // we are going to compute two min distances, one for each direction. + let indices = [0, 0]; + let mins = [Number.MAX_VALUE, Number.MAX_VALUE]; + this.on_segments( + function (p1, p2, i) { + // we use the dot product to figure out if oriented correctly + let distance = point.fake_distance_to_segment(p1, p2); + let diff = p2.minus(p1); + let dot = cos_direction * diff.lon + sin_direction * diff.lat; + let orientation = +(dot < 0); // index 0 is good orientation + if (distance <= mins[orientation]) { + mins[orientation] = distance; + indices[orientation] = i - 1; } - - // path points - this.points = Float64Array(buffer, offset, points_number*2); - offset += 8 * points_number * 2; - - // path waypoints - let waypoints_len = Math.ceil(points_number / 8.0); - this.waypoints = Uint8Array(buffer, offset, waypoints_len); - offset += waypoints_len; - - // interest points - let interests_number = header[3]; - this.interests_coordinates = Float64Array(buffer, offset, interests_number * 2); - offset += 8 * interests_number * 2; - this.interests_types = Uint8Array(buffer, offset, interests_number); - offset += interests_number; - - // interests on path - let interests_on_path_number = header[4]; - this.interests_on_path = Uint16Array(buffer, offset, interests_on_path_number); - offset += 2 * interests_on_path_number; - let starts_length = Math.ceil(interests_on_path_number / 5.0); - this.interests_starts = Uint16Array(buffer, offset, starts_length); - offset += 2 * starts_length; - } - - is_waypoint(point_index) { - return (this.waypoints[Math.floor(point_index / 8)] & (point_index % 8)); - } - - // execute op on all segments. - // start is index of first wanted segment - // end is 1 after index of last wanted segment - on_segments(op, start, end) { - let previous_point = null; - for (let i = start; i < end + 1; i++) { - let point = new Point(this.points[2 * i], this.points[2 * i + 1]); - if (previous_point !== null) { - op(previous_point, point, i); - } - previous_point = point; - } - } - - // return point at given index - point(index) { - let lon = this.points[2 * index]; - let lat = this.points[2 * index + 1]; - return new Point(lon, lat); - } - - interest_point(index) { - let lon = this.interests_coordinates[2 * index]; - let lat = this.interests_coordinates[2 * index + 1]; - return new Point(lon, lat); - } - - interest_color(index) { - return interests_colors[this.interests_types[index]]; - } - - // return index of segment which is nearest from point. - // we need a direction because we need there is an ambiguity - // for overlapping segments which are taken once to go and once to come back. - // (in the other direction). - nearest_segment(point, start, end, cos_direction, sin_direction) { - // we are going to compute two min distances, one for each direction. - let indices = [0, 0]; - let mins = [Number.MAX_VALUE, Number.MAX_VALUE]; - this.on_segments(function(p1, p2, i) { - // we use the dot product to figure out if oriented correctly - let distance = point.fake_distance_to_segment(p1, p2); - let diff = p2.minus(p1); - let dot = cos_direction * diff.lon + sin_direction * diff.lat; - let orientation = + (dot < 0); // index 0 is good orientation - if (distance <= mins[orientation]) { - mins[orientation] = distance; - indices[orientation] = i - 1; - } - }, start, end); - // by default correct orientation (0) wins - // but if other one is really closer, return other one - if (mins[1] < mins[0] / 10.0) { - return indices[1]; - } else { - return indices[0]; - } - } - get len() { - return this.points.length / 2; + }, + start, + end + ); + // by default correct orientation (0) wins + // but if other one is really closer, return other one + if (mins[1] < mins[0] / 10.0) { + return indices[1]; + } else { + return indices[0]; } + } + get len() { + return this.points.length / 2; + } } class Point { - constructor(lon, lat) { - this.lon = lon; - this.lat = lat; - } - coordinates(current_position, cos_direction, sin_direction) { - let translated = this.minus(current_position).times(40000.0); - let rotated_x = translated.lon * cos_direction - translated.lat * sin_direction; - let rotated_y = translated.lon * sin_direction + translated.lat * cos_direction; - return [ - g.getWidth() / 2 - Math.round(rotated_x), // x is inverted - g.getHeight() / 2 + Math.round(rotated_y) - ]; - } - minus(other_point) { - let xdiff = this.lon - other_point.lon; - let ydiff = this.lat - other_point.lat; - return new Point(xdiff, ydiff); - } - plus(other_point) { - return new Point(this.lon + other_point.lon, this.lat + other_point.lat); - } - length_squared(other_point) { - let d = this.minus(other_point); - return (d.lon * d.lon + d.lat * d.lat); - } - times(scalar) { - return new Point(this.lon * scalar, this.lat * scalar); - } - dot(other_point) { - return this.lon * other_point.lon + this.lat * other_point.lat; - } - distance(other_point) { - //see https://www.movable-type.co.uk/scripts/latlong.html - const R = 6371e3; // metres - const phi1 = this.lat * Math.PI / 180; - const phi2 = other_point.lat * Math.PI / 180; - const deltaphi = (other_point.lat - this.lat) * Math.PI / 180; - const deltalambda = (other_point.lon - this.lon) * Math.PI / 180; + constructor(lon, lat) { + this.lon = lon; + this.lat = lat; + } + coordinates(current_position, cos_direction, sin_direction) { + let translated = this.minus(current_position).times(40000.0); + let rotated_x = + translated.lon * cos_direction - translated.lat * sin_direction; + let rotated_y = + translated.lon * sin_direction + translated.lat * cos_direction; + return [ + g.getWidth() / 2 - Math.round(rotated_x), // x is inverted + g.getHeight() / 2 + Math.round(rotated_y), + ]; + } + minus(other_point) { + let xdiff = this.lon - other_point.lon; + let ydiff = this.lat - other_point.lat; + return new Point(xdiff, ydiff); + } + plus(other_point) { + return new Point(this.lon + other_point.lon, this.lat + other_point.lat); + } + length_squared(other_point) { + let d = this.minus(other_point); + return d.lon * d.lon + d.lat * d.lat; + } + times(scalar) { + return new Point(this.lon * scalar, this.lat * scalar); + } + dot(other_point) { + return this.lon * other_point.lon + this.lat * other_point.lat; + } + distance(other_point) { + //see https://www.movable-type.co.uk/scripts/latlong.html + const R = 6371e3; // metres + const phi1 = (this.lat * Math.PI) / 180; + const phi2 = (other_point.lat * Math.PI) / 180; + const deltaphi = ((other_point.lat - this.lat) * Math.PI) / 180; + const deltalambda = ((other_point.lon - this.lon) * Math.PI) / 180; - const a = Math.sin(deltaphi / 2) * Math.sin(deltaphi / 2) + - Math.cos(phi1) * Math.cos(phi2) * - Math.sin(deltalambda / 2) * Math.sin(deltalambda / 2); - const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + const a = + Math.sin(deltaphi / 2) * Math.sin(deltaphi / 2) + + Math.cos(phi1) * + Math.cos(phi2) * + Math.sin(deltalambda / 2) * + Math.sin(deltalambda / 2); + const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); - return R * c; // in metres + return R * c; // in metres + } + fake_distance(other_point) { + return Math.sqrt(this.length_squared(other_point)); + } + fake_distance_to_segment(v, w) { + // from : https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment + // Return minimum distance between line segment vw and point p + let l2 = v.length_squared(w); // i.e. |w-v|^2 - avoid a sqrt + if (l2 == 0.0) { + return this.distance(v); // v == w case } - fake_distance(other_point) { - return Math.sqrt(this.length_squared(other_point)); - } - fake_distance_to_segment(v, w) { - // from : https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment - // Return minimum distance between line segment vw and point p - let l2 = v.length_squared(w); // i.e. |w-v|^2 - avoid a sqrt - if (l2 == 0.0) { - return this.distance(v); // v == w case - } - // Consider the line extending the segment, parameterized as v + t (w - v). - // We find projection of point p onto the line. - // It falls where t = [(p-v) . (w-v)] / |w-v|^2 - // We clamp t from [0,1] to handle points outside the segment vw. - let t = Math.max(0, Math.min(1, (this.minus(v)).dot(w.minus(v)) / l2)); + // Consider the line extending the segment, parameterized as v + t (w - v). + // We find projection of point p onto the line. + // It falls where t = [(p-v) . (w-v)] / |w-v|^2 + // We clamp t from [0,1] to handle points outside the segment vw. + let t = Math.max(0, Math.min(1, this.minus(v).dot(w.minus(v)) / l2)); - let projection = v.plus((w.minus(v)).times(t)); // Projection falls on the segment - return this.fake_distance(projection); - } + let projection = v.plus(w.minus(v).times(t)); // Projection falls on the segment + return this.fake_distance(projection); + } } - Bangle.loadWidgets(); - let fake_gps_point = 0.0; function simulate_gps(status) { - if (fake_gps_point > status.path.len -1) { - return; - } - let point_index = Math.floor(fake_gps_point); - if (point_index >= status.path.len) { - return; - } - let p1 = status.path.point(point_index); - let p2 = status.path.point(point_index + 1); + if (fake_gps_point > status.path.len - 1) { + return; + } + let point_index = Math.floor(fake_gps_point); + if (point_index >= status.path.len) { + return; + } + let p1 = status.path.point(point_index); + let p2 = status.path.point(point_index + 1); - let alpha = fake_gps_point - point_index; - let pos = p1.times(1-alpha).plus(p2.times(alpha)); - let old_pos = status.position; + let alpha = fake_gps_point - point_index; + let pos = p1.times(1 - alpha).plus(p2.times(alpha)); + let old_pos = status.position; - fake_gps_point += 0.2; // advance simulation - let direction = Math.atan2(pos.lat - old_pos.lat, pos.lon - old_pos.lon); - status.update_position(pos, direction); + fake_gps_point += 0.2; // advance simulation + let direction = Math.atan2(pos.lat - old_pos.lat, pos.lon - old_pos.lon); + status.update_position(pos, direction); } function drawMenu() { const menu = { - '': { 'title': 'choose trace' } + "": { title: "choose trace" }, }; var files = require("Storage").list(".gpc"); - for (var i=0; i Date: Fri, 22 Jul 2022 07:54:54 +0200 Subject: [PATCH 035/622] display lost/turn on screen to debug --- apps/gipy/app.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index a1b2a6453..8a05da4bd 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,4 +1,4 @@ -let simulated = true; +let simulated = false; let file_version = 3; let code_key = 47490; @@ -188,6 +188,17 @@ class Status { 0, g.getHeight() - 15 ); + + if (this.distance_to_next_point <= 20) { + g.setColor(0.0, 1.0, 0.0) + .setFont("6x8:2") + .drawString("turn", g.getWidth() - 40, 35); + } + if (!this.on_path) { + g.setColor(1.0, 0.0, 0.0) + .setFont("6x8:2") + .drawString("lost", g.getWidth() - 40, 60); + } } display_map() { // don't display all segments, only those neighbouring current segment From d3fcc943e6c7bcc10c1b7d236891e9965edb5048 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 22 Jul 2022 09:49:33 +0200 Subject: [PATCH 036/622] small bug fixes --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 20 ++++++++++++-------- apps/gipy/app.js | 31 ++++++++++++++++++------------- apps/gipy/gpconv/src/osm.rs | 4 ++-- 4 files changed, 33 insertions(+), 23 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 43f112202..19d8f7b55 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -29,3 +29,4 @@ * Display performances enhancement. * Waypoints information is embedded in file and extracted from comments on points. + * Bugfix in map display (last segment was missing + wrong colors). diff --git a/apps/gipy/TODO b/apps/gipy/TODO index f0dac6b2f..923390335 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,20 +1,24 @@ +* bugs + +- waypoints seem wrong - direction is still shitty on gps +- we are always lost +- meters seem to be a bit too long -- code is becoming messy +* additional features - turn off gps when moving to next waypoint - display distance to next water/toilet - display distance to next waypoint - -- meters seem to be a bit too long - -- buzzing does not work nicely - -> is_lost seems fishy - -> we need a display on top of buzz - - display average speed - dynamic map rescale - display scale (100m) - compress path ? + +* misc + +- code is becoming messy + + diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 8a05da4bd..6ed2546e9 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -3,10 +3,10 @@ let file_version = 3; let code_key = 47490; let interests_colors = [ - 0x780f, // Bakery, purple + 0xf800, // Bakery, red 0x001f, // DrinkingWater, blue 0x07ff, // Toilets, cyan - 0xfd20, // Artwork, orange + 0x07e0, // Artwork, green ]; function binary_search(array, x) { @@ -118,12 +118,11 @@ class Status { ); } is_lost(segment) { - let distance_to_nearest = this.position.fake_distance_to_segment( + let distance_to_nearest = this.position.distance_to_segment( this.path.point(segment), this.path.point(segment + 1) ); - let meters = 6371e3 * distance_to_nearest; - return meters > 20; + return distance_to_nearest > 20; } display() { g.clear(); @@ -181,7 +180,7 @@ class Status { "seg." + (this.current_segment + 1) + "/" + - this.path.len + + (this.path.len - 1) + " " + this.distance_to_next_point + "m", @@ -192,12 +191,12 @@ class Status { if (this.distance_to_next_point <= 20) { g.setColor(0.0, 1.0, 0.0) .setFont("6x8:2") - .drawString("turn", g.getWidth() - 40, 35); + .drawString("turn", g.getWidth() - 55, 35); } if (!this.on_path) { g.setColor(1.0, 0.0, 0.0) .setFont("6x8:2") - .drawString("lost", g.getWidth() - 40, 60); + .drawString("lost", g.getWidth() - 55, 35); } } display_map() { @@ -207,7 +206,7 @@ class Status { // // note that all code is inlined here to speed things up from 400ms to 200ms let start = Math.max(this.current_segment - 3, 0); - let end = Math.min(this.current_segment + 5, this.path.len - 1); + let end = Math.min(this.current_segment + 5, this.path.len); let pos = this.position; let cos = this.cos_direction; let sin = this.sin_direction; @@ -436,12 +435,12 @@ class Point { Math.sin(deltalambda / 2); const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); - return R * c; // in metres + return R * c; // in meters } fake_distance(other_point) { return Math.sqrt(this.length_squared(other_point)); } - fake_distance_to_segment(v, w) { + closest_segment_point(v, w) { // from : https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment // Return minimum distance between line segment vw and point p let l2 = v.length_squared(w); // i.e. |w-v|^2 - avoid a sqrt @@ -453,8 +452,14 @@ class Point { // It falls where t = [(p-v) . (w-v)] / |w-v|^2 // We clamp t from [0,1] to handle points outside the segment vw. let t = Math.max(0, Math.min(1, this.minus(v).dot(w.minus(v)) / l2)); - - let projection = v.plus(w.minus(v).times(t)); // Projection falls on the segment + return v.plus(w.minus(v).times(t)); // Projection falls on the segment + } + distance_to_segment(v, w) { + let projection = this.closest_segment_point(v, w); + return this.distance(projection); + } + fake_distance_to_segment(v, w) { + let projection = this.closest_segment_point(v, w); return this.fake_distance(projection); } } diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs index 763b54be8..17425023a 100644 --- a/apps/gipy/gpconv/src/osm.rs +++ b/apps/gipy/gpconv/src/osm.rs @@ -31,12 +31,12 @@ impl Into for Interest { Interest::Bakery => 0, Interest::DrinkingWater => 1, Interest::Toilets => 2, - // Interest::BikeShop => 3, + // Interest::BikeShop => 8, // Interest::ChargingStation => 4, // Interest::Bank => 5, // Interest::Supermarket => 6, // Interest::Table => 7, - Interest::Artwork => 8, + Interest::Artwork => 3, // Interest::Pharmacy => 9, } } From f276e9e4f2ea91dc3752649642b5290c5d36112f Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 22 Jul 2022 13:50:53 +0200 Subject: [PATCH 037/622] trying some fixes for the various pb --- apps/gipy/ChangeLog | 2 + apps/gipy/TODO | 9 ++-- apps/gipy/app.js | 15 ++---- apps/gipy/gpconv/src/main.rs | 91 +++++++++++++----------------------- apps/gipy/gpconv/src/osm.rs | 27 +++++++++-- 5 files changed, 68 insertions(+), 76 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 19d8f7b55..1664fc513 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -30,3 +30,5 @@ * Waypoints information is embedded in file and extracted from comments on points. * Bugfix in map display (last segment was missing + wrong colors). + * Waypoint detections using OSM + sharp angles + * New algorith for direction detection diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 923390335..179b73b2c 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,19 +1,22 @@ * bugs -- waypoints seem wrong -- direction is still shitty on gps -- we are always lost - meters seem to be a bit too long +- direction is still shitty on gps ? +- we are always lost (done ?) +- waypoints seem wrong ? + * additional features +- display direction to nearest point - turn off gps when moving to next waypoint - display distance to next water/toilet - display distance to next waypoint - display average speed - dynamic map rescale - display scale (100m) +- get waypoints from osm - compress path ? diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 6ed2546e9..c77a40f24 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -541,16 +541,11 @@ function start(fn) { } } if (old_points.length == 4) { - // let's just take average angle of 3 previous segments - let angles_sum = 0; - for (let i = 0; i < 3; i++) { - let p1 = old_points[i]; - let p2 = old_points[i + 1]; - let diff = p2.minus(p1); - let angle = Math.atan2(diff.lat, diff.lon); - angles_sum += angle; - } - status.update_position(position, angles_sum / 3.0); + // let's just take angle of segment between oldest and newest point + let oldest = old_points[0]; + let diff = position.minus(oldest); + let angle = Math.atan2(diff.lat, diff.lon); + status.update_position(position, angle); } else { status.update_position(position, direction); } diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 57944e1bc..6794b5c2e 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -13,17 +13,26 @@ use osm::{parse_osm_data, InterestPoint}; const KEY: u16 = 47490; const FILE_VERSION: u16 = 3; -#[derive(Debug, PartialEq, Clone, Copy)] +#[derive(Debug, Clone, Copy)] pub struct Point { x: f64, y: f64, } +impl PartialEq for Point { + fn eq(&self, other: &Self) -> bool { + (self.x - other.x).abs() < 0.0005 && (self.y - other.y).abs() < 0.0005 + } +} impl Eq for Point {} impl std::hash::Hash for Point { fn hash(&self, state: &mut H) { - unsafe { std::mem::transmute::(self.x) }.hash(state); - unsafe { std::mem::transmute::(self.y) }.hash(state); + let x = format!("{:.4}", self.x); + let y = format!("{:.4}", self.y); + x.hash(state); + y.hash(state); + // unsafe { std::mem::transmute::(self.x) }.hash(state); + // unsafe { std::mem::transmute::(self.y) }.hash(state); } } @@ -58,7 +67,7 @@ impl Point { } } -fn points(filename: &str) -> Vec> { +fn points(filename: &str) -> Vec { let file = File::open(filename).unwrap(); let reader = BufReader::new(file); @@ -66,38 +75,15 @@ fn points(filename: &str) -> Vec> { let mut gpx: Gpx = read(reader).unwrap(); eprintln!("we have {} tracks", gpx.tracks.len()); - let mut points = Vec::new(); - - let mut iter = gpx - .tracks + gpx.tracks .pop() .unwrap() .segments .into_iter() - .flat_map(|segment| segment.points.into_iter()) - .map(|p| { - let geop = p.point(); - ( - Point { - x: geop.x(), - y: geop.y(), - }, - p.comment.is_some(), - ) - }) - .dedup(); - let mut current_segment = iter.next().map(|(p, _)| p).into_iter().collect::>(); - for (p, is_waypoint) in iter { - if is_waypoint { - points.push(current_segment); - current_segment = Vec::new(); - } - current_segment.push(p); - } - let last_point = current_segment.pop(); - points.push(current_segment); - points.extend(last_point.map(|p| vec![p])); - points + .flat_map(|segment| segment.linestring()) + .map(|c| c.x_y()) + .map(|(x, y)| Point { x, y }) + .collect() } // // NOTE: this angles idea could maybe be use to get dp from n^3 to n^2 @@ -553,7 +539,7 @@ fn save_svg<'a, P: AsRef, I: IntoIterator>( for point in interest_points { writeln!( &mut writer, - "", + "", point.point.x, point.point.y, point.color(), @@ -563,7 +549,7 @@ fn save_svg<'a, P: AsRef, I: IntoIterator>( waypoints.iter().try_for_each(|p| { writeln!( &mut writer, - "", + "", p.x, p.y, ) })?; @@ -572,11 +558,14 @@ fn save_svg<'a, P: AsRef, I: IntoIterator>( Ok(()) } -fn detect_waypoints(points: &[Point]) -> HashSet { +fn detect_waypoints(points: &[Point], osm_waypoints: &HashSet) -> HashSet { points .first() .into_iter() .chain(points.iter().tuple_windows().filter_map(|(p1, p2, p3)| { + if !osm_waypoints.contains(&p2) { + return None; + } let x1 = p2.x - p1.x; let y1 = p2.y - p1.y; let a1 = y1.atan2(x1); @@ -652,35 +641,21 @@ async fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); let osm_file = std::env::args().nth(2); eprintln!("input is {}", input_file); - let mut segmented_points = points(&input_file); - let p = segmented_points - .iter() - .flatten() - .copied() - .collect::>(); + let p = points(&input_file); eprintln!("initialy we have {} points", p.len()); + let rp = simplify_path(&p, 0.00015); + eprintln!("we now have {} points", rp.len()); - eprintln!("we have {} waypoints", segmented_points.len()); - - let mut waypoints = HashSet::new(); - let mut rp = Vec::new(); - for (i1, i2) in (0..segmented_points.len()).tuple_windows() { - if let [s1, s2] = &mut segmented_points[i1..=i2] { - s1.extend(s2.first().copied()); - waypoints.insert(s1.first().copied().unwrap()); - let mut simplified = simplify_path(&s1, 0.00015); - rp.append(&mut simplified); - rp.pop(); - } - } - rp.extend(segmented_points.last().and_then(|l| l.last()).copied()); - - let mut interests = if let Some(osm) = osm_file { + let (mut interests, osm_waypoints) = if let Some(osm) = osm_file { parse_osm_data(osm) } else { - Vec::new() + (Vec::new(), HashSet::new()) }; + + let waypoints = detect_waypoints(&rp, &osm_waypoints); + eprintln!("we found {} waypoints", waypoints.len()); + // let mut interests = parse_osm_data("isere.osm.pbf"); let buckets = position_interests_along_path(&mut interests, &rp, 0.001, 5, 3); // let i = get_openstreetmap_data(&rp).await; diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs index 17425023a..a862a3638 100644 --- a/apps/gipy/gpconv/src/osm.rs +++ b/apps/gipy/gpconv/src/osm.rs @@ -5,8 +5,8 @@ use openstreetmap_api::{ types::{BoundingBox, Credentials}, Openstreetmap, }; -use osmio::prelude::*; use osmio::OSMObjBase; +use osmio::{prelude::*, ObjId}; use std::collections::{HashMap, HashSet}; use std::path::Path; @@ -150,9 +150,11 @@ async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet interest_points } -pub fn parse_osm_data>(path: P) -> Vec { +pub fn parse_osm_data>(path: P) -> (Vec, HashSet) { let reader = osmio::read_pbf(path).ok(); - reader + let mut crossroads: HashMap = HashMap::new(); + let mut coordinates: HashMap = HashMap::new(); + let interests = reader .map(|mut reader| { let mut interests = Vec::new(); for obj in reader.objects() { @@ -167,13 +169,28 @@ pub fn parse_osm_data>(path: P) -> Vec { }) { interests.push(p); } + coordinates.insert(n.id(), Point { x: lon, y: lat }); }); } - osmio::obj_types::ArcOSMObj::Way(_) => {} + osmio::obj_types::ArcOSMObj::Way(w) => { + if !w.is_area() { + for node in w.nodes() { + *crossroads.entry(*node).or_default() += 1; + } + } + } osmio::obj_types::ArcOSMObj::Relation(_) => {} } } interests }) - .unwrap_or_default() + .unwrap_or_default(); + ( + interests, + crossroads + .iter() + .filter(|&(_, c)| *c >= 3) + .filter_map(|(id, _)| coordinates.get(&id).copied()) + .collect(), + ) } From f35967d5023e739d44aa0f6b28cb8900b366b591 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 22 Jul 2022 17:36:04 +0200 Subject: [PATCH 038/622] new algorithm for waypoints detection --- apps/gipy/gpconv/src/main.rs | 67 ++++++++++++++++++++++-------------- apps/gipy/gpconv/src/osm.rs | 12 +++---- 2 files changed, 47 insertions(+), 32 deletions(-) diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 6794b5c2e..2b463d312 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -1,4 +1,5 @@ use itertools::Itertools; +use osmio::ObjId; use std::collections::{HashMap, HashSet}; use std::fs::File; use std::io::{BufReader, BufWriter, Write}; @@ -549,7 +550,7 @@ fn save_svg<'a, P: AsRef, I: IntoIterator>( waypoints.iter().try_for_each(|p| { writeln!( &mut writer, - "", + "", p.x, p.y, ) })?; @@ -558,27 +559,40 @@ fn save_svg<'a, P: AsRef, I: IntoIterator>( Ok(()) } -fn detect_waypoints(points: &[Point], osm_waypoints: &HashSet) -> HashSet { +fn detect_waypoints( + points: &[Point], + osm_waypoints: &HashMap>, +) -> HashSet { points .first() .into_iter() - .chain(points.iter().tuple_windows().filter_map(|(p1, p2, p3)| { - if !osm_waypoints.contains(&p2) { - return None; - } - let x1 = p2.x - p1.x; - let y1 = p2.y - p1.y; - let a1 = y1.atan2(x1); - let x2 = p3.x - p2.x; - let y2 = p3.y - p2.y; - let a2 = y2.atan2(x2); - let a = (a2 - a1).abs(); - if a <= std::f64::consts::PI / 3.0 || a >= std::f64::consts::PI * 5.0 / 3.0 { - None - } else { - Some(p2) - } - })) + .chain( + points + .iter() + .filter_map(|p: &Point| -> Option<(&Point, &Vec)> { + osm_waypoints.get(p).map(|l| (p, l)) + }) + .tuple_windows() + .filter_map(|((p1, l1), (p2, _), (p3, l2))| { + if l1.iter().all(|e| !l2.contains(e)) { + let x1 = p2.x - p1.x; + let y1 = p2.y - p1.y; + let a1 = y1.atan2(x1); + let x2 = p3.x - p2.x; + let y2 = p3.y - p2.y; + let a2 = y2.atan2(x2); + let a = (a2 - a1).abs(); + if a <= std::f64::consts::PI / 4.0 || a >= std::f64::consts::PI * 7.0 / 4.0 + { + None + } else { + Some(p2) + } + } else { + None + } + }), + ) .chain(points.last().into_iter()) .copied() .collect::>() @@ -640,19 +654,20 @@ fn position_interests_along_path( async fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); let osm_file = std::env::args().nth(2); - eprintln!("input is {}", input_file); - let p = points(&input_file); - - eprintln!("initialy we have {} points", p.len()); - let rp = simplify_path(&p, 0.00015); - eprintln!("we now have {} points", rp.len()); let (mut interests, osm_waypoints) = if let Some(osm) = osm_file { parse_osm_data(osm) } else { - (Vec::new(), HashSet::new()) + (Vec::new(), HashMap::new()) }; + eprintln!("input is {}", input_file); + let p = points(&input_file); + eprintln!("initialy we have {} points", p.len()); + + let rp = simplify_path(&p, 0.00015); + eprintln!("we now have {} points", rp.len()); + let waypoints = detect_waypoints(&rp, &osm_waypoints); eprintln!("we found {} waypoints", waypoints.len()); diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs index a862a3638..69e417b23 100644 --- a/apps/gipy/gpconv/src/osm.rs +++ b/apps/gipy/gpconv/src/osm.rs @@ -150,9 +150,9 @@ async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet interest_points } -pub fn parse_osm_data>(path: P) -> (Vec, HashSet) { +pub fn parse_osm_data>(path: P) -> (Vec, HashMap>) { let reader = osmio::read_pbf(path).ok(); - let mut crossroads: HashMap = HashMap::new(); + let mut crossroads: HashMap> = HashMap::new(); let mut coordinates: HashMap = HashMap::new(); let interests = reader .map(|mut reader| { @@ -175,7 +175,7 @@ pub fn parse_osm_data>(path: P) -> (Vec, HashSet

{ if !w.is_area() { for node in w.nodes() { - *crossroads.entry(*node).or_default() += 1; + crossroads.entry(*node).or_default().push(w.id()); } } } @@ -188,9 +188,9 @@ pub fn parse_osm_data>(path: P) -> (Vec, HashSet

= 3) - .filter_map(|(id, _)| coordinates.get(&id).copied()) + .into_iter() + .filter(|(_, r)| r.len() >= 2) + .filter_map(|(id, l)| coordinates.get(&id).copied().map(|c| (c, l))) .collect(), ) } From 987a44990c9162fc2d7157ec04a13366493acb3b Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 22 Jul 2022 18:06:24 +0200 Subject: [PATCH 039/622] minor fixes --- apps/gipy/TODO | 3 --- apps/gipy/app.js | 17 +++++++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 179b73b2c..7383a0715 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -2,10 +2,7 @@ * bugs - meters seem to be a bit too long - - direction is still shitty on gps ? -- we are always lost (done ?) -- waypoints seem wrong ? * additional features diff --git a/apps/gipy/app.js b/apps/gipy/app.js index c77a40f24..4dc968b96 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -122,7 +122,7 @@ class Status { this.path.point(segment), this.path.point(segment + 1) ); - return distance_to_nearest > 20; + return distance_to_nearest > 30; } display() { g.clear(); @@ -181,7 +181,7 @@ class Status { (this.current_segment + 1) + "/" + (this.path.len - 1) + - " " + + " " + this.distance_to_next_point + "m", 0, @@ -189,9 +189,11 @@ class Status { ); if (this.distance_to_next_point <= 20) { - g.setColor(0.0, 1.0, 0.0) - .setFont("6x8:2") - .drawString("turn", g.getWidth() - 55, 35); + if (this.path.is_waypoint(this.reaching)) { + g.setColor(0.0, 1.0, 0.0) + .setFont("6x8:2") + .drawString("turn", g.getWidth() - 55, 35); + } } if (!this.on_path) { g.setColor(1.0, 0.0, 0.0) @@ -315,7 +317,10 @@ class Path { } is_waypoint(point_index) { - return this.waypoints[Math.floor(point_index / 8)] & point_index % 8; + let i = Math.floor(point_index / 8); + let subindex = point_index % 8; + let r = this.waypoints[i] & (1 << subindex); + return r != 0; } // execute op on all segments. From 3ee3ddc40307015cf0153a60c13408ff4f368cd3 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sat, 23 Jul 2022 08:21:53 +0200 Subject: [PATCH 040/622] better waypoints extraction --- apps/gipy/TODO | 1 + apps/gipy/gpconv/src/main.rs | 82 ++++++++++++++++++++++++++++++------ 2 files changed, 71 insertions(+), 12 deletions(-) diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 7383a0715..3316412a4 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -3,6 +3,7 @@ - meters seem to be a bit too long - direction is still shitty on gps ? +- menu is still active below map * additional features diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 2b463d312..51f4e5f1a 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -68,7 +68,7 @@ impl Point { } } -fn points(filename: &str) -> Vec { +fn points(filename: &str) -> Vec> { let file = File::open(filename).unwrap(); let reader = BufReader::new(file); @@ -76,15 +76,33 @@ fn points(filename: &str) -> Vec { let mut gpx: Gpx = read(reader).unwrap(); eprintln!("we have {} tracks", gpx.tracks.len()); - gpx.tracks + let mut segments = Vec::new(); + let mut current_segment = Vec::new(); + for (p, stop) in gpx + .tracks .pop() .unwrap() .segments .into_iter() - .flat_map(|segment| segment.linestring()) - .map(|c| c.x_y()) - .map(|(x, y)| Point { x, y }) - .collect() + .flat_map(|segment| segment.points.into_iter()) + .map(|p| { + let is_commented = p.comment.is_some(); + let (x, y) = p.point().x_y(); + (Point { x, y }, is_commented) + }) + { + current_segment.push(p); + if stop { + if current_segment.len() > 1 { + segments.push(current_segment); + current_segment = vec![p]; + } + } + } + if current_segment.len() > 1 { + segments.push(current_segment); + } + segments } // // NOTE: this angles idea could maybe be use to get dp from n^3 to n^2 @@ -661,20 +679,60 @@ async fn main() { (Vec::new(), HashMap::new()) }; - eprintln!("input is {}", input_file); + println!("input is {}", input_file); let p = points(&input_file); - eprintln!("initialy we have {} points", p.len()); - let rp = simplify_path(&p, 0.00015); - eprintln!("we now have {} points", rp.len()); + let mut waypoints; + let mut rp; + if p.len() == 1 { + // we don't have any waypoint information + println!("no waypoint information"); + println!("initially we had {} points", p[0].len()); + waypoints = detect_waypoints(&p[0], &osm_waypoints); - let waypoints = detect_waypoints(&rp, &osm_waypoints); - eprintln!("we found {} waypoints", waypoints.len()); + rp = Vec::new(); + let mut current_segment = Vec::new(); + let mut last = None; + for p in &p[0] { + current_segment.push(*p); + if waypoints.contains(p) { + if current_segment.len() > 1 { + let mut s = simplify_path(¤t_segment, 0.00015); + rp.append(&mut s); + last = rp.pop(); + current_segment = vec![*p]; + } + } + } + rp.extend(last); + println!("we now have {} points", rp.len()); + + eprintln!("we found {} waypoints", waypoints.len()); + } else { + println!("we have {} waypoints", p.len() + 1); + println!( + "initially we had {} points", + p.iter().map(|s| s.len()).sum::() - (p.len() - 1) + ); + waypoints = HashSet::new(); + rp = Vec::new(); + let mut last = None; + for segment in &p { + waypoints.insert(segment.first().copied().unwrap()); + waypoints.insert(segment.last().copied().unwrap()); + let mut s = simplify_path(segment, 0.00015); + rp.append(&mut s); + last = rp.pop(); + } + rp.extend(last); + println!("we now have {} points", rp.len()); + } // let mut interests = parse_osm_data("isere.osm.pbf"); let buckets = position_interests_along_path(&mut interests, &rp, 0.001, 5, 3); // let i = get_openstreetmap_data(&rp).await; // let i = HashSet::new(); + let p = p.into_iter().flatten().collect::>(); save_svg( "test.svg", &p, From 2eea84f01d119612a8ae4f621d2256fd4c156270 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sat, 23 Jul 2022 08:41:23 +0200 Subject: [PATCH 041/622] fonts change --- apps/gipy/ChangeLog | 3 +++ apps/gipy/app.js | 12 ++++++++---- apps/gipy/metadata.json | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 1664fc513..eeb484394 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -32,3 +32,6 @@ * Bugfix in map display (last segment was missing + wrong colors). * Waypoint detections using OSM + sharp angles * New algorith for direction detection + +0.11: + * Better fonts (more free space, still readable). diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 4dc968b96..8c8d6af65 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -174,8 +174,12 @@ class Status { let hours = now.getHours().toString(); g.setFont("6x8:2") .setColor(g.theme.fg) - .drawString(hours + ":" + minutes, 0, g.getHeight() - 49); - g.drawString("d. " + rounded_distance + "/" + total, 0, g.getHeight() - 32); + .drawString(hours + ":" + minutes, g.getWidth() - 50, g.getHeight() - 15); + g.setFont("6x15").drawString( + "d. " + rounded_distance + "/" + total, + 0, + g.getHeight() - 32 + ); g.drawString( "seg." + (this.current_segment + 1) + @@ -191,13 +195,13 @@ class Status { if (this.distance_to_next_point <= 20) { if (this.path.is_waypoint(this.reaching)) { g.setColor(0.0, 1.0, 0.0) - .setFont("6x8:2") + .setFont("6x15") .drawString("turn", g.getWidth() - 55, 35); } } if (!this.on_path) { g.setColor(1.0, 0.0, 0.0) - .setFont("6x8:2") + .setFont("6x15") .drawString("lost", g.getWidth() - 55, 35); } } diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 3673abb30..b2357490c 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.10", + "version": "0.11", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From 540bf2fef87ec405a774617a5c491e9363cc8512 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sat, 23 Jul 2022 11:00:59 +0200 Subject: [PATCH 042/622] minor improvements display direction to next point if lost bugfix: menu --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 2 -- apps/gipy/app.js | 15 +++++++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index eeb484394..4a49e98ea 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -35,3 +35,4 @@ 0.11: * Better fonts (more free space, still readable). + * Display direction to nearest point when lost. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 3316412a4..599e1196a 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -3,11 +3,9 @@ - meters seem to be a bit too long - direction is still shitty on gps ? -- menu is still active below map * additional features -- display direction to nearest point - turn off gps when moving to next waypoint - display distance to next water/toilet - display distance to next waypoint diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 8c8d6af65..8ece4aee4 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -211,8 +211,8 @@ class Status { // while lowering the cost a lot // // note that all code is inlined here to speed things up from 400ms to 200ms - let start = Math.max(this.current_segment - 3, 0); - let end = Math.min(this.current_segment + 5, this.path.len); + let start = Math.max(this.current_segment - 4, 0); + let end = Math.min(this.current_segment + 6, this.path.len); let pos = this.position; let cos = this.cos_direction; let sin = this.sin_direction; @@ -268,6 +268,16 @@ class Status { // now display ourselves g.setColor(g.theme.fgH); g.fillCircle(half_width, half_height, 5); + + // display direction to next point if lost + if (!this.on_path) { + let next_point = this.path.point(this.current_segment + 1); + let diff = next_point.minus(this.position); + let angle = Math.atan2(diff.lat, diff.lon); + let x = Math.cos(angle) * 30.0 + half_width; + let y = Math.sin(angle) * 30.0 + half_height; + g.setColor(g.theme.fgH).drawLine(half_width, half_height, x, y); + } } } @@ -511,6 +521,7 @@ function drawMenu() { } function start(fn) { + E.showMenu(); console.log("loading", fn); let path = new Path(fn); From 61d5e46e868ea08a35cb5f9daab3e03d4d76fc18 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sat, 23 Jul 2022 16:25:38 +0200 Subject: [PATCH 043/622] avg speed --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 3 +-- apps/gipy/app.js | 17 +++++++++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 4a49e98ea..f3a355f3a 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -36,3 +36,4 @@ 0.11: * Better fonts (more free space, still readable). * Display direction to nearest point when lost. + * Display average speed. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 599e1196a..be499a869 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -8,8 +8,7 @@ - turn off gps when moving to next waypoint - display distance to next water/toilet -- display distance to next waypoint -- display average speed + - dynamic map rescale - display scale (100m) - get waypoints from osm diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 8ece4aee4..7e94dd6c6 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,4 +1,4 @@ -let simulated = false; +let simulated = true; let file_version = 3; let code_key = 47490; @@ -44,6 +44,7 @@ class Status { previous_point = point; } this.remaining_distances = r; // how much distance remains at start of each segment + this.starting_time = getTime(); } update_position(new_position, direction) { if ( @@ -173,8 +174,20 @@ class Status { } let hours = now.getHours().toString(); g.setFont("6x8:2") + .setFontAlign(1, -1, 0) .setColor(g.theme.fg) - .drawString(hours + ":" + minutes, g.getWidth() - 50, g.getHeight() - 15); + .drawString(hours + ":" + minutes, g.getWidth(), g.getHeight() - 15); + + let done_distance = + this.remaining_distances[0] - + this.remaining_distances[this.current_segment + 1] - + this.distance_to_next_point; + let done_in = getTime() - this.starting_time; + let approximate_speed = Math.round(done_distance / done_in); + g.setFont("6x15") + .setFontAlign(-1, -1, 0) + .drawString("s." + approximate_speed + "km/h", 0, g.getHeight() - 49); + g.setFont("6x15").drawString( "d. " + rounded_distance + "/" + total, 0, From 054c72e11c3a351c3c707f10c52692e22f90af88 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sat, 23 Jul 2022 16:26:07 +0200 Subject: [PATCH 044/622] forgot simulation --- apps/gipy/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 7e94dd6c6..0f2fb0961 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,4 +1,4 @@ -let simulated = true; +let simulated = false; let file_version = 3; let code_key = 47490; From cb4ee0d8e9eb67ccd35f8ae8edd8999e16044e14 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 26 Jul 2022 08:43:52 +0200 Subject: [PATCH 045/622] debuging direction --- apps/gipy/app.js | 90 ++++++++++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 38 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 0f2fb0961..59a2009d6 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -45,15 +45,42 @@ class Status { } this.remaining_distances = r; // how much distance remains at start of each segment this.starting_time = getTime(); + this.old_points = []; } - update_position(new_position, direction) { - if ( - Bangle.isLocked() && - this.position !== null && - new_position.lon == this.position.lon && - new_position.lat == this.position.lat - ) { - return; + new_position_reached(position) { + // we try to figure out direction by looking at previous points + // instead of the gps course which is not very nice. + if (this.old_points.length == 0) { + this.old_points.push(position); + } else { + let last_point = this.old_points[this.old_points.length - 1]; + if (last_point.lon != position.lon || last_point.lat != position.lat) { + if (this.old_points.length == 4) { + this.old_points.shift(); + } + this.old_points.push(position); + } else { + return null; + } + } + if (this.old_points.length == 1) { + return null; + } else { + // let's just take angle of segment between oldest and newest point + let oldest = this.old_points[0]; + let diff = position.minus(oldest); + let angle = Math.atan2(diff.lat, diff.lon); + return angle; + } + } + update_position(new_position, maybe_direction) { + let direction = this.new_position_reached(new_position); + if (direction === null) { + if (maybe_direction === null) { + return; + } else { + direction = maybe_direction; + } } this.cos_direction = Math.cos(-direction - Math.PI / 2.0); @@ -63,8 +90,8 @@ class Status { // detect segment we are on now let next_segment = this.path.nearest_segment( this.position, - Math.max(0, this.current_segment - 1), - Math.min(this.current_segment + 2, this.path.len - 1), + Math.max(0, this.current_segment - 2), + Math.min(this.current_segment + 3, this.path.len - 1), this.cos_direction, this.sin_direction ); @@ -123,7 +150,7 @@ class Status { this.path.point(segment), this.path.point(segment + 1) ); - return distance_to_nearest > 30; + return distance_to_nearest > 50; } display() { g.clear(); @@ -282,6 +309,18 @@ class Status { g.setColor(g.theme.fgH); g.fillCircle(half_width, half_height, 5); + // display old points for direction debug + for (let i = 0; i < this.old_points.length; i++) { + let tx = (this.old_points[i].lon - cx) * 40000.0; + let ty = (this.old_points[i].lat - cy) * 40000.0; + let rotated_x = tx * cos - ty * sin; + let rotated_y = tx * sin + ty * cos; + let x = half_width - Math.round(rotated_x); // x is inverted + let y = half_height + Math.round(rotated_y); + g.setColor((i + 1) / 4.0, 0.0, 0.0); + g.fillCircle(x, y, 3); + } + // display direction to next point if lost if (!this.on_path) { let next_point = this.path.point(this.current_segment + 1); @@ -515,8 +554,7 @@ function simulate_gps(status) { let old_pos = status.position; fake_gps_point += 0.2; // advance simulation - let direction = Math.atan2(pos.lat - old_pos.lat, pos.lon - old_pos.lon); - status.update_position(pos, direction); + status.update_position(pos, null); } function drawMenu() { @@ -553,35 +591,11 @@ function start(fn) { status.update_position(p1, direction); let frame = 0; - let old_points = []; // remember the at most 3 previous points let set_coordinates = function (data) { frame += 1; let valid_coordinates = !isNaN(data.lat) && !isNaN(data.lon); if (valid_coordinates) { - // we try to figure out direction by looking at previous points - // instead of the gps course which is not very nice. - let direction = (data.course * Math.PI) / 180.0; - let position = new Point(data.lon, data.lat); - if (old_points.length == 0) { - old_points.push(position); - } else { - let last_point = old_points[old_points.length - 1]; - if (last_point.x != position.x || last_point.y != position.y) { - if (old_points.length == 4) { - old_points.shift(); - } - old_points.push(position); - } - } - if (old_points.length == 4) { - // let's just take angle of segment between oldest and newest point - let oldest = old_points[0]; - let diff = position.minus(oldest); - let angle = Math.atan2(diff.lat, diff.lon); - status.update_position(position, angle); - } else { - status.update_position(position, direction); - } + status.update_position(new Point(data.lon, data.lat), null); } let gps_status_color; if (frame % 2 == 0 || valid_coordinates) { From e022f5894f09329b73cd7d22c941496454d47936 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 26 Jul 2022 09:02:52 +0200 Subject: [PATCH 046/622] another non working waypoints detection algorithm --- apps/gipy/gpconv/src/main.rs | 64 ++++++++++++++++++++++-------------- apps/gipy/gpconv/src/osm.rs | 26 ++++++++------- 2 files changed, 53 insertions(+), 37 deletions(-) diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 51f4e5f1a..351e8a093 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -14,26 +14,38 @@ use osm::{parse_osm_data, InterestPoint}; const KEY: u16 = 47490; const FILE_VERSION: u16 = 3; -#[derive(Debug, Clone, Copy)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct Point { x: f64, y: f64, } -impl PartialEq for Point { - fn eq(&self, other: &Self) -> bool { - (self.x - other.x).abs() < 0.0005 && (self.y - other.y).abs() < 0.0005 - } -} impl Eq for Point {} impl std::hash::Hash for Point { fn hash(&self, state: &mut H) { - let x = format!("{:.4}", self.x); - let y = format!("{:.4}", self.y); + unsafe { std::mem::transmute::(self.x) }.hash(state); + unsafe { std::mem::transmute::(self.y) }.hash(state); + } +} + +#[derive(Debug, Clone, Copy)] +pub struct APoint { + x: f64, + y: f64, +} + +impl PartialEq for APoint { + fn eq(&self, other: &Self) -> bool { + (self.x - other.x).abs() < 0.00005 && (self.y - other.y).abs() < 0.00005 + } +} +impl Eq for APoint {} +impl std::hash::Hash for APoint { + fn hash(&self, state: &mut H) { + let x = format!("{:.5}", self.x); + let y = format!("{:.5}", self.y); x.hash(state); y.hash(state); - // unsafe { std::mem::transmute::(self.x) }.hash(state); - // unsafe { std::mem::transmute::(self.y) }.hash(state); } } @@ -579,7 +591,7 @@ fn save_svg<'a, P: AsRef, I: IntoIterator>( fn detect_waypoints( points: &[Point], - osm_waypoints: &HashMap>, + osm_waypoints: &HashMap>, ) -> HashSet { points .first() @@ -588,24 +600,26 @@ fn detect_waypoints( points .iter() .filter_map(|p: &Point| -> Option<(&Point, &Vec)> { - osm_waypoints.get(p).map(|l| (p, l)) + osm_waypoints + .get(&APoint { x: p.x, y: p.y }) + .map(|l| (p, l)) }) .tuple_windows() .filter_map(|((p1, l1), (p2, _), (p3, l2))| { if l1.iter().all(|e| !l2.contains(e)) { - let x1 = p2.x - p1.x; - let y1 = p2.y - p1.y; - let a1 = y1.atan2(x1); - let x2 = p3.x - p2.x; - let y2 = p3.y - p2.y; - let a2 = y2.atan2(x2); - let a = (a2 - a1).abs(); - if a <= std::f64::consts::PI / 4.0 || a >= std::f64::consts::PI * 7.0 / 4.0 - { - None - } else { - Some(p2) - } + // let x1 = p2.x - p1.x; + // let y1 = p2.y - p1.y; + // let a1 = y1.atan2(x1); + // let x2 = p3.x - p2.x; + // let y2 = p3.y - p2.y; + // let a2 = y2.atan2(x2); + // let a = (a2 - a1).abs(); + // if a <= std::f64::consts::PI / 4.0 || a >= std::f64::consts::PI * 7.0 / 4.0 + // { + // None + // } else { + Some(p2) + // } } else { None } diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs index 69e417b23..a862c22ca 100644 --- a/apps/gipy/gpconv/src/osm.rs +++ b/apps/gipy/gpconv/src/osm.rs @@ -1,4 +1,4 @@ -use super::Point; +use super::{APoint, Point}; use itertools::Itertools; use lazy_static::lazy_static; use openstreetmap_api::{ @@ -150,10 +150,12 @@ async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet interest_points } -pub fn parse_osm_data>(path: P) -> (Vec, HashMap>) { +pub fn parse_osm_data>( + path: P, +) -> (Vec, HashMap>) { let reader = osmio::read_pbf(path).ok(); let mut crossroads: HashMap> = HashMap::new(); - let mut coordinates: HashMap = HashMap::new(); + let mut coordinates: HashMap = HashMap::new(); let interests = reader .map(|mut reader| { let mut interests = Vec::new(); @@ -169,7 +171,7 @@ pub fn parse_osm_data>(path: P) -> (Vec, HashMap

{ @@ -185,12 +187,12 @@ pub fn parse_osm_data>(path: P) -> (Vec, HashMap

= 2) - .filter_map(|(id, l)| coordinates.get(&id).copied().map(|c| (c, l))) - .collect(), - ) + + let mut osm_waypoints: HashMap> = HashMap::new(); + for (node_id, ways) in crossroads.into_iter().filter(|(_, r)| r.len() >= 2) { + if let Some(c) = coordinates.get(&node_id).copied() { + osm_waypoints.entry(c).or_default().extend(ways) + } + } + (interests, osm_waypoints) } From e26aafc4faad043547b94fca30fb405bba23919a Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 26 Jul 2022 09:09:08 +0200 Subject: [PATCH 047/622] removed waypoints detection code --- apps/gipy/gpconv/src/main.rs | 87 +++--------------------------------- apps/gipy/gpconv/src/osm.rs | 29 +++--------- 2 files changed, 11 insertions(+), 105 deletions(-) diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 351e8a093..e85c358bc 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -28,27 +28,6 @@ impl std::hash::Hash for Point { } } -#[derive(Debug, Clone, Copy)] -pub struct APoint { - x: f64, - y: f64, -} - -impl PartialEq for APoint { - fn eq(&self, other: &Self) -> bool { - (self.x - other.x).abs() < 0.00005 && (self.y - other.y).abs() < 0.00005 - } -} -impl Eq for APoint {} -impl std::hash::Hash for APoint { - fn hash(&self, state: &mut H) { - let x = format!("{:.5}", self.x); - let y = format!("{:.5}", self.y); - x.hash(state); - y.hash(state); - } -} - impl Point { fn squared_distance_between(&self, other: &Point) -> f64 { let dx = other.x - self.x; @@ -589,47 +568,6 @@ fn save_svg<'a, P: AsRef, I: IntoIterator>( Ok(()) } -fn detect_waypoints( - points: &[Point], - osm_waypoints: &HashMap>, -) -> HashSet { - points - .first() - .into_iter() - .chain( - points - .iter() - .filter_map(|p: &Point| -> Option<(&Point, &Vec)> { - osm_waypoints - .get(&APoint { x: p.x, y: p.y }) - .map(|l| (p, l)) - }) - .tuple_windows() - .filter_map(|((p1, l1), (p2, _), (p3, l2))| { - if l1.iter().all(|e| !l2.contains(e)) { - // let x1 = p2.x - p1.x; - // let y1 = p2.y - p1.y; - // let a1 = y1.atan2(x1); - // let x2 = p3.x - p2.x; - // let y2 = p3.y - p2.y; - // let a2 = y2.atan2(x2); - // let a = (a2 - a1).abs(); - // if a <= std::f64::consts::PI / 4.0 || a >= std::f64::consts::PI * 7.0 / 4.0 - // { - // None - // } else { - Some(p2) - // } - } else { - None - } - }), - ) - .chain(points.last().into_iter()) - .copied() - .collect::>() -} - pub struct Bucket { points: Vec, start: usize, @@ -687,10 +625,10 @@ async fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); let osm_file = std::env::args().nth(2); - let (mut interests, osm_waypoints) = if let Some(osm) = osm_file { + let mut interests = if let Some(osm) = osm_file { parse_osm_data(osm) } else { - (Vec::new(), HashMap::new()) + Vec::new() }; println!("input is {}", input_file); @@ -702,25 +640,12 @@ async fn main() { // we don't have any waypoint information println!("no waypoint information"); println!("initially we had {} points", p[0].len()); - waypoints = detect_waypoints(&p[0], &osm_waypoints); - - rp = Vec::new(); - let mut current_segment = Vec::new(); - let mut last = None; - for p in &p[0] { - current_segment.push(*p); - if waypoints.contains(p) { - if current_segment.len() > 1 { - let mut s = simplify_path(¤t_segment, 0.00015); - rp.append(&mut s); - last = rp.pop(); - current_segment = vec![*p]; - } - } - } - rp.extend(last); + rp = simplify_path(&p[0], 0.00015); println!("we now have {} points", rp.len()); + waypoints = HashSet::new(); + waypoints.insert(rp.first().copied().unwrap()); + waypoints.insert(rp.last().copied().unwrap()); eprintln!("we found {} waypoints", waypoints.len()); } else { println!("we have {} waypoints", p.len() + 1); diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs index a862c22ca..596febb14 100644 --- a/apps/gipy/gpconv/src/osm.rs +++ b/apps/gipy/gpconv/src/osm.rs @@ -1,4 +1,4 @@ -use super::{APoint, Point}; +use super::Point; use itertools::Itertools; use lazy_static::lazy_static; use openstreetmap_api::{ @@ -150,13 +150,9 @@ async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet interest_points } -pub fn parse_osm_data>( - path: P, -) -> (Vec, HashMap>) { +pub fn parse_osm_data>(path: P) -> Vec { let reader = osmio::read_pbf(path).ok(); - let mut crossroads: HashMap> = HashMap::new(); - let mut coordinates: HashMap = HashMap::new(); - let interests = reader + reader .map(|mut reader| { let mut interests = Vec::new(); for obj in reader.objects() { @@ -171,28 +167,13 @@ pub fn parse_osm_data>( }) { interests.push(p); } - coordinates.insert(n.id(), APoint { x: lon, y: lat }); }); } - osmio::obj_types::ArcOSMObj::Way(w) => { - if !w.is_area() { - for node in w.nodes() { - crossroads.entry(*node).or_default().push(w.id()); - } - } - } + osmio::obj_types::ArcOSMObj::Way(w) => {} osmio::obj_types::ArcOSMObj::Relation(_) => {} } } interests }) - .unwrap_or_default(); - - let mut osm_waypoints: HashMap> = HashMap::new(); - for (node_id, ways) in crossroads.into_iter().filter(|(_, r)| r.len() >= 2) { - if let Some(c) = coordinates.get(&node_id).copied() { - osm_waypoints.entry(c).or_default().extend(ways) - } - } - (interests, osm_waypoints) + .unwrap_or_default() } From 84e9d12a097eeaf24754fd09c455228da02c0a84 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 26 Jul 2022 09:44:42 +0200 Subject: [PATCH 048/622] turn gps off --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 7 ++----- apps/gipy/app.js | 21 +++++++++++++++++---- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index f3a355f3a..e44322007 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -37,3 +37,4 @@ * Better fonts (more free space, still readable). * Display direction to nearest point when lost. * Display average speed. + * Turn off gps when locked and between points diff --git a/apps/gipy/TODO b/apps/gipy/TODO index be499a869..88b2e3f6c 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -2,16 +2,13 @@ * bugs - meters seem to be a bit too long -- direction is still shitty on gps ? +- segment detection could be better ? * additional features -- turn off gps when moving to next waypoint -- display distance to next water/toilet - +- display distance to next water/toilet ? - dynamic map rescale - display scale (100m) -- get waypoints from osm - compress path ? diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 59a2009d6..c8ca09791 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -124,6 +124,16 @@ class Status { this.distance_to_next_point = Math.ceil( this.position.distance(this.path.point(next_point)) ); + // disable gps when far from next point and locked + if (Bangle.isLocked()) { + let time_to_next_point = this.distance_to_next_point / 9.7; // 30km/h is 8.3 m/s + if (time_to_next_point > 30) { + Bangle.setGPSPower(false, "gipy"); + setTimeout(function () { + Bangle.setGPSPower(true, "gipy"); + }, time_to_next_point); + } + } if (this.reaching != next_point && this.distance_to_next_point <= 20) { this.reaching = next_point; let reaching_waypoint = this.path.is_waypoint(next_point); @@ -134,10 +144,8 @@ class Status { } } } - // re-display unless locked - if (!Bangle.isLocked() || simulated) { - this.display(); - } + // re-display + this.display(); } remaining_distance() { return ( @@ -610,6 +618,11 @@ function start(fn) { Bangle.setGPSPower(true, "gipy"); Bangle.on("GPS", set_coordinates); + Bangle.on("lock", function (on) { + if (!on) { + Bangle.setGPSPower(true, "gipy"); // activate gps when unlocking + } + }); } } From da72a24199341bd51f34b2fe70640a71c6737241 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 26 Jul 2022 16:59:04 +0200 Subject: [PATCH 049/622] bugfix for speed --- apps/gipy/ChangeLog | 3 +++ apps/gipy/TODO | 5 ++++- apps/gipy/app.js | 10 ++++------ apps/gipy/metadata.json | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index e44322007..1bfac278c 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -38,3 +38,6 @@ * Display direction to nearest point when lost. * Display average speed. * Turn off gps when locked and between points + +0.12: + * Bugfix in speed computation. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 88b2e3f6c..ac0b7416b 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,8 +1,11 @@ * bugs -- meters seem to be a bit too long - segment detection could be better ? +-----> we need to display debug info like which nearest point on which segment + very often you jump to next segment while still on current one +- it does not buzz very often on turns + * additional features diff --git a/apps/gipy/app.js b/apps/gipy/app.js index c8ca09791..c266532b1 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -200,7 +200,8 @@ class Status { } } display_stats() { - let rounded_distance = Math.round(this.remaining_distance() / 100) / 10; + let remaining_distance = this.remaining_distance(); + let rounded_distance = Math.round(remaining_distance / 100) / 10; let total = Math.round(this.remaining_distances[0] / 100) / 10; let now = new Date(); let minutes = now.getMinutes().toString(); @@ -213,12 +214,9 @@ class Status { .setColor(g.theme.fg) .drawString(hours + ":" + minutes, g.getWidth(), g.getHeight() - 15); - let done_distance = - this.remaining_distances[0] - - this.remaining_distances[this.current_segment + 1] - - this.distance_to_next_point; + let done_distance = this.remaining_distances[0] - remaining_distance; let done_in = getTime() - this.starting_time; - let approximate_speed = Math.round(done_distance / done_in); + let approximate_speed = Math.round((done_distance * 3.6) / done_in); g.setFont("6x15") .setFontAlign(-1, -1, 0) .drawString("s." + approximate_speed + "km/h", 0, g.getHeight() - 49); diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index b2357490c..2c31b1317 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.11", + "version": "0.12", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From b056f85a953c2fbe96471c45fe4a49ff46be09a9 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 27 Jul 2022 15:35:00 +0200 Subject: [PATCH 050/622] bugfix in segment detection --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 4 --- apps/gipy/app.js | 74 ++++++++++++++++++++++++++++----------------- 3 files changed, 47 insertions(+), 32 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 1bfac278c..bc68d442d 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -41,3 +41,4 @@ 0.12: * Bugfix in speed computation. + * Bugfix in current segment detection. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index ac0b7416b..203105909 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,12 +1,8 @@ * bugs -- segment detection could be better ? ------> we need to display debug info like which nearest point on which segment - very often you jump to next segment while still on current one - it does not buzz very often on turns - * additional features - display distance to next water/toilet ? diff --git a/apps/gipy/app.js b/apps/gipy/app.js index c266532b1..8931ac426 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -26,8 +26,8 @@ class Status { this.path = path; this.on_path = false; // are we on the path or lost ? this.position = null; // where we are - this.cos_direction = null; // cos of where we look at - this.sin_direction = null; // sin of where we look at + this.adjusted_cos_direction = null; // cos of where we look at + this.adjusted_sin_direction = null; // sin of where we look at this.current_segment = null; // which segment is closest this.reaching = null; // which waypoint are we reaching ? this.distance_to_next_point = null; // how far are we from next point ? @@ -82,18 +82,21 @@ class Status { direction = maybe_direction; } } + g.clear(); - this.cos_direction = Math.cos(-direction - Math.PI / 2.0); - this.sin_direction = Math.sin(-direction - Math.PI / 2.0); + this.adjusted_cos_direction = Math.cos(-direction - Math.PI / 2.0); + this.adjusted_sin_direction = Math.sin(-direction - Math.PI / 2.0); + cos_direction = Math.cos(direction); + sin_direction = Math.sin(direction); this.position = new_position; // detect segment we are on now let next_segment = this.path.nearest_segment( this.position, - Math.max(0, this.current_segment - 2), - Math.min(this.current_segment + 3, this.path.len - 1), - this.cos_direction, - this.sin_direction + Math.max(0, this.current_segment - 1), + Math.min(this.current_segment + 2, this.path.len - 1), + cos_direction, + sin_direction ); if (this.is_lost(next_segment)) { @@ -102,8 +105,8 @@ class Status { this.position, 0, this.path.len - 1, - this.cos_direction, - this.sin_direction + cos_direction, + sin_direction ); } // now check if we strayed away from path or back to it @@ -161,7 +164,7 @@ class Status { return distance_to_nearest > 50; } display() { - g.clear(); + //g.clear(); this.display_map(); this.display_interest_points(); this.display_stats(); @@ -193,8 +196,8 @@ class Status { let color = this.path.interest_color(i); let c = interest_point.coordinates( this.position, - this.cos_direction, - this.sin_direction + this.adjusted_cos_direction, + this.adjusted_sin_direction ); g.setColor(color).fillCircle(c[0], c[1], 5); } @@ -260,8 +263,8 @@ class Status { let start = Math.max(this.current_segment - 4, 0); let end = Math.min(this.current_segment + 6, this.path.len); let pos = this.position; - let cos = this.cos_direction; - let sin = this.sin_direction; + let cos = this.adjusted_cos_direction; + let sin = this.adjusted_sin_direction; let points = this.path.points; let cx = pos.lon; let cy = pos.lat; @@ -316,16 +319,16 @@ class Status { g.fillCircle(half_width, half_height, 5); // display old points for direction debug - for (let i = 0; i < this.old_points.length; i++) { - let tx = (this.old_points[i].lon - cx) * 40000.0; - let ty = (this.old_points[i].lat - cy) * 40000.0; - let rotated_x = tx * cos - ty * sin; - let rotated_y = tx * sin + ty * cos; - let x = half_width - Math.round(rotated_x); // x is inverted - let y = half_height + Math.round(rotated_y); - g.setColor((i + 1) / 4.0, 0.0, 0.0); - g.fillCircle(x, y, 3); - } + // for (let i = 0; i < this.old_points.length; i++) { + // let tx = (this.old_points[i].lon - cx) * 40000.0; + // let ty = (this.old_points[i].lat - cy) * 40000.0; + // let rotated_x = tx * cos - ty * sin; + // let rotated_y = tx * sin + ty * cos; + // let x = half_width - Math.round(rotated_x); // x is inverted + // let y = half_height + Math.round(rotated_y); + // g.setColor((i + 1) / 4.0, 0.0, 0.0); + // g.fillCircle(x, y, 3); + // } // display direction to next point if lost if (!this.on_path) { @@ -437,10 +440,25 @@ class Path { this.on_segments( function (p1, p2, i) { // we use the dot product to figure out if oriented correctly - let distance = point.fake_distance_to_segment(p1, p2); + // let distance = point.fake_distance_to_segment(p1, p2); + + let projection = point.closest_segment_point(p1, p2); + let distance = point.fake_distance(projection); + + // let d = projection.minus(point).times(40000.0); + // let rotated_x = d.lon * acos - d.lat * asin; + // let rotated_y = d.lon * asin + d.lat * acos; + // let x = g.getWidth() / 2 - Math.round(rotated_x); // x is inverted + // let y = g.getHeight() / 2 + Math.round(rotated_y); + // let diff = p2.minus(p1); let dot = cos_direction * diff.lon + sin_direction * diff.lat; let orientation = +(dot < 0); // index 0 is good orientation + // g.setColor(0.0, 0.0 + orientation, 1.0 - orientation).fillCircle( + // x, + // y, + // 10 + // ); if (distance <= mins[orientation]) { mins[orientation] = distance; indices[orientation] = i - 1; @@ -522,7 +540,7 @@ class Point { // Return minimum distance between line segment vw and point p let l2 = v.length_squared(w); // i.e. |w-v|^2 - avoid a sqrt if (l2 == 0.0) { - return this.distance(v); // v == w case + return v; // v == w case } // Consider the line extending the segment, parameterized as v + t (w - v). // We find projection of point p onto the line. @@ -559,7 +577,7 @@ function simulate_gps(status) { let pos = p1.times(1 - alpha).plus(p2.times(alpha)); let old_pos = status.position; - fake_gps_point += 0.2; // advance simulation + fake_gps_point += 0.05; // advance simulation status.update_position(pos, null); } From 0dfb187737f45f989ba788f70d6afeece63faafe Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 27 Jul 2022 17:21:51 +0200 Subject: [PATCH 051/622] more fix --- apps/gipy/ChangeLog | 1 + apps/gipy/app.js | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index bc68d442d..10a532e30 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -42,3 +42,4 @@ 0.12: * Bugfix in speed computation. * Bugfix in current segment detection. + * Bugfix : lost direction. diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 8931ac426..6b8cb0b9d 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -82,7 +82,6 @@ class Status { direction = maybe_direction; } } - g.clear(); this.adjusted_cos_direction = Math.cos(-direction - Math.PI / 2.0); this.adjusted_sin_direction = Math.sin(-direction - Math.PI / 2.0); @@ -164,7 +163,7 @@ class Status { return distance_to_nearest > 50; } display() { - //g.clear(); + g.clear(); this.display_map(); this.display_interest_points(); this.display_stats(); @@ -335,8 +334,8 @@ class Status { let next_point = this.path.point(this.current_segment + 1); let diff = next_point.minus(this.position); let angle = Math.atan2(diff.lat, diff.lon); - let x = Math.cos(angle) * 30.0 + half_width; - let y = Math.sin(angle) * 30.0 + half_height; + let x = Math.cos(-angle - Math.PI / 2) * 50.0 + half_width; + let y = Math.sin(-angle - Math.PI / 2) * 50.0 + half_height; g.setColor(g.theme.fgH).drawLine(half_width, half_height, x, y); } } From 70ad2339204ddda1f0f12f0d877cae68801fbac5 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 28 Jul 2022 08:23:17 +0200 Subject: [PATCH 052/622] better fonts --- apps/gipy/ChangeLog | 2 ++ apps/gipy/app.js | 53 +++++++++++++++++++++------------------------ 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 10a532e30..88d489161 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -43,3 +43,5 @@ * Bugfix in speed computation. * Bugfix in current segment detection. * Bugfix : lost direction. + * Larger fonts. + * Detecting next point correctly when going back. diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 6b8cb0b9d..c75944ce4 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,4 +1,4 @@ -let simulated = false; +let simulated = true; let file_version = 3; let code_key = 47490; @@ -90,23 +90,27 @@ class Status { this.position = new_position; // detect segment we are on now - let next_segment = this.path.nearest_segment( + let res = this.path.nearest_segment( this.position, Math.max(0, this.current_segment - 1), Math.min(this.current_segment + 2, this.path.len - 1), cos_direction, sin_direction ); + let orientation = res[0]; + let next_segment = res[1]; if (this.is_lost(next_segment)) { // it did not work, try anywhere - next_segment = this.path.nearest_segment( + res = this.path.nearest_segment( this.position, 0, this.path.len - 1, cos_direction, sin_direction ); + orientation = res[0]; + next_segment = res[1]; } // now check if we strayed away from path or back to it let lost = this.is_lost(next_segment); @@ -122,13 +126,13 @@ class Status { this.current_segment = next_segment; // check if we are nearing the next point on our path and alert the user - let next_point = this.current_segment + 1; + let next_point = this.current_segment + (1 - orientation); this.distance_to_next_point = Math.ceil( this.position.distance(this.path.point(next_point)) ); // disable gps when far from next point and locked if (Bangle.isLocked()) { - let time_to_next_point = this.distance_to_next_point / 9.7; // 30km/h is 8.3 m/s + let time_to_next_point = this.distance_to_next_point / 9.7; // 35km/h is 9.7 m/s if (time_to_next_point > 30) { Bangle.setGPSPower(false, "gipy"); setTimeout(function () { @@ -136,7 +140,7 @@ class Status { }, time_to_next_point); } } - if (this.reaching != next_point && this.distance_to_next_point <= 20) { + if (this.reaching != next_point && this.distance_to_next_point <= 50) { this.reaching = next_point; let reaching_waypoint = this.path.is_waypoint(next_point); if (reaching_waypoint) { @@ -212,39 +216,32 @@ class Status { } let hours = now.getHours().toString(); g.setFont("6x8:2") - .setFontAlign(1, -1, 0) + .setFontAlign(-1, -1, 0) .setColor(g.theme.fg) - .drawString(hours + ":" + minutes, g.getWidth(), g.getHeight() - 15); + .drawString(hours + ":" + minutes, 0, 30); let done_distance = this.remaining_distances[0] - remaining_distance; - let done_in = getTime() - this.starting_time; + let done_in = now.getTime() / 1000 - this.starting_time; let approximate_speed = Math.round((done_distance * 3.6) / done_in); - g.setFont("6x15") - .setFontAlign(-1, -1, 0) - .drawString("s." + approximate_speed + "km/h", 0, g.getHeight() - 49); - - g.setFont("6x15").drawString( - "d. " + rounded_distance + "/" + total, + g.setFont("6x8:2").drawString( + "" + this.distance_to_next_point + "m", 0, - g.getHeight() - 32 + g.getHeight() - 49 ); - g.drawString( - "seg." + - (this.current_segment + 1) + - "/" + - (this.path.len - 1) + - " " + - this.distance_to_next_point + - "m", + g.setFont("6x8:2") + .setFontAlign(-1, -1, 0) + .drawString("" + approximate_speed + "km/h", 0, g.getHeight() - 32); + g.setFont("6x8:2").drawString( + "" + rounded_distance + "/" + total, 0, g.getHeight() - 15 ); - if (this.distance_to_next_point <= 20) { + if (this.distance_to_next_point <= 50) { if (this.path.is_waypoint(this.reaching)) { g.setColor(0.0, 1.0, 0.0) .setFont("6x15") - .drawString("turn", g.getWidth() - 55, 35); + .drawString("turn", g.getWidth() - 50, 30); } } if (!this.on_path) { @@ -469,9 +466,9 @@ class Path { // by default correct orientation (0) wins // but if other one is really closer, return other one if (mins[1] < mins[0] / 10.0) { - return indices[1]; + return [1, indices[1]]; } else { - return indices[0]; + return [0, indices[0]]; } } get len() { From 9ccc958d1f577b85c10091abfc7bb3d5c2b15492 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 28 Jul 2022 08:38:04 +0200 Subject: [PATCH 053/622] simulated=false --- apps/gipy/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index c75944ce4..601e87c84 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -1,4 +1,4 @@ -let simulated = true; +let simulated = false; let file_version = 3; let code_key = 47490; From 038ec3ef3fdf8e5bb37b07e0960467075cc777a2 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sun, 14 Aug 2022 15:36:55 +0200 Subject: [PATCH 054/622] fix for lost direction - fix in display for lost direction - we can now debug current segment's point projection - tried loading gpx files but readLine does not work --- apps/gipy/app.js | 142 ++++++++++++++++++++++++++++++----------------- 1 file changed, 90 insertions(+), 52 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 601e87c84..a0eae054c 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -169,6 +169,7 @@ class Status { display() { g.clear(); this.display_map(); + this.display_interest_points(); this.display_stats(); Bangle.drawWidgets(); @@ -326,65 +327,98 @@ class Status { // g.fillCircle(x, y, 3); // } + // display current-segment's projection for debug + // let projection = pos.closest_segment_point( + // this.path.point(this.current_segment), + // this.path.point(this.current_segment + 1) + // ); + + // let tx = (projection.lon - cx) * 40000.0; + // let ty = (projection.lat - cy) * 40000.0; + // let rotated_x = tx * cos - ty * sin; + // let rotated_y = tx * sin + ty * cos; + // let x = half_width - Math.round(rotated_x); // x is inverted + // let y = half_height + Math.round(rotated_y); + // g.setColor(g.theme.fg); + // g.fillCircle(x, y, 4); + // display direction to next point if lost if (!this.on_path) { let next_point = this.path.point(this.current_segment + 1); let diff = next_point.minus(this.position); let angle = Math.atan2(diff.lat, diff.lon); - let x = Math.cos(-angle - Math.PI / 2) * 50.0 + half_width; - let y = Math.sin(-angle - Math.PI / 2) * 50.0 + half_height; + let tx = Math.cos(angle) * 50.0; + let ty = Math.sin(angle) * 50.0; + let rotated_x = tx * cos - ty * sin; + let rotated_y = tx * sin + ty * cos; + let x = half_width - Math.round(rotated_x); // x is inverted + let y = half_height + Math.round(rotated_y); g.setColor(g.theme.fgH).drawLine(half_width, half_height, x, y); } } } +function load_gpc(filename) { + let buffer = require("Storage").readArrayBuffer(filename); + let offset = 0; + + // header + let header = Uint16Array(buffer, offset, 5); + offset += 5 * 2; + let key = header[0]; + let version = header[1]; + let points_number = header[2]; + if (key != code_key || version > file_version) { + E.showMessage("Invalid gpc file"); + load(); + } + + // path points + let points = Float64Array(buffer, offset, points_number * 2); + offset += 8 * points_number * 2; + + // path waypoints + let waypoints_len = Math.ceil(points_number / 8.0); + let waypoints = Uint8Array(buffer, offset, waypoints_len); + offset += waypoints_len; + + // interest points + let interests_number = header[3]; + let interests_coordinates = Float64Array( + buffer, + offset, + interests_number * 2 + ); + offset += 8 * interests_number * 2; + let interests_types = Uint8Array(buffer, offset, interests_number); + offset += interests_number; + + // interests on path + let interests_on_path_number = header[4]; + let interests_on_path = Uint16Array(buffer, offset, interests_on_path_number); + offset += 2 * interests_on_path_number; + let starts_length = Math.ceil(interests_on_path_number / 5.0); + let interests_starts = Uint16Array(buffer, offset, starts_length); + offset += 2 * starts_length; + + return [ + points, + waypoints, + interests_coordinates, + interests_types, + interests_on_path, + interests_starts, + ]; +} + class Path { - constructor(filename) { - let buffer = require("Storage").readArrayBuffer(filename); - let offset = 0; - - // header - let header = Uint16Array(buffer, offset, 5); - offset += 5 * 2; - let key = header[0]; - let version = header[1]; - let points_number = header[2]; - if (key != code_key || version > file_version) { - E.showMessage("Invalid gpc file"); - load(); - } - - // path points - this.points = Float64Array(buffer, offset, points_number * 2); - offset += 8 * points_number * 2; - - // path waypoints - let waypoints_len = Math.ceil(points_number / 8.0); - this.waypoints = Uint8Array(buffer, offset, waypoints_len); - offset += waypoints_len; - - // interest points - let interests_number = header[3]; - this.interests_coordinates = Float64Array( - buffer, - offset, - interests_number * 2 - ); - offset += 8 * interests_number * 2; - this.interests_types = Uint8Array(buffer, offset, interests_number); - offset += interests_number; - - // interests on path - let interests_on_path_number = header[4]; - this.interests_on_path = Uint16Array( - buffer, - offset, - interests_on_path_number - ); - offset += 2 * interests_on_path_number; - let starts_length = Math.ceil(interests_on_path_number / 5.0); - this.interests_starts = Uint16Array(buffer, offset, starts_length); - offset += 2 * starts_length; + constructor(arrays) { + this.points = arrays[0]; + this.waypoints = arrays[1]; + this.interests_coordinates = arrays[2]; + this.interests_types = arrays[3]; + this.interests_on_path = arrays[4]; + this.interests_starts = arrays[5]; } is_waypoint(point_index) { @@ -566,14 +600,17 @@ function simulate_gps(status) { if (point_index >= status.path.len) { return; } - let p1 = status.path.point(point_index); - let p2 = status.path.point(point_index + 1); + let p1 = status.path.point(0); + let n = status.path.len; + let p2 = status.path.point(n - 1); + //let p1 = status.path.point(point_index); + //let p2 = status.path.point(point_index + 1); let alpha = fake_gps_point - point_index; let pos = p1.times(1 - alpha).plus(p2.times(alpha)); let old_pos = status.position; - fake_gps_point += 0.05; // advance simulation + fake_gps_point += 0.005; // advance simulation status.update_position(pos, null); } @@ -595,7 +632,8 @@ function start(fn) { E.showMenu(); console.log("loading", fn); - let path = new Path(fn); + // let path = new Path(load_gpx("test.gpx")); + let path = new Path(load_gpc(fn)); let status = new Status(path); if (simulated) { From c1276ef64e5dd4a94baf06c06e6310f16dde5bb1 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Sun, 14 Aug 2022 15:58:03 +0200 Subject: [PATCH 055/622] display projection to debug --- apps/gipy/ChangeLog | 3 +++ apps/gipy/app.js | 24 ++++++++++++------------ apps/gipy/metadata.json | 2 +- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 88d489161..2d03a25ba 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -45,3 +45,6 @@ * Bugfix : lost direction. * Larger fonts. * Detecting next point correctly when going back. + +0.13: + * Bugfix in lost direction. diff --git a/apps/gipy/app.js b/apps/gipy/app.js index a0eae054c..63b22598b 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -328,19 +328,19 @@ class Status { // } // display current-segment's projection for debug - // let projection = pos.closest_segment_point( - // this.path.point(this.current_segment), - // this.path.point(this.current_segment + 1) - // ); + let projection = pos.closest_segment_point( + this.path.point(this.current_segment), + this.path.point(this.current_segment + 1) + ); - // let tx = (projection.lon - cx) * 40000.0; - // let ty = (projection.lat - cy) * 40000.0; - // let rotated_x = tx * cos - ty * sin; - // let rotated_y = tx * sin + ty * cos; - // let x = half_width - Math.round(rotated_x); // x is inverted - // let y = half_height + Math.round(rotated_y); - // g.setColor(g.theme.fg); - // g.fillCircle(x, y, 4); + let tx = (projection.lon - cx) * 40000.0; + let ty = (projection.lat - cy) * 40000.0; + let rotated_x = tx * cos - ty * sin; + let rotated_y = tx * sin + ty * cos; + let x = half_width - Math.round(rotated_x); // x is inverted + let y = half_height + Math.round(rotated_y); + g.setColor(g.theme.fg); + g.fillCircle(x, y, 4); // display direction to next point if lost if (!this.on_path) { diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 2c31b1317..0a750559e 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.12", + "version": "0.13", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From 87441bad9b44c08505a938aefe71b4aec1ee0fa7 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Mon, 15 Aug 2022 08:08:54 +0200 Subject: [PATCH 056/622] minor tweaks --- apps/gipy/ChangeLog | 2 ++ apps/gipy/TODO | 3 ++- apps/gipy/app.js | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 2d03a25ba..679f7aefd 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -48,3 +48,5 @@ 0.13: * Bugfix in lost direction. + * Trying buzzing on all turns (when locked only). + * Buzzing 100m ahead instead of 50m. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 203105909..a4c797bae 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -1,7 +1,8 @@ * bugs -- it does not buzz very often on turns +- when exactly on turn, distance to next point is still often 50m + -----> it does not buzz very often on turns * additional features diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 63b22598b..d670a011a 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -133,18 +133,18 @@ class Status { // disable gps when far from next point and locked if (Bangle.isLocked()) { let time_to_next_point = this.distance_to_next_point / 9.7; // 35km/h is 9.7 m/s - if (time_to_next_point > 30) { + if (time_to_next_point > 60) { Bangle.setGPSPower(false, "gipy"); setTimeout(function () { Bangle.setGPSPower(true, "gipy"); }, time_to_next_point); } } - if (this.reaching != next_point && this.distance_to_next_point <= 50) { + if (this.reaching != next_point && this.distance_to_next_point <= 100) { this.reaching = next_point; let reaching_waypoint = this.path.is_waypoint(next_point); + Bangle.buzz(); if (reaching_waypoint) { - Bangle.buzz(); if (Bangle.isLocked()) { Bangle.setLocked(false); } @@ -238,7 +238,7 @@ class Status { g.getHeight() - 15 ); - if (this.distance_to_next_point <= 50) { + if (this.distance_to_next_point <= 100) { if (this.path.is_waypoint(this.reaching)) { g.setColor(0.0, 1.0, 0.0) .setFont("6x15") From 80aba894e715042b84245bb3644fba4fedbd008d Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Mon, 22 Aug 2022 17:14:23 +0200 Subject: [PATCH 057/622] sharp turns detection --- apps/gipy/gpconv/src/main.rs | 115 +++++++++++++++++++---------------- 1 file changed, 64 insertions(+), 51 deletions(-) diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index e85c358bc..716887264 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -59,7 +59,7 @@ impl Point { } } -fn points(filename: &str) -> Vec> { +fn points(filename: &str) -> (HashSet, Vec) { let file = File::open(filename).unwrap(); let reader = BufReader::new(file); @@ -67,9 +67,9 @@ fn points(filename: &str) -> Vec> { let mut gpx: Gpx = read(reader).unwrap(); eprintln!("we have {} tracks", gpx.tracks.len()); - let mut segments = Vec::new(); - let mut current_segment = Vec::new(); - for (p, stop) in gpx + let mut waypoints = HashSet::new(); + + let points = gpx .tracks .pop() .unwrap() @@ -79,21 +79,14 @@ fn points(filename: &str) -> Vec> { .map(|p| { let is_commented = p.comment.is_some(); let (x, y) = p.point().x_y(); - (Point { x, y }, is_commented) - }) - { - current_segment.push(p); - if stop { - if current_segment.len() > 1 { - segments.push(current_segment); - current_segment = vec![p]; + let p = Point { x, y }; + if is_commented { + waypoints.insert(p); } - } - } - if current_segment.len() > 1 { - segments.push(current_segment); - } - segments + p + }) + .collect::>(); + (waypoints, points) } // // NOTE: this angles idea could maybe be use to get dp from n^3 to n^2 @@ -495,7 +488,7 @@ fn hybrid_simplification(points: &[Point], epsilon: f64) -> Vec { fn save_path(writer: &mut W, p: &[Point], stroke: &str) -> std::io::Result<()> { write!( writer, - ", I: IntoIterator>( waypoints.iter().try_for_each(|p| { writeln!( &mut writer, - "", + "", p.x, p.y, ) })?; @@ -620,6 +613,38 @@ fn position_interests_along_path( buckets } +fn detect_sharp_turns(path: &[Point], waypoints: &mut HashSet) { + path.iter() + .tuple_windows() + .map(|(a, b, c)| { + let xd1 = b.x - a.x; + let yd1 = b.y - a.y; + let angle1 = yd1.atan2(xd1); + + let xd2 = c.x - b.x; + let yd2 = c.y - b.y; + let angle2 = yd2.atan2(xd2); + let adiff = angle2 - angle1; + let adiff = if adiff < 0.0 { + adiff + std::f64::consts::PI * 2.0 + } else { + adiff + }; + (adiff % std::f64::consts::PI, b) + }) + .filter_map(|(adiff, b)| { + let allowed = 4.0f64; + if adiff > (90.0 - allowed).to_radians() && adiff < (90.0 + allowed).to_radians() { + Some(b) + } else { + None + } + }) + .for_each(|b| { + waypoints.insert(*b); + }); +} + #[tokio::main] async fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); @@ -632,46 +657,34 @@ async fn main() { }; println!("input is {}", input_file); - let p = points(&input_file); + let (mut waypoints, p) = points(&input_file); - let mut waypoints; - let mut rp; - if p.len() == 1 { - // we don't have any waypoint information - println!("no waypoint information"); - println!("initially we had {} points", p[0].len()); - rp = simplify_path(&p[0], 0.00015); - println!("we now have {} points", rp.len()); + detect_sharp_turns(&p, &mut waypoints); + waypoints.insert(p.first().copied().unwrap()); + waypoints.insert(p.last().copied().unwrap()); + println!("we have {} waypoints", waypoints.len()); - waypoints = HashSet::new(); - waypoints.insert(rp.first().copied().unwrap()); - waypoints.insert(rp.last().copied().unwrap()); - eprintln!("we found {} waypoints", waypoints.len()); - } else { - println!("we have {} waypoints", p.len() + 1); - println!( - "initially we had {} points", - p.iter().map(|s| s.len()).sum::() - (p.len() - 1) - ); - waypoints = HashSet::new(); - rp = Vec::new(); - let mut last = None; - for segment in &p { - waypoints.insert(segment.first().copied().unwrap()); - waypoints.insert(segment.last().copied().unwrap()); - let mut s = simplify_path(segment, 0.00015); - rp.append(&mut s); - last = rp.pop(); + println!("initially we had {} points", p.len()); + + let mut rp = Vec::new(); + let mut segment = Vec::new(); + for point in &p { + segment.push(*point); + if waypoints.contains(point) { + if segment.len() >= 2 { + let mut s = simplify_path(&segment, 0.00015); + rp.append(&mut s); + segment = rp.pop().into_iter().collect(); + } } - rp.extend(last); - println!("we now have {} points", rp.len()); } + rp.append(&mut segment); + println!("we now have {} points", rp.len()); // let mut interests = parse_osm_data("isere.osm.pbf"); let buckets = position_interests_along_path(&mut interests, &rp, 0.001, 5, 3); // let i = get_openstreetmap_data(&rp).await; // let i = HashSet::new(); - let p = p.into_iter().flatten().collect::>(); save_svg( "test.svg", &p, From ddea6250243d5cb70bf8ec9dd545ab7d7dc73faf Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 23 Aug 2022 07:40:50 +0200 Subject: [PATCH 058/622] todo --- apps/gipy/TODO | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/gipy/TODO b/apps/gipy/TODO index a4c797bae..34d96b568 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -4,8 +4,16 @@ - when exactly on turn, distance to next point is still often 50m -----> it does not buzz very often on turns +- when going backwards we have a tendencing to get a wrong current_segment + * additional features +- average speed becomes invalid if you stop and restart + - pause when not moving + - figure starting point + +- we need to buzz 200m before sharp turns (or even better, 30seconds) + - display distance to next water/toilet ? - dynamic map rescale - display scale (100m) From 5147008f00eada0b11ae1aaa537b90c4a1ec5cb1 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 23 Aug 2022 07:57:10 +0200 Subject: [PATCH 059/622] minor changes --- apps/gipy/ChangeLog | 2 +- apps/gipy/TODO | 1 + apps/gipy/app.js | 7 ++++++- apps/gipy/gpconv/src/main.rs | 14 +++++++++++--- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 679f7aefd..410cf992a 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -48,5 +48,5 @@ 0.13: * Bugfix in lost direction. - * Trying buzzing on all turns (when locked only). * Buzzing 100m ahead instead of 50m. + * Detect sharp turns. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 34d96b568..3681f4db0 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -13,6 +13,7 @@ - figure starting point - we need to buzz 200m before sharp turns (or even better, 30seconds) +(and look at more than next point) - display distance to next water/toilet ? - dynamic map rescale diff --git a/apps/gipy/app.js b/apps/gipy/app.js index d670a011a..11b2220f3 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -119,6 +119,8 @@ class Status { if (lost) { Bangle.buzz(); // we lost path setTimeout(() => Bangle.buzz(), 500); + setTimeout(() => Bangle.buzz(), 1000); + setTimeout(() => Bangle.buzz(), 1500); } this.on_path = !lost; } @@ -143,8 +145,11 @@ class Status { if (this.reaching != next_point && this.distance_to_next_point <= 100) { this.reaching = next_point; let reaching_waypoint = this.path.is_waypoint(next_point); - Bangle.buzz(); if (reaching_waypoint) { + Bangle.buzz(); + setTimeout(() => Bangle.buzz(), 500); + setTimeout(() => Bangle.buzz(), 1000); + setTimeout(() => Bangle.buzz(), 1500); if (Bangle.isLocked()) { Bangle.setLocked(false); } diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index 716887264..a0df30327 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -11,6 +11,9 @@ use gpx::Gpx; mod osm; use osm::{parse_osm_data, InterestPoint}; +const LOWER_SHARP_TURN: f64 = 45.0 * std::f64::consts::PI / 180.0; +const UPPER_SHARP_TURN: f64 = std::f64::consts::PI * 2.0 - LOWER_SHARP_TURN; + const KEY: u16 = 47490; const FILE_VERSION: u16 = 3; @@ -633,8 +636,7 @@ fn detect_sharp_turns(path: &[Point], waypoints: &mut HashSet) { (adiff % std::f64::consts::PI, b) }) .filter_map(|(adiff, b)| { - let allowed = 4.0f64; - if adiff > (90.0 - allowed).to_radians() && adiff < (90.0 + allowed).to_radians() { + if adiff > LOWER_SHARP_TURN && adiff < UPPER_SHARP_TURN { Some(b) } else { None @@ -694,5 +696,11 @@ async fn main() { ) .unwrap(); - save_gpc("test.gpc", &rp, &waypoints, &buckets).unwrap(); + save_gpc( + Path::new(&input_file).with_extension("gpc"), + &rp, + &waypoints, + &buckets, + ) + .unwrap(); } From f533887975d313772053b759f1b42762f84cecd6 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 23 Aug 2022 11:19:19 +0200 Subject: [PATCH 060/622] bugfix in sharp turns detect --- apps/gipy/gpconv/Cargo.lock | 863 +---------------------------------- apps/gipy/gpconv/Cargo.toml | 2 - apps/gipy/gpconv/src/main.rs | 7 +- apps/gipy/gpconv/src/osm.rs | 63 --- 4 files changed, 4 insertions(+), 931 deletions(-) diff --git a/apps/gipy/gpconv/Cargo.lock b/apps/gipy/gpconv/Cargo.lock index 50bc76cb4..c280558cd 100644 --- a/apps/gipy/gpconv/Cargo.lock +++ b/apps/gipy/gpconv/Cargo.lock @@ -61,36 +61,18 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base64" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" - [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -[[package]] -name = "bumpalo" -version = "3.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" - [[package]] name = "byteorder" version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" -[[package]] -name = "bytes" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" - [[package]] name = "bzip2" version = "0.4.3" @@ -137,22 +119,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" - [[package]] name = "crc32fast" version = "1.3.2" @@ -234,15 +200,6 @@ version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" -[[package]] -name = "encoding_rs" -version = "0.8.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" -dependencies = [ - "cfg-if", -] - [[package]] name = "error-chain" version = "0.12.4" @@ -265,15 +222,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" -[[package]] -name = "fastrand" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" -dependencies = [ - "instant", -] - [[package]] name = "flate2" version = "1.0.24" @@ -290,70 +238,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" -dependencies = [ - "matches", - "percent-encoding", -] - -[[package]] -name = "futures-channel" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" - -[[package]] -name = "futures-sink" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" - -[[package]] -name = "futures-task" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" - -[[package]] -name = "futures-util" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" -dependencies = [ - "futures-core", - "futures-task", - "pin-project-lite", - "pin-utils", -] - [[package]] name = "geo-types" version = "0.7.6" @@ -387,9 +271,7 @@ dependencies = [ "gpx", "itertools", "lazy_static", - "openstreetmap-api", "osmio", - "tokio", ] [[package]] @@ -406,25 +288,6 @@ dependencies = [ "xml-rs", ] -[[package]] -name = "h2" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.11.2" @@ -434,99 +297,13 @@ dependencies = [ "ahash", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashlink" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" dependencies = [ - "hashbrown 0.11.2", -] - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "http" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "hyper" -version = "0.14.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", + "hashbrown", ] [[package]] @@ -535,42 +312,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "ipnet" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" - [[package]] name = "iter-progress" version = "0.8.0" @@ -592,15 +333,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" -[[package]] -name = "js-sys" -version = "0.3.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27" -dependencies = [ - "wasm-bindgen", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -623,43 +355,12 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "lock_api" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "matches" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" - [[package]] name = "memchr" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" -[[package]] -name = "mime" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" - [[package]] name = "miniz_oxide" version = "0.5.3" @@ -669,36 +370,6 @@ dependencies = [ "adler", ] -[[package]] -name = "mio" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" -dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", -] - -[[package]] -name = "native-tls" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "num-integer" version = "0.1.45" @@ -718,16 +389,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "num_threads" version = "0.1.6" @@ -752,67 +413,6 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" -[[package]] -name = "openssl" -version = "0.10.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" -dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" -dependencies = [ - "autocfg", - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "openstreetmap-api" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0964095cdc40d448c6291d079dc98cc5d094c92af5b5fbfcda24a4c9637fc6" -dependencies = [ - "log", - "quick-xml", - "reqwest", - "serde", - "serde_derive", - "serde_urlencoded", - "url", - "urlencoding", -] - [[package]] name = "osmio" version = "0.7.0" @@ -835,47 +435,6 @@ dependencies = [ "xml-rs", ] -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-sys", -] - -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - [[package]] name = "pkg-config" version = "0.3.25" @@ -904,7 +463,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b" dependencies = [ "memchr", - "serde", ] [[package]] @@ -916,61 +474,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "redox_syscall" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" -dependencies = [ - "bitflags", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "reqwest" -version = "0.11.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "lazy_static", - "log", - "mime", - "native-tls", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - [[package]] name = "rusqlite" version = "0.25.4" @@ -998,45 +501,6 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" -[[package]] -name = "schannel" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" -dependencies = [ - "lazy_static", - "windows-sys", -] - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "security-framework" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "separator" version = "0.4.1" @@ -1074,49 +538,12 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" -dependencies = [ - "libc", -] - -[[package]] -name = "slab" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" - [[package]] name = "smallvec" version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" -[[package]] -name = "socket2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "strsim" version = "0.10.0" @@ -1134,20 +561,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if", - "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", -] - [[package]] name = "thiserror" version = "1.0.31" @@ -1190,148 +603,12 @@ dependencies = [ "num_threads", ] -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" - -[[package]] -name = "tokio" -version = "1.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57aec3cfa4c296db7255446efb4928a6be304b431a806216105542a67b6ca82e" -dependencies = [ - "autocfg", - "bytes", - "libc", - "memchr", - "mio", - "num_cpus", - "once_cell", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "winapi", -] - -[[package]] -name = "tokio-macros" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" -dependencies = [ - "cfg-if", - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7" -dependencies = [ - "once_cell", -] - -[[package]] -name = "try-lock" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" - -[[package]] -name = "unicode-bidi" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" - [[package]] name = "unicode-ident" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" -[[package]] -name = "unicode-normalization" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "url" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" -dependencies = [ - "form_urlencoded", - "idna", - "matches", - "percent-encoding", -] - -[[package]] -name = "urlencoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b90931029ab9b034b300b797048cf23723400aa757e8a2bfb9d748102f9821" - [[package]] name = "vcpkg" version = "0.2.15" @@ -1344,16 +621,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - [[package]] name = "wasi" version = "0.10.0+wasi-snapshot-preview1" @@ -1366,82 +633,6 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "wasm-bindgen" -version = "0.2.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a" -dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de9a9cec1733468a8c657e57fa2413d2ae2c0129b95e87c5b72b8ace4d13f31f" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be" - -[[package]] -name = "web-sys" -version = "0.3.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "winapi" version = "0.3.9" @@ -1464,58 +655,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" - -[[package]] -name = "windows_i686_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" - -[[package]] -name = "windows_i686_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] - [[package]] name = "xml-rs" version = "0.8.4" diff --git a/apps/gipy/gpconv/Cargo.toml b/apps/gipy/gpconv/Cargo.toml index 681c86c7e..735eaa6ed 100644 --- a/apps/gipy/gpconv/Cargo.toml +++ b/apps/gipy/gpconv/Cargo.toml @@ -8,7 +8,5 @@ edition = "2021" [dependencies] gpx="*" itertools="*" -openstreetmap-api="*" -tokio={version="1", features=["full"]} lazy_static="*" osmio="*" diff --git a/apps/gipy/gpconv/src/main.rs b/apps/gipy/gpconv/src/main.rs index a0df30327..9b7a19193 100644 --- a/apps/gipy/gpconv/src/main.rs +++ b/apps/gipy/gpconv/src/main.rs @@ -11,7 +11,7 @@ use gpx::Gpx; mod osm; use osm::{parse_osm_data, InterestPoint}; -const LOWER_SHARP_TURN: f64 = 45.0 * std::f64::consts::PI / 180.0; +const LOWER_SHARP_TURN: f64 = 80.0 * std::f64::consts::PI / 180.0; const UPPER_SHARP_TURN: f64 = std::f64::consts::PI * 2.0 - LOWER_SHARP_TURN; const KEY: u16 = 47490; @@ -633,7 +633,7 @@ fn detect_sharp_turns(path: &[Point], waypoints: &mut HashSet) { } else { adiff }; - (adiff % std::f64::consts::PI, b) + (adiff, b) }) .filter_map(|(adiff, b)| { if adiff > LOWER_SHARP_TURN && adiff < UPPER_SHARP_TURN { @@ -647,8 +647,7 @@ fn detect_sharp_turns(path: &[Point], waypoints: &mut HashSet) { }); } -#[tokio::main] -async fn main() { +fn main() { let input_file = std::env::args().nth(1).unwrap_or("m.gpx".to_string()); let osm_file = std::env::args().nth(2); diff --git a/apps/gipy/gpconv/src/osm.rs b/apps/gipy/gpconv/src/osm.rs index 596febb14..4877165a5 100644 --- a/apps/gipy/gpconv/src/osm.rs +++ b/apps/gipy/gpconv/src/osm.rs @@ -1,10 +1,6 @@ use super::Point; use itertools::Itertools; use lazy_static::lazy_static; -use openstreetmap_api::{ - types::{BoundingBox, Credentials}, - Openstreetmap, -}; use osmio::OSMObjBase; use osmio::{prelude::*, ObjId}; use std::collections::{HashMap, HashSet}; @@ -91,65 +87,6 @@ impl InterestPoint { } } -async fn get_openstreetmap_data(points: &[(f64, f64)]) -> HashSet { - let osm = Openstreetmap::new("https://openstreetmap.org", Credentials::None); - let mut interest_points = HashSet::new(); - let border = 0.0001; - let mut boxes = Vec::new(); - let max_size = 0.005; - points.iter().fold( - (std::f64::MAX, std::f64::MIN, std::f64::MAX, std::f64::MIN), - |in_box, &(x, y)| { - let (mut xmin, mut xmax, mut ymin, mut ymax) = in_box; - xmin = xmin.min(x); - xmax = xmax.max(x); - ymin = ymin.min(y); - ymax = ymax.max(y); - if (xmax - xmin > max_size) || (ymax - ymin > max_size) { - boxes.push(in_box); - (x, x, y, y) - } else { - (xmin, xmax, ymin, ymax) - } - }, - ); - eprintln!("we need {} requests to openstreetmap", boxes.len()); - for (xmin, xmax, ymin, ymax) in boxes { - let left = xmin - border; - let right = xmax + border; - let bottom = ymin - border; - let top = ymax + border; - match osm - .map(&BoundingBox { - bottom, - left, - top, - right, - }) - .await - { - Ok(map) => { - let points = map.nodes.iter().flat_map(|n| { - n.tags.iter().filter_map(|t| { - let latlon = n.lat.and_then(|lat| n.lon.map(|lon| (lat, lon))); - latlon.and_then(|(lat, lon)| { - Interest::new(&t.k, &t.v).map(|i| InterestPoint { - point: Point { x: lon, y: lat }, - interest: i, - }) - }) - }) - }); - interest_points.extend(points) - } - Err(e) => { - eprintln!("failed retrieving osm data: {:?}", e); - } - } - } - interest_points -} - pub fn parse_osm_data>(path: P) -> Vec { let reader = osmio::read_pbf(path).ok(); reader From 81118092f08559b7e01dd395ac530981193be04d Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 26 Aug 2022 13:24:53 +0200 Subject: [PATCH 061/622] instant speed --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 3 +++ apps/gipy/app.js | 35 ++++++++++++++++++++++++++--------- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 410cf992a..71ed3dc2e 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -50,3 +50,4 @@ * Bugfix in lost direction. * Buzzing 100m ahead instead of 50m. * Detect sharp turns. + * Display instant speed. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 3681f4db0..a72d1a87e 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -8,6 +8,9 @@ * additional features +- config screen + - are we on foot (and should use compass) + - disable gps off - average speed becomes invalid if you stop and restart - pause when not moving - figure starting point diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 11b2220f3..82bd92cf6 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -46,19 +46,24 @@ class Status { this.remaining_distances = r; // how much distance remains at start of each segment this.starting_time = getTime(); this.old_points = []; + this.old_times = []; } new_position_reached(position) { + let now = getTime(); // we try to figure out direction by looking at previous points // instead of the gps course which is not very nice. if (this.old_points.length == 0) { this.old_points.push(position); + this.old_times.push(now); } else { let last_point = this.old_points[this.old_points.length - 1]; if (last_point.lon != position.lon || last_point.lat != position.lat) { if (this.old_points.length == 4) { this.old_points.shift(); + this.old_times.shift(); } this.old_points.push(position); + this.old_times.push(now); } else { return null; } @@ -226,21 +231,33 @@ class Status { .setColor(g.theme.fg) .drawString(hours + ":" + minutes, 0, 30); + let point_time = this.old_times[this.old_times.length - 1]; let done_distance = this.remaining_distances[0] - remaining_distance; - let done_in = now.getTime() / 1000 - this.starting_time; + let done_in = point_time - this.starting_time; let approximate_speed = Math.round((done_distance * 3.6) / done_in); g.setFont("6x8:2").drawString( "" + this.distance_to_next_point + "m", 0, g.getHeight() - 49 ); + + let instant_speed = + this.old_points[0].distance(this.old_points[this.old_points.length - 1]) / + (point_time - this.old_times[0]); + let approximate_instant_speed = Math.round(instant_speed * 3.6); + g.setFont("6x8:2") .setFontAlign(-1, -1, 0) - .drawString("" + approximate_speed + "km/h", 0, g.getHeight() - 32); + .drawString( + "" + approximate_speed + "km/h (in." + approximate_instant_speed + ")", + 0, + g.getHeight() - 15 + ); + g.setFont("6x8:2").drawString( "" + rounded_distance + "/" + total, 0, - g.getHeight() - 15 + g.getHeight() - 32 ); if (this.distance_to_next_point <= 100) { @@ -605,17 +622,17 @@ function simulate_gps(status) { if (point_index >= status.path.len) { return; } - let p1 = status.path.point(0); - let n = status.path.len; - let p2 = status.path.point(n - 1); - //let p1 = status.path.point(point_index); - //let p2 = status.path.point(point_index + 1); + //let p1 = status.path.point(0); + //let n = status.path.len; + //let p2 = status.path.point(n - 1); + let p1 = status.path.point(point_index); + let p2 = status.path.point(point_index + 1); let alpha = fake_gps_point - point_index; let pos = p1.times(1 - alpha).plus(p2.times(alpha)); let old_pos = status.position; - fake_gps_point += 0.005; // advance simulation + fake_gps_point += 0.05; // advance simulation status.update_position(pos, null); } From 37379720d27467d500d52fdcc4c29c44e363c3e8 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 26 Aug 2022 14:25:35 +0200 Subject: [PATCH 062/622] getting reading for detecting stops --- apps/gipy/app.js | 51 +++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 82bd92cf6..074400782 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -45,38 +45,38 @@ class Status { } this.remaining_distances = r; // how much distance remains at start of each segment this.starting_time = getTime(); + this.stopped_at = this.starting_time; // we need to now how long we stop in order to compute real avg speed this.old_points = []; this.old_times = []; } new_position_reached(position) { - let now = getTime(); // we try to figure out direction by looking at previous points // instead of the gps course which is not very nice. - if (this.old_points.length == 0) { - this.old_points.push(position); - this.old_times.push(now); - } else { - let last_point = this.old_points[this.old_points.length - 1]; - if (last_point.lon != position.lon || last_point.lat != position.lat) { - if (this.old_points.length == 4) { - this.old_points.shift(); - this.old_times.shift(); - } - this.old_points.push(position); - this.old_times.push(now); - } else { - return null; - } - } + let now = getTime(); + this.old_points.push(position); + this.old_times.push(now); + if (this.old_points.length == 1) { return null; - } else { - // let's just take angle of segment between oldest and newest point - let oldest = this.old_points[0]; - let diff = position.minus(oldest); - let angle = Math.atan2(diff.lat, diff.lon); - return angle; } + + let last_point = this.old_points[this.old_points.length - 1]; + let oldest = this.old_points[0]; + this.instant_speed = + oldest_point.distance(last_point) / (now - this.old_times[0]); + + if (this.old_points.length == 8) { + this.old_points.shift(); + this.old_times.shift(); + } + // let's just take angle of segment between newest point and a point a bit before + let previous_index = this.old_points.length - 3; + if (previous_index < 0) { + previous_index = 0; + } + let diff = position.minus(this.old_points[previous_index]); + let angle = Math.atan2(diff.lat, diff.lon); + return angle; } update_position(new_position, maybe_direction) { let direction = this.new_position_reached(new_position); @@ -241,10 +241,7 @@ class Status { g.getHeight() - 49 ); - let instant_speed = - this.old_points[0].distance(this.old_points[this.old_points.length - 1]) / - (point_time - this.old_times[0]); - let approximate_instant_speed = Math.round(instant_speed * 3.6); + let approximate_instant_speed = Math.round(this.instant_speed * 3.6); g.setFont("6x8:2") .setFontAlign(-1, -1, 0) From bf937837de57d77e2c8a107a5cd922fb08c23822 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Mon, 29 Aug 2022 15:20:04 +0200 Subject: [PATCH 063/622] quickfix --- apps/gipy/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 074400782..f1064d7a3 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -61,7 +61,7 @@ class Status { } let last_point = this.old_points[this.old_points.length - 1]; - let oldest = this.old_points[0]; + let oldest_point = this.old_points[0]; this.instant_speed = oldest_point.distance(last_point) / (now - this.old_times[0]); From 74787f7b5ef5f05cad87d7efc268e944878469e3 Mon Sep 17 00:00:00 2001 From: storm64 Date: Mon, 12 Sep 2022 23:15:39 +0200 Subject: [PATCH 064/622] [sleeplog] Add option for onChange functions Execute functions in `sleeplog.onChange[fn({timestamp, status, consecutive})]` on a status change --- apps/sleeplog/ChangeLog | 1 + apps/sleeplog/boot.js | 23 +++++++++++++++++++++-- apps/sleeplog/metadata.json | 2 +- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/apps/sleeplog/ChangeLog b/apps/sleeplog/ChangeLog index a0698d471..bff278e60 100644 --- a/apps/sleeplog/ChangeLog +++ b/apps/sleeplog/ChangeLog @@ -7,3 +7,4 @@ 0.10: Complete rework off this app! 0.10beta: Add interface.html to view saved log data, add "View log" function for debugging log, send data for gadgetbridge, change caching for global getStats 0.11: Prevent module not found error +0.12: Execute functions in `sleeplog.onChange[fn({timestamp, status, consecutive})]` on a status change \ No newline at end of file diff --git a/apps/sleeplog/boot.js b/apps/sleeplog/boot.js index c1f8a2d2d..f4d9dff46 100644 --- a/apps/sleeplog/boot.js +++ b/apps/sleeplog/boot.js @@ -258,6 +258,18 @@ if (sleeplog.conf.enabled) { // check if the status has changed if (data.status !== this.status || data.consecutive !== this.consecutive) { + // check for onChange functions + if ((this.onChange || []).length) { + this.onChange.forEach(fn => { + // setup timeouts to start onChange functions if fn is a function + if (typeof fn === "function") setTimeout(fn, 100, { + timestamp: new Date(data.timestamp), + status: data.status === this.status ? undefined : data.status, + consecutive: data.consecutive === this.consecutive ? undefined : data.consecutive + }); + }); + } + // append status this.appendStatus(data.timestamp, data.status, data.consecutive); @@ -268,7 +280,7 @@ if (sleeplog.conf.enabled) { // reset saveUpToDate status delete this.info.saveUpToDate; } - + // send status to gadgetbridge var gb_kinds = "unknown,not_worn,activity,light_sleep,deep_sleep"; Bluetooth.println(JSON.stringify({ @@ -319,7 +331,14 @@ if (sleeplog.conf.enabled) { } // return stats cache return this.statsCache; - } + }, + + // define array for functions to execute after a status change (changes had hapened 10min earlier) + // changed values will be passed as object with the following properties: + // timestamp: as date object, + // status: if changed 0-4 else undefined, + // consecutive: if changed 0-2 else undefined + onChange: [] }, sleeplog); // initial starting diff --git a/apps/sleeplog/metadata.json b/apps/sleeplog/metadata.json index f6ce661e8..353476446 100644 --- a/apps/sleeplog/metadata.json +++ b/apps/sleeplog/metadata.json @@ -2,7 +2,7 @@ "id":"sleeplog", "name":"Sleep Log", "shortName": "SleepLog", - "version": "0.11", + "version": "0.12", "description": "Log and view your sleeping habits. This app is using the built in movement calculation.", "icon": "app.png", "type": "app", From c0c6e5c2bdb3078eb04a52908ddf41b0b5033207 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Tue, 13 Sep 2022 17:19:42 +0200 Subject: [PATCH 065/622] new instant speed --- apps/gipy/ChangeLog | 1 + apps/gipy/app.js | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 71ed3dc2e..8684daf17 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -51,3 +51,4 @@ * Buzzing 100m ahead instead of 50m. * Detect sharp turns. * Display instant speed. + * New instant speed algorithm. diff --git a/apps/gipy/app.js b/apps/gipy/app.js index f1064d7a3..4acb9f284 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -62,12 +62,16 @@ class Status { let last_point = this.old_points[this.old_points.length - 1]; let oldest_point = this.old_points[0]; - this.instant_speed = - oldest_point.distance(last_point) / (now - this.old_times[0]); - if (this.old_points.length == 8) { + if (this.old_points.length == 6) { + let p1 = this.old_points[0].plus(this.old_points[1]).plus(this.old_points[2]).times(1/3); + let p2 = this.old_points[3].plus(this.old_points[4]).plus(this.old_points[5]).times(1/3); + this.instant_speed = p1.distance(p2) / (this.old_times[4] - this.old_times[1]); this.old_points.shift(); this.old_times.shift(); + } else { + this.instant_speed = + oldest_point.distance(last_point) / (now - this.old_times[0]); } // let's just take angle of segment between newest point and a point a bit before let previous_index = this.old_points.length - 3; From d54e44c869c00f05242eb52b5d1f536edb1de08f Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Wed, 14 Sep 2022 17:09:00 +0200 Subject: [PATCH 066/622] speed adjustments --- apps/gipy/app.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 4acb9f284..723f795da 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -63,10 +63,12 @@ class Status { let last_point = this.old_points[this.old_points.length - 1]; let oldest_point = this.old_points[0]; - if (this.old_points.length == 6) { - let p1 = this.old_points[0].plus(this.old_points[1]).plus(this.old_points[2]).times(1/3); - let p2 = this.old_points[3].plus(this.old_points[4]).plus(this.old_points[5]).times(1/3); - this.instant_speed = p1.distance(p2) / (this.old_times[4] - this.old_times[1]); + if (this.old_points.length == 8) { + let p1 = this.old_points[0].plus(this.old_points[1]).plus(this.old_points[2]).plus(this.old_points[3]).times(1/4); + let p2 = this.old_points[4].plus(this.old_points[5]).plus(this.old_points[6]).plus(this.old_points[7]).times(1/4); + let t1 = (this.old_times[1] + this.old_times[2]) / 2; + let t2 = (this.old_times[5] + this.old_times[6]) / 2; + this.instant_speed = p1.distance(p2) / (t2-t1); this.old_points.shift(); this.old_times.shift(); } else { From 29704dad9b3aed8e6057af40a8f43f5719532c7f Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Thu, 15 Sep 2022 15:17:28 +0200 Subject: [PATCH 067/622] going back --- apps/gipy/ChangeLog | 1 + apps/gipy/app.js | 38 +++++++++++++++++++++++++------------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 8684daf17..330512f5f 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -52,3 +52,4 @@ * Detect sharp turns. * Display instant speed. * New instant speed algorithm. + * Bugfix for remaining distance when going back. diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 723f795da..ec5bfb8e9 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -45,7 +45,6 @@ class Status { } this.remaining_distances = r; // how much distance remains at start of each segment this.starting_time = getTime(); - this.stopped_at = this.starting_time; // we need to now how long we stop in order to compute real avg speed this.old_points = []; this.old_times = []; } @@ -64,11 +63,19 @@ class Status { let oldest_point = this.old_points[0]; if (this.old_points.length == 8) { - let p1 = this.old_points[0].plus(this.old_points[1]).plus(this.old_points[2]).plus(this.old_points[3]).times(1/4); - let p2 = this.old_points[4].plus(this.old_points[5]).plus(this.old_points[6]).plus(this.old_points[7]).times(1/4); + let p1 = this.old_points[0] + .plus(this.old_points[1]) + .plus(this.old_points[2]) + .plus(this.old_points[3]) + .times(1 / 4); + let p2 = this.old_points[4] + .plus(this.old_points[5]) + .plus(this.old_points[6]) + .plus(this.old_points[7]) + .times(1 / 4); let t1 = (this.old_times[1] + this.old_times[2]) / 2; let t2 = (this.old_times[5] + this.old_times[6]) / 2; - this.instant_speed = p1.distance(p2) / (t2-t1); + this.instant_speed = p1.distance(p2) / (t2 - t1); this.old_points.shift(); this.old_times.shift(); } else { @@ -167,13 +174,18 @@ class Status { } } // re-display - this.display(); + this.display(orientation); } - remaining_distance() { - return ( + remaining_distance(orientation) { + let remaining_in_correct_orientation = this.remaining_distances[this.current_segment + 1] + - this.position.distance(this.path.point(this.current_segment + 1)) - ); + this.position.distance(this.path.point(this.current_segment + 1)); + + if (orientation == 0) { + return remaining_in_correct_orientation; + } else { + return this.remaining_distances[0] - remaining_in_correct_orientation; + } } is_lost(segment) { let distance_to_nearest = this.position.distance_to_segment( @@ -182,12 +194,12 @@ class Status { ); return distance_to_nearest > 50; } - display() { + display(orientation) { g.clear(); this.display_map(); this.display_interest_points(); - this.display_stats(); + this.display_stats(orientation); Bangle.drawWidgets(); } display_interest_points() { @@ -222,8 +234,8 @@ class Status { g.setColor(color).fillCircle(c[0], c[1], 5); } } - display_stats() { - let remaining_distance = this.remaining_distance(); + display_stats(orientation) { + let remaining_distance = this.remaining_distance(orientation); let rounded_distance = Math.round(remaining_distance / 100) / 10; let total = Math.round(this.remaining_distances[0] / 100) / 10; let now = new Date(); From 8a7c24b473d5875ad949e1f95299f9de0bf76984 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 16 Sep 2022 11:13:48 +0200 Subject: [PATCH 068/622] better avg speed --- apps/gipy/ChangeLog | 3 +++ apps/gipy/TODO | 1 - apps/gipy/app.js | 44 +++++++++++++++++++++++++++++++++++------ apps/gipy/metadata.json | 2 +- 4 files changed, 42 insertions(+), 8 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 330512f5f..c7077fe14 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -53,3 +53,6 @@ * Display instant speed. * New instant speed algorithm. * Bugfix for remaining distance when going back. + +0.14: + * Detect starting distance to compute a good average speed. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index a72d1a87e..904e85b87 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -13,7 +13,6 @@ - disable gps off - average speed becomes invalid if you stop and restart - pause when not moving - - figure starting point - we need to buzz 200m before sharp turns (or even better, 30seconds) (and look at more than next point) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index ec5bfb8e9..e4a7658c0 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -44,7 +44,12 @@ class Status { previous_point = point; } this.remaining_distances = r; // how much distance remains at start of each segment - this.starting_time = getTime(); + // we sometimes don't start at the start of the path. + // in order to compute average speed we need to take this into account. + // we record one starting point for each direction (if we suddenly choose to go back). + // we store the distance from start for these points. + this.remaining_distances_at_start = [null, null]; + this.starting_times = [null, null]; // time we start in each direction this.old_points = []; this.old_times = []; } @@ -150,6 +155,25 @@ class Status { this.distance_to_next_point = Math.ceil( this.position.distance(this.path.point(next_point)) ); + + // record start if needed + if (this.on_path) { + if (this.starting_times[orientation] === null) { + this.starting_times[orientation] = + this.old_times[this.old_times.length - 1]; + if (orientation == 0) { + this.remaining_distances_at_start[orientation] = + this.remaining_distances[this.current_segment + 1] + + this.distance_to_next_point; + } else { + this.remaining_distances_at_start[orientation] = + this.remaining_distances[0] - + this.remaining_distances[this.current_segment] + + this.distance_to_next_point; + } + } + } + // disable gps when far from next point and locked if (Bangle.isLocked()) { let time_to_next_point = this.distance_to_next_point / 9.7; // 35km/h is 9.7 m/s @@ -249,16 +273,20 @@ class Status { .setColor(g.theme.fg) .drawString(hours + ":" + minutes, 0, 30); - let point_time = this.old_times[this.old_times.length - 1]; - let done_distance = this.remaining_distances[0] - remaining_distance; - let done_in = point_time - this.starting_time; - let approximate_speed = Math.round((done_distance * 3.6) / done_in); g.setFont("6x8:2").drawString( "" + this.distance_to_next_point + "m", 0, g.getHeight() - 49 ); + let approximate_speed = "??"; + if (this.starting_times[orientation] !== null) { + let point_time = this.old_times[this.old_times.length - 1]; + let done_distance = + this.remaining_distances_at_start[orientation] - remaining_distance; + let done_in = point_time - this.starting_times[orientation]; + approximate_speed = Math.round((done_distance * 3.6) / done_in); + } let approximate_instant_speed = Math.round(this.instant_speed * 3.6); g.setFont("6x8:2") @@ -688,7 +716,11 @@ function start(fn) { let frame = 0; let set_coordinates = function (data) { frame += 1; - let valid_coordinates = !isNaN(data.lat) && !isNaN(data.lon); + // 0,0 coordinates are considered invalid since we sometimes receive them out of nowhere + let valid_coordinates = + !isNaN(data.lat) && + !isNaN(data.lon) && + (data.lat != 0.0 || data.lon != 0.0); if (valid_coordinates) { status.update_position(new Point(data.lon, data.lat), null); } diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 0a750559e..c55a02b13 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.13", + "version": "0.14", "description": "Follow gpx files", "allow_emulator":false, "icon": "gipy.png", From a3a73e423ec663d37b1c9d07f87c8219ea411f9d Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 16 Sep 2022 13:34:23 +0200 Subject: [PATCH 069/622] settings --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 3 --- apps/gipy/app.js | 13 +++++++++++-- apps/gipy/metadata.json | 2 ++ apps/gipy/settings.js | 38 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 apps/gipy/settings.js diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index c7077fe14..949698056 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -56,3 +56,4 @@ 0.14: * Detect starting distance to compute a good average speed. + * Settings diff --git a/apps/gipy/TODO b/apps/gipy/TODO index 904e85b87..d78d4c019 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -10,7 +10,6 @@ - config screen - are we on foot (and should use compass) - - disable gps off - average speed becomes invalid if you stop and restart - pause when not moving @@ -26,5 +25,3 @@ * misc - code is becoming messy - - diff --git a/apps/gipy/app.js b/apps/gipy/app.js index e4a7658c0..3d48a8f50 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -2,6 +2,14 @@ let simulated = false; let file_version = 3; let code_key = 47490; +var settings = Object.assign( + { + keep_gps_alive: false, + max_speed: 35, + }, + require("Storage").readJSON("gipy.json", true) || {} +); + let interests_colors = [ 0xf800, // Bakery, red 0x001f, // DrinkingWater, blue @@ -175,8 +183,9 @@ class Status { } // disable gps when far from next point and locked - if (Bangle.isLocked()) { - let time_to_next_point = this.distance_to_next_point / 9.7; // 35km/h is 9.7 m/s + if (Bangle.isLocked() && !settings.keep_gps_alive) { + let time_to_next_point = + (this.distance_to_next_point * 3.6) / settings.max_speed; if (time_to_next_point > 60) { Bangle.setGPSPower(false, "gipy"); setTimeout(function () { diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index c55a02b13..791d5c812 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -13,8 +13,10 @@ "readme": "README.md", "storage": [ {"name":"gipy.app.js","url":"app.js"}, + {"name":"gipy.settings.js","url":"settings.js"}, {"name":"gipy.img","url":"app-icon.js","evaluate":true} ], "data": [ + {"name":"gipy.json"} ] } diff --git a/apps/gipy/settings.js b/apps/gipy/settings.js new file mode 100644 index 000000000..af9cbef22 --- /dev/null +++ b/apps/gipy/settings.js @@ -0,0 +1,38 @@ +(function (back) { + var FILE = "gipy.json"; + // Load settings + var settings = Object.assign( + { + keep_gps_alive: false, + max_speed: 35, + }, + require("Storage").readJSON(FILE, true) || {} + ); + + function writeSettings() { + require("Storage").writeJSON(FILE, settings); + } + + // Show the menu + E.showMenu({ + "": { title: "Gipy" }, + "< Back": () => back(), + "keep gps alive": { + value: !!settings.keep_gps_alive, // !! converts undefined to false + format: (v) => (v ? "Yes" : "No"), + onchange: (v) => { + settings.keep_gps_alive = v; + writeSettings(); + }, + }, + "max speed": { + value: 35 | settings.max_speed, // 0| converts undefined to 0 + min: 0, + max: 130, + onchange: (v) => { + settings.max_speed = v; + writeSettings(); + }, + }, + }); +}); From 51a4ad04e400696e9203a5da68faf5e76d133952 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 16 Sep 2022 13:45:19 +0200 Subject: [PATCH 070/622] small bugfix in avg speed --- apps/gipy/app.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 3d48a8f50..dc1b1b35e 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -165,7 +165,7 @@ class Status { ); // record start if needed - if (this.on_path) { + if (this.on_path && this.old_points.length > 1) { if (this.starting_times[orientation] === null) { this.starting_times[orientation] = this.old_times[this.old_times.length - 1]; @@ -294,7 +294,9 @@ class Status { let done_distance = this.remaining_distances_at_start[orientation] - remaining_distance; let done_in = point_time - this.starting_times[orientation]; - approximate_speed = Math.round((done_distance * 3.6) / done_in); + if (done_in != 0) { + approximate_speed = Math.round((done_distance * 3.6) / done_in); + } } let approximate_instant_speed = Math.round(this.instant_speed * 3.6); From 04c6b6f249b2de319d7971246e7e316b4cc29df0 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 16 Sep 2022 16:35:13 +0200 Subject: [PATCH 071/622] breaks --- apps/gipy/ChangeLog | 1 + apps/gipy/TODO | 2 -- apps/gipy/app.js | 19 +++++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index 949698056..f9f55be15 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -57,3 +57,4 @@ 0.14: * Detect starting distance to compute a good average speed. * Settings + * Account for breaks in average speed. diff --git a/apps/gipy/TODO b/apps/gipy/TODO index d78d4c019..53c3530e2 100644 --- a/apps/gipy/TODO +++ b/apps/gipy/TODO @@ -10,8 +10,6 @@ - config screen - are we on foot (and should use compass) -- average speed becomes invalid if you stop and restart - - pause when not moving - we need to buzz 200m before sharp turns (or even better, 30seconds) (and look at more than next point) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index dc1b1b35e..a918a7992 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -39,6 +39,8 @@ class Status { this.current_segment = null; // which segment is closest this.reaching = null; // which waypoint are we reaching ? this.distance_to_next_point = null; // how far are we from next point ? + this.paused_time = 0.0; // how long did we stop (stops don't count in avg speed) + this.paused_since = getTime(); let r = [0]; // let's do a reversed prefix computations on all distances: @@ -94,6 +96,18 @@ class Status { } else { this.instant_speed = oldest_point.distance(last_point) / (now - this.old_times[0]); + + // update paused time if we are too slow + if (this.instant_speed < 2) { + if (this.paused_since === null) { + this.paused_since = now; + } + } else { + if (this.paused_since !== null) { + this.paused_time += now - this.paused_since; + this.paused_since = null; + } + } } // let's just take angle of segment between newest point and a point a bit before let previous_index = this.old_points.length - 3; @@ -293,8 +307,9 @@ class Status { let point_time = this.old_times[this.old_times.length - 1]; let done_distance = this.remaining_distances_at_start[orientation] - remaining_distance; - let done_in = point_time - this.starting_times[orientation]; - if (done_in != 0) { + let done_in = + point_time - this.starting_times[orientation] - this.paused_time; + if (done_in > 0) { approximate_speed = Math.round((done_distance * 3.6) / done_in); } } From 2beb6c779ffa7138b90a06bb01c49b9ddf4e8d22 Mon Sep 17 00:00:00 2001 From: frederic wagner Date: Fri, 23 Sep 2022 17:05:37 +0200 Subject: [PATCH 072/622] changed avg speed --- apps/gipy/app.js | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/apps/gipy/app.js b/apps/gipy/app.js index a918a7992..24676548b 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -183,16 +183,7 @@ class Status { if (this.starting_times[orientation] === null) { this.starting_times[orientation] = this.old_times[this.old_times.length - 1]; - if (orientation == 0) { - this.remaining_distances_at_start[orientation] = - this.remaining_distances[this.current_segment + 1] + - this.distance_to_next_point; - } else { - this.remaining_distances_at_start[orientation] = - this.remaining_distances[0] - - this.remaining_distances[this.current_segment] + - this.distance_to_next_point; - } + this.remaining_distances_at_start[orientation] = this.remaining_distance(orientation); } } @@ -308,7 +299,7 @@ class Status { let done_distance = this.remaining_distances_at_start[orientation] - remaining_distance; let done_in = - point_time - this.starting_times[orientation] - this.paused_time; + point_time - this.starting_times[orientation]; // TODO: add pauses if (done_in > 0) { approximate_speed = Math.round((done_distance * 3.6) / done_in); } From 67a394a7f4ccde1d50f5646093eb6175045bc24b Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 27 Sep 2022 22:01:57 +0200 Subject: [PATCH 073/622] Podcast addict remote initial release add shortName Add Podcast Addict Play Store Link Podcast Addict use official icon new layout changes to README.md and metadata description requires GB 71.0 screenshots --- apps/podadrem/ChangeLog | 6 + apps/podadrem/README.md | 21 ++ apps/podadrem/app-icon.js | 1 + apps/podadrem/app.js | 372 ++++++++++++++++++++++++++++++++++ apps/podadrem/app.png | Bin 0 -> 2120 bytes apps/podadrem/metadata.json | 18 ++ apps/podadrem/screenshot1.png | Bin 0 -> 1836 bytes apps/podadrem/screenshot2.png | Bin 0 -> 3220 bytes 8 files changed, 418 insertions(+) create mode 100644 apps/podadrem/ChangeLog create mode 100644 apps/podadrem/README.md create mode 100644 apps/podadrem/app-icon.js create mode 100644 apps/podadrem/app.js create mode 100644 apps/podadrem/app.png create mode 100644 apps/podadrem/metadata.json create mode 100644 apps/podadrem/screenshot1.png create mode 100644 apps/podadrem/screenshot2.png diff --git a/apps/podadrem/ChangeLog b/apps/podadrem/ChangeLog new file mode 100644 index 000000000..c26e40c0e --- /dev/null +++ b/apps/podadrem/ChangeLog @@ -0,0 +1,6 @@ +0.01: Inital release. +0.02: Misc fixes. Add Search and play. +0.03: Simplify "Search and play" function after some bugfixes to Podcast +Addict. +0.04: New layout. +0.05: Add widget field, tweak layout. diff --git a/apps/podadrem/README.md b/apps/podadrem/README.md new file mode 100644 index 000000000..3760e6b5b --- /dev/null +++ b/apps/podadrem/README.md @@ -0,0 +1,21 @@ +Requires Gadgetbridge 71.0 or later. Allow intents in Gadgetbridge in order for this app to work. + +Touch input: + +Press the different ui elements to control Podcast Addict and open menus. +Press left or right arrow to move backward/forward in current playlist. + +Swipe input: + +Swipe left/right to jump backward/forward within the current podcast episode. +Swipe up/down to change the volume. + +It's possible to start a podcast by searching with the remote. It's also possible to change the playback speed. + +The swipe logic was inspired by the implementation in [rigrig](https://git.tubul.net/rigrig/)'s Scrolling Messages. + +Podcast Addict Remote was created by [thyttan](https://github.com/thyttan/). + +Podcast Addict is developed by [Xavier Guillemane](https://twitter.com/xguillem) and can be installed via the [Google Play Store](https://play.google.com/store/apps/details?id=com.bambuna.podcastaddict&hl=en_US&gl=US). + +The Podcast Addict icon is used with permission. diff --git a/apps/podadrem/app-icon.js b/apps/podadrem/app-icon.js new file mode 100644 index 000000000..fc4406666 --- /dev/null +++ b/apps/podadrem/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwgHEhvdABnQDwwVNAAYtTGI4WSGAgWTGAYXUGAJGUGAQXXCyoXKmf/AAPznogQn4WCAAQYP6YWFDB4WFJQhFSA4gwMIYogEGBffLg0zKAYwKRgwTDBQP9Ix09n7DCpowBJBKNEBwIXBAQIsBMwgXKIQReCDoRgJOwYQDLQU/poMBC5B2DIAUzLwIKBnoXBPBAXEIQQVDA4IXNCIQXaWAgXNI4kzNQoXLO4wXLU4a+CU4gXR7ovBcIoXIBobMFPAgXILQKPDmgxCR5omDc4QAHC5ITCC6hgCC6hICC6owBC6phBC6zcFAAMzeogALdQjdBC6AZCeYfTmczAwfQhocOAAwXYgAXVgAXVFwMAJCgXCDCYWDJKYWEGKAtEA==")) diff --git a/apps/podadrem/app.js b/apps/podadrem/app.js new file mode 100644 index 000000000..a9b5514b8 --- /dev/null +++ b/apps/podadrem/app.js @@ -0,0 +1,372 @@ +/* +Bluetooth.println(JSON.stringify({t:"intent", action:"", flags:["flag1", "flag2",...], categories:["category1","category2",...], mimetype:"", data:"", package:"", class:"", target:"", extra:{someKey:"someValueOrString"}})); + +Podcast Addict is developed by Xavier Guillemane and can be downloaded on Google Play Store: https://play.google.com/store/apps/details?id=com.bambuna.podcastaddict&hl=en_US&gl=US + +Podcast Addict can be controlled through the sending of remote commands called 'Intents'. +Some 3rd parties apps specialized in task automation will then allow you to control Podcast Addict. For example, you will be able to wake up to the sound of your playlist or to start automatically playing when some NFC tag has been detected. +In Tasker, you just need to copy/paste one of the following intent in the task Action field ("Misc" action type then select "Send Itent") . +If you prefer Automate It, you can use the Podcast Addict plugin that will save you some configuration time (https://play.google.com/store/apps/details?id=com.smarterapps.podcastaddictplugin ) +Before using an intent make sure to set the following: +Package: com.bambuna.podcastaddict +Class (UPDATE intent only): com.bambuna.podcastaddict.receiver.PodcastAddictBroadcastReceiver +Class (every other intent): com.bambuna.podcastaddict.receiver.PodcastAddictPlayerReceiver +Here are the supported commands (Intents) : +com.bambuna.podcastaddict.service.player.toggle – Toggle the playlist +com.bambuna.podcastaddict.service.player.stop – Stop the player and release its resources +com.bambuna.podcastaddict.service.player.play – Start playing the playlist +com.bambuna.podcastaddict.service.player.pause – Pause the playlist +com.bambuna.podcastaddict.service.player.nexttrack – Start playing next track +com.bambuna.podcastaddict.service.player.previoustrack – Start playing previous track +com.bambuna.podcastaddict.service.player.jumpforward – Jump 30s forward +com.bambuna.podcastaddict.service.player.jumpbackward – Jump 15s backward +com.bambuna.podcastaddict.service.player.1xspeed - Disable the variable playback speed +com.bambuna.podcastaddict.service.player.1.5xspeed – Force the playback speed at 1.5x +com.bambuna.podcastaddict.service.player.2xspeed – Force the playback speed at 2.0x +com.bambuna.podcastaddict.service.player.stoptimer – Disable the timer +com.bambuna.podcastaddict.service.player.15mntimer – Set the timer at 15 minutes +com.bambuna.podcastaddict.service.player.30mntimer – Set the timer at 30 minutes +com.bambuna.podcastaddict.service.player.60mntimer – Set the timer at 1 hour +com.bambuna.podcastaddict.service.update – Trigger podcasts update +com.bambuna.podcastaddict.openmainscreen – Open the app on the Main screen +com.bambuna.podcastaddict.openplaylist – Open the app on the Playlist screen +com.bambuna.podcastaddict.openplayer – Open the app on the Player screen +com.bambuna.podcastaddict.opennewepisodes – Open the app on the New episodes screen +com.bambuna.podcastaddict.opendownloadedepisodes – Open the app on the Downloaded episodes screen +com.bambuna.podcastaddict.service.player.playfirstepisode – Start playing the first episode in the playlist +com.bambuna.podcastaddict.service.player.customspeed – Select playback speed +In order to use this intent you need to pass a float argument called "arg1". Valid values are within [0.1, 5.0] +com.bambuna.podcastaddict.service.player.customtimer – Start a custom timer +In order to use this intent you need to pass an int argument called "arg1" containing the number of minutes. Valid values are within [1, 1440] +com.bambuna.podcastaddict.service.player.deletecurrentskipnexttrack – Delete the current episode and skip to the next one. It behaves the same way as long pressing on the player >| button, but doesn't display any confirmation popup. +com.bambuna.podcastaddict.service.player.deletecurrentskipprevioustrack – Delete the current episode and skip to the previous one. It behaves the same way as long pressing on the player |< button, but doesn't display any confirmation popup. +com.bambuna.podcastaddict.service.player.boostVolume – Toggle the Volume Boost audio effect +You can pass a, optional boolean argument called "arg1" in order to create a ON or OFF button for the volume boost. Without this parameter the app will just toggle the current value +com.bambuna.podcastaddict.service.player.quickBookmark – Creates a bookmark at the current playback position so you can easily retrieve it later. +com.bambuna.podcastaddict.service.download.pause – Pause downloads +com.bambuna.podcastaddict.service.download.resume – Resume downloads +com.bambuna.podcastaddict.service. download.toggle – Toggle downloads +com.bambuna.podcastaddict.service.player.favorite – Mark the current episode playing as favorite. +com.bambuna.podcastaddict.openplaylist – Open the app on the Playlist screen +You can pass an optional string argument called "arg1" in order to select the playlist to open. Without this parameter the app will open the current playlist +Here's how it works: +##AUDIO## will open the Audio playlist screen +##VIDEO## will open the Video playlist screen +##RADIO## will open the Radio screen +Any other argument will be used as a CATEGORY name. The app will then open this category under the playlist CUSTOM tab +You can pass an optional boolean argument called "arg2" in order to select if the app UI should be opened. Without this parameter the playlist will be displayed +You can pass an optional boolean argument called "arg3" in order to select if the app should start playing the selected playlist. Without this parameter the playback won't start +Since v2020.3 +com.bambuna.podcastaddict.service.full_backup – Trigger a full backup of the app data (relies on the app automatic backup settings for the folder and the # of backup to keep) +This task takes a lot of resources and might take up to a minute to complete, so please avoid using the app at the same time +Since v2020.15 +com.bambuna.podcastaddict.service.player.toggletimer – This will toggle the Sleep Timer using the last duration and parameter used in the app. +Since v2020.16 +com.bambuna.podcastaddict.service.player.togglespeed – This will toggle the Playback speed for the episode currently playing (alternate between selected speed and 1.0x). +*/ + +var R; +var backToMenu = false; + +// The main layout of the app +function gfx() { + R = Bangle.appRect; + marigin = 8; + // g.drawString(str, x, y, solid) + g.clearRect(R); + g.reset(); + + g.setFont("4x6:2"); + g.setFontAlign(1, 0, 0); + g.drawString("->", R.x2 - marigin, R.y + R.h/2); + + g.setFontAlign(-1, 0, 0); + g.drawString("<-", R.x + marigin, R.y + R.h/2); + + g.setFontAlign(-1, 0, 1); + g.drawString("<-", R.x + R.w/2, R.y + marigin); + + g.setFontAlign(1, 0, 1); + g.drawString("->", R.x + R.w/2, R.y2 - marigin); + + g.setFontAlign(0, 0, 0); + g.drawString("Play\nPause", R.x + R.w/2, R.y + R.h/2); + + g.setFontAlign(-1, -1, 0); + g.drawString("Menu", R.x + 2*marigin, R.y + 2*marigin); + + g.setFontAlign(-1, 1, 0); + g.drawString("Wake", R.x + 2*marigin, R.y + R.h - 2*marigin); + + g.setFontAlign(1, -1, 0); + g.drawString("Srch", R.x + R.w - 2*marigin, R.y + 2*marigin); + + g.setFontAlign(1, 1, 0); + g.drawString("Speed", R.x + R.w - 2*marigin, R.y + R.h - 2*marigin); +} + +// Touch handler for main layout +function touchHandler(_, xy) { + x = xy.x; + y = xy.y; + len = (R.wb-1 instead of a>b. + if ((R.x-1 { + if (ud) Bangle.musicControl(ud>0 ? "volumedown" : "volumeup"); + } + ); + Bangle.on("touch", touchHandler); + Bangle.on("swipe", swipeHandler); +} + +/* +The functions for interacting with Android and the Podcast Addict app +*/ + +pkg = "com.bambuna.podcastaddict"; +standardCls = pkg + ".receiver.PodcastAddictPlayerReceiver"; +updateCls = pkg + ".receiver.PodcastAddictBroadcastReceiver"; +speed = 1.0; + +simpleSearch = ""; + +function simpleSearchTerm() { // input a simple search term without tags, overrides search with tags (artist and track) + require("textinput").input({ + text: simpleSearch + }).then(result => { + simpleSearch = result; + }).then(() => { + E.showMenu(searchMenu); + }); +} + +function searchPlayWOTags() { //make a search and play using entered terms + searchString = simpleSearch; + Bluetooth.println(JSON.stringify({ + t: "intent", + action: "android.media.action.MEDIA_PLAY_FROM_SEARCH", + package: pkg, + target: "activity", + extra: { + query: searchString + }, + flags: ["FLAG_ACTIVITY_NEW_TASK"] + })); +} + +function gadgetbridgeWake() { + Bluetooth.println(JSON.stringify({ + t: "intent", + target: "activity", + flags: ["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_CLEAR_TASK", "FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS", "FLAG_ACTIVITY_NO_ANIMATION"], + package: "gadgetbridge", + class: "nodomain.freeyourgadget.gadgetbridge.activities.WakeActivity" + })); +} + +// For stringing together the action for Podcast Addict to perform +function actFn(actName, activOrServ) { + return "com.bambuna.podcastaddict." + (activOrServ == "service" ? "service." : "") + actName; +} + +// Send the intent message to Gadgetbridge +function btMsg(activOrServ, cls, actName, xtra) { + + Bluetooth.println(JSON.stringify({ + t: "intent", + action: actFn(actName, activOrServ), + package: pkg, + class: cls, + target: "broadcastreceiver", + extra: xtra + })); +} + +// Get back to the main layout +function backToGfx() { + E.showMenu(); + g.clear(); + g.reset(); + Bangle.removeAllListeners("touch"); + Bangle.removeAllListeners("swipe"); + setUI(); + gfx(); + backToMenu = false; +} + +// Podcast Addict Menu +var paMenu = { + "": { + title: " ", + back: backToGfx + }, + "Controls": () => { + E.showMenu(controlMenu); + }, + "Speed Controls": () => { + E.showMenu(speedMenu); + }, + "Search and play": () => { + E.showMenu(searchMenu); + }, + "Navigate and play": () => { + E.showMenu(navigationMenu); + }, + "Wake the android": () => { + gadgetbridgeWake(); + gadgetbridgeWake(); + }, + "Exit PA Remote": ()=>{load();} +}; + + +var controlMenu = { + "": { + title: " ", + back: () => {if (backToMenu) E.showMenu(paMenu); + if (!backToMenu) backToGfx(); + } + }, + "Toggle Play/Pause": () => { + btMsg("service", standardCls, "player.toggle"); + }, + "Jump Backward": () => { + btMsg("service", standardCls, "player.jumpbackward"); + }, + "Jump Forward": () => { + btMsg("service", standardCls, "player.jumpforward"); + }, + "Previous": () => { + btMsg("service", standardCls, "player.previoustrack"); + }, + "Next": () => { + btMsg("service", standardCls, "player.nexttrack"); + }, + "Play": () => { + btMsg("service", standardCls, "player.play"); + }, + "Pause": () => { + btMsg("service", standardCls, "player.pause"); + }, + "Stop": () => { + btMsg("service", standardCls, "player.stop"); + }, + "Update": () => { + btMsg("service", updateCls, "update"); + }, + "Messages Music Controls": () => { + load("messagesmusic.app.js"); + }, +}; + +var speedMenu = { + "": { + title: " ", + back: () => {if (backToMenu) E.showMenu(paMenu); + if (!backToMenu) backToGfx(); + } + }, + "Regular Speed": () => { + speed = 1.0; + btMsg("service", standardCls, "player.1xspeed"); + }, + "1.5x Regular Speed": () => { + speed = 1.5; + btMsg("service", standardCls, "player.1.5xspeed"); + }, + "2x Regular Speed": () => { + speed = 2.0; + btMsg("service", standardCls, "player.2xspeed"); + }, + //"Faster" : ()=>{speed+=0.1; speed=((speed>5.0)?5.0:speed); btMsg("service",standardCls,"player.customspeed",{arg1:speed});}, + //"Slower" : ()=>{speed-=0.1; speed=((speed<0.1)?0.1:speed); btMsg("service",standardCls,"player.customspeed",{arg1:speed});}, +}; + +var searchMenu = { + "": { + title: " ", + + back: () => {if (backToMenu) E.showMenu(paMenu); + if (!backToMenu) backToGfx();} + + }, + "Search term": () => { + simpleSearchTerm(); + }, + "Execute search and play": () => { + btMsg("service", standardCls, "player.play"); + setTimeout(() => { + searchPlayWOTags(); + setTimeout(() => { + btMsg("service", standardCls, "player.play"); + }, 200); + }, 1500); + }, + "Simpler search and play" : searchPlayWOTags, +}; + +var navigationMenu = { + "": { + title: " ", + back: () => {if (backToMenu) E.showMenu(paMenu); + if (!backToMenu) backToGfx();} + }, + "Open Main Screen": () => { + btMsg("activity", standardCls, "openmainscreen"); + }, + "Open Player Screen": () => { + btMsg("activity", standardCls, "openplayer"); + }, +}; + +Bangle.loadWidgets(); +setUI(); +gfx(); diff --git a/apps/podadrem/app.png b/apps/podadrem/app.png new file mode 100644 index 0000000000000000000000000000000000000000..b9cdf4fedb180793d3dcce293c65284a9eeca7f0 GIT binary patch literal 2120 zcmdT`iBr=_7XC>Dl?;g2a%{<l z9aR7T)R4}I3yRfrYwiRoe9+vk4gdfFZZ4i@ovL378dqr{59ZTg)0JfB8;B} zSNQ)0a8isF09O2e6aT8iNj6r%*h$8m)Ge^WzOw#?`J(gJ>{pC}rPySDQP?7W2{;O= zubRnQ+0D&ORve5O17k!&*K&-RQP3?`4xAYaTg!$jYG%j7n9)#0k*ru4I{~J+i10a? zooKuo0FjG@GCq@f39>1bZpvj03{G%? zfrcno$bQE24D3(#LIxon4e^<)s6R~%oM~rrIv=Vl2Vt&lP{PV7Z~w&!e2ty ze?p3%=C9>j%lRxpu^ktWV#OMA@=!uT5WhNx5oRD6Zxwgmpoc=_JgS`gnReMo_>3f3 znPFvl(;}^z*Dp#x&GGJ~u8~W{e+&qR+i9UkxfKcQf?zh@pL08s-*A(af#MOe)_yIN z&JD@gAJ^}BNatS&N*rX&C3Yrqz54<8cF(5V(Z~G>BN}O8#+h;QFNlU3_|>t} zl`($td2v^Pbh>Bbbptc)d)|W|8L^gvLR-ngxMZ?Z&ZqJ5w(B*1lKEGh8=k_E4rbg* zI`+Gb#Yxd?%EruZpS^UMX)f`K_E&`~ntvaOOa*{#K;i|I2k?!&kU#`Y*FP33S9O~Z zyOG?om8F%u?%ucI*B(j(BP^rLI_sRCWb)KcLFi&|ZJX$4G*t?#xsRJO5C@bNDBAG< zcmPleNKf%D2$2YTPv_w)K>*15G$zkDUCV>`xd>$9}qH{P`dE(-2) zdv?{$NTnp-{x(vr2`{5PHK{Ff|)+09%Pcm z(JR#xFGFAM$O@LEeg9pR$`h8ao0^GsZGrlUvo)GY zI9#flS%XH66_XssO%KutE!w`n1oJ;Q=(oMIF=6^oOeKHhAPwt5e*C(+fJQQAr@C?^ z9>9!1jnCbRG6HSXHb883nn1P7=KhWW$F52!R9g!1x}eIixYA{k|I$k8`X|}XgB0Q(*n45plb&)c&0n_(;g(!z`(F*Fd;JaUof8xz#+#^sM3%p z?#uR0Ka;%5ksFktcB`%fU+mn+)J%Y+E0_=O2FI3GFtW2o=;n4PD*%$JLe=}%WqBhG@aIP z&6%wqO9-n&8^N>D6Q{Mf>$r*dyj zl?Jg$+ak=R`eLOjDi(voQ7DvshiJCX%C)slnnjeSy_2T9C1*W6?<{hBJM5=KcZVl= z^?a)?umh95y97slCh1Un9i>5^#MEH-*oWJqRagBgFVi>!iN(8)cX!l|=)cM()=g=j z?P>0?{Wd-!Z`8kLrb1b{q0Ip}qtRe9J!AKS63}7$_=Sw6w@dLu0FY-<2$Dlk_J05* C9lC@7 literal 0 HcmV?d00001 diff --git a/apps/podadrem/metadata.json b/apps/podadrem/metadata.json new file mode 100644 index 000000000..929269762 --- /dev/null +++ b/apps/podadrem/metadata.json @@ -0,0 +1,18 @@ +{ + "id": "podadrem", + "name": "Podcast Addict Remote", + "shortName": "PA Remote", + "version": "0.05", + "description": "Control Podcast Addict on your android device.", + "readme": "README.md", + "type": "app", + "tags": "remote,podcast,podcasts,radio,player,intent,intents,gadgetbridge,podadrem,pa remote", + "icon": "app.png", + "screenshots" : [ {"url":"screenshot1.png"}, {"url":"screenshot2.png"} ], + "supports": ["BANGLEJS2"], + "dependencies": { "textinput":"type"}, + "storage": [ + {"name":"podadrem.app.js","url":"app.js"}, + {"name":"podadrem.img","url":"app-icon.js","evaluate":true} + ] +} diff --git a/apps/podadrem/screenshot1.png b/apps/podadrem/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..e028b331824cd45a6217ea520e68e91442e09215 GIT binary patch literal 1836 zcmeH|TT@e46o5|-2MC}{LIA;lC{aXip&$s-0LBmu6_m>i?P%a+P+^*ei^wGe1EEj_ zlTbzkK_wLw%hUjMFfd3kD1~w{kxmd50$9tXLQIC(q(}%ooxb)Tv=4i)J$tRS*ULBG zt~?nRz1@1JH2?tHX~!rDNbLN3p)HWTqx-iMB%pE=qRBwJ+~s!wuvnx~jwBVPs2krD z&3Iye0d(|{bTRq`Dgky zM%PvgA5++6wxu&>|7?WG&$XGee+(qG1yv1xw>O6X( zV?`XxI#K*yzF_W`e3DJAYILTTwC5$6Zk4{nN$wnez4gY`iD$rEWb>GFF)a>`^tq$e z>~pWCiIdnn)MFAeg7#B8A^$=skLWbfJ-$p@Tkf8yY3*qexFX~BBx!N5r9QB= ztOfw_Z|v0jOJ&@lB!9a|m~gsz6T-YyT(_ozNY`gwA^_ZQP8>J}@C4bFdR!zNk>=%O zwYwARH^BwbtLewh2`DJ|$-dVo0Ny6Q4c=QSqxMiXkP6W!4t(S(bbUqy3i>Y(bCHo0 zy6UiS5%J7pZu82}EcT*{B}mXJZBRVCd4K*ab6Bh%l!jesNFEct4tR?&$rBW+SV$7`9K;0!U}uO2<* zUTa(2fv;h11wF{N6p}fXZBO6Q$gt~F$|3iuOe+`Zk}}rdN)wkH_(2+bxrxY@EcSgZ zOt&u>+^nC@aVasC42(KOR~5FZX#$9!zr4(bOpme%nHACKY7b2;%b`<0Vo#du1!Bk# z4bL_E8Uh0#zmRCKj#c@-gI+DPMbAh8Opm*kKHz?vvm^2p-XOI>(Ef4*8xlfR=8rEE z`tx51bQr<|4)j)LUraZ!6vkmHlRUI@8Mf%lrf z1wb2y-8BSHT|;6#!f}Ovv%_<}tPz4S z9`WlCCPWnKPyt~+M_>KE82o>n4Wll8iEa9Ga!FUw;D%^5|Kz5e0uyF58BlNl6)^~; ze;S2oA|EECA!cBycw-(Pg6|r*TeUi`@q-5D{T;XN^%v>`YzkmVjx&wKOk2Ce_T`~I zwD;}5Ax%(U<|yZ`L^0!7=~?2$2X3>xmM3Uqrs~vBSA>q@&}u7V{ra_fT@Zr_jGAM3 zMcuYKVY>(1g^Jo_O1YJ;zU9+l{$Tf*bC8sDKqF_F@1irL-hLf-4c^Z@v(-NMXZzlz zYW`T}uG{iuc@vx)IVB^@O{)&UjcLfOX&Ri8d$xe}-X(Vfv$Fy(?3C<($hE5e7|@6# zrQWD9`cgtCGNL+svL8_uD(6ZZJxiThi=#jG)#hfj87;u9Eqkki`9qOswkfcY^Gh!i z*=FFX41bWlaKK$Vs#3w3=)NOYlbhVZjv3YV#c%#4^=pLVL@kL_HoJs;e*i5ij?zws G%l-msh8pqMA%$q zb1Eg&Ge*J2m+zMY4x7zBa`~nvl!99w7L*}+@)WB#gX&stN$rdi_?R&=3PSFY#MNh- z!BUemGWya@)c7oh=3EDIwqxn&8pDNoSF~%YsMMWv43Z5YY0jxeF%y>3xVrXfS6*%9 zaz!qCC3-n{Imh!&6$Of3;)xOo^*q;ujp9F3g6L0 zHZhA;hc--O2l9<=Yv+SgzzHayapQUkP;-KrHZl`P^?L z4zmt_m-?GS~qIFCt<#VmWW{5H~}un)p!){ScxF#4wk$1Z`&8V{la7Y zAG7RDUm@s7TskGc@jh!Zez9Yc%_P^CnlbhRH{Rgv!+^E$#S6f`Lyf@2PP#%9`gLWJ zg-|Nx;PL7NQi_=_%&j`l2W|dAgFmamJOQp?$D^PL7UZ^GJ)g}Z%b4E&~x zn&)kex{Y^waROk?6jwlzcV`%oK_uC)13 zWIEKe>Qc~S<4(j2ht>7ApVh3}_x8gqrw1F*Mh`ZQLXV;bbNrSZqPFGslaq@@J}nfs zmYH)`K=S21&xkB&#c*Dr3`ShK3WJwj9#y&Lh|tjN5P=68dfK|Ygke)%SsSJv~Dx}pujGZ@szty zTwi(ogsiiRnJ48_#9p;L_o(+tJMNHg+^_fJjJ|gpT)s|&??!;-LCFo0J#OmF`cLoaK{*9Y>pP{#1R3)txh_z}vJuoj zQy~wDr#b%RMorPBO$xH%F!%c4W3r_aobeaJrz7$l26aTK72{@&JjIeQ6$6gCbUg-A z(JEH(knF|deY3yz6hz7|c=`}_uW)(;+vz3CagF?8V`E+tZ`JF${w1rBHs|gg@jtRK zSr)_>|3{dX+xO|UcG-lVtYADRfwaRPK(VLOb|rave2?X>bXrJlj1b~D?-lv67l0KI z)_P2xW-VyryfCmdn{uFZPVI(5q2&*880iYPoAD^h0I=r%5dC1a00^8?{(V0gN9hgQ zEpG9=wuxt7ijC|o*6(ewmh1vqZF3Q{I{0J@17Kx*iw~wFJL?K0uFj=bP~S*Ocsn5;xNxUS|J*&fV`2Te-~ zr(4)SXKj*nOOaMK9J|Pz_5QzAIHgLOdX38WLmIO2B)gYj{tmuR;~7SG4QlKP>B)n8 z%L}zbG2>r!fR#0LJXsyaX#JxK*W@Y$Zg@a@q@4KVAS}*luRJd4CkRm`A6GKDcX|uu z^b>2{8a$nF&DN=`7G8+iBZP$PL?dY?EI|wc2%9Y zs@uwCqX$NtKUZP0L_9_t^(1vdXG$|83R*l8QzCBkhqXfB6Ro1(){|vL>coFd>|5U$ zjx!;)SA<sga6(5Ny^gamYpJ;ncW>;Sog9Rzt7S1uxzxswT6LEzc(lk8Ayuw!4&1y%g+%}VcoNrNI}D5aT6;9{5v~yeYb3;(__9rQ zJ7_J2cM?r>7mCMOb=23K6m>n=s4sn_3-?0RG7o(!+Bz@3k2i`{h9bY3*Yav0%-5v6 zwD}y_SUro9((vhhVB|*VDx7CD*mFX6%X^b%Pc#nm&b*~wZIHPG{(Cr6rqLg97a=TdvpW>!Ez1qtNN7dX1dsDkF>`oD%qIEOhQClIzu{!;Z)4YlayOR+W z7*@OOmh0}KwsOlDp%_Q1pAI9~n%)tjW-#GO>~>f6zq}iD?7b6rEEl z^rCILesr{Gy6zSQW~3Y#ll(hMOFLKtIIG0}#O8*Ys?MSv8Ch_A)aF!bh;mi=FasE9 zd03si%KT%6dRWle9#!Dvw*Gq!D2DZsFnsEgCrV1%XS*$VP9h19-XV)z=@3bw8RL;< zf7Xo@+t`UrC(Tj~%>1)*=fYXLAto_Cc=V)*GT}pvP8cGj#QB&u-IE=0>_#ISUtG;7QOkIaC<|oP-c32gWgAjnRwO7-}Y*d@}&HFh^*Eh5sM_ E1z;gAOaK4? literal 0 HcmV?d00001 From eece22750863ab0703c540dabdf2f5422a3dd6ce Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 19 Sep 2022 20:31:25 +0200 Subject: [PATCH 074/622] Spotify remote initial release restructure menu Requires Gadgetbridge 71.0 fix textinput->search menu screenshots --- apps/spotrem/ChangeLog | 5 + apps/spotrem/README.md | 21 +++ apps/spotrem/app-icon.js | 1 + apps/spotrem/app.js | 244 +++++++++++++++++++++++++++++++++++ apps/spotrem/app.png | Bin 0 -> 1877 bytes apps/spotrem/metadata.json | 17 +++ apps/spotrem/screenshot1.png | Bin 0 -> 1816 bytes apps/spotrem/screenshot2.png | Bin 0 -> 3282 bytes 8 files changed, 288 insertions(+) create mode 100644 apps/spotrem/ChangeLog create mode 100644 apps/spotrem/README.md create mode 100644 apps/spotrem/app-icon.js create mode 100644 apps/spotrem/app.js create mode 100644 apps/spotrem/app.png create mode 100644 apps/spotrem/metadata.json create mode 100644 apps/spotrem/screenshot1.png create mode 100644 apps/spotrem/screenshot2.png diff --git a/apps/spotrem/ChangeLog b/apps/spotrem/ChangeLog new file mode 100644 index 000000000..8e3d8b652 --- /dev/null +++ b/apps/spotrem/ChangeLog @@ -0,0 +1,5 @@ +0.01: New app. +0.02: Restructure menu. +0.03: change handling of intent extras. +0.04: New layout. +0.05: Add widgets field. Tweak layout. diff --git a/apps/spotrem/README.md b/apps/spotrem/README.md new file mode 100644 index 000000000..346ec9eba --- /dev/null +++ b/apps/spotrem/README.md @@ -0,0 +1,21 @@ +Requires Gadgetbridge 71.0 or later. Allow intents in Gadgetbridge in order for this app to work. + +Touch input: + +Press the different ui elements to control Podcast Addict and open menus. Press left or right arrow to go to previous/next track. + +Swipe input: + +Swipe left/right to go to previous/next track. Swipe up/down to change the volume. + +It's possible to start tracks by searching with the remote. Search term without tags will override search with tags. + +To start playing 'from cold' the command for previous/next track via touch or swipe can be used. Pressing just play/pause is not guaranteed to initiate spotify in all circumstances (this will probably change with subsequent releases). + +In order to search to play or start music from the 'Saved' menu the Android device must be awake and unlocked. The remote can wake and unlock the device if the Bangle.js has been added as a 'trusted device' under Android Settings->Security->Smart Lock->Trusted devices. + +The swipe logic was inspired by the implementation in [rigrig](https://git.tubul.net/rigrig/)'s Scrolling Messages. + +Spotify Remote was created by [thyttan](https://github.com/thyttan/). + +Spotify icon by Icons8 diff --git a/apps/spotrem/app-icon.js b/apps/spotrem/app-icon.js new file mode 100644 index 000000000..8da55b9a5 --- /dev/null +++ b/apps/spotrem/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwhC/AFV3AAQVVDKQWHDB0HC5NwCyoYMCxZJKFxgwKCxowJC6xGOJBAWPGA4MGogXOIwdCmf/AAczkhIKC4VzCogAD+YZEC49PC5AABmgXO+czJYoYDC4gfCuRYGoUjDAZ4GUJlyn4XNukjIwMzmVHBAU/+YXKoZ0GmQLCDgQXIU5IVDC5JVCIwIECDA5HIR4hkBDAX0C5YAHOoIXJa4QRDoUikiOEm7vKE4YADmZ1FC5N/R48nC5tzFQMiokimYYHC4h4KJwX3Ow6QMOwoXGSAoAKIwrBNFxIXZJBxGHGB4WIGBouJDBgWLJJYWMDBIWODIwVRAH4AXA=")) diff --git a/apps/spotrem/app.js b/apps/spotrem/app.js new file mode 100644 index 000000000..2e68fb0fb --- /dev/null +++ b/apps/spotrem/app.js @@ -0,0 +1,244 @@ +/* +Bluetooth.println(JSON.stringify({t:"intent", action:"", flags:["flag1", "flag2",...], categories:["category1","category2",...], mimetype:"", data:"", package:"", class:"", target:"", extra:{someKey:"someValueOrString"}})); +*/ + +var R; +var backToMenu = false; +var isPaused = true; + +// The main layout of the app +function gfx() { + //Bangle.drawWidgets(); + R = Bangle.appRect; + marigin = 8; + // g.drawString(str, x, y, solid) + g.clearRect(R); + g.reset(); + + g.setFont("4x6:2"); + g.setFontAlign(1, 0, 0); + g.drawString("->", R.x2 - marigin, R.y + R.h/2); + + g.setFontAlign(-1, 0, 0); + g.drawString("<-", R.x + marigin, R.y + R.h/2); + + g.setFontAlign(-1, 0, 1); + g.drawString("<-", R.x + R.w/2, R.y + marigin); + + g.setFontAlign(1, 0, 1); + g.drawString("->", R.x + R.w/2, R.y2 - marigin); + + g.setFontAlign(0, 0, 0); + g.drawString("Play\nPause", R.x + R.w/2, R.y + R.h/2); + + g.setFontAlign(-1, -1, 0); + g.drawString("Menu", R.x + 2*marigin, R.y + 2*marigin); + + g.setFontAlign(-1, 1, 0); + g.drawString("Wake", R.x + 2*marigin, R.y + R.h - 2*marigin); + + g.setFontAlign(1, -1, 0); + g.drawString("Srch", R.x + R.w - 2*marigin, R.y + 2*marigin); + + g.setFontAlign(1, 1, 0); + g.drawString("Saved", R.x + R.w - 2*marigin, R.y + R.h - 2*marigin); +} + +// Touch handler for main layout +function touchHandler(_, xy) { + x = xy.x; + y = xy.y; + len = (R.wb-1 instead of a>b. + if ((R.x-1 { + if (ud) Bangle.musicControl(ud>0 ? "volumedown" : "volumeup"); + } + ); + Bangle.on("touch", touchHandler); + Bangle.on("swipe", swipeHandler); +} + + + +// Get back to the main layout +function backToGfx() { + E.showMenu(); + g.clear(); + g.reset(); + Bangle.removeAllListeners("touch"); + Bangle.removeAllListeners("swipe"); + setUI(); + gfx(); + backToMenu = false; +} + +/* +The functions for interacting with Android and the Spotify app +*/ + +simpleSearch = ""; +function simpleSearchTerm() { // input a simple search term without tags, overrides search with tags (artist and track) + require("textinput").input({text:simpleSearch}).then(result => {simpleSearch = result;}).then(() => {E.showMenu(searchMenu);}); +} + +artist = ""; +function artistSearchTerm() { // input artist to search for + require("textinput").input({text:artist}).then(result => {artist = result;}).then(() => {E.showMenu(searchMenu);}); +} + +track = ""; +function trackSearchTerm() { // input track to search for + require("textinput").input({text:track}).then(result => {track = result;}).then(() => {E.showMenu(searchMenu);}); +} + +album = ""; +function albumSearchTerm() { // input album to search for + require("textinput").input({text:album}).then(result => {album = result;}).then(() => {E.showMenu(searchMenu);}); +} + +function searchPlayWOTags() {//make a spotify search and play using entered terms + searchString = simpleSearch; + Bluetooth.println(JSON.stringify({t:"intent", action:"android.media.action.MEDIA_PLAY_FROM_SEARCH", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", target:"activity", extra:{query:searchString}, flags:["FLAG_ACTIVITY_NEW_TASK"]})); +} + +function searchPlayWTags() {//make a spotify search and play using entered terms + searchString = (artist=="" ? "":("artist:\""+artist+"\"")) + ((artist!="" && track!="") ? " ":"") + (track=="" ? "":("track:\""+track+"\"")) + (((artist!="" && album!="") || (track!="" && album!="")) ? " ":"") + (album=="" ? "":(" album:\""+album+"\"")); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.media.action.MEDIA_PLAY_FROM_SEARCH", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", target:"activity", extra:{query:searchString}, flags:["FLAG_ACTIVITY_NEW_TASK"]})); +} + +function playVreden() {//Play the track "Vreden" by Sara Parkman via spotify uri-link + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:track:5QEFFJ5tAeRlVquCUNpAJY:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +function playVredenAlternate() {//Play the track "Vreden" by Sara Parkman via spotify uri-link + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:track:5QEFFJ5tAeRlVquCUNpAJY:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK"]})); +} + +function searchPlayVreden() {//Play the track "Vreden" by Sara Parkman via search and play + Bluetooth.println(JSON.stringify({t:"intent", action:"android.media.action.MEDIA_PLAY_FROM_SEARCH", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", target:"activity", extra:{query:'artist:"Sara Parkman" track:"Vreden"'}, flags:["FLAG_ACTIVITY_NEW_TASK"]})); +} + +function openAlbum() {//Play EP "The Blue Room" by Coldplay + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:album:3MVb2CWB36x7VwYo5sZmf2", target:"activity", flags:["FLAG_ACTIVITY_NEW_TASK"]})); +} + +function searchPlayAlbum() {//Play EP "The Blue Room" by Coldplay via search and play + Bluetooth.println(JSON.stringify({t:"intent", action:"android.media.action.MEDIA_PLAY_FROM_SEARCH", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", target:"activity", extra:{query:'album:"The blue room" artist:"Coldplay"', "android.intent.extra.focus":"vnd.android.cursor.item/album"}, flags:["FLAG_ACTIVITY_NEW_TASK"]})); +} + +function spotifyWidget(action) { + Bluetooth.println(JSON.stringify({t:"intent", action:("com.spotify.mobile.android.ui.widget."+action), package:"com.spotify.music", target:"broadcastreceiver"})); +} + +function gadgetbridgeWake() { + Bluetooth.println(JSON.stringify({t:"intent", target:"activity", flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_CLEAR_TASK", "FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS", "FLAG_ACTIVITY_NO_ANIMATION"], package:"gadgetbridge", class:"nodomain.freeyourgadget.gadgetbridge.activities.WakeActivity"})); +} + +function spotifyPlaylistDW() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +// Spotify Remote Menu +var spotifyMenu = { + "" : { title : " ", + back: backToGfx }, + "Controls" : ()=>{E.showMenu(controlMenu);}, + "Search and play" : ()=>{E.showMenu(searchMenu);}, + "Saved music" : ()=>{E.showMenu(savedMenu);}, + "Wake the android" : function() {gadgetbridgeWake();gadgetbridgeWake();}, + "Exit Spotify Remote" : ()=>{load();} +}; + + +var controlMenu = { + "" : { title : " ", + back: () => {if (backToMenu) E.showMenu(spotifyMenu); + if (!backToMenu) backToGfx();} }, + "Play" : ()=>{Bangle.musicControl("play");}, + "Pause" : ()=>{Bangle.musicControl("pause");}, + "Previous" : ()=>{spotifyWidget("PREVIOUS");}, + "Next" : ()=>{spotifyWidget("NEXT");}, + "Play (widget, next then previous)" : ()=>{spotifyWidget("NEXT"); spotifyWidget("PREVIOUS");}, + "Messages Music Controls" : ()=>{load("messagesmusic.app.js");}, +}; + +var searchMenu = { + "" : { title : " ", + back: () => {if (backToMenu) E.showMenu(spotifyMenu); + if (!backToMenu) backToGfx();} }, + "Search term w/o tags" : ()=>{simpleSearchTerm();}, + "Execute search and play w/o tags" : ()=>{searchPlayWOTags();}, + "Search term w tag \"artist\"" : ()=>{artistSearchTerm();}, + "Search term w tag \"track\"" : ()=>{trackSearchTerm();}, + "Search term w tag \"album\"" : ()=>{albumSearchTerm();}, + "Execute search and play with tags" : ()=>{searchPlayWTags();}, + "Play \"Vreden\" by Sara Parkman via uri-link" : ()=>{playVreden();}, + "Play \"Vreden\" by Sara Parkman via search&play" : ()=>{searchPlayVreden();}, + "Open \"The Blue Room\" EP (no autoplay)" : ()=>{openAlbum();}, + "Play \"The Blue Room\" EP via search&play" : ()=>{searchPlayAlbum();}, + "Play playlist Discover Weekly" : ()=>{spotifyPlaylistDW();}, +}; + +var savedMenu = { + "" : { title : " ", + back: () => {if (backToMenu) E.showMenu(spotifyMenu); + if (!backToMenu) backToGfx();} }, + "Play \"Vreden\" by Sara Parkman via uri-link" : ()=>{playVreden();}, + "Open \"The Blue Room\" EP (no autoplay)" : ()=>{openAlbum();}, + "Play \"The Blue Room\" EP via search&play" : ()=>{searchPlayAlbum();}, + "Play playlist Discover Weekly" : ()=>{spotifyPlaylistDW();}, +}; + +Bangle.loadWidgets(); +setUI(); +gfx(); diff --git a/apps/spotrem/app.png b/apps/spotrem/app.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0d65eee994757cfcee51e2191164cc49f3179b GIT binary patch literal 1877 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 literal 0 HcmV?d00001 diff --git a/apps/spotrem/screenshot2.png b/apps/spotrem/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..7801a3034027861558ee960b030561276d578bbc GIT binary patch literal 3282 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 qw~cha>S{eO_ zTl(gA!A{;qL3?54gB$#AVp6WbCvq&5JNp^fwCA5~u_INpxVw`_gAoXQzlP7K{ZnX+ z6Ow*eu7R}7{c6mY*4X_iPnwn@Z4PZcW&lcPt|=6gPBrL};wr#iB{e@h-_^+j40&_@ z9q!a24TJwt^^J{fO@{6Dp#C{o^~NKD{^=1d+|9CROuW~*di7WjIEf81qs--4S)?Rf zQSY1ITMga3+PFFpm$QC4u@~m^p?2evwM9U0%cVu+e8gHwUq_R@)+CAd$52%J$b3-S z9=_n7g93b#UXnn8)~Uh8dd7EpY)MT$j_7I$$O^G+$(T|Yh7+&6ufOO%v~uDO939WB zb)4Ws7j$wNt6x|$lDva#_E2A^nB3phc&P@nMvFEszx=}8-=|~I)4(;UgSzl_^KcB! z9K-hJ)ekU7K^gqVU-LR~lKahD@4uGAQ7 zr;tQtcy%YF0+3o z#l16VU`hW{tq8l`$98=t4!*Ms(fwzjfa5BQN3_B=;jx^iK-FSl?W)R>%3_{{i@9P1OJZ literal 0 HcmV?d00001 From 4c3504a8974378ad2342988ed190243dae4adbe5 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 10 Oct 2022 18:44:46 +0200 Subject: [PATCH 075/622] change ui color --- apps/podadrem/app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/podadrem/app.js b/apps/podadrem/app.js index a9b5514b8..c7db1f781 100644 --- a/apps/podadrem/app.js +++ b/apps/podadrem/app.js @@ -77,6 +77,7 @@ function gfx() { g.reset(); g.setFont("4x6:2"); + g.setColor(0xFD20); g.setFontAlign(1, 0, 0); g.drawString("->", R.x2 - marigin, R.y + R.h/2); From 6d839dd6c7f55ca007594f6a4263eb596590f914 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 10 Oct 2022 18:46:49 +0200 Subject: [PATCH 076/622] change ui color --- apps/spotrem/app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/spotrem/app.js b/apps/spotrem/app.js index 2e68fb0fb..9ac03d1ff 100644 --- a/apps/spotrem/app.js +++ b/apps/spotrem/app.js @@ -15,6 +15,7 @@ function gfx() { g.clearRect(R); g.reset(); + g.setColor(0x07E0); g.setFont("4x6:2"); g.setFontAlign(1, 0, 0); g.drawString("->", R.x2 - marigin, R.y + R.h/2); From 6f80f875373b623c9924724cf8746e175c4e1555 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 11 Oct 2022 00:55:51 +0200 Subject: [PATCH 077/622] dark/light theme --- apps/spotrem/app.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/spotrem/app.js b/apps/spotrem/app.js index 9ac03d1ff..f0787b57d 100644 --- a/apps/spotrem/app.js +++ b/apps/spotrem/app.js @@ -5,6 +5,7 @@ Bluetooth.println(JSON.stringify({t:"intent", action:"", flags:["flag1", "flag2" var R; var backToMenu = false; var isPaused = true; +var dark = g.theme.dark; // bool // The main layout of the app function gfx() { @@ -15,7 +16,7 @@ function gfx() { g.clearRect(R); g.reset(); - g.setColor(0x07E0); + if (dark) {g.setColor(0x07E0);} else {g.setColor(0x03E0);} // Green on dark theme, DarkGreen on light theme. g.setFont("4x6:2"); g.setFontAlign(1, 0, 0); g.drawString("->", R.x2 - marigin, R.y + R.h/2); From 558025b1cb398208b38112e2806bd304d08d4780 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 11 Oct 2022 01:02:52 +0200 Subject: [PATCH 078/622] dark/light theme --- apps/podadrem/app.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/podadrem/app.js b/apps/podadrem/app.js index c7db1f781..b04d80b17 100644 --- a/apps/podadrem/app.js +++ b/apps/podadrem/app.js @@ -67,17 +67,19 @@ com.bambuna.podcastaddict.service.player.togglespeed – This will toggle the Pl var R; var backToMenu = false; +var dark = g.theme.dark; // bool // The main layout of the app function gfx() { + //Bangle.drawWidgets(); R = Bangle.appRect; marigin = 8; // g.drawString(str, x, y, solid) g.clearRect(R); g.reset(); - + + if (dark) {g.setColor(0xFD20);} else {g.setColor(0xF800);} // Orange on dark theme, RED on light theme. g.setFont("4x6:2"); - g.setColor(0xFD20); g.setFontAlign(1, 0, 0); g.drawString("->", R.x2 - marigin, R.y + R.h/2); From 2a55ebbfca118150a4dba2d7ca16f6bcd8716b24 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 11 Oct 2022 01:24:55 +0200 Subject: [PATCH 079/622] Spotify generated playlists --- apps/spotrem/app.js | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/apps/spotrem/app.js b/apps/spotrem/app.js index f0787b57d..50767ae13 100644 --- a/apps/spotrem/app.js +++ b/apps/spotrem/app.js @@ -190,6 +190,38 @@ function spotifyPlaylistDW() { Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } +function spotifyPlaylistDM1() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +function spotifyPlaylistDM2() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +function spotifyPlaylistDM3() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +function spotifyPlaylistDM4() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +function spotifyPlaylistDM5() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +function spotifyPlaylistDM6() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +function spotifyPlaylistDD() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + +function spotifyPlaylistRR() { + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); +} + // Spotify Remote Menu var spotifyMenu = { "" : { title : " ", @@ -235,10 +267,18 @@ var savedMenu = { "" : { title : " ", back: () => {if (backToMenu) E.showMenu(spotifyMenu); if (!backToMenu) backToGfx();} }, + "Play playlist Discover Weekly" : ()=>{spotifyPlaylistDW();}, + "Play Daily Mix 1" : ()=>{spotifyPlaylistDM1();}, + "Play Daily Mix 2" : ()=>{spotifyPlaylistDM2();}, + "Play Daily Mix 3" : ()=>{spotifyPlaylistDM3();}, + "Play Daily Mix 4" : ()=>{spotifyPlaylistDM4();}, + "Play Daily Mix 5" : ()=>{spotifyPlaylistDM5();}, + "Play Daily Mix 6" : ()=>{spotifyPlaylistDM6();}, + "Play Daily Drive" : ()=>{spotifyPlaylistDD();}, + "Play Release Radar" : ()=>{spotifyPlaylistRR();}, "Play \"Vreden\" by Sara Parkman via uri-link" : ()=>{playVreden();}, "Open \"The Blue Room\" EP (no autoplay)" : ()=>{openAlbum();}, "Play \"The Blue Room\" EP via search&play" : ()=>{searchPlayAlbum();}, - "Play playlist Discover Weekly" : ()=>{spotifyPlaylistDW();}, }; Bangle.loadWidgets(); From 2cee9ac556db418a90c65faef9b0992523f129a0 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 11 Oct 2022 01:33:22 +0200 Subject: [PATCH 080/622] clean up --- apps/spotrem/app.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/apps/spotrem/app.js b/apps/spotrem/app.js index 50767ae13..1e969f3c9 100644 --- a/apps/spotrem/app.js +++ b/apps/spotrem/app.js @@ -256,18 +256,13 @@ var searchMenu = { "Search term w tag \"track\"" : ()=>{trackSearchTerm();}, "Search term w tag \"album\"" : ()=>{albumSearchTerm();}, "Execute search and play with tags" : ()=>{searchPlayWTags();}, - "Play \"Vreden\" by Sara Parkman via uri-link" : ()=>{playVreden();}, - "Play \"Vreden\" by Sara Parkman via search&play" : ()=>{searchPlayVreden();}, - "Open \"The Blue Room\" EP (no autoplay)" : ()=>{openAlbum();}, - "Play \"The Blue Room\" EP via search&play" : ()=>{searchPlayAlbum();}, - "Play playlist Discover Weekly" : ()=>{spotifyPlaylistDW();}, }; var savedMenu = { "" : { title : " ", back: () => {if (backToMenu) E.showMenu(spotifyMenu); if (!backToMenu) backToGfx();} }, - "Play playlist Discover Weekly" : ()=>{spotifyPlaylistDW();}, + "Play Discover Weekly" : ()=>{spotifyPlaylistDW();}, "Play Daily Mix 1" : ()=>{spotifyPlaylistDM1();}, "Play Daily Mix 2" : ()=>{spotifyPlaylistDM2();}, "Play Daily Mix 3" : ()=>{spotifyPlaylistDM3();}, From e5e9394ef5afd05be14f8868a9db67a2f0b8a44d Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Tue, 11 Oct 2022 01:40:56 +0200 Subject: [PATCH 081/622] fix generated spotify playlists --- apps/spotrem/app.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/spotrem/app.js b/apps/spotrem/app.js index 1e969f3c9..7e76d84bc 100644 --- a/apps/spotrem/app.js +++ b/apps/spotrem/app.js @@ -191,35 +191,35 @@ function spotifyPlaylistDW() { } function spotifyPlaylistDM1() { - Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZF1E365VyzxE0mxF:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } function spotifyPlaylistDM2() { - Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZF1E38LZHLFnrM61:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } function spotifyPlaylistDM3() { - Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZF1E36RU87qzgBFP:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } function spotifyPlaylistDM4() { - Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZF1E396gGyCXEBFh:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } function spotifyPlaylistDM5() { - Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZF1E37a0Tt6CKJLP:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } function spotifyPlaylistDM6() { - Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZF1E36UIQLQK79od:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } function spotifyPlaylistDD() { - Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZF1EfWFiI7QfIAKq:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } function spotifyPlaylistRR() { - Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXcRfaeEbxXIgb:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); + Bluetooth.println(JSON.stringify({t:"intent", action:"android.intent.action.VIEW", categories:["android.intent.category.DEFAULT"], package:"com.spotify.music", data:"spotify:user:spotify:playlist:37i9dQZEVXbs0XkE2V8sMO:play", target:"activity" , flags:["FLAG_ACTIVITY_NEW_TASK", "FLAG_ACTIVITY_NO_ANIMATION"/*, "FLAG_ACTIVITY_CLEAR_TOP", "FLAG_ACTIVITY_PREVIOUS_IS_TOP"*/]})); } // Spotify Remote Menu From dd44c49d1ff29302c93589c420541d2089eae839 Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Tue, 11 Oct 2022 19:06:33 +0200 Subject: [PATCH 082/622] Add files via upload --- apps/spotrem/screenshot1.png | Bin 1816 -> 2361 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/spotrem/screenshot1.png b/apps/spotrem/screenshot1.png index 3edd7a1c607290afd68eff2f989783b27c306964..730e98547c7e4ed5b73ee82cdf6fd4c5cf649da3 100644 GIT binary patch literal 2361 zcmdT`>pPT-7Jt3-;*BFlNw*OO?V=$iGDxy#h+HPd)Qs50(^{n;$p2hNTBdV!vRRI7% z&DqJ3BuDOl3|5kR4sV1m2Zc){q66@>dHXm3z;n)yhrJl|sf@wM9P586eU` z%6Pdvl9WkpiVY)ZMe6!~cVIF&$1E1qdfiGt zg#U$(X(?H8dKc?xF`ddUn>~5d#<+cKF=v<>*c;DVv+0uBIhq%S zf-@>sm_=ne0=Py>P_|SdHWGz+YP_p(zTD2_UiEpL|vr7D&H?;-dc1_%YP^oBWEo3~oruXf``rHX$FxB#Ot)}ejCq0Sp^3+Tf zT~Hn{?%tUg`ZbpyG#VR`&W7TaestS%=M~MWmGe*&k7Vzv#r1nw>Wb`S%OZZ&l>{@b zh3XkMn!D_4>Z6L1&9~<2L`IpYq;szW%02yKhh;Pw=NXnh$wLR$m_lnlurady?jbYf ztg>B<3cB=~N3J)MKHue%!TBa!utAd6(Rv%Dc8FEAGMSMQ4;RDqVFsuEv%B7DgXwPJ zPlJR^m3)Q>d_jm7XTBk3qQr)ECzaV+v~?E>NsEZchq*Unu$IKb|c9aci#VmPw) zVyiKAZ3!hM?M8m-?fqTcx{79;K9oM7RT`SqW8MyhMhNFuQ;fs38U2(~2P#7!#|`HT z7CY>ss($c#)O^)P(h>?HKA+Ua$zGP=XjA+>WL8?kvG0}B=2A`Bui}}?hk6L7`ilAc zqX1GyUNf2?45V!|pD@?3IzM{hStwNJtXGCZ{nwDx#6Y~lXp4PA@N=(+C!Mts!B|IK zbZLbu&-s#49*WtHL2UEM0s4|gkA2C?3XnAG=!Yb<{XkOoX?=ANo;-Z_{tm2}shOq8 zlz++h%_S?5tS_>^)3@kygE(P0_F2)mBJS)xA4#jv2br*Nj-2wkFzvzCW;60blsh8PxVS&>-QHS$#f9nV{=203_Lc~wOj_k)F51)MNr`D>Cjc~#&nPZ+a)9}nzG(pxRTl1iM79p z(f#y+k`WQkJ0e(E-MyUFP01cAgenTfP2hqUDcO{7p9%f7w*Sq%6ntU{0LjodeAp@J zhYU6VKJoDj0pOa*)wZA{{lCor-9wFgu$Hm3X3J^ITO+l;JCh}F{#2k9XQeb!OONz&6#)uVIRCIi%{jBjBDW*n zub6K{wX7q4KVKQM0*z@RL*EEW1Z^tW``4xKms+v(63o~I_6vZ8a;e*R&7@h1qbR8<8Dw|exDi6<9v3~d%qm$_b2RBBvtBv;T zLcUybs~)9eN#bp4qVO(hL3v-}`Ozm`ZX4&e0`8~wmXZYsdSM4ba)RvseQr1<2@X!3 zuD}+or=8|B@Dhtuv(m4(Z1Jfb7xOzinsInT1F*OBz>TZ?J$fyXP7|v9thZ6?5k6c~ z-VYZ)hmK16+yu-Gl)nAEA=8o!-&r_;A9+C0(P01>b3IE0kSU7hu6O`cwhuar2jyMf zc2a;etN`odJ!pGB{5?k%-FUvjrw46`fSkvG1Sml3SyxiE+wgR{se< z!T7&RoQ;K9z3ZBstj2rPA{v@Or!^JNOls;E0ZpmmIJ6P_kOz`VG zKX_TZy$XB5%}Po97v>Eq=;Z}F#ZJmB8}KxUiabG!l+N&En@ z<=1fsS1MSi%fJ9dOQT46^ c&I5;xDp0mpn*%-MzYyU3vzy~n2fyF`0WPOujQ{`u literal 1816 zcmeH|*;7*o6vmTFE+$tIkRXUkEkZ(#HCRwF5Vi)8Di9U}6^yYu21IBmRR}@hR%*2p zR8Tf0pm9N2wZ#NQyyMzpAQMEQCSY)ZpdcU#AQwn)XY5P=h4$f`@8x`RX3qTPJ4e`I z!4{AMgu~%1LN>4>F>Uy}h~`+Ym%Zjc5t4&E^HhmgNBS zZXdgPgwf!E2e~))uj0acd5Hkj{39BlvbLTgXwg^%~#{3!8Nq!lS`@7<>O>#u2eK6wEAexOuTCo3ok$E zs}4TRkW4mteNPvlghu}Ps#29v+1TD{q8v9azJ4LI(Ns)r0DQkTXy$4~G_j;XKjm(S zFaS2vDsMd4wyK5B{dd5>PsVq5)2Xd$U**brC;?JAm+8$>g##v1>cebMlJ{rRV&5bXmw)P9< z;$xILo5>ObRD(RsD;-P$9myHDYniX!n;gry+$uZhU-h)TI(cmF4Uy?87H}|$5&icI6o)Laz$!>)l>J_B{43Vx5yZjI?CGvQ*Z+z97gH*@dqCd@Acvng@SA zL$RX$Fls4F)*LXIK(D0c$lPaZ3mr)Ip?duoH2tDwYbwn_%USEmqu*?C{2|lz~XM<`EuSTrAwGp<>NJMQtJp&As zT?Sf9dY8Bzk35JSi5wed2^b)<7B sHPspq<`aeccLR|3UQvAfKUQShrqO)nn;S$a_UdpUfnlt=0Nzi30p0^OSO5S3 From 64a440c6b5a95836483535fea725ebddc3afe426 Mon Sep 17 00:00:00 2001 From: thyttan <97237430+thyttan@users.noreply.github.com> Date: Tue, 11 Oct 2022 19:07:39 +0200 Subject: [PATCH 083/622] Add files via upload --- apps/podadrem/screenshot1.png | Bin 1836 -> 2757 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/podadrem/screenshot1.png b/apps/podadrem/screenshot1.png index e028b331824cd45a6217ea520e68e91442e09215..50f3f17f1918f7f5d962ba754a93d9e91bd0d525 100644 GIT binary patch literal 2757 zcmeHJ`#;nBAD>U-Fe#VE)WajUSR`8Ih}Uzc`}(H8Ba}hqQV{9{q^@VrGz0>pp*@acs1ft`z~pkr?Vbf& zTVLif)b2PI9f7p^F~J)6ZEM}lEu`t4?{rBor5ai9IkkKb~;v#?zD2bJk!5PD zu3(~@!Ch~~g~$`3kGXw4^f$tvlV~VCQsr{Zv2fcbQ#-*-H0&jLdZPG8JcC!$p*c#| zj7Vw0WyZ2g0)Q}8&ho-W8uwM5+beYl=uf$<&y45Tkq=+!tBz-=wFfJCA;d~S*`Ns zxTH4?hzWyO#nGvCwU_W)7qlmjj>OE3+aqJNV)>(j<+jP#lVC8Ag;Z_y1lZ+F` zdqYejEB?gUjo)e}Yz?wVTJn7dU*c#wH`Q8lxb1^dmmVas&nb4>M3grkA!70InSAoS zLI}XLr{uKAuKSs61D|T&2bhR6IhP6`fLTYihRN6J{&yms-9PyIK|sBJ`*h?=Dm!m| z--odsbbj`G2@;3j^bLy^$TjGEjpqjsAQ=uSOBUvU1;^%}@ex3B9Fgn>U_@7IruTyo zz``BzlN+EumS^XJ(2muot{qyO-LNOnyzrZ4ho<^7ockBr?lvi&V^4?ChFza&t}7hY z_mURBU%2SA`%7_(ai^P_!9G&M&Urv^ma_5A5eH9|Jv^#6(Cv09)9s`x4*sF@)g2V$ z)8LD~gCwygTD-juYi74BXsNvN8?2@yRvg(?-YNa0X>CP1wyn$VPRZvP>Va$B%Ys0# zJkr#sY*^t_&*!2{1_rz1I@mYz_gC1<;2kWhsuy020AzndI*;E0Bk=YI+F}foRQZZm z8q`!&?Ss6j2jRpgYKiwA4BM_+HnYnl;_;GCxZHWbiDKFkFG{BCw+0NuzRpS5;Q%%Y zd$k2V-t{z`C^^{f>^^HiRl$7I;|5Htrf_Ao@dSo(lBawrLI2~Z>Aa~n8UmVK&}BQR zKo@fF?l99ZA({I{lP#|C$MgH6%vGSd73i7;sCKhcvSW_IKP8ec4oyCBE_$+>?%FEz@QGK& zFG|ZRq^ER(HP);7T#K6rfnD>RG$swnJXEq_?!(+6iKi>?DRun~FWAxOTDqFX66fqz zBGcikK17`Wmkk%xzm~l`iHNV206Sc5)}UD*Rm%{tgBRW_QLR&y5)--lb%ufgQA?k4 zg)mIEq!{1P`eSEbGX6mdp*CN@#xe8FIJ(UZyui`3mIq>=2h>W=fLMqGLYMN zZvH#fw?L*?t}BthJIJZ>5awRkI(dzeL4t1$>6CG*3nCq#!GFZ>7Y=Umrs@l26Vwni z)>DQfMLJ4{48Q~M)!59OI+6U$2g+M@f>MZa{n?k4gu>(VuGT(!i>E|B%j7UKPVhEb z>)&|U#W4xHew&d_vMtPp1PU+0_ z9C!Kr{XScJr_<%__^}$su)({vjQ&t3WK#<0sfx4xw080Hm*QDfa>a&v3@#>65d!nh zm()MHzqpzvbO2~p3xue6Mk5Z5RplrjP!@4m;+yPTxwW}oi90^vk~5LyQWp`G2f)~T zF@%LgFm8mG7N5<`DtnE39ny1VK%i^J@=LIufd?)&8M$4_tEhVwPCN~Uov#Z0rCM{n zYtjr$T!B?BMEx}~c*WU~IS<^dY-;N1&1V%+j^sF`#J}a@e93f{8?wJ1zs7XQm~=ZG zZ^`uviWg7ff2T~T!-Ic5^RBD2Hl-lf$gL!k10$3^sfANjf_@jjM|dXmdV&IZ1# zUB~VruUiVvfq5z2sWIAF5e2fBR?r2%G|uK<1}U7+SG9fsQ3CDBQN%UA#;-qpO10Ro zcxI~OU`iG*w5juSGzyP-ctibt+lGe3%JTUJ laoJS`+H>A_XEti?P%a+P+^*ei^wGe1EEj_ zlTbzkK_wLw%hUjMFfd3kD1~w{kxmd50$9tXLQIC(q(}%ooxb)Tv=4i)J$tRS*ULBG zt~?nRz1@1JH2?tHX~!rDNbLN3p)HWTqx-iMB%pE=qRBwJ+~s!wuvnx~jwBVPs2krD z&3Iye0d(|{bTRq`Dgky zM%PvgA5++6wxu&>|7?WG&$XGee+(qG1yv1xw>O6X( zV?`XxI#K*yzF_W`e3DJAYILTTwC5$6Zk4{nN$wnez4gY`iD$rEWb>GFF)a>`^tq$e z>~pWCiIdnn)MFAeg7#B8A^$=skLWbfJ-$p@Tkf8yY3*qexFX~BBx!N5r9QB= ztOfw_Z|v0jOJ&@lB!9a|m~gsz6T-YyT(_ozNY`gwA^_ZQP8>J}@C4bFdR!zNk>=%O zwYwARH^BwbtLewh2`DJ|$-dVo0Ny6Q4c=QSqxMiXkP6W!4t(S(bbUqy3i>Y(bCHo0 zy6UiS5%J7pZu82}EcT*{B}mXJZBRVCd4K*ab6Bh%l!jesNFEct4tR?&$rBW+SV$7`9K;0!U}uO2<* zUTa(2fv;h11wF{N6p}fXZBO6Q$gt~F$|3iuOe+`Zk}}rdN)wkH_(2+bxrxY@EcSgZ zOt&u>+^nC@aVasC42(KOR~5FZX#$9!zr4(bOpme%nHACKY7b2;%b`<0Vo#du1!Bk# z4bL_E8Uh0#zmRCKj#c@-gI+DPMbAh8Opm*kKHz?vvm^2p-XOI>(Ef4*8xlfR=8rEE z`tx51bQr<|4)j)LUraZ!6vkmHlRUI@8Mf%lrf z1wb2y-8BSHT|;6#!f}Ovv%_<}tPz4S z9`WlCCPWnKPyt~+M_>KE82o>n4Wll8iEa9Ga!FUw;D%^5|Kz5e0uyF58BlNl6)^~; ze;S2oA|EECA!cBycw-(Pg6|r*TeUi`@q-5D{T;XN^%v>`YzkmVjx&wKOk2Ce_T`~I zwD;}5Ax%(U<|yZ`L^0!7=~?2$2X3>xmM3Uqrs~vBSA>q@&}u7V{ra_fT@Zr_jGAM3 zMcuYKVY>(1g^Jo_O1YJ;zU9+l{$Tf*bC8sDKqF_F@1irL-hLf-4c^Z@v(-NMXZzlz zYW`T}uG{iuc@vx)IVB^@O{)&UjcLfOX&Ri8d$xe}-X(Vfv$Fy(?3C<($hE5e7|@6# zrQWD9`cgtCGNL+svL8_uD(6ZZJxiThi=#jG)#hfj87;u9Eqkki`9qOswkfcY^Gh!i z*=FFX41bWlaKK$Vs#3w3=)NOYlbhVZjv3YV#c%#4^=pLVL@kL_HoJs;e*i5ij?zws G%l-msh8 Date: Fri, 14 Oct 2022 12:33:24 +0200 Subject: [PATCH 084/622] change name --- apps/spotrem/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/spotrem/metadata.json b/apps/spotrem/metadata.json index 7353be36d..a0261ba13 100644 --- a/apps/spotrem/metadata.json +++ b/apps/spotrem/metadata.json @@ -1,6 +1,6 @@ { "id": "spotrem", - "name": "Spotify Remote", + "name": "Remote for Spotify", "version": "0.05", "description": "Control spotify on your android device.", "readme": "README.md", From 2167f4ca7b64029bade677517712df104fd07dda Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Tue, 18 Oct 2022 18:44:24 +0300 Subject: [PATCH 085/622] Create app.js --- apps/rinkulainen/app.js | 146 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 apps/rinkulainen/app.js diff --git a/apps/rinkulainen/app.js b/apps/rinkulainen/app.js new file mode 100644 index 000000000..6a13da68b --- /dev/null +++ b/apps/rinkulainen/app.js @@ -0,0 +1,146 @@ +// Rinkulainen +// +// Bangle.js 2 watch face +// by Jukio Kallio +// www.jukiokallio.com + +// settings +const watch = { + theme: "default", + x:0, y:0, w:0, h:0, + color:"#000000", // change background color + finland:true, // change if you want Finnish style date, or US style + + // default theme "grayscale" + hour: { size:60, weight:20, color:"#999999", cursor:8 }, + minute: { size:40, weight:20, color:"#dddddd", cursor:8 }, + second: { on: false, cursor:2 }, // if on, uses a lot more battery + date: { font:"6x8", size:1, y:15, color:"#ffffff" } +}; + +// more themes +if (watch.theme == "colorful") { + watch.hour = { size:60, weight:8, color:"#00FFFF", cursor:10 }; + watch.minute = { size:40, weight:16, color:"#FFFF00", cursor:6 }; + watch.second = { on: false, cursor:2 }; // if on, uses a lot more battery + watch.date = { font:"6x8", size:1, y:15, color:"#FFFF00" }; +} else if (watch.theme == "maze") { + watch.hour = { size:50, weight:7, color:"#ffffff", cursor:6 }; + watch.minute = { size:30, weight:7, color:"#ffffff", cursor:6 }; + watch.second = { on: false, cursor:2 }; // if on, uses a lot more battery + watch.date = { font:"6x8", size:1, y:15, color:"#ffffff" }; +} else if (watch.theme == "disks") { + watch.hour = { size:72, weight:30, color:"#00ff66", cursor:4 }; + watch.minute = { size:36, weight:32, color:"#0066ff", cursor:4 }; + watch.second = { on: false, cursor:2 }; // if on, uses a lot more battery + watch.date = { font:"6x8", size:1, y:10, color:"#ffffff" }; +} + +// set some additional settings +watch.w = g.getWidth(); // size of the background +watch.h = g.getHeight(); +watch.x = watch.w * 0.5; // position of the circles +watch.y = watch.h * 0.46; +watch.date.y = watch.date.y + watch.y + watch.hour.size; // final position of the date + +const dateWeekday = { 0: "Sunday", 1: "Monday", 2: "Tuesday", 3: "Wednesday", 4:"Thursday", 5:"Friday", 6:"Saturday" }; // weekdays + +var wait = 60000; // wait time, normally a minute +if (watch.second.on) wait = 1000; // a second if seconds are used + + +// timeout used to update every minute +var drawTimeout; + +// schedule a draw for the next minute +function queueDraw() { + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + draw(); + }, wait - (Date.now() % wait)); +} + + +// main function +function draw() { + // make date object + var date = new Date(); + + // work out the date string + var dateDay = date.getDate(); + var dateMonth = date.getMonth() + 1; + var dateYear = date.getFullYear(); + var dateStr = dateWeekday[date.getDay()] + " " + dateMonth + "." + dateDay + "." + dateYear; + if (watch.finland) dateStr = dateWeekday[date.getDay()] + " " + dateDay + "." + dateMonth + "." + dateYear; // the true way of showing date + + // Reset the state of the graphics library + g.reset(); + + // Clear the area where we want to draw the time + g.setColor(watch.color); + g.fillRect(0, 0, watch.w, watch.h); + + // variables for vertex transformation + var tver, tobj, tran; + + // draw hour circle + g.setColor(watch.hour.color).fillCircle(watch.x, watch.y, watch.hour.size); + g.setColor(watch.color).fillCircle(watch.x, watch.y, watch.hour.size - watch.hour.weight); + // draw hour line + g.setColor(watch.color); + var thour = (date.getHours() / 12) * (Math.PI * 2); + tver = [-watch.hour.cursor, 0, watch.hour.cursor, 0, watch.hour.cursor, -watch.hour.size*1.05, -watch.hour.cursor, -watch.hour.size*1.05]; + tobj = { x:watch.x, y:watch.y, scale:1, rotate:thour }; + tran = g.transformVertices(tver, tobj); + g.fillPoly(tran); + + // draw minute circle + g.setColor(watch.minute.color).fillCircle(watch.x, watch.y, watch.minute.size); + g.setColor(watch.color).fillCircle(watch.x, watch.y, watch.minute.size - watch.minute.weight); + // draw minute line + g.setColor(watch.color); + var tmin = (date.getMinutes() / 60) * (Math.PI * 2); + tver = [-watch.minute.cursor, 0, watch.minute.cursor, 0, watch.minute.cursor, -watch.minute.size*1.05, -watch.minute.cursor, -watch.minute.size*1.05]; + tobj = { x:watch.x, y:watch.y, scale:1, rotate:tmin }; + tran = g.transformVertices(tver, tobj); + g.fillPoly(tran); + + // draw seconds line, if the feature is on + if (watch.second.on) { + g.setColor(watch.color); + var tsec = (date.getSeconds() / 60) * (Math.PI * 2); + tver = [-watch.second.cursor, 0, watch.second.cursor, 0, watch.second.cursor, -watch.second.size*1.045, -watch.second.cursor, -watch.second.size*1.045]; + tobj = { x:watch.x, y:watch.y, scale:1, rotate:tsec }; + tran = g.transformVertices(tver, tobj); + g.fillPoly(tran); + } + + // draw date + g.setFontAlign(0,0).setFont(watch.date.font, 1).setColor(watch.date.color); + g.drawString(dateStr, watch.x, watch.date.y + watch.date.size + 2); + + // queue draw + queueDraw(); +} + + +// Clear the screen once, at startup +g.clear(); +// draw immediately at first +draw(); + + +// Stop updates when LCD is off, restart when on +Bangle.on('lcdPower',on=>{ + if (on) { + draw(); // draw immediately, queue redraw + } else { // stop draw timer + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + } +}); + + +// Show launcher when middle button pressed +Bangle.setUI("clock"); From 12a0ce6c303995ecc319880bdc405beaa0f0f2e7 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Tue, 18 Oct 2022 18:53:26 +0300 Subject: [PATCH 086/622] Create app-icon.js --- apps/rinkulainen/app-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/rinkulainen/app-icon.js diff --git a/apps/rinkulainen/app-icon.js b/apps/rinkulainen/app-icon.js new file mode 100644 index 000000000..b27f89b2d --- /dev/null +++ b/apps/rinkulainen/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwkBIPsPAAwVN+AAKFaIxPFpYvJFpovJFpovHFp4vHFp4vGFyIvFFyIvEFyQvEFyQvDFyYvDFyYvCFygvCFygvBFyovBFyvwFy0Pc6YvTC4ajDFpv//4XFF8otBF44HBFywvKFof/R4gXBF8QuEF/4vZFwovwC4wvgFwwvGBBAhDF5oXGF/4v/FAovRFAbtCF6hoKF5QAG")) From 720d60e71f50e586054fcd4c475a62f7de7f363d Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Tue, 18 Oct 2022 19:02:04 +0300 Subject: [PATCH 087/622] Create metadata.json --- apps/rinkulainen/metadata.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 apps/rinkulainen/metadata.json diff --git a/apps/rinkulainen/metadata.json b/apps/rinkulainen/metadata.json new file mode 100644 index 000000000..1e7d16865 --- /dev/null +++ b/apps/rinkulainen/metadata.json @@ -0,0 +1,16 @@ +{ "id": "rinkulainen", + "name": "Rinkulainen - Minimal & Stylish watch face", + "shortName":"Rinkulainen", + "version":"0.01", + "description": "A minimal watch face, with rings/disks for hours and minutes. Date underneath. With easy to mod source code for making your own themes. Some example themes included.", + "icon": "app.png", + "screenshots": [{"url":"screenshot1.png"}, {"url":"screenshot2.png"}, {"url":"screenshot3.png"}], + "type": "clock", + "tags": "clock", + "supports" : ["BANGLEJS","BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"rinkulainen.app.js","url":"app.js"}, + {"name":"rinkulainen.img","url":"app-icon.js","evaluate":true} + ] +} From 8d1c52e62059d9c92ae18b457ffcd42505df8032 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Tue, 18 Oct 2022 19:02:26 +0300 Subject: [PATCH 088/622] Add screenshots --- apps/rinkulainen/screenshot1.png | Bin 0 -> 6471 bytes apps/rinkulainen/screenshot2.png | Bin 0 -> 6374 bytes apps/rinkulainen/screenshot3.png | Bin 0 -> 6009 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/rinkulainen/screenshot1.png create mode 100644 apps/rinkulainen/screenshot2.png create mode 100644 apps/rinkulainen/screenshot3.png diff --git a/apps/rinkulainen/screenshot1.png b/apps/rinkulainen/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..f897c5a4e096ecaef3407aeb492bd675a320a213 GIT binary patch literal 6471 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 literal 0 HcmV?d00001 diff --git a/apps/rinkulainen/screenshot2.png b/apps/rinkulainen/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..354618167d078c21f984546174024d2c5dd02e86 GIT binary patch literal 6374 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 Y+9lR>i;m~~xmGDYSCg%IW*YYY0G1T%a{vGU literal 0 HcmV?d00001 diff --git a/apps/rinkulainen/screenshot3.png b/apps/rinkulainen/screenshot3.png new file mode 100644 index 0000000000000000000000000000000000000000..ef1385288029f070de4b59d2312a8f05faa46ec9 GIT binary patch literal 6009 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 W!A{U%o%MI8ulhhssrtTk_ Date: Tue, 18 Oct 2022 19:04:48 +0300 Subject: [PATCH 089/622] Create README.md --- apps/rinkulainen/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 apps/rinkulainen/README.md diff --git a/apps/rinkulainen/README.md b/apps/rinkulainen/README.md new file mode 100644 index 000000000..fde01262c --- /dev/null +++ b/apps/rinkulainen/README.md @@ -0,0 +1,8 @@ +# Rinkulainen + +A Minimal & stylish watch face. + +![Default grayscale theme](screenshot1.png) + +![Colorful theme](screenshot1.png) +![Maze theme](screenshot2.png) From 4c93dd52c37ee1ca571391224f9afbda767252f5 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Tue, 18 Oct 2022 19:05:03 +0300 Subject: [PATCH 090/622] Update README.md --- apps/rinkulainen/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/rinkulainen/README.md b/apps/rinkulainen/README.md index fde01262c..50aee14cd 100644 --- a/apps/rinkulainen/README.md +++ b/apps/rinkulainen/README.md @@ -4,5 +4,5 @@ A Minimal & stylish watch face. ![Default grayscale theme](screenshot1.png) -![Colorful theme](screenshot1.png) -![Maze theme](screenshot2.png) +![Colorful theme](screenshot2.png) +![Maze theme](screenshot3.png) From 2ffde80c7a4d01a483368f13557d7f78d382abf4 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Tue, 18 Oct 2022 19:06:47 +0300 Subject: [PATCH 091/622] Update README.md --- apps/rinkulainen/README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/rinkulainen/README.md b/apps/rinkulainen/README.md index 50aee14cd..6c48447c4 100644 --- a/apps/rinkulainen/README.md +++ b/apps/rinkulainen/README.md @@ -1,8 +1,7 @@ # Rinkulainen -A Minimal & stylish watch face. +A Minimal & stylish watch face, with rings or disks for hours and minutes. Date underneath. With easy to mod source code for making your own themes. Some example themes included. -![Default grayscale theme](screenshot1.png) - -![Colorful theme](screenshot2.png) -![Maze theme](screenshot3.png) +![](screenshot1.png) Default grayscale theme +![](screenshot2.png) Colorful theme +![](screenshot3.png) Maze theme From 5d1f736b6106a7c43746326ee1d00e6f58efcb64 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Tue, 18 Oct 2022 19:07:20 +0300 Subject: [PATCH 092/622] Update README.md --- apps/rinkulainen/README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/rinkulainen/README.md b/apps/rinkulainen/README.md index 6c48447c4..b41fa3461 100644 --- a/apps/rinkulainen/README.md +++ b/apps/rinkulainen/README.md @@ -1,7 +1,14 @@ # Rinkulainen +By Jukio Kallio + A Minimal & stylish watch face, with rings or disks for hours and minutes. Date underneath. With easy to mod source code for making your own themes. Some example themes included. -![](screenshot1.png) Default grayscale theme -![](screenshot2.png) Colorful theme -![](screenshot3.png) Maze theme +![](screenshot1.png) +Default grayscale theme + +![](screenshot2.png) +Colorful theme + +![](screenshot3.png) +Maze theme From 13c739f186e72396f116773b6dbbc11db4611c55 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 10:32:45 +0300 Subject: [PATCH 093/622] Add files via upload --- apps/rinkulainen/app.png | Bin 0 -> 4656 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/rinkulainen/app.png diff --git a/apps/rinkulainen/app.png b/apps/rinkulainen/app.png new file mode 100644 index 0000000000000000000000000000000000000000..632cf17e033e1997ec76c7061c91ee76d125ea1c GIT binary patch literal 4656 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 Date: Wed, 19 Oct 2022 10:54:04 +0300 Subject: [PATCH 094/622] Changed default theme to the 'colorful' --- apps/rinkulainen/app.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/rinkulainen/app.js b/apps/rinkulainen/app.js index 6a13da68b..b487c9a0d 100644 --- a/apps/rinkulainen/app.js +++ b/apps/rinkulainen/app.js @@ -11,19 +11,19 @@ const watch = { color:"#000000", // change background color finland:true, // change if you want Finnish style date, or US style - // default theme "grayscale" - hour: { size:60, weight:20, color:"#999999", cursor:8 }, - minute: { size:40, weight:20, color:"#dddddd", cursor:8 }, + // default theme "colorful" + hour: { size:60, weight:8, color:"#00FFFF", cursor:10 }, + minute: { size:40, weight:16, color:"#FFFF00", cursor:6 }, second: { on: false, cursor:2 }, // if on, uses a lot more battery - date: { font:"6x8", size:1, y:15, color:"#ffffff" } + date: { font:"6x8", size:1, y:15, color:"#FFFF00" } }; // more themes -if (watch.theme == "colorful") { - watch.hour = { size:60, weight:8, color:"#00FFFF", cursor:10 }; - watch.minute = { size:40, weight:16, color:"#FFFF00", cursor:6 }; +if (watch.theme == "grayscale") { + watch.hour = { size:60, weight:20, color:"#999999", cursor:8 }; + watch.minute = { size:40, weight:20, color:"#dddddd", cursor:8 }; watch.second = { on: false, cursor:2 }; // if on, uses a lot more battery - watch.date = { font:"6x8", size:1, y:15, color:"#FFFF00" }; + watch.date = { font:"6x8", size:1, y:15, color:"#ffffff" }; } else if (watch.theme == "maze") { watch.hour = { size:50, weight:7, color:"#ffffff", cursor:6 }; watch.minute = { size:30, weight:7, color:"#ffffff", cursor:6 }; From 0ef345e2a73a695421693312d30ca63212bed79c Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 10:54:45 +0300 Subject: [PATCH 095/622] Changed order of the screenshots --- apps/rinkulainen/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/rinkulainen/README.md b/apps/rinkulainen/README.md index b41fa3461..4b32ada0a 100644 --- a/apps/rinkulainen/README.md +++ b/apps/rinkulainen/README.md @@ -4,11 +4,11 @@ By Jukio Kallio A Minimal & stylish watch face, with rings or disks for hours and minutes. Date underneath. With easy to mod source code for making your own themes. Some example themes included. -![](screenshot1.png) -Default grayscale theme - ![](screenshot2.png) -Colorful theme +Default Colorful theme + +![](screenshot1.png) +Grayscale theme ![](screenshot3.png) Maze theme From 9ab0242e46e32ae6904f4eef15d1caa9e25e903d Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 10:55:10 +0300 Subject: [PATCH 096/622] Changed order of the screenshots --- apps/rinkulainen/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rinkulainen/metadata.json b/apps/rinkulainen/metadata.json index 1e7d16865..f0a51af87 100644 --- a/apps/rinkulainen/metadata.json +++ b/apps/rinkulainen/metadata.json @@ -4,7 +4,7 @@ "version":"0.01", "description": "A minimal watch face, with rings/disks for hours and minutes. Date underneath. With easy to mod source code for making your own themes. Some example themes included.", "icon": "app.png", - "screenshots": [{"url":"screenshot1.png"}, {"url":"screenshot2.png"}, {"url":"screenshot3.png"}], + "screenshots": [{"url":"screenshot2.png"}, {"url":"screenshot1.png"}, {"url":"screenshot3.png"}], "type": "clock", "tags": "clock", "supports" : ["BANGLEJS","BANGLEJS2"], From ca41ccf6de3acd927baa3860dc4951778d4236fd Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 13:37:42 +0300 Subject: [PATCH 097/622] Create app.js --- apps/henkinen/app.js | 125 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 apps/henkinen/app.js diff --git a/apps/henkinen/app.js b/apps/henkinen/app.js new file mode 100644 index 000000000..1207b5686 --- /dev/null +++ b/apps/henkinen/app.js @@ -0,0 +1,125 @@ +// Henkinen +// +// Bangle.js 2 breathing helper +// by Jukio Kallio +// www.jukiokallio.com + +// settings +const breath = { + theme: "default", + x:0, y:0, w:0, h:0, + size: 60, + + bgcolor: {r: 1, g: 0.6, b: 0.3}, + incolor: {r: 1, g: 0.8, b: 0.5}, + keepcolor: {r: 1, g: 0.8, b: 0.5}, + outcolor: {r: 1, g: 0.8, b: 0.5}, + + font: "Vector", fontsize: 14, + textcolor: {r: 1, g: 1, b: 1}, + texty: 16, + + in: 4000, + keep: 7000, + out: 8000 +}; + +// set some additional settings +breath.w = g.getWidth(); // size of the background +breath.h = g.getHeight(); +breath.x = breath.w * 0.5; // position of the circles +breath.y = breath.h * 0.45; +breath.texty = breath.y + breath.size + breath.texty; // text position + +var wait = 100; // wait time, normally a minute +var time = 0; // for time keeping + + +// timeout used to update every minute +var drawTimeout; + +// schedule a draw for the next minute +function queueDraw() { + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + draw(); + }, wait - (Date.now() % wait)); +} + + +// main function +function draw() { + // make date object + var date = new Date(); + + // update current time + time += wait - (Date.now() % wait); + if (time > breath.in + breath.keep + breath.out) time = 0; // reset time + + // Reset the state of the graphics library + g.reset(); + + // Clear the area where we want to draw the time + g.setColor(breath.bgcolor.r, breath.bgcolor.g, breath.bgcolor.b); + g.fillRect(0, 0, breath.w, breath.h); + + // calculate circle size + var circle = 0; + if (time < breath.in) { + // breath in + circle = time / breath.in; + g.setColor(breath.incolor.r, breath.incolor.g, breath.incolor.b); + + } else if (time < breath.in + breath.keep) { + // keep breath + circle = 1; + g.setColor(breath.keepcolor.r, breath.keepcolor.g, breath.keepcolor.b); + + } else if (time < breath.in + breath.keep + breath.out) { + // breath out + circle = ((breath.in + breath.keep + breath.out) - time) / breath.out; + g.setColor(breath.outcolor.r, breath.outcolor.g, breath.outcolor.b); + + } + + // draw breath circle + g.fillCircle(breath.x, breath.y, breath.size * circle); + + // breath area + g.setColor(breath.textcolor.r, breath.textcolor.g, breath.textcolor.b); + g.drawCircle(breath.x, breath.y, breath.size); + + // draw text + g.setFontAlign(0,0).setFont(breath.font, breath.fontsize).setColor(breath.textcolor.r, breath.textcolor.g, breath.textcolor.b); + + if (time < breath.in) { + // breath in + g.drawString("Breath in", breath.x, breath.texty); + + } else if (time < breath.in + breath.keep) { + // keep breath + g.drawString("Keep it in", breath.x, breath.texty); + + } else if (time < breath.in + breath.keep + breath.out) { + // breath out + g.drawString("Breath out", breath.x, breath.texty); + + } + + // queue draw + queueDraw(); +} + + +// Clear the screen once, at startup +g.clear(); +// draw immediately at first +draw(); + + +// keep LCD on +Bangle.setLCDPower(1); + +// Show launcher when middle button pressed +Bangle.setUI("clock"); From 52532b41c59a0115d7ee352af0a739281af8ce2c Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 13:41:11 +0300 Subject: [PATCH 098/622] Create metadata.json --- apps/henkinen/metadata.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 apps/henkinen/metadata.json diff --git a/apps/henkinen/metadata.json b/apps/henkinen/metadata.json new file mode 100644 index 000000000..f6559be72 --- /dev/null +++ b/apps/henkinen/metadata.json @@ -0,0 +1,15 @@ +{ "id": "henkinen", + "name": "Henkinen - Tiny Breathing Helper", + "shortName":"Henkinen", + "version":"0.01", + "description": "A tiny app helping you to breath and relax.", + "icon": "app.png", + "screenshots": [{"url":"screenshot1.png"}], + "type": "outdoors", + "supports" : ["BANGLEJS","BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"henkinen.app.js","url":"app.js"}, + {"name":"henkinen.img","url":"app-icon.js","evaluate":true} + ] +} From d3a7e4fa334c7070a1c4ecad797d47aa0efb73d2 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 13:42:23 +0300 Subject: [PATCH 099/622] Create README.md --- apps/henkinen/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 apps/henkinen/README.md diff --git a/apps/henkinen/README.md b/apps/henkinen/README.md new file mode 100644 index 000000000..e17e86121 --- /dev/null +++ b/apps/henkinen/README.md @@ -0,0 +1,7 @@ +# Henkinen + +By Jukio Kallio + +A tiny app helping you to breath and relax. + +![](screenshot1.png) From efe67c3a3c537dca3192e664c7d7be4b53af6996 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 13:43:31 +0300 Subject: [PATCH 100/622] Added screenshot --- apps/henkinen/screenshot1.png | Bin 0 -> 23611 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/henkinen/screenshot1.png diff --git a/apps/henkinen/screenshot1.png b/apps/henkinen/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6655f6ab41b1c605107503efb672c81a9c33fd GIT binary patch literal 23611 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 literal 0 HcmV?d00001 From 78a3ea812ad3747afd159c03c389a797507ebb14 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 13:47:15 +0300 Subject: [PATCH 101/622] Added loader icon --- apps/henkinen/app.png | Bin 0 -> 5730 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/henkinen/app.png diff --git a/apps/henkinen/app.png b/apps/henkinen/app.png new file mode 100644 index 0000000000000000000000000000000000000000..6ac3f151f052aa624e66a244ed1aaed6c84ea41a GIT binary patch literal 5730 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 H{oVfo=&1`l literal 0 HcmV?d00001 From 0c4cb7df5a775bfefb23feb709b06902996b1fcd Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Wed, 19 Oct 2022 13:49:44 +0300 Subject: [PATCH 102/622] Create app-icon.js --- apps/henkinen/app-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/henkinen/app-icon.js diff --git a/apps/henkinen/app-icon.js b/apps/henkinen/app-icon.js new file mode 100644 index 000000000..fd1e32d20 --- /dev/null +++ b/apps/henkinen/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwxH+AH4Az64AIFlgyjEZoxfDqYxaDSowYJDBGg54AGU7osOGRgvQCA4tNGJIwOOA4uRGAyRNFzYwTFzgwILx4uXGApgKFz4wHRspgQL0JgNF9ztgSBwujMBYv/F/4v/F/4v/F6IwiFBRgkE5Iv3GDiOLMEZeLeMReNSMAjLMBYwWERgwhFyRtJFyyNMCBotTFyJwDCZAsODZjDRDFBGYI6waEDZwSSDyAfIBpoxbABItdGRwsiAH4AOA==")) From 13d17b25a6e34d4de4b1756504c91b97d9e5da0f Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Thu, 20 Oct 2022 19:24:06 +0200 Subject: [PATCH 103/622] setting - Adds setting for launcher --- apps/setting/settings.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 36af93a8a..d7b81fd59 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -87,6 +87,7 @@ function showSystemMenu() { /*LANG*/'LCD': ()=>showLCDMenu(), /*LANG*/'Locale': ()=>showLocaleMenu(), /*LANG*/'Select Clock': ()=>showClockMenu(), + /*LANG*/'Select Launcher': ()=>showLauncherMenu(), /*LANG*/'Date & Time': ()=>showSetTimeMenu() }; @@ -671,6 +672,35 @@ function showClockMenu() { } return E.showMenu(clockMenu); } +function showLauncherMenu() { + var launcherApps = require("Storage").list(/\.info$/) + .map(app => {var a=storage.readJSON(app, 1);return (a&&a.type == "launch")?a:undefined}) + .filter(app => app) // filter out any undefined apps + .sort((a, b) => a.sortorder - b.sortorder); + const launcherMenu = { + '': { + 'title': /*LANG*/'Select Launcher', + }, + '< Back': ()=>showSystemMenu(), + }; + launcherApps.forEach((app, index) => { + var label = app.name; + if ((!settings.launcher && index === 0) || (settings.launcher === app.src)) { + label = "* " + label; + } + launcherMenu[label] = () => { + if (settings.launcher !== app.src) { + settings.launcher = app.src; + updateSettings(); + showMainMenu(); + } + }; + }); + if (launcherApps.length === 0) { + launcherMenu[/*LANG*/"No Launchers Found"] = () => { }; + } + return E.showMenu(launcherMenu); +} function showSetTimeMenu() { d = new Date(); From 1e3e1af2f96713d93ef25861b26c239613bde41c Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Thu, 20 Oct 2022 21:22:38 +0200 Subject: [PATCH 104/622] setting - Bump version --- apps/setting/ChangeLog | 1 + apps/setting/metadata.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index a11995dd4..12358f88e 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -55,3 +55,4 @@ 0.48: Allow reading custom themes from files 0.49: Now reloads settings properly after 'Calibrate Battery' 0.50: Add Bangle.js 2 touchscreen calibration - for 2v16 or 2v15 cutting edge builds +0.51: Add setting for configuring a launcher diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index c114e9daf..210ebf0f4 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.50", + "version": "0.51", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", From d6cbdc346ee2ef5af24142ba5b21579f7101cd4d Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 21 Oct 2022 14:53:31 +0100 Subject: [PATCH 105/622] Remove 2v11 polyfills --- apps/boot/bootupdate.js | 48 ----------------------------------------- 1 file changed, 48 deletions(-) diff --git a/apps/boot/bootupdate.js b/apps/boot/bootupdate.js index 4cb3c52e4..077b5622a 100644 --- a/apps/boot/bootupdate.js +++ b/apps/boot/bootupdate.js @@ -113,54 +113,6 @@ Bangle.setUI=function(mode, cb) { Bangle._setUI(mode, cb); };\n`; } -delete E.showScroller; // deleting stops us getting confused by our own decl. builtins can't be deleted -if (!E.showScroller) { // added in 2v11 - this is a limited functionality polyfill - boot += `E.showScroller = (function(a){function n(){g.reset();b>=l+c&&(c=1+b-l);bm||m>=a.c)break;var f=24+d*a.h;a.draw(m,{x:0,y:f,w:h,h:a.h});d+c==b&&g.setColor(g.theme.fg).drawRect(0,f,h-1,f+a.h-1).drawRect(1,f+1,h-2,f+a.h-2)}g.setColor(c?g.theme.fg:g.theme.bg);g.fillPoly([e,6,e-14,20,e+14,20]);g.setColor(a.c>l+c?g.theme.fg:g.theme.bg);g.fillPoly([e,k-7,e-14,k-21,e+14,k-21])}if(!a)return Bangle.setUI();var b=0,c=0,h=g.getWidth(), -k=g.getHeight(),e=h/2,l=Math.floor((k-48)/a.h);g.reset().clearRect(0,24,h-1,k-1);n();Bangle.setUI("updown",d=>{d?(b+=d,0>b&&(b=a.c-1),b>=a.c&&(b=0),n()):a.select(b)})});\n`; -} -delete g.imageMetrics; // deleting stops us getting confused by our own decl. builtins can't be deleted -if (!g.imageMetrics) { // added in 2v11 - this is a limited functionality polyfill - boot += `Graphics.prototype.imageMetrics=function(src) { - if (src[0]) return {width:src[0],height:src[1]}; - else if ('object'==typeof src) return { - width:("width" in src) ? src.width : src.getWidth(), - height:("height" in src) ? src.height : src.getHeight()}; - var im = E.toString(src); - return {width:im.charCodeAt(0), height:im.charCodeAt(1)}; -};\n`; -} -delete g.stringMetrics; // deleting stops us getting confused by our own decl. builtins can't be deleted -if (!g.stringMetrics) { // added in 2v11 - this is a limited functionality polyfill - boot += `Graphics.prototype.stringMetrics=function(txt) { - txt = txt.toString().split("\\n"); - return {width:Math.max.apply(null,txt.map(x=>g.stringWidth(x))), height:this.getFontHeight()*txt.length}; -};\n`; -} -delete g.wrapString; // deleting stops us getting confused by our own decl. builtins can't be deleted -if (!g.wrapString) { // added in 2v11 - this is a limited functionality polyfill - boot += `Graphics.prototype.wrapString=function(str, maxWidth) { - var lines = []; - for (var unwrappedLine of str.split("\\n")) { - var words = unwrappedLine.split(" "); - var line = words.shift(); - for (var word of words) { - if (g.stringWidth(line + " " + word) > maxWidth) { - lines.push(line); - line = word; - } else { - line += " " + word; - } - } - lines.push(line); - } - return lines; -};\n`; -} -delete Bangle.appRect; // deleting stops us getting confused by our own decl. builtins can't be deleted -if (!Bangle.appRect) { // added in 2v11 - polyfill for older firmwares - boot += `Bangle.appRect = ((y,w,h)=>({x:0,y:0,w:w,h:h,x2:w-1,y2:h-1}))(g.getWidth(),g.getHeight()); - (lw=>{ Bangle.loadWidgets = () => { lw(); Bangle.appRect = ((y,w,h)=>({x:0,y:y,w:w,h:h-y,x2:w-1,y2:h-(1+h)}))(global.WIDGETS?24:0,g.getWidth(),g.getHeight()); }; })(Bangle.loadWidgets);\n`; -} // Append *.boot.js files // These could change bleServices/bleServiceOptions if needed From 5773ce30e5e5ae75acb75ddc9c4cb1eff26caf51 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 21 Oct 2022 14:53:40 +0100 Subject: [PATCH 106/622] typo --- apps/launch/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/launch/ChangeLog b/apps/launch/ChangeLog index 6afef3aad..65f671bbd 100644 --- a/apps/launch/ChangeLog +++ b/apps/launch/ChangeLog @@ -16,4 +16,4 @@ 0.14: Use default Bangle formatter for booleans 0.15: Support for unload and quick return to the clock on 2v16 0.16: Use a cache of app.info files to speed up loading the launcher -0.17: Don't display 'Loading...' now the watch has its own screen +0.17: Don't display 'Loading...' now the watch has its own loading screen From d49728fa63946544d23b4c461778adf0cc081678 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 21 Oct 2022 15:01:35 +0100 Subject: [PATCH 107/622] settings/boot update - **Rotation** allows you to rotate (or mirror) what's displayed on the screen, eg. for left-handed wearers (needs 2v16 or 2v15 cutting edge firmware to work reliably) --- apps/boot/ChangeLog | 2 ++ apps/boot/bootupdate.js | 1 + apps/boot/metadata.json | 2 +- apps/setting/ChangeLog | 1 + apps/setting/README.md | 1 + apps/setting/metadata.json | 2 +- apps/setting/settings.js | 14 ++++++++++++++ 7 files changed, 21 insertions(+), 2 deletions(-) diff --git a/apps/boot/ChangeLog b/apps/boot/ChangeLog index 16252251c..7da8aef26 100644 --- a/apps/boot/ChangeLog +++ b/apps/boot/ChangeLog @@ -53,3 +53,5 @@ 0.47: Add polyfill for setUI with an object as an argument (fix regression for 2v12 devices after Layout module changed) 0.48: Workaround for BTHRM issues on Bangle.js 1 (write .boot files in chunks) 0.49: Store first found clock as a setting to speed up further boots +0.50: Allow setting of screen rotation + Remove support for 2v11 and earlier firmware diff --git a/apps/boot/bootupdate.js b/apps/boot/bootupdate.js index 077b5622a..fca1c9adc 100644 --- a/apps/boot/bootupdate.js +++ b/apps/boot/bootupdate.js @@ -92,6 +92,7 @@ if (s.options) boot+=`Bangle.setOptions(${E.toJS(s.options)});\n`; if (s.brightness && s.brightness!=1) boot+=`Bangle.setLCDBrightness(${s.brightness});\n`; if (s.passkey!==undefined && s.passkey.length==6) boot+=`NRF.setSecurity({passkey:${E.toJS(s.passkey.toString())}, mitm:1, display:1});\n`; if (s.whitelist) boot+=`NRF.on('connect', function(addr) { if (!(require('Storage').readJSON('setting.json',1)||{}).whitelist.includes(addr)) NRF.disconnect(); });\n`; +if (s.rotate) boot+=`g.setRotation(${s.rotate&3},${s.rotate>>2});\n` // screen rotation // Pre-2v10 firmwares without a theme/setUI delete g.theme; // deleting stops us getting confused by our own decl. builtins can't be deleted if (!g.theme) { diff --git a/apps/boot/metadata.json b/apps/boot/metadata.json index 31e211f7c..802856245 100644 --- a/apps/boot/metadata.json +++ b/apps/boot/metadata.json @@ -1,7 +1,7 @@ { "id": "boot", "name": "Bootloader", - "version": "0.49", + "version": "0.50", "description": "This is needed by Bangle.js to automatically load the clock, menu, widgets and settings", "icon": "bootloader.png", "type": "bootloader", diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index a11995dd4..38510ad58 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -55,3 +55,4 @@ 0.48: Allow reading custom themes from files 0.49: Now reloads settings properly after 'Calibrate Battery' 0.50: Add Bangle.js 2 touchscreen calibration - for 2v16 or 2v15 cutting edge builds +0.51: Add option for left-handed users diff --git a/apps/setting/README.md b/apps/setting/README.md index abf968f62..e5ea2b43d 100644 --- a/apps/setting/README.md +++ b/apps/setting/README.md @@ -29,6 +29,7 @@ This is Bangle.js's settings menu * **LCD Brightness** set how bright the LCD is. Due to hardware limitations in the LCD backlight, you may notice flicker if the LCD is not at 100% brightness. * **LCD Timeout** how long should the LCD stay on for if no activity is detected. 0=stay on forever +* **Rotation** allows you to rotate (or mirror) what's displayed on the screen, eg. for left-handed wearers (needs 2v16 or 2v15 cutting edge firmware to work reliably) * **Wake on X** should the given activity wake up the Bangle.js LCD? * On Bangle.js 2 when locked the touchscreen is turned off to save power. Because of this, `Wake on Touch` actually uses the accelerometer, and you need to actually tap the display to wake Bangle.js. diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index c114e9daf..210ebf0f4 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.50", + "version": "0.51", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 36af93a8a..102708729 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -383,6 +383,8 @@ function showLCDMenu() { // converts Espruino internal unit to g function internalToG(u) { return u / 8192; } + var rotNames = [/*LANG*/"No",/*LANG*/"Rotate CW",/*LANG*/"Left Handed",/*LANG*/"Rotate CCW",/*LANG*/"Mirror"]; + const lcdMenu = { '': { 'title': 'LCD' }, '< Back': ()=>showSystemMenu(), @@ -408,6 +410,18 @@ function showLCDMenu() { Bangle.setLCDTimeout(settings.timeout); } }, + /*LANG*/'Rotate': { + value: 0|settings.rotate, + min: 0, + max: rotNames.length-1, + format: v=> rotNames[v], + onchange: v => { + settings.rotate = 0 | v; + updateSettings(); + g.setRotation(settings.rotate&3,settings.rotate>>2).clear(); + Bangle.drawWidgets(); + } + }, /*LANG*/'Wake on BTN1': { value: settings.options.wakeOnBTN1, format: boolFormat, From a1b279ad79332273527a1d833d04beeade8c542a Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 21 Oct 2022 17:19:39 +0200 Subject: [PATCH 108/622] iconlaunch - Cache icon images on demand --- apps/iconlaunch/app.js | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/apps/iconlaunch/app.js b/apps/iconlaunch/app.js index 0f20efa67..d9f6e7280 100644 --- a/apps/iconlaunch/app.js +++ b/apps/iconlaunch/app.js @@ -22,10 +22,6 @@ }) }; s.writeJSON("launch.cache.json", launchCache); } - let apps = launchCache.apps; - apps.forEach((app) => { - if (app.icon) app.icon = s.read(app.icon); - }); let scroll = 0; let selectedItem = -1; const R = Bangle.appRect; @@ -37,12 +33,13 @@ g.clearRect(r.x, r.y, r.x + r.w - 1, r.y + r.h - 1); let x = 0; for (let i = itemI * appsN; i < appsN * (itemI + 1); i++) { - if (!apps[i]) break; + if (!launchCache.apps[i]) break; x += whitespace; - if (!apps[i].icon) { + if (!launchCache.apps[i].icon) { g.setFontAlign(0, 0, 0).setFont("12x20:2").drawString("?", x + r.x + iconSize / 2, r.y + iconSize / 2); } else { - g.drawImage(apps[i].icon, x + r.x, r.y); + if (!launchCache.apps[i].icondata) launchCache.apps[i].icondata = s.read(launchCache.apps[i].icon); + g.drawImage(launchCache.apps[i].icondata, x + r.x, r.y); } if (selectedItem == i) { g.drawRect( @@ -69,7 +66,7 @@ }; let lastIsDown = false; let drawText = function(i) { - const selectedApp = apps[selectedItem]; + const selectedApp = launchCache.apps[selectedItem]; const idy = (selectedItem - (selectedItem % 3)) / 3; if (!selectedApp || i != idy) return; const appY = idxToY(idy) + iconSize / 2; @@ -87,13 +84,13 @@ let selectItem = function(id, e) { const iconN = E.clip(Math.floor((e.x - R.x) / itemSize), 0, appsN - 1); const appId = id * appsN + iconN; - if( settings.direct && apps[appId]) + if( settings.direct && launchCache.apps[appId]) { - loadApp(apps[appId].src); + loadApp(launchCache.apps[appId].src); return; } - if (appId == selectedItem && apps[appId]) { - const app = apps[appId]; + if (appId == selectedItem && launchCache.apps[appId]) { + const app = launchCache.apps[appId]; if (!app.src || s.read(app.src) === undefined) { E.showMessage( /*LANG*/ "App Source\nNot found"); } else { @@ -125,7 +122,7 @@ }; drawItems(); g.flip(); - const itemsN = Math.ceil(apps.length / appsN); + const itemsN = Math.ceil(launchCache.apps.length / appsN); let onDrag = function(e) { g.setColor(g.theme.fg); g.setBgColor(g.theme.bg); @@ -189,7 +186,8 @@ loadApp = function(name) { Bangle.setUI(); if (watch) clearWatch(watch); - apps = []; + delete launchCache; + delete launchHash; delete drawItemAuto; delete drawText; delete selectItem; From 5fdbccf1974fb4350a706b54d03358592d1c4146 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 21 Oct 2022 17:20:09 +0200 Subject: [PATCH 109/622] iconlaunch - Bump version --- apps/iconlaunch/ChangeLog | 1 + apps/iconlaunch/metadata.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/iconlaunch/ChangeLog b/apps/iconlaunch/ChangeLog index afea3263a..18d3af4ac 100644 --- a/apps/iconlaunch/ChangeLog +++ b/apps/iconlaunch/ChangeLog @@ -4,3 +4,4 @@ 0.04: Support new fast app switching 0.05: Allow to directly eval apps instead of loading 0.06: Cache apps for faster start +0.07: Read app icons on demand diff --git a/apps/iconlaunch/metadata.json b/apps/iconlaunch/metadata.json index d544da73e..ba2619fc2 100644 --- a/apps/iconlaunch/metadata.json +++ b/apps/iconlaunch/metadata.json @@ -2,7 +2,7 @@ "id": "iconlaunch", "name": "Icon Launcher", "shortName" : "Icon launcher", - "version": "0.06", + "version": "0.07", "icon": "app.png", "description": "A launcher inspired by smartphones, with an icon-only scrollable menu.", "tags": "tool,system,launcher", From 3c57eeeffd1bde8307a570bbf908ee273e9a8dae Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Fri, 21 Oct 2022 17:32:53 +0200 Subject: [PATCH 110/622] new widget: widmsggrid: Messages Grid Widget Displays multiple notification icons in a grid. --- apps/widmsggrid/ChangeLog | 1 + apps/widmsggrid/README.md | 23 +++++++++ apps/widmsggrid/metadata.json | 16 ++++++ apps/widmsggrid/screenshot.png | Bin 0 -> 10727 bytes apps/widmsggrid/widget.js | 92 +++++++++++++++++++++++++++++++++ apps/widmsggrid/widget.png | Bin 0 -> 10457 bytes 6 files changed, 132 insertions(+) create mode 100644 apps/widmsggrid/ChangeLog create mode 100644 apps/widmsggrid/README.md create mode 100644 apps/widmsggrid/metadata.json create mode 100644 apps/widmsggrid/screenshot.png create mode 100644 apps/widmsggrid/widget.js create mode 100644 apps/widmsggrid/widget.png diff --git a/apps/widmsggrid/ChangeLog b/apps/widmsggrid/ChangeLog new file mode 100644 index 000000000..4be6afb16 --- /dev/null +++ b/apps/widmsggrid/ChangeLog @@ -0,0 +1 @@ +0.01: New widget! \ No newline at end of file diff --git a/apps/widmsggrid/README.md b/apps/widmsggrid/README.md new file mode 100644 index 000000000..7c85d5c31 --- /dev/null +++ b/apps/widmsggrid/README.md @@ -0,0 +1,23 @@ +# Messages Grid Widget + +Widget that displays multiple notification icons in a grid. +The widget has a fixed size: if there are multiple notifications it uses smaller +icons. +It shows a single icon per application, so if you have two SMS messages, the +grid only has one SMS icon. +If there are multiple messages waiting, the total number is shown in the +bottom-right corner. + +Example: one SMS, one Signal, and two WhatsApp messages: +![screenshot](screenshot.png) + +## Installation +This widget needs the [`messages`](/?id=messages) app to handle notifications. + +## Settings +This widget uses the `Widget` settings from the `messages` app: + +### Widget +* `Flash icon` Toggle flashing of the widget icons. + +* `Widget messages` Not used by this widget, but you should select `Hide` to hide the default widget. \ No newline at end of file diff --git a/apps/widmsggrid/metadata.json b/apps/widmsggrid/metadata.json new file mode 100644 index 000000000..b624f5c23 --- /dev/null +++ b/apps/widmsggrid/metadata.json @@ -0,0 +1,16 @@ +{ + "id": "widmsggrid", + "name": "Messages Grid Widget", + "version": "0.01", + "description": "Widget that display notification icons in a grid", + "icon": "widget.png", + "type": "widget", + "dependencies": {"messages":"app"}, + "tags": "tool,system", + "supports": ["BANGLEJS","BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"widmsggrid.wid.js","url":"widget.js"} + ], + "screenshots": [{"url":"screenshot.png"}] +} diff --git a/apps/widmsggrid/screenshot.png b/apps/widmsggrid/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b1cdb2a5af45dc0ef9f2460ed747f5e7ac376f19 GIT binary patch literal 10727 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 literal 0 HcmV?d00001 diff --git a/apps/widmsggrid/widget.js b/apps/widmsggrid/widget.js new file mode 100644 index 000000000..7c5882e6c --- /dev/null +++ b/apps/widmsggrid/widget.js @@ -0,0 +1,92 @@ +(function () { + if (global.MESSAGES) return; // don't load widget while in the app + let settings = require('Storage').readJSON("messages.settings.json", true) || {}; + const s = { + flash: (settings.flash === undefined) ? true : !!settings.flash, + showRead: !!settings.showRead, + }; + delete settings; + WIDGETS["msggrid"] = { + area: "tl", width: 0, + flash: s.flash, + showRead: s.showRead, + init: function() { + // runs on first draw + delete w.init; // don't run again + Bangle.on("touch", w.touch); + Bangle.on("message", w.listener); + w.listener(); // update status now + }, + draw: function () { + if (w.init) w.init(); + // If we had a setTimeout queued from the last time we were called, remove it + if (w.t) { + clearTimeout(w.t); + delete w.t; + } + if (!w.width) return; + const b = w.flash && w.status === "new" && ((Date.now() / 1000) & 1), // Blink(= inverse colors) on this second? + // show multiple icons in a grid, by scaling them down + cols = Math.ceil(Math.sqrt(w.srcs.length - 0.1)); // cols===rows, -0.1 to work around rounding error + g.reset().clearRect(w.x, w.y, w.x + w.width - 1, w.y + 24) + .setClipRect(w.x, w.y, w.x + w.width - 1, w.y + 24); // guard against oversized icons + let r = 0, c = 0; // row, column + const offset = pos => Math.floor(pos / cols * 24); // pixel offset for position in row/column + w.srcs.forEach(src => { + const appColor = require("messages").getMessageImageCol(src, require("messages").getMessageImageCol("alert")); + let colors = [g.theme.bg, g.setColor(appColor).getColor()]; + if (b) { + if (colors[1] == g.theme.fg) colors = colors.reverse(); + else colors[1] = g.theme.fg; + } + g.setColor(colors[1]).setBgColor(colors[0]); + g.drawImage(require("messages").getMessageImage(src, "alert"), w.x+offset(c), w.y+offset(r), { scale: 1 / cols }); + if (++c >= cols) { + c = 0; + r++; + } + }); + if (w.total > 1) { + // show total number of messages in bottom-right corner + g.reset(); + if (w.total < 10) g.fillCircle(w.x + w.width - 5, w.y + 20, 4); // single digits get a round background, double digits fill their rectangle + g.setColor(g.theme.bg).setBgColor(g.theme.fg) + .setFont('6x8').setFontAlign(1, 1) + .drawString(w.total, w.x + w.width - 1, w.y + 24, w.total > 9); + } + if (w.flash && w.status === "new") w.t = setTimeout(w.draw, 1000); // schedule redraw while blinking + }, show: function () { + w.width = 24; + w.srcs = require("messages").getMessages() + .filter(m => !['call', 'map', 'music'].includes(m.id)) + .filter(m => m.new || w.showRead) + .map(m => m.src); + w.total = w.srcs.length; + w.srcs = w.srcs.filter((src, i, uniq) => uniq.indexOf(src) === i); // keep unique entries only + Bangle.drawWidgets(); + Bangle.setLCDPower(1); // turns screen on + }, hide: function () { + w.width = 0; + w.srcs = []; + w.total = 0; + Bangle.drawWidgets(); + }, touch: function (b, c) { + if (!w || !w.width) return; // widget not shown + if (process.env.HWVERSION < 2) { + // Bangle.js 1: open app when on clock we touch the side with widget + if (!Bangle.CLOCK) return; + const m = Bangle.appRect / 2; + if ((w.x < m && b !== 1) || (w.x > m && b !== 2)) return; + } + // Bangle.js 2: open app when touching the widget + else if (c.x < w.x || c.x > w.x + w.width || c.y < w.y || c.y > w.y + 24) return; + load("messages.app.js"); + }, listener: function () { + w.status = require("messages").status(); + if (w.status === "new" || (w.status === "old" && w.showRead)) w.show(); + else w.hide(); + } + }; + delete s; + const w = WIDGETS["msggrid"]; +})(); \ No newline at end of file diff --git a/apps/widmsggrid/widget.png b/apps/widmsggrid/widget.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6e7b7ac81d667283a308096d19a04e822d1724 GIT binary patch literal 10457 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 literal 0 HcmV?d00001 From dcb72d44452efe11534aa7fc862dfdbc0818c5cc Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Fri, 21 Oct 2022 18:33:16 +0200 Subject: [PATCH 111/622] swipe to exit --- apps/iconlaunch/ChangeLog | 1 + apps/iconlaunch/app.js | 3 ++- apps/iconlaunch/metadata.json | 2 +- apps/iconlaunch/settings.js | 10 +++++++++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/iconlaunch/ChangeLog b/apps/iconlaunch/ChangeLog index afea3263a..fa577e7cc 100644 --- a/apps/iconlaunch/ChangeLog +++ b/apps/iconlaunch/ChangeLog @@ -4,3 +4,4 @@ 0.04: Support new fast app switching 0.05: Allow to directly eval apps instead of loading 0.06: Cache apps for faster start +0.07: Add swipe-to-exit diff --git a/apps/iconlaunch/app.js b/apps/iconlaunch/app.js index 0f20efa67..02a0a876c 100644 --- a/apps/iconlaunch/app.js +++ b/apps/iconlaunch/app.js @@ -1,6 +1,6 @@ { const s = require("Storage"); - const settings = s.readJSON("launch.json", true) || { showClocks: true, fullscreen: false,direct:false,oneClickExit:false }; + const settings = s.readJSON("launch.json", true) || { showClocks: true, fullscreen: false,direct:false,swipeExit:false,oneClickExit:false,fastload:false }; if (!settings.fullscreen) { Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -179,6 +179,7 @@ var i = YtoIdx(e.y); selectItem(i, e); }, + swipe: (h,_) => { if(settings.swipeExit && h==1) { returnToClock(); } }, }); const returnToClock = function() { loadApp(".bootcde"); diff --git a/apps/iconlaunch/metadata.json b/apps/iconlaunch/metadata.json index d544da73e..ba2619fc2 100644 --- a/apps/iconlaunch/metadata.json +++ b/apps/iconlaunch/metadata.json @@ -2,7 +2,7 @@ "id": "iconlaunch", "name": "Icon Launcher", "shortName" : "Icon launcher", - "version": "0.06", + "version": "0.07", "icon": "app.png", "description": "A launcher inspired by smartphones, with an icon-only scrollable menu.", "tags": "tool,system,launcher", diff --git a/apps/iconlaunch/settings.js b/apps/iconlaunch/settings.js index 449a1c096..02b65784f 100644 --- a/apps/iconlaunch/settings.js +++ b/apps/iconlaunch/settings.js @@ -2,7 +2,11 @@ (function(back) { let settings = Object.assign({ showClocks: true, - fullscreen: false + fullscreen: false, + direct: false, + oneClickExit: false, + swipeExit: false, + fastload: false }, require("Storage").readJSON("launch.json", true) || {}); let fonts = g.getFonts(); @@ -29,6 +33,10 @@ value: settings.oneClickExit == true, onchange: (m) => { save("oneClickExit", m) } }, + /*LANG*/"Swipe exit": { + value: settings.swipeExit == true, + onchange: m => { save("swipeExit", m) } + }, /*LANG*/"Fastload": { value: settings.fastload == true, onchange: (m) => { save("fastload", m) } From 5d27e21dda922b5815ed93497d742c4a68b2841c Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Sat, 22 Oct 2022 15:14:00 +0300 Subject: [PATCH 112/622] added tags --- apps/henkinen/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/henkinen/metadata.json b/apps/henkinen/metadata.json index f6559be72..ece0ac5d3 100644 --- a/apps/henkinen/metadata.json +++ b/apps/henkinen/metadata.json @@ -6,6 +6,7 @@ "icon": "app.png", "screenshots": [{"url":"screenshot1.png"}], "type": "outdoors", + "tags": "clock", "supports" : ["BANGLEJS","BANGLEJS2"], "readme": "README.md", "storage": [ From f9cb4bd84b51cbf0c3a6729bfbea5465b565a5d4 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Sat, 22 Oct 2022 15:14:20 +0300 Subject: [PATCH 113/622] fixed tags --- apps/henkinen/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/henkinen/metadata.json b/apps/henkinen/metadata.json index ece0ac5d3..59b037dda 100644 --- a/apps/henkinen/metadata.json +++ b/apps/henkinen/metadata.json @@ -6,7 +6,7 @@ "icon": "app.png", "screenshots": [{"url":"screenshot1.png"}], "type": "outdoors", - "tags": "clock", + "tags": "outdoors", "supports" : ["BANGLEJS","BANGLEJS2"], "readme": "README.md", "storage": [ From ad87a01c063eea5dbc7eee904a390ed7e15da424 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Sat, 22 Oct 2022 15:37:54 +0300 Subject: [PATCH 114/622] Update metadata.json --- apps/henkinen/metadata.json | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/henkinen/metadata.json b/apps/henkinen/metadata.json index 59b037dda..1f1bb77fc 100644 --- a/apps/henkinen/metadata.json +++ b/apps/henkinen/metadata.json @@ -5,7 +5,6 @@ "description": "A tiny app helping you to breath and relax.", "icon": "app.png", "screenshots": [{"url":"screenshot1.png"}], - "type": "outdoors", "tags": "outdoors", "supports" : ["BANGLEJS","BANGLEJS2"], "readme": "README.md", From 4fe12172beb52280fe44e7f040baa8fee347cbb6 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Sat, 22 Oct 2022 16:55:47 +0300 Subject: [PATCH 115/622] Create app.js --- apps/poikkipuinen/app.js | 145 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 apps/poikkipuinen/app.js diff --git a/apps/poikkipuinen/app.js b/apps/poikkipuinen/app.js new file mode 100644 index 000000000..7db3384bd --- /dev/null +++ b/apps/poikkipuinen/app.js @@ -0,0 +1,145 @@ +// Poikkipuinen +// +// Bangle.js 2 watch face +// by Jukio Kallio +// www.jukiokallio.com + +require("Font5x9Numeric7Seg").add(Graphics); + +// settings +const watch = { + x:0, y:0, w:0, h:0, + bgcolor:g.theme.bg, + fgcolor:g.theme.fg, + font: "5x9Numeric7Seg", fontsize: 1, + finland:true, // change if you want Finnish style date, or US style +}; + + +// set some additional settings +watch.w = g.getWidth(); // size of the background +watch.h = g.getHeight(); +watch.x = watch.w * 0.5; // position of the circles +watch.y = watch.h * 0.46; + +const dateWeekday = { 0: "Sunday", 1: "Monday", 2: "Tuesday", 3: "Wednesday", 4:"Thursday", 5:"Friday", 6:"Saturday" }; // weekdays + +var wait = 60000; // wait time, normally a minute + + +// timeout used to update every minute +var drawTimeout; + +// schedule a draw for the next minute +function queueDraw() { + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + draw(); + }, wait - (Date.now() % wait)); +} + + +// main function +function draw() { + // make date object + var date = new Date(); + + // work out the date string + var dateDay = date.getDate(); + var dateMonth = date.getMonth() + 1; + var dateYear = date.getFullYear(); + var dateStr = dateWeekday[date.getDay()] + " " + dateMonth + "." + dateDay + "." + dateYear; + if (watch.finland) dateStr = dateWeekday[date.getDay()] + " " + dateDay + "." + dateMonth + "." + dateYear; // the true way of showing date + + // Reset the state of the graphics library + g.reset(); + + // Clear the area where we want to draw the time + g.setColor(watch.bgcolor); + g.fillRect(0, 0, watch.w, watch.h); + + // set foreground color + g.setColor(watch.fgcolor); + g.setFontAlign(1,-1).setFont(watch.font, watch.fontsize); + + // watch face size + var facew, faceh; // halves of the size for easier calculation + facew = 40; + faceh = 59; + + // save hour and minute y positions + var houry, minutey; + + // draw hour meter + g.drawLine(watch.x - facew, watch.y - faceh, watch.x - facew, watch.y + faceh); + var lines = 13; + for (var i = 1; i < lines; i++) { + var w = 2; + var y = -faceh * 2 / (lines-2) * (i-1) + faceh; + + if (i % 3 == 0) { + // longer line and numbers every 3 + w = 5; + g.drawString(i, watch.x - facew - 2, y + watch.y); + } + + g.drawLine(watch.x - facew, y + watch.y, watch.x - facew + w, y + watch.y); + + // get hour y position + if (i == date.getHours() % 12) houry = y; + } + + // draw minute meter + g.drawLine(watch.x + facew, watch.y - faceh, watch.x + facew, watch.y + faceh); + g.setFontAlign(-1,-1); + lines = 60; + for (i = 0; i < lines; i++) { + var mw = 2; + var my = -faceh * 2 / (lines-1) * (i) + faceh; + + if (i % 15 == 0 && i != 0) { + // longer line and numbers every 3 + mw = 5; + g.drawString(i, watch.x + facew + 4, my + watch.y); + } + + g.drawLine(watch.x + facew, my + watch.y, watch.x + facew - mw, my + watch.y); + + // get minute y position + if (i == date.getMinutes()) minutey = my; + } + + // draw the time + var timexpad = 8; + g.drawLine(watch.x - facew + timexpad, watch.y + houry, watch.x + facew - timexpad, watch.y + minutey); + + // draw date + var datey = 12; + g.setFontAlign(0,-1); + g.drawString(dateStr, watch.x, watch.y + faceh + datey); + + // queue draw + queueDraw(); +} + + +// Clear the screen once, at startup +g.clear(); +// draw immediately at first +draw(); + + +// Stop updates when LCD is off, restart when on +Bangle.on('lcdPower',on=>{ + if (on) { + draw(); // draw immediately, queue redraw + } else { // stop draw timer + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + } +}); + + +// Show launcher when middle button pressed +Bangle.setUI("clock"); From 94975ed7bc08bc492b90c4cc0fa74b16beb04137 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Sat, 22 Oct 2022 16:57:43 +0300 Subject: [PATCH 116/622] Create metadata.json --- apps/poikkipuinen/metadata.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 apps/poikkipuinen/metadata.json diff --git a/apps/poikkipuinen/metadata.json b/apps/poikkipuinen/metadata.json new file mode 100644 index 000000000..ec95ab7ce --- /dev/null +++ b/apps/poikkipuinen/metadata.json @@ -0,0 +1,16 @@ +{ "id": "poikkipuinen", + "name": "Poikkipuinen - Minimal watch face", + "shortName":"Poikkipuinen", + "version":"0.01", + "description": "A minimal digital watch face.", + "icon": "app.png", + "screenshots": [{"url":"screenshot1.png"}], + "type": "clock", + "tags": "clock", + "supports" : ["BANGLEJS","BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"poikkipuinen.app.js","url":"app.js"}, + {"name":"poikkipuinen.img","url":"app-icon.js","evaluate":true} + ] +} From 2ef63c1fcc329a38e54fc0c4f873b72ddca6aaba Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Sat, 22 Oct 2022 16:59:12 +0300 Subject: [PATCH 117/622] Added screenshot --- apps/poikkipuinen/screenshot1.png | Bin 0 -> 52829 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/poikkipuinen/screenshot1.png diff --git a/apps/poikkipuinen/screenshot1.png b/apps/poikkipuinen/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..e9422ee437cb4f056ab93def1eed716ad4a3b7e0 GIT binary patch literal 52829 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 Date: Sat, 22 Oct 2022 17:00:50 +0300 Subject: [PATCH 118/622] Create README.md --- apps/poikkipuinen/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 apps/poikkipuinen/README.md diff --git a/apps/poikkipuinen/README.md b/apps/poikkipuinen/README.md new file mode 100644 index 000000000..12f8d5d7e --- /dev/null +++ b/apps/poikkipuinen/README.md @@ -0,0 +1,7 @@ +# Poikkipuinen + +By Jukio Kallio + +A Minimal digital watch face. Follows the theme colors. + +![](screenshot1.png) From 5bf07144fdd6757fd386c489a018599e7dc68504 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Sat, 22 Oct 2022 17:06:30 +0300 Subject: [PATCH 119/622] Added icon png --- apps/poikkipuinen/app.png | Bin 0 -> 2625 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/poikkipuinen/app.png diff --git a/apps/poikkipuinen/app.png b/apps/poikkipuinen/app.png new file mode 100644 index 0000000000000000000000000000000000000000..fa506c8869155bbcb1d255b36b24814a7edbf6f9 GIT binary patch literal 2625 zcmai0d0Z1`8XgRC2^A3(fuE*>qKG*N1WQQdNJxnqpj-(GN{$Ik37MD#h^z{zRlJ4b zg;-kA01I*oB9RhBMMV%?52`_EQP2g7vPwa!?j%^$s=I$olJ9+<_xaxI`zAYr1HZN~ zvoiw#z=9RP2tmJzy2r!_{p3s;+YSJRm2enW!DX+c2#^FkPl)g#yfQ(G;s8MPR!Vt- zcu0ZeL$R=g1`eqkKrAezfgCcM$d=NfI5;3h28E^sh6z&Q1)f6Cdzl$kNkIh?AO#Pr zOb|=t6eSJR>r&9)Ix_*p>M4qN8pve_W9f(t!jkc1JP}-GhNa4cB1#B@`PLa-(ZD!` zLP{YJl9QA1$!>T=7E5sT^zcnXw7BBImjO2m;!VXjLl zL=Os)>_T*-5Q%zaJsUj@LY{*6|MIv^1Qq*t4h8}+O79mVtBj{rCB7!97?IT04 znUDv*s{z0u9Y)*oQ9A%&QD$Ohm&=xKY@59AXNXp2M%8ldI2q3C^2PA2n>o&nEhG1) zSGU|Bm%wMkC7kTqXZ@QS(pEoO!gFZmNnHtW7-ydzQMyz}9m) zVYr3V1rFTiA}3_p8JD8Rl~0SLc}}yfe-D10l$S?=MnI#BNv-Y=(~5!`)S^EOl3avb$8Hf^Wv=H z436`U6@FRPo-Y|KD_+!=n6~$jZdzY|{bsQE2iuYCVy|<-Z-ll8t*w0O$>Y2YbM2T< zOvL-7nWr9>&DA_sKfbiH_knSrQEqg^>5eaQ5x>4IcDIjvXR%e}%(S~RN8ZbnB3xAOvjk4vTDO;{WKr-7+igvTttiIQNNu>zd6c=Kpz z9$~zpaOM zTrr+87B=Ns9*Y{ksJThA-O4QJ(MG3Zb#kAqqVZ{k?gLtfWd^t$)vIH5jyQ5wZh6CS z(nWemGvUU)pM8ezy*zjC9Qj_rx8qZ2n7ZHc+ZSzW$m1?it?HOo!8LE_3Uaq=xpne| z_m+$+NJ`a}{ugH0bRW&>BX%Z+hL&Y_j}|pc{<)^!oVzEt+AmLxKX;!-Xa(?%~!0z+seSwjY zk;2l_R*;iId|zcHs$scl_d(=}SH!{FfHHU8{NnuibP z|0=cJ-gtg=wDx9)%HHHVzw527{0c62?b?Epm4o|LcD1#&nqQ>=%P}!A@mdqHMbp#c zh{0fh(N~)WlGM&Uhea_dDLMK1jsro3*#a{N8vf1QQe#WNu-xE;V)E-TssL`E*Dboo#nGFR!n=JFTY1L#0xM zZEMXSVVatnl+?LEO-)Tp2UpR@-*_ z_Eb%8uM?ZizQ&mIC4vzM1Q&bOF_}y$<=A5K9KRuT+XBxG_LZwnMXg<1RbKw%ns5<5 z)c!fi^6G-D=0~8dc}RG8c==+?R=v?^)A9rby}1oEuzN0|3IsE{>%Kt z##xq`^U}I(;zKX(%TW#1OWNFmzxea~{o)z9KvzKo{!P#V6+&i@FHGG2JLzTAu9v@v z!;KE#nwe+AIvCltqViVcVyhc=!>RoJ!k@+krWaGQ9n3nJspPng)kmHc`;OjL^>Vh9 c9lqYM#dy98< Date: Sat, 22 Oct 2022 17:07:26 +0300 Subject: [PATCH 120/622] Create app-icon.js --- apps/poikkipuinen/app-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/poikkipuinen/app-icon.js diff --git a/apps/poikkipuinen/app-icon.js b/apps/poikkipuinen/app-icon.js new file mode 100644 index 000000000..d7ddba399 --- /dev/null +++ b/apps/poikkipuinen/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwkEogA0/4AKCpNPCxYAB+gtTGJQuOGBAWPGAwuQGAwXamQULkYXGBQUgn4WJ+cCMAwXNiQXV+MBC6swh4XU+cAn4XU+IUBC6kgj4XUIwKnV+EDC6sQl4XU+UBd6q8BC6q8BC6i8CC6i8CC6a8DC6a8DC6a8DC6S8EC6S8EC6S8EC6K8FC6K8FC6C8BIwwXOXgwXQXgwXQkIWHd6IXPp4GBmQWJAAMjAQP0C4wAPC7hgDABwWEGCIuFGCIWGGB4uHGJwVJAFY=")) From 1b066ac83e80c5f57aac28f4441f5d5b9007d72a Mon Sep 17 00:00:00 2001 From: David Peer Date: Sun, 23 Oct 2022 15:43:55 +0200 Subject: [PATCH 121/622] The probability of horizontal lines is correlated with the battery level. --- apps/aiclock/ChangeLog | 3 ++- apps/aiclock/README.md | 8 +++++--- apps/aiclock/aiclock.app.js | 11 +++++++++-- apps/aiclock/metadata.json | 2 +- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/aiclock/ChangeLog b/apps/aiclock/ChangeLog index 68f77be10..31c55aef1 100644 --- a/apps/aiclock/ChangeLog +++ b/apps/aiclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: New app! -0.02: Design improvements and fixes. \ No newline at end of file +0.02: Design improvements and fixes. +0.03: Indicate battery level through line occurrence. \ No newline at end of file diff --git a/apps/aiclock/README.md b/apps/aiclock/README.md index a3855a166..9e23de3a6 100644 --- a/apps/aiclock/README.md +++ b/apps/aiclock/README.md @@ -8,14 +8,16 @@ The original output of stable diffusion is shown here: ![](orig.png) -And my implementation is shown here: +My implementation is shown below. Note that horizontal lines occur randomly, but the +probability is correlated with the battery level. So if your screen contains only +a few lines its time to charge your bangle again ;) ![](impl.png) # Thanks to -The great open source community: I used an open source diffusion model (https://github.com/CompVis/stable-diffusion) -to generate a watch face for the open source smartwatch BangleJs. +The great open-source community: I used an open-source diffusion model (https://github.com/CompVis/stable-diffusion) +to generate a watch face for the open-source smartwatch BangleJs. ## Creator - [David Peer](https://github.com/peerdavid). \ No newline at end of file diff --git a/apps/aiclock/aiclock.app.js b/apps/aiclock/aiclock.app.js index ecac5f2dc..dbd053f2c 100644 --- a/apps/aiclock/aiclock.app.js +++ b/apps/aiclock/aiclock.app.js @@ -37,8 +37,15 @@ function drawBackground() { g.setFontAlign(0,0); g.setColor(g.theme.fg); - y = 0; + var bat = E.getBattery() / 100.0; + var y = 0; while(y < H){ + // Show less lines in case of small battery level. + if(Math.random() > bat){ + y += 5; + continue; + } + y += 3 + Math.floor(Math.random() * 10); g.drawLine(0, y, W, y); g.drawLine(0, y+1, W, y+1); @@ -103,7 +110,7 @@ function drawDate(){ g.setFontAlign(0,0); g.setFontGochiHand(); - var text = ("0"+date.getDate()).substr(-2) + "/" + ("0"+date.getMonth()).substr(-2); + var text = ("0"+date.getDate()).substr(-2) + "/" + ("0"+(date.getMonth()+1)).substr(-2); var w = g.stringWidth(text); g.setColor(g.theme.bg); g.fillRect(cx-w/2-4, 20, cx+w/2+4, 40+12); diff --git a/apps/aiclock/metadata.json b/apps/aiclock/metadata.json index 5ab0c5bb3..2124b1b7e 100644 --- a/apps/aiclock/metadata.json +++ b/apps/aiclock/metadata.json @@ -3,7 +3,7 @@ "name": "AI Clock", "shortName":"AI Clock", "icon": "aiclock.png", - "version":"0.02", + "version":"0.03", "readme": "README.md", "supports": ["BANGLEJS2"], "description": "A watch face that was designed by an AI (stable diffusion) and implemented by a human.", From 81ba4e17fa06b5319c0d4f0768c67eb1a2c3f561 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Wed, 19 Oct 2022 21:04:46 +0200 Subject: [PATCH 122/622] gpstrek - Change from leftright UI to custom with swipe --- apps/gpstrek/app.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/apps/gpstrek/app.js b/apps/gpstrek/app.js index 0c3579d4b..4db9a945d 100644 --- a/apps/gpstrek/app.js +++ b/apps/gpstrek/app.js @@ -318,16 +318,22 @@ function triangle (x, y, width, height){ ]; } +function onSwipe(dir){ + if (dir < 0) { + nextScreen(); + } else if (dir > 0) { + switchMenu(); + } else { + nextScreen(); + } +} + function setButtons(){ - Bangle.setUI("leftright", (dir)=>{ - if (dir < 0) { - nextScreen(); - } else if (dir > 0) { - switchMenu(); - } else { - nextScreen(); - } - }); + let options = { + mode: "custom", + swipe: onSwipe + }; + Bangle.setUI(options); } function getApproxFileSize(name){ From 038fb1a21b01509b708e6016b9684a329cf9aa20 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 21 Oct 2022 17:04:53 +0200 Subject: [PATCH 123/622] gpstrek - Actually remove listeners on stopping background service --- apps/gpstrek/app.js | 4 +++- apps/gpstrek/widget.js | 22 +++++++++++++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/apps/gpstrek/app.js b/apps/gpstrek/app.js index 4db9a945d..242d0c81b 100644 --- a/apps/gpstrek/app.js +++ b/apps/gpstrek/app.js @@ -331,7 +331,9 @@ function onSwipe(dir){ function setButtons(){ let options = { mode: "custom", - swipe: onSwipe + swipe: onSwipe, + btn: nextScreen, + touch: nextScreen }; Bangle.setUI(options); } diff --git a/apps/gpstrek/widget.js b/apps/gpstrek/widget.js index 8d9831e06..4423d7602 100644 --- a/apps/gpstrek/widget.js +++ b/apps/gpstrek/widget.js @@ -23,10 +23,6 @@ function onGPS(fix) { if(fix.fix) state.currentPos = fix; } -Bangle.on('accel', function(e) { - state.acc = e; -}); - function onMag(e) { if (!state.compassHeading) state.compassHeading = e.heading; @@ -73,12 +69,17 @@ function onPressure(e) { } } +function onAcc (e){ + state.acc = e; +} + function start(bg){ Bangle.on('GPS', onGPS); Bangle.on("HRM", onPulse); Bangle.on("mag", onMag); Bangle.on("step", onStep); Bangle.on("pressure", onPressure); + Bangle.on('accel', onAcc); Bangle.setGPSPower(1, "gpstrek"); Bangle.setHRMPower(1, "gpstrek"); @@ -96,8 +97,19 @@ function stop(bg){ if (bg){ if (state.active) bgChanged = true; state.active = false; - saveState(); + } else if (!state.active) { + Bangle.setGPSPower(0, "gpstrek"); + Bangle.setHRMPower(0, "gpstrek"); + Bangle.setCompassPower(0, "gpstrek"); + Bangle.setBarometerPower(0, "gpstrek"); + Bangle.removeListener('GPS', onGPS); + Bangle.removeListener("HRM", onPulse); + Bangle.removeListener("mag", onMag); + Bangle.removeListener("step", onStep); + Bangle.removeListener("pressure", onPressure); + Bangle.removeListener('accel', onAcc); } + saveState(); Bangle.drawWidgets(); } From 48ca9543514a87df1ece4a9ab3ae0eaeea8f3925 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 23 Oct 2022 19:45:59 +0200 Subject: [PATCH 124/622] gpstrek - Bump version --- apps/gpstrek/ChangeLog | 2 ++ apps/gpstrek/metadata.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/gpstrek/ChangeLog b/apps/gpstrek/ChangeLog index 2f1a9ce45..c9be2af94 100644 --- a/apps/gpstrek/ChangeLog +++ b/apps/gpstrek/ChangeLog @@ -1,2 +1,4 @@ 0.01: New App! 0.02: Make selection of background activity more explicit +0.03: Fix listener for accel always active + Use custom UI with swipes instead of leftright diff --git a/apps/gpstrek/metadata.json b/apps/gpstrek/metadata.json index 67f71566e..e8863c706 100644 --- a/apps/gpstrek/metadata.json +++ b/apps/gpstrek/metadata.json @@ -1,7 +1,7 @@ { "id": "gpstrek", "name": "GPS Trekking", - "version": "0.02", + "version": "0.03", "description": "Helper for tracking the status/progress during hiking. Do NOT depend on this for navigation!", "icon": "icon.png", "screenshots": [{"url":"screen1.png"},{"url":"screen2.png"},{"url":"screen3.png"},{"url":"screen4.png"}], From 4555662d1617cff28ca7fa5c90e9b6c4f52e4ee4 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 11:07:57 +0300 Subject: [PATCH 125/622] Fixed a bug regarding hours --- apps/poikkipuinen/app.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/poikkipuinen/app.js b/apps/poikkipuinen/app.js index 7db3384bd..ed37cfd97 100644 --- a/apps/poikkipuinen/app.js +++ b/apps/poikkipuinen/app.js @@ -74,9 +74,10 @@ function draw() { // draw hour meter g.drawLine(watch.x - facew, watch.y - faceh, watch.x - facew, watch.y + faceh); var lines = 13; + var lineh = faceh * 2 / (lines - 2); for (var i = 1; i < lines; i++) { var w = 2; - var y = -faceh * 2 / (lines-2) * (i-1) + faceh; + var y = faceh - lineh * (i - 1); if (i % 3 == 0) { // longer line and numbers every 3 @@ -94,9 +95,10 @@ function draw() { g.drawLine(watch.x + facew, watch.y - faceh, watch.x + facew, watch.y + faceh); g.setFontAlign(-1,-1); lines = 60; + lineh = faceh * 2 / (lines - 1); for (i = 0; i < lines; i++) { var mw = 2; - var my = -faceh * 2 / (lines-1) * (i) + faceh; + var my = faceh - lineh * i; if (i % 15 == 0 && i != 0) { // longer line and numbers every 3 @@ -104,6 +106,7 @@ function draw() { g.drawString(i, watch.x + facew + 4, my + watch.y); } + //if (i % 2 == 0 || i == 15 || i == 45) g.drawLine(watch.x + facew, my + watch.y, watch.x + facew - mw, my + watch.y); // get minute y position From a6f23a4053ef458505a44a4117b28cfcf7c85814 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:09:19 +0300 Subject: [PATCH 126/622] Fixed hours --- apps/poikkipuinen/app.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/poikkipuinen/app.js b/apps/poikkipuinen/app.js index ed37cfd97..870b365e1 100644 --- a/apps/poikkipuinen/app.js +++ b/apps/poikkipuinen/app.js @@ -88,7 +88,9 @@ function draw() { g.drawLine(watch.x - facew, y + watch.y, watch.x - facew + w, y + watch.y); // get hour y position - if (i == date.getHours() % 12) houry = y; + var hour = date.getHours() % 12; + if (hour == 0) hour = 12; + if (i == hour) houry = y; } // draw minute meter From bda6b87d70e85940b623ac9f4ba5f2f42c7c52ea Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:16:10 +0300 Subject: [PATCH 127/622] Update app-icon.js --- apps/henkinen/app-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/henkinen/app-icon.js b/apps/henkinen/app-icon.js index fd1e32d20..7c82a375d 100644 --- a/apps/henkinen/app-icon.js +++ b/apps/henkinen/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("mEwxH+AH4Az64AIFlgyjEZoxfDqYxaDSowYJDBGg54AGU7osOGRgvQCA4tNGJIwOOA4uRGAyRNFzYwTFzgwILx4uXGApgKFz4wHRspgQL0JgNF9ztgSBwujMBYv/F/4v/F/4v/F6IwiFBRgkE5Iv3GDiOLMEZeLeMReNSMAjLMBYwWERgwhFyRtJFyyNMCBotTFyJwDCZAsODZjDRDFBGYI6waEDZwSSDyAfIBpoxbABItdGRwsiAH4AOA==")) +require("heatshrink").decompress(atob("mEwwkEogA0/4AKCpNPCxYAB+gtTGJQuOGBAWPGAwuQGAwXH+cykc/C6UhgMSkMQiQXKBQsgiYFDmMCMBIIEmAWEDAUDC5nzBwogDMYgXHBoohJC4wuJEQwXG+ALDmUQgMjEYcPC5MhAYXxgAACj4ICVYYXGIwXzCwYABHAUwC5HyEwXwC4pEC+MvC4/xEoUQC4sBHIQlCC4vwIxBIEGYQXFmJKCC45ECfQQXIRoiRGC5EiOxB4EBwQXdI653XU67XX+QJCPAwrC+JKCC4v/gZIIHIUwCAQXGkIDCSIg4C/8SC5PwEwX/mUQgMjAwXzJQQXH+ZICAA8wEYYXGBgoAEEQoXHGBIhFC44OBcgQADmIgFC5H/kAYEmMCBooXDp4KFkMBiUhiCjDAAX0C5RjBmUjPo4XMABQXEMAwALCwgwRFwowRCwwwPFw4xOCpIArA")) From d2d36d33b8839471072c8989005a3c3a2160a8d8 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:16:28 +0300 Subject: [PATCH 128/622] Update app.png --- apps/henkinen/app.png | Bin 5730 -> 2952 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/henkinen/app.png b/apps/henkinen/app.png index 6ac3f151f052aa624e66a244ed1aaed6c84ea41a..575ecbcd4862e30d56f28e40a0f9394f67e698b2 100644 GIT binary patch delta 1848 zcmZXUc{JPU8pnUJQ@vWI8pc*Ks3HqB6*NTESjQH|(ps_*jUW=G(?39Pmm3BQr(%%ao7fqs3iP2;m-NQGwuH?DnabAvS9VZ8S3%I3)g$cqG&JLB-Jc2Oy zftw-WXORdPJ6-ZC#((h{m>CiV(>?!L)*6RJQi)U&{!h}err-!jI}-IT`U^=!orEY7 zk`zh~x6w^7!Qly^G!j+!eAr=vgb$60i3=uTqsi9L&wok8{|Nm_e=Au-<^Hb2ZkH_l zpXTsVWJcxWZYBVLm_&PfkN+D701UHf*^_5dJi*)o#J(C&bmg` zO*3cT=rvmlKLJ`uXNbaZypfL?xms|mhM!6+R9=Q8rOhrf_01-lUI*Oa?^_{fVFIjX7Cesr*#gvrP|ITe;mvdj!hU4wU|tX#wOrWGaV?%o?c9 z8La6LQ-VfZJ-HLz*V9e11AoXLHW*~N-zM&zE5K(sT~{nvC5lNrX1TXu^A@wAd}ITsSRiDwvQzAC5jTQwb$v2tJ190knm%? zMxaf0Rm=8Rdn3?dHcvS^rO~dIq>zM?vfI8ISpk{MHeTQH)ZZbi&qRMiha@%vVoC6p z#)PZx)T~50s_T}gwHqJUb=f+Zgzx@Ulwt);$|bLE&1M<6ygFd+pMc)77Kp@*9-GEb z(>#THdmvl-zYS47P#DoA(D#%7fM%g3nma;4}U>=WU1_9Jq) zS5r`VsbS{DvXRBxrPe0BhTiBxl;Fg@Xk5r-eO6HPX)#~2iL^WR~0O7 z{$!Xj*Kk^uVa#`Pfo?Q)8ne zfDJTO#Ws#=5)G8oVH|h9uWiLZsbPj*^aC&Mg%WR1O`Nld7t#+jz9Hy*(^es_x+N zcxscIa8Y5q;g_=w%P^8Wxc>gSDopOS#&lCS zZ4;kVvqbsL%+GhdneV+MZ`D^cxx#4b(;)IW4YeE}%nkb0LaM3&!gfk~6?(0ears*7 z<-64nzRSv|A}&vou!iucA~4ws~!2B)-yf_p{lKA7B6Lj=eDTTXy^k2^!+UX>5> zrX6K#VL`4w;3(5}>XhEmDaI*pn}yMdiDL7nU8iF=@8>3Qg^PDCN;bbhonxlBZoYl{ zwpX}FkeHCzR#AC0BFaQ0t!Vj~279N!zhZanAaN{IU1@BnlwSPx8QE=K=H7Qz!G!&G zIycS}wruID^?Ob5!a)llE+Li)mNvXoraT^WKamNykFqFHzy7jlP5TST1_z_?5GHqc Pa{wm?_X{u3A<2ILd;U|- delta 4659 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 From 5c077c490beb3534206d1f2cd5c03fa29615e80e Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:18:29 +0300 Subject: [PATCH 129/622] Changed color scheme to follow bangle.js theme --- apps/henkinen/app.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/henkinen/app.js b/apps/henkinen/app.js index 1207b5686..c3a2f7f4c 100644 --- a/apps/henkinen/app.js +++ b/apps/henkinen/app.js @@ -10,13 +10,13 @@ const breath = { x:0, y:0, w:0, h:0, size: 60, - bgcolor: {r: 1, g: 0.6, b: 0.3}, - incolor: {r: 1, g: 0.8, b: 0.5}, - keepcolor: {r: 1, g: 0.8, b: 0.5}, - outcolor: {r: 1, g: 0.8, b: 0.5}, + bgcolor: g.theme.bg, + incolor: g.theme.fg, + keepcolor: g.theme.fg, + outcolor: g.theme.fg, font: "Vector", fontsize: 14, - textcolor: {r: 1, g: 1, b: 1}, + textcolor: g.theme.fg, texty: 16, in: 4000, From 87ea7335def0454e4b92cb1c89ead5c0f24c57ce Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:26:20 +0300 Subject: [PATCH 130/622] Fixed fonts and colors --- apps/henkinen/app.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/henkinen/app.js b/apps/henkinen/app.js index c3a2f7f4c..d7c7bd5ed 100644 --- a/apps/henkinen/app.js +++ b/apps/henkinen/app.js @@ -4,6 +4,8 @@ // by Jukio Kallio // www.jukiokallio.com +require("FontHaxorNarrow7x17").add(Graphics); + // settings const breath = { theme: "default", @@ -15,9 +17,9 @@ const breath = { keepcolor: g.theme.fg, outcolor: g.theme.fg, - font: "Vector", fontsize: 14, + font: "HaxorNarrow7x17", fontsize: 1, textcolor: g.theme.fg, - texty: 16, + texty: 18, in: 4000, keep: 7000, @@ -61,7 +63,7 @@ function draw() { g.reset(); // Clear the area where we want to draw the time - g.setColor(breath.bgcolor.r, breath.bgcolor.g, breath.bgcolor.b); + g.setColor(breath.bgcolor); g.fillRect(0, 0, breath.w, breath.h); // calculate circle size @@ -69,17 +71,17 @@ function draw() { if (time < breath.in) { // breath in circle = time / breath.in; - g.setColor(breath.incolor.r, breath.incolor.g, breath.incolor.b); + g.setColor(breath.incolor); } else if (time < breath.in + breath.keep) { // keep breath circle = 1; - g.setColor(breath.keepcolor.r, breath.keepcolor.g, breath.keepcolor.b); + g.setColor(breath.keepcolor); } else if (time < breath.in + breath.keep + breath.out) { // breath out circle = ((breath.in + breath.keep + breath.out) - time) / breath.out; - g.setColor(breath.outcolor.r, breath.outcolor.g, breath.outcolor.b); + g.setColor(breath.outcolor); } @@ -87,11 +89,11 @@ function draw() { g.fillCircle(breath.x, breath.y, breath.size * circle); // breath area - g.setColor(breath.textcolor.r, breath.textcolor.g, breath.textcolor.b); + g.setColor(breath.textcolor); g.drawCircle(breath.x, breath.y, breath.size); // draw text - g.setFontAlign(0,0).setFont(breath.font, breath.fontsize).setColor(breath.textcolor.r, breath.textcolor.g, breath.textcolor.b); + g.setFontAlign(0,0).setFont(breath.font, breath.fontsize).setColor(breath.textcolor); if (time < breath.in) { // breath in From 35cb1324f91c8f4e9ff8e3e9efbdb1f05c659cb4 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:27:00 +0300 Subject: [PATCH 131/622] Updated screenshot --- apps/henkinen/screenshot1.png | Bin 23611 -> 17968 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/henkinen/screenshot1.png b/apps/henkinen/screenshot1.png index bb6655f6ab41b1c605107503efb672c81a9c33fd..751fc30add2fcca4f373b499287795f974315f38 100644 GIT binary patch literal 17968 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 From 2d3a0c5b108b94ef39dc105493d2e66b0dc57238 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:33:50 +0300 Subject: [PATCH 132/622] Updated app.png icon --- apps/rinkulainen/app.png | Bin 4656 -> 3177 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/rinkulainen/app.png b/apps/rinkulainen/app.png index 632cf17e033e1997ec76c7061c91ee76d125ea1c..50782c48d1fdd50e63b9f15db8f472ee06c21a06 100644 GIT binary patch delta 2084 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 IM6N<$f_wDKDF6Tf From a83ea008de2700ad23adee97f6490606c16d61e6 Mon Sep 17 00:00:00 2001 From: jukioo <100193873+jukioo@users.noreply.github.com> Date: Mon, 24 Oct 2022 13:34:28 +0300 Subject: [PATCH 133/622] Update app-icon.js --- apps/rinkulainen/app-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rinkulainen/app-icon.js b/apps/rinkulainen/app-icon.js index b27f89b2d..0618f7891 100644 --- a/apps/rinkulainen/app-icon.js +++ b/apps/rinkulainen/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("mEwwkBIPsPAAwVN+AAKFaIxPFpYvJFpovJFpovHFp4vHFp4vGFyIvFFyIvEFyQvEFyQvDFyYvDFyYvCFygvCFygvBFyovBFyvwFy0Pc6YvTC4ajDFpv//4XFF8otBF44HBFywvKFof/R4gXBF8QuEF/4vZFwovwC4wvgFwwvGBBAhDF5oXGF/4v/FAovRFAbtCF6hoKF5QAG")) +require("heatshrink").decompress(atob("mEwwkEogA0/4AKCpNPCxYAB+gtTGJQuOGBAWPGAwuQGAwXG+chiMRiU/C6HyiDpDgMvC5ItFCoYADGIoXIFoIqDGgUBC5nxB4IoE+YYBj4XLBwJxGJ4IwEC4wuBiYEBmUhiUjAoMxGAgXGmAuCDYIACCYIwBgYXJBYSQGD4IjBC5HyE4QOBgU/+cgEAQ3BTAQXFBQImBN4p/BHARgCC4swCYIaBT4gGDiBgCC4syQ4JVENIsggTvKBgYHG+BRCC5KdDWIYXOiEPC4oUCC8hHUmTJBO44XMCgSnH+SnLa5IABfILXJCgINBgA9CAAnzEIYXF+QKCJAMCn/zkQXCEgJtBR479CEwIADCQRpEC4wLBJAInBAAQ3BD4KxDC4wTBiatCkMSkYFBmKAEa48QGAR1GP4gXHGAMBDAnzEAKvEC44wCgJzC+QGCBwgXIRwoACJ4oXDp4JEFQQACGgYAC+gXJGIMhiMRiR9GC5YALC4hgFABgWEGCIuFGCIWGGB4uHGJwVJAFY")) From 31ced9ea24cfc052bb9d21864a8fdbb494ee4f4e Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 25 Oct 2022 08:11:19 +0200 Subject: [PATCH 134/622] Support to show big weather info --- apps/circlesclock/ChangeLog | 1 + apps/circlesclock/README.md | 3 +- apps/circlesclock/app.js | 58 +++++++++++++++++++++++---------- apps/circlesclock/default.json | 3 +- apps/circlesclock/metadata.json | 2 +- apps/circlesclock/settings.js | 5 +++ 6 files changed, 52 insertions(+), 20 deletions(-) diff --git a/apps/circlesclock/ChangeLog b/apps/circlesclock/ChangeLog index c398a89b6..d74badcad 100644 --- a/apps/circlesclock/ChangeLog +++ b/apps/circlesclock/ChangeLog @@ -26,3 +26,4 @@ 0.12: Allow configuration of update interval 0.13: Load step goal from Bangle health app as fallback Memory optimizations +0.14: Support to show big weather info diff --git a/apps/circlesclock/README.md b/apps/circlesclock/README.md index aa429d5ec..160cacbec 100644 --- a/apps/circlesclock/README.md +++ b/apps/circlesclock/README.md @@ -35,4 +35,5 @@ The color of each circle can be configured. The following colors are available: Marco ([myxor](https://github.com/myxor)) ## Icons -Icons taken from [materialdesignicons](https://materialdesignicons.com) under Apache License 2.0 +Most of the icons are taken from [materialdesignicons](https://materialdesignicons.com) under Apache License 2.0 except the big weather icons which are from +[icons8](https://icons8.com/icon/set/weather/small--static--black) diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index fc501a5d0..d4cb5069f 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -22,7 +22,7 @@ let settings = Object.assign( if (settings.stepGoal == undefined) { let d = storage.readJSON("health.json", true) || {}; settings.stepGoal = d != undefined && d.settings != undefined ? d.settings.stepGoal : undefined; - + if (settings.stepGoal == undefined) { d = storage.readJSON("wpedom.json", true) || {}; settings.stepGoal = d != undefined && d.settings != undefined ? d.settings.goal : 10000; @@ -39,6 +39,7 @@ let location = getLocation(); const showWidgets = settings.showWidgets || false; const circleCount = settings.circleCount || 3; +const showBigWeather = settings.showBigWeather || false; let hrtValue; let now = Math.round(new Date().getTime() / 1000); @@ -116,17 +117,40 @@ function draw() { // time g.setFontRobotoRegular50NumericOnly(); - g.setFontAlign(0, -1); g.setColor(colorFg); - g.drawString(locale.time(new Date(), 1), w / 2, h1 + 6); + if (!showBigWeather) { + g.setFontAlign(0, -1); + g.drawString(locale.time(new Date(), 1), w / 2, h1 + 6); + } + else { + g.setFontAlign(-1, -1); + g.drawString(locale.time(new Date(), 1), 5, h1 + 6); + } now = Math.round(new Date().getTime() / 1000); // date & dow g.setFontRobotoRegular21(); - g.setFontAlign(0, 0); - g.drawString(locale.date(new Date()), w / 2, h2); - g.drawString(locale.dow(new Date()), w / 2, h2 + dowOffset); - + if (!showBigWeather) { + g.setFontAlign(0, 0); + g.drawString(locale.date(new Date()), w / 2, h2); + g.drawString(locale.dow(new Date()), w / 2, h2 + dowOffset); + } else { + g.setFontAlign(-1, 0); + g.drawString(locale.date(new Date()), 5, h2); + g.drawString(locale.dow(new Date()), 5, h2 + dowOffset, 1); + } + + // weather + if (showBigWeather) { + const weather = getWeather(); + const tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; + g.setFontAlign(1, 0); + if (tempString) g.drawString(tempString, w, h2 + dowOffset); + + const code = weather ? weather.code : -1; + g.drawImage(getWeatherIconByCode(code, true), w - 64, h1); + } + drawCircle(1); drawCircle(2); drawCircle(3); @@ -417,7 +441,6 @@ function drawWeather(w) { } } - function drawSunProgress(w) { if (!w) w = getCircleXPosition("sunprogress"); const percent = getSunProgress(); @@ -557,19 +580,20 @@ function windAsBeaufort(windInKmh) { * Choose weather icon to display based on weather conditition code * https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2 */ -function getWeatherIconByCode(code) { +function getWeatherIconByCode(code, big) { const codeGroup = Math.round(code / 100); + if (big == undefined) big = false; // weather icons: - const weatherCloudy = atob("EBCBAAAAAAAAAAfgD/Af8H/4//7///////9//z/+AAAAAAAA"); - const weatherSunny = atob("EBCBAAAAAYAQCBAIA8AH4A/wb/YP8A/gB+ARiBAIAYABgAAA"); - const weatherMoon = atob("EBCBAAAAAYAP8B/4P/w//D/8f/5//j/8P/w//B/4D/ABgAAA"); - const weatherPartlyCloudy = atob("EBCBAAAAAAAYQAMAD8AIQBhoW+AOYBwwOBBgHGAGP/wf+AAA"); - const weatherRainy = atob("EBCBAAAAAYAH4AwwOBBgGEAOQAJBgjPOEkgGYAZgA8ABgAAA"); - const weatherPartlyRainy = atob("EBCBAAAAEEAQAAeADMAYaFvoTmAMMDgQIBxhhiGGG9wDwAGA"); - const weatherSnowy = atob("EBCBAAAAAAADwAGAEYg73C50BCAEIC50O9wRiAGAA8AAAAAA"); + const weatherCloudy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAAAAfgD/Af8H/4//7///////9//z/+AAAAAAAA"); + const weatherSunny = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAA//8AAA//8AD//wAAD//wAP//AAAP//AA//8AAA//8AAADwAADwAAAAAHgAAeAAAAAAeAAB4AAAAAB8AAPgAAAAADwAA8AAAAAAPgAHwAAAAAAfgB+AAAAAAD/gf8AAAAAAf///4AAAAAD7//3wAAAAAfD/8PgAAAAD4B+AfAAAAAfADwA+AAAAD4APAB8AAAAfAA8AD4AAAB4ADwAHgAAADAAPAAMAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAQCBAIA8AH4A/wb/YP8A/gB+ARiBAIAYABgAAA"); + const weatherMoon = big ? atob("QEDBAP//wxgAAAYAAAAPAAAAD4AAAA8AAAAPwAAADwAAAA/gAAAPAAAAB/APAP/wAAAH+A8A//AAAAf4DwD/8AAAB/wPAP/wAAAH/gAADwAAAAe+AAAPAAAAB54AAA8AAAAHngAADwAAAAePAAAAAAAAD48OAAAAAAAPDw+AAAAAAB8PD8AAAAAAHg8P4AAAAAA+DwPwAAAAAHwfAfgAAAAB+D4A/AAA8AfwfgB/8AD//+D+AD/8AP//wfgAH/4Af/8B8AAf/wB//APgAAgfgD+AA8AAAAfAH8AHwAAAA+AP8B+AAAAB4Af//4AAAAHgA///gAAAAPAA//8AAAAA8AAf/wAAAADwAAAAAAAAAPAAAAAAAAAA8AcAAAAAAADwD+AAAAAAAfAfgAAAAAAB+D4AAAAAAAB8fAAAAAAAAD54AAAAAAAAHngAAAAAAAAe8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAPeAAAAAAAAB54AAAAAAAAHnwAAAAAAAA+PgAAAAAAAHwfgAAAAAAB+A/////////wB////////+AD////////wAB///////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAP8B/4P/w//D/8f/5//j/8P/w//B/4D/ABgAAA"); + const weatherPartlyCloudy = big ? atob("QEDBAP//wxgAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAABwAPAA4AAAAHgA8AHgAAAAfADwA+AAAAA+AfgHwAAAAB8P/w+AAAAAD7//3wAAAAAH///+BAAAAAP+B/wOAAAAAfgB+B8AAAAD4AD8H4AAAAPAA/wPwAAAB8AH+Af/AAAHgA/AA//AAAeAH4AB/+AADwAfAAH/8A//AD4AAIH4D/8AfAAAAHwP/wB4AAAAPg//AHgAAAAeAA8B+AAAAB4AB4fwAAAADwAHn/AAAAAPAAff8AAAAA8AA/8AAAAADwAD/AAAAAAPAEH4AAAAAA8A4PgAAAAAHwHgcAAAAAAfg+AwAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAYQAMAD8AIQBhoW+AOYBwwOBBgHGAGP/wf+AAA"); + const weatherRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4APAA8AAfg+AA8ADwAAfHwADwAPAAA+eAAPAA8AAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AADw8PDwAP8AAPDw8PAA/wAA8PDw8AD3gADw8PDwAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP/w8PDw8P8Af/Dw8PDw/gA/8PDw8PD8AAfw8PDw8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAPAAAAAAAPAA8AAAAAAA8ADwAAAAAADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQAJBgjPOEkgGYAZgA8ABgAAA"); + const weatherPartlyRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAA8AAfg+AAAADwAAfHwAAAAPAAA+eAAAAA8AAB54AAAADwAAHvAAAAAPAAAP8AAAAA8AAA/wAAAADwAAD/AAAA8PAAAP8AAADw8AAA/wAAAPDwAAD3gAAA8PAAAeeAAADw8AAB58AAAPDwAAPj4AAA8PAAB8H4AADw8AAfgP//8PDw//8Af//w8PD//gA///Dw8P/8AAf/8PDw/+AAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAEEAQAAeADMAYaFvoTmAMMDgQIBxhhiGGG9wDwAGA"); + const weatherSnowy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAADwAfg+AAAAAPAAfHwAAAAA8AA+eAAAAADwAB54AA8AD/8AHvAADwAP/wAP8AAPAA//AA/wAA8AD/8AD/AA//AA8AAP8AD/8ADwAA/wAP/wAPAAD3gA//AA8AAeeAAPAAAAAB58AA8AAAAAPj4ADwAAAAB8H4APAAAAAfgP/wAA8A//8Af/AADwD//gA/8AAPAP/8AAfwAA8A/+AAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAGAEYg73C50BCAEIC50O9wRiAGAA8AAAAAA"); const weatherFoggy = atob("EBCBAAAAAAADwAZgDDA4EGAcQAZAAgAAf74AAAAAd/4AAAAA"); - const weatherStormy = atob("EBCBAAAAAYAH4AwwOBBgGEAOQMJAgjmOGcgAgACAAAAAAAAA"); + const weatherStormy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAD/AAHvAAAAAf4AAP8AAAAB/gAA/wAAAAP8AAD/AAAAA/gAAP8AAAAH+AAA/wAAAAfwAAD3gAAAD/AAAeeAAAAP4AAB58AAAB/AAAPj4AAAH8AAB8H4AAA/gAAfgP//+D//D/8Af//4f/4P/gA///B//B/8AAf/8P/8P+AAAAAAAPgAAAAAAAAB8AAAAAAAAAHwAAAAAAAAA+AAAAAAAAADwAAAAAAAAAfAAAAAAAAAB4AAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQMJAgjmOGcgAgACAAAAAAAAA"); switch (codeGroup) { case 2: diff --git a/apps/circlesclock/default.json b/apps/circlesclock/default.json index ea00dc347..6247c058c 100644 --- a/apps/circlesclock/default.json +++ b/apps/circlesclock/default.json @@ -22,5 +22,6 @@ "circle3colorizeIcon": true, "circle4colorizeIcon": false, "hrmValidity": 60, - "updateInterval": 60 + "updateInterval": 60, + "showBigWeather": false } diff --git a/apps/circlesclock/metadata.json b/apps/circlesclock/metadata.json index 837fcaa88..a1a291546 100644 --- a/apps/circlesclock/metadata.json +++ b/apps/circlesclock/metadata.json @@ -1,7 +1,7 @@ { "id": "circlesclock", "name": "Circles clock", "shortName":"Circles clock", - "version":"0.13", + "version":"0.14", "description": "A clock with three or four circles for different data at the bottom in a probably familiar style", "icon": "app.png", "screenshots": [{"url":"screenshot-dark.png"}, {"url":"screenshot-light.png"}, {"url":"screenshot-dark-4.png"}, {"url":"screenshot-light-4.png"}], diff --git a/apps/circlesclock/settings.js b/apps/circlesclock/settings.js index fb23f8d5e..349e3fdf2 100644 --- a/apps/circlesclock/settings.js +++ b/apps/circlesclock/settings.js @@ -68,6 +68,11 @@ return x + 's'; }, onchange: x => save('updateInterval', x), + }, + /*LANG*/'show big weather': { + value: settings[showBigWeather] || false, + format: () => (settings[showBigWeather] ? 'Yes' : 'No'), + onchange: x => save(showBigWeather, x), } }; E.showMenu(menu); From e0d86d60d89187234443ac5a7808e8814f0fa0ab Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 25 Oct 2022 08:40:39 +0200 Subject: [PATCH 135/622] Fix settings and crash when no weather is available --- apps/circlesclock/app.js | 5 ++++- apps/circlesclock/settings.js | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index d4cb5069f..1554b24ba 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -148,7 +148,10 @@ function draw() { if (tempString) g.drawString(tempString, w, h2 + dowOffset); const code = weather ? weather.code : -1; - g.drawImage(getWeatherIconByCode(code, true), w - 64, h1); + if (code > -1) { + const icon = getWeatherIconByCode(code, true); + if (icon) g.drawImage(icon, w - 48, h1, {scale:0.75}); + } } drawCircle(1); diff --git a/apps/circlesclock/settings.js b/apps/circlesclock/settings.js index 349e3fdf2..0aa8dc826 100644 --- a/apps/circlesclock/settings.js +++ b/apps/circlesclock/settings.js @@ -70,9 +70,9 @@ onchange: x => save('updateInterval', x), }, /*LANG*/'show big weather': { - value: settings[showBigWeather] || false, - format: () => (settings[showBigWeather] ? 'Yes' : 'No'), - onchange: x => save(showBigWeather, x), + value: !!settings.showBigWeather, + format: () => (settings.showBigWeather ? 'Yes' : 'No'), + onchange: x => save('showBigWeather', x), } }; E.showMenu(menu); From e553463fab186b13a947e822d7ad62732cd5271d Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 25 Oct 2022 08:45:37 +0200 Subject: [PATCH 136/622] Fix position of temperature --- apps/circlesclock/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index 1554b24ba..7cd2ad0ec 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -145,7 +145,7 @@ function draw() { const weather = getWeather(); const tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; g.setFontAlign(1, 0); - if (tempString) g.drawString(tempString, w, h2 + dowOffset); + if (tempString) g.drawString(tempString, w, h2); const code = weather ? weather.code : -1; if (code > -1) { From fc71c746d18f73fd07cd54f894546b650b441a9f Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 25 Oct 2022 08:49:16 +0200 Subject: [PATCH 137/622] Update README --- apps/circlesclock/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/circlesclock/README.md b/apps/circlesclock/README.md index 160cacbec..0084da5fa 100644 --- a/apps/circlesclock/README.md +++ b/apps/circlesclock/README.md @@ -9,10 +9,11 @@ It can show the following information (this can be configured): * Steps distance * Heart rate (automatically updates when screen is on and unlocked) * Battery (including charging status and battery low warning) - * Weather (requires [weather app](https://banglejs.com/apps/#weather)) + * Weather (requires [OWM weather provider](https://banglejs.com/apps/?id=owmweather)) * Humidity or wind speed as circle progress * Temperature inside circle * Condition as icon below circle + * Big weather icon next to clock * Time and progress until next sunrise or sunset (requires [my location app](https://banglejs.com/apps/#mylocation)) * Temperature, air pressure or altitude from internal pressure sensor From 1be8c502f0aad79a74f19c4e361e972eb5738720 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 25 Oct 2022 08:59:25 +0200 Subject: [PATCH 138/622] Improve positioning with big weather enabled --- apps/circlesclock/app.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index 7cd2ad0ec..1f53eccf4 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -124,7 +124,7 @@ function draw() { } else { g.setFontAlign(-1, -1); - g.drawString(locale.time(new Date(), 1), 5, h1 + 6); + g.drawString(locale.time(new Date(), 1), 2, h1 + 6); } now = Math.round(new Date().getTime() / 1000); @@ -136,8 +136,8 @@ function draw() { g.drawString(locale.dow(new Date()), w / 2, h2 + dowOffset); } else { g.setFontAlign(-1, 0); - g.drawString(locale.date(new Date()), 5, h2); - g.drawString(locale.dow(new Date()), 5, h2 + dowOffset, 1); + g.drawString(locale.date(new Date()), 2, h2); + g.drawString(locale.dow(new Date()), 2, h2 + dowOffset, 1); } // weather From ee61b7200e0d65bfad7d3e6c6f843ded61f419c3 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 25 Oct 2022 11:50:03 +0200 Subject: [PATCH 139/622] Add missing icon --- apps/circlesclock/app.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index 1f53eccf4..824445ff6 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -148,10 +148,8 @@ function draw() { if (tempString) g.drawString(tempString, w, h2); const code = weather ? weather.code : -1; - if (code > -1) { - const icon = getWeatherIconByCode(code, true); - if (icon) g.drawImage(icon, w - 48, h1, {scale:0.75}); - } + const icon = getWeatherIconByCode(code, true); + if (icon) g.drawImage(icon, w - 48, h1, {scale:0.75}); } drawCircle(1); @@ -595,9 +593,10 @@ function getWeatherIconByCode(code, big) { const weatherRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4APAA8AAfg+AA8ADwAAfHwADwAPAAA+eAAPAA8AAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AADw8PDwAP8AAPDw8PAA/wAA8PDw8AD3gADw8PDwAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP/w8PDw8P8Af/Dw8PDw/gA/8PDw8PD8AAfw8PDw8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAPAAAAAAAPAA8AAAAAAA8ADwAAAAAADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQAJBgjPOEkgGYAZgA8ABgAAA"); const weatherPartlyRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAA8AAfg+AAAADwAAfHwAAAAPAAA+eAAAAA8AAB54AAAADwAAHvAAAAAPAAAP8AAAAA8AAA/wAAAADwAAD/AAAA8PAAAP8AAADw8AAA/wAAAPDwAAD3gAAA8PAAAeeAAADw8AAB58AAAPDwAAPj4AAA8PAAB8H4AADw8AAfgP//8PDw//8Af//w8PD//gA///Dw8P/8AAf/8PDw/+AAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAEEAQAAeADMAYaFvoTmAMMDgQIBxhhiGGG9wDwAGA"); const weatherSnowy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAADwAfg+AAAAAPAAfHwAAAAA8AA+eAAAAADwAB54AA8AD/8AHvAADwAP/wAP8AAPAA//AA/wAA8AD/8AD/AA//AA8AAP8AD/8ADwAA/wAP/wAPAAD3gA//AA8AAeeAAPAAAAAB58AA8AAAAAPj4ADwAAAAB8H4APAAAAAfgP/wAA8A//8Af/AADwD//gA/8AAPAP/8AAfwAA8A/+AAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAGAEYg73C50BCAEIC50O9wRiAGAA8AAAAAA"); - const weatherFoggy = atob("EBCBAAAAAAADwAZgDDA4EGAcQAZAAgAAf74AAAAAd/4AAAAA"); + const weatherFoggy = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AD///AADwAAAP//8AAeAAAA///wAB4AAAD///AAPgAAAAAAAAA8AAAAAAAAAHwAAAAAAAAB+AAAAAAAAAf8AAAAD///D/4AAAAP//8P3wAAAA///w8PgAAAD///CAfAAAAAAAAAA+AAAAAAAAAB8AAAAAAAAAD4AAAAAAAAAHgAAP//8PAAMAAA///w8AAAAAD///DwAAAAAP//8PAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAZgDDA4EGAcQAZAAgAAf74AAAAAd/4AAAAA"); const weatherStormy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAD/AAHvAAAAAf4AAP8AAAAB/gAA/wAAAAP8AAD/AAAAA/gAAP8AAAAH+AAA/wAAAAfwAAD3gAAAD/AAAeeAAAAP4AAB58AAAB/AAAPj4AAAH8AAB8H4AAA/gAAfgP//+D//D/8Af//4f/4P/gA///B//B/8AAf/8P/8P+AAAAAAAPgAAAAAAAAB8AAAAAAAAAHwAAAAAAAAA+AAAAAAAAADwAAAAAAAAAfAAAAAAAAAB4AAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQMJAgjmOGcgAgACAAAAAAAAA"); - + const unknown = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAf/4AAAAAAAH//4AAAAAAA///wAAAAAAH+B/gAAAAAA/AA/AAAAAAH4AB+AAAAAA/AAD4AAAAAD4H4HwAAAAAfB/4PgAAAAB8P/weAAAAAHg//h4AAAAA+Hw+HwAAAAD4eB8PAAAAAP/wDw8AAAAA//APDwAAAAD/8A8PAAAAAH/gDw8AAAAAAAAfDwAAAAAAAH4fAAAAAAAB/B4AAAAAAAf4HgAAAAAAD/A+AAAAAAAfwHwAAAAAAD8A+AAAAAAAPgH4AAAAAAB8B/AAAAAAAHgf4AAAAAAA+H+AAAAAAADwfwAAAAAAAPD8AAAAAAAA8PAAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAB/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAADw8AAAAAAAAPDwAAAAAAAA8PAAAAAAAADw8AAAAAAAAP/wAAAAAAAA//AAAAAAAAD/8AAAAAAAAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : undefined; + switch (codeGroup) { case 2: return weatherStormy; @@ -634,7 +633,7 @@ function getWeatherIconByCode(code, big) { return weatherCloudy; } default: - return undefined; + return unknown; } } From 9a9f75b262626461ae9a061795336966e62fa9c0 Mon Sep 17 00:00:00 2001 From: Marco H Date: Tue, 25 Oct 2022 12:01:28 +0200 Subject: [PATCH 140/622] New screenshot with big weather --- apps/circlesclock/README.md | 2 ++ .../screenshot-light-with-big-weather.png | Bin 0 -> 4474 bytes 2 files changed, 2 insertions(+) create mode 100644 apps/circlesclock/screenshot-light-with-big-weather.png diff --git a/apps/circlesclock/README.md b/apps/circlesclock/README.md index 0084da5fa..8c8fbe4ae 100644 --- a/apps/circlesclock/README.md +++ b/apps/circlesclock/README.md @@ -28,6 +28,8 @@ The color of each circle can be configured. The following colors are available: ![Screenshot light theme](screenshot-light.png) ![Screenshot dark theme with four circles](screenshot-dark-4.png) ![Screenshot light theme with four circles](screenshot-light-4.png) +![Screenshot light theme with big weather enabled](screenshot-light-with-big-weather.png) + ## Ideas * Show compass heading diff --git a/apps/circlesclock/screenshot-light-with-big-weather.png b/apps/circlesclock/screenshot-light-with-big-weather.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d569247ed490ed730675d6e1263140a40cb679 GIT binary patch literal 4474 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 M07*qoM6N<$f(^od0RR91 literal 0 HcmV?d00001 From 20ea951da3e6b20b1835705e012a8cc68aef9bcf Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 26 Oct 2022 11:36:56 +0100 Subject: [PATCH 141/622] ensure widdst runs on Bangle 1 too --- apps/widdst/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widdst/metadata.json b/apps/widdst/metadata.json index f280c96eb..144c02998 100644 --- a/apps/widdst/metadata.json +++ b/apps/widdst/metadata.json @@ -5,7 +5,7 @@ "icon": "icon.png", "type": "widget", "tags": "widget,tool", - "supports" : ["BANGLEJS2"], + "supports" : ["BANGLEJS","BANGLEJS2"], "readme": "README.md", "storage": [ {"name":"widdst.wid.js","url":"widget.js"}, From 1727fac7135b3eb028041ddba4cc4b2d67b0b5a9 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 26 Oct 2022 11:51:30 +0100 Subject: [PATCH 142/622] Add widget visibility library --- modules/widget_utils.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 modules/widget_utils.js diff --git a/modules/widget_utils.js b/modules/widget_utils.js new file mode 100644 index 000000000..5ee98ce05 --- /dev/null +++ b/modules/widget_utils.js @@ -0,0 +1,28 @@ +/* Utilities for handling widgets - mainly showing/hiding */ + +/// hide any visible widgets +exports.hide = function() { + if (!global.WIDGETS) return; + g.reset(); // reset colors + for (var w of global.WIDGETS) { + if (w._draw) return; // already hidden + w._draw = w.draw; + w.draw = () => {}; + w._area = w.area; + w.area = ""; + if (w.x!=undefined) g.clearRect(w.x,w.y,w.x+w.width-1,w.y+23); + } +}; + +/// Show any hidden widgets +exports.show = function() { + if (!global.WIDGETS) return; + for (var w of global.WIDGETS) { + if (!w._draw) return; // not hidden + w.draw = w._draw; + w.area = w._area; + delete w._draw; + delete w._area; + w.draw(w); + } +}; From d436ce60dddb8645b094428394d1548e42bf081f Mon Sep 17 00:00:00 2001 From: Marco H Date: Wed, 26 Oct 2022 13:31:52 +0200 Subject: [PATCH 143/622] Use Bangle.setUI({remove:...}) to allow loading the launcher without a full reset on 2v16 --- apps/circlesclock/ChangeLog | 1 + apps/circlesclock/app.js | 289 ++++++++++++++++++-------------- apps/circlesclock/metadata.json | 2 +- 3 files changed, 161 insertions(+), 131 deletions(-) diff --git a/apps/circlesclock/ChangeLog b/apps/circlesclock/ChangeLog index d74badcad..71729d050 100644 --- a/apps/circlesclock/ChangeLog +++ b/apps/circlesclock/ChangeLog @@ -27,3 +27,4 @@ 0.13: Load step goal from Bangle health app as fallback Memory optimizations 0.14: Support to show big weather info +0.15: Use Bangle.setUI({remove:...}) to allow loading the launcher without a full reset on 2v16 diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index 824445ff6..4ccec3f4b 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -1,5 +1,5 @@ -const locale = require("locale"); -const storage = require("Storage"); +let locale = require("locale"); +let storage = require("Storage"); Graphics.prototype.setFontRobotoRegular50NumericOnly = function(scale) { // Actual height 39 (40 - 2) this.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAB8AAAAAAAfAAAAAAAPwAAAAAAB8AAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAA4AAAAAAB+AAAAAAD/gAAAAAD/4AAAAAH/4AAAAAP/wAAAAAP/gAAAAAf/gAAAAAf/AAAAAA/+AAAAAB/+AAAAAB/8AAAAAD/4AAAAAH/4AAAAAD/wAAAAAA/wAAAAAAPgAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///wAAAB////gAAA////8AAA/////gAAP////8AAH8AAA/gAB8AAAD4AA+AAAAfAAPAAAADwADwAAAA8AA8AAAAPAAPAAAADwADwAAAA8AA8AAAAPAAPgAAAHwAB8AAAD4AAfwAAD+AAD/////AAA/////wAAH////4AAAf///4AAAB///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAPgAAAAAADwAAAAAAB8AAAAAAAfAAAAAAAHgAAAAAAD4AAAAAAA+AAAAAAAPAAAAAAAH/////wAB/////8AA//////AAP/////wAD/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAfgAADwAAP4AAB8AAH+AAA/AAD/gAAfwAB/AAAf8AAfAAAP/AAPgAAH7wAD4AAD88AA8AAB+PAAPAAA/DwADwAAfg8AA8AAPwPAAPAAH4DwADwAH8A8AA+AD+APAAPwB/ADwAB/D/gA8AAf//gAPAAD//wADwAAf/wAA8AAD/4AAPAAAHwAADwAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAADgAAAHwAA+AAAD8AAP4AAB/AAD/AAA/wAA/wAAf4AAD+AAHwAAAPgAD4APAB8AA+ADwAPAAPAA8ADwADwAPAA8AA8ADwAPAAPAA8ADwADwAfAA8AA8AH4APAAPgD+AHwAB8B/wD4AAf7/+B+AAD//v//AAA//x//wAAD/4P/4AAAf8B/4AAAAYAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAHwAAAAAAH8AAAAAAD/AAAAAAD/wAAAAAD/8AAAAAB/vAAAAAB/jwAAAAA/g8AAAAA/wPAAAAAfwDwAAAAf4A8AAAAf4APAAAAP8ADwAAAP8AA8AAAH8AAPAAAD/////8AA//////AAP/////wAD/////8AA//////AAAAAAPAAAAAAADwAAAAAAA8AAAAAAAPAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAB/APwAAH//wD+AAD//8A/wAA///AH+AAP//wAPgAD/B4AB8AA8A+AAfAAPAPAADwADwDwAA8AA8A8AAPAAPAPAADwADwD4AA8AA8A+AAPAAPAPwAHwADwD8AD4AA8AfwD+AAPAH///AADwA///wAA8AH//4AAPAAf/4AAAAAB/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAD//+AAAAD///4AAAD////AAAB////4AAA/78D/AAAfw8AH4AAPweAA+AAD4PgAHwAB8DwAA8AAfA8AAPAAHgPAADwAD4DwAA8AA+A8AAPAAPAPgAHwADwD4AB8AA8AfgA+AAPAH+B/gAAAA///wAAAAH//4AAAAA//8AAAAAH/8AAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAA8AAAAAAAPAAAAAAADwAAAAAAA8AAAABAAPAAAABwADwAAAB8AA8AAAB/AAPAAAB/wADwAAD/8AA8AAD/8AAPAAD/4AADwAD/4AAA8AD/4AAAPAH/wAAADwH/wAAAA8H/wAAAAPH/wAAAAD3/gAAAAA//gAAAAAP/gAAAAAD/gAAAAAA/AAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwA/4AAAH/Af/AAAH/8P/4AAD//n//AAA//7//4AAfx/+A+AAHwD+AHwAD4AfgB8AA8AHwAPAAPAA8ADwADwAPAA8AA8ADwAPAAPAA8ADwADwAfAA8AA+AH4AfAAHwD+AHwAB/D/4D4AAP/+/n+AAD//n//AAAf/w//gAAB/wH/wAAAHwA/4AAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAD/8AAAAAD//wAAAAB//+AAAAA///wAAAAf4H+APAAH4AfgDwAD8AB8A8AA+AAfAPAAPAADwDwADwAA8B8AA8AAPAfAAPAADwHgADwAA8D4AA+AAeB+AAHwAHg/AAB+ADwfgAAP8D4/4AAD////8AAAf///8AAAB///+AAAAP//+AAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAOAAAB8AAHwAAAfgAD8AAAH4AA/AAAB8AAHwAAAOAAA4AAAAAAAAAAAAAAAAAAAAAAAAAA"), 46, atob("DRUcHBwcHBwcHBwcDA=="), 50+(scale<<8)+(1<<16)); @@ -12,7 +12,7 @@ Graphics.prototype.setFontRobotoRegular21 = function(scale) { return this; }; -const SETTINGS_FILE = "circlesclock.json"; +let SETTINGS_FILE = "circlesclock.json"; let settings = Object.assign( storage.readJSON("circlesclock.default.json", true) || {}, storage.readJSON(SETTINGS_FILE, true) || {} @@ -23,12 +23,15 @@ if (settings.stepGoal == undefined) { let d = storage.readJSON("health.json", true) || {}; settings.stepGoal = d != undefined && d.settings != undefined ? d.settings.stepGoal : undefined; - if (settings.stepGoal == undefined) { + if (settings.stepGoal == undefined) { d = storage.readJSON("wpedom.json", true) || {}; settings.stepGoal = d != undefined && d.settings != undefined ? d.settings.goal : 10000; } } +let timerHrm; +let drawTimeout; + /* * Read location from myLocation app */ @@ -37,30 +40,30 @@ function getLocation() { } let location = getLocation(); -const showWidgets = settings.showWidgets || false; -const circleCount = settings.circleCount || 3; -const showBigWeather = settings.showBigWeather || false; +let showWidgets = settings.showWidgets || false; +let circleCount = settings.circleCount || 3; +let showBigWeather = settings.showBigWeather || false; let hrtValue; let now = Math.round(new Date().getTime() / 1000); // layout values: -const colorFg = g.theme.dark ? '#fff' : '#000'; -const colorBg = g.theme.dark ? '#000' : '#fff'; -const colorGrey = '#808080'; -const colorRed = '#ff0000'; -const colorGreen = '#008000'; -const colorBlue = '#0000ff'; -const colorYellow = '#ffff00'; -const widgetOffset = showWidgets ? 24 : 0; -const dowOffset = circleCount == 3 ? 20 : 22; // dow offset relative to date -const h = g.getHeight() - widgetOffset; -const w = g.getWidth(); -const hOffset = (circleCount == 3 ? 34 : 30) - widgetOffset; -const h1 = Math.round(1 * h / 5 - hOffset); -const h2 = Math.round(3 * h / 5 - hOffset); -const h3 = Math.round(8 * h / 8 - hOffset - 3); // circle y position +let colorFg = g.theme.dark ? '#fff' : '#000'; +let colorBg = g.theme.dark ? '#000' : '#fff'; +let colorGrey = '#808080'; +let colorRed = '#ff0000'; +let colorGreen = '#008000'; +let colorBlue = '#0000ff'; +let colorYellow = '#ffff00'; +let widgetOffset = showWidgets ? 24 : 0; +let dowOffset = circleCount == 3 ? 20 : 22; // dow offset relative to date +let h = g.getHeight() - widgetOffset; +let w = g.getWidth(); +let hOffset = (circleCount == 3 ? 34 : 30) - widgetOffset; +let h1 = Math.round(1 * h / 5 - hOffset); +let h2 = Math.round(3 * h / 5 - hOffset); +let h3 = Math.round(8 * h / 8 - hOffset - 3); // circle y position /* * circle x positions @@ -74,21 +77,21 @@ const h3 = Math.round(8 * h / 8 - hOffset - 3); // circle y position * | (1) (2) (3) (4) | * => circles start at 1,3,5,7 / 8 */ -const parts = circleCount * 2; -const circlePosX = [ +let parts = circleCount * 2; +let circlePosX = [ Math.round(1 * w / parts), // circle1 Math.round(3 * w / parts), // circle2 Math.round(5 * w / parts), // circle3 Math.round(7 * w / parts), // circle4 ]; -const radiusOuter = circleCount == 3 ? 25 : 20; -const radiusInner = circleCount == 3 ? 20 : 15; -const circleFontSmall = circleCount == 3 ? "Vector:14" : "Vector:10"; -const circleFont = circleCount == 3 ? "Vector:15" : "Vector:11"; -const circleFontBig = circleCount == 3 ? "Vector:16" : "Vector:12"; -const iconOffset = circleCount == 3 ? 6 : 8; -const defaultCircleTypes = ["steps", "hr", "battery", "weather"]; +let radiusOuter = circleCount == 3 ? 25 : 20; +let radiusInner = circleCount == 3 ? 20 : 15; +let circleFontSmall = circleCount == 3 ? "Vector:14" : "Vector:10"; +let circleFont = circleCount == 3 ? "Vector:15" : "Vector:11"; +let circleFontBig = circleCount == 3 ? "Vector:16" : "Vector:12"; +let iconOffset = circleCount == 3 ? 6 : 8; +let defaultCircleTypes = ["steps", "hr", "battery", "weather"]; function hideWidgets() { /* @@ -142,13 +145,13 @@ function draw() { // weather if (showBigWeather) { - const weather = getWeather(); - const tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; + let weather = getWeather(); + let tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; g.setFontAlign(1, 0); if (tempString) g.drawString(tempString, w, h2); - const code = weather ? weather.code : -1; - const icon = getWeatherIconByCode(code, true); + let code = weather ? weather.code : -1; + let icon = getWeatherIconByCode(code, true); if (icon) g.drawImage(icon, w - 48, h1, {scale:0.75}); } @@ -156,12 +159,14 @@ function draw() { drawCircle(2); drawCircle(3); if (circleCount >= 4) drawCircle(4); + + queueDraw(); } function drawCircle(index) { let type = settings['circle' + index]; if (!type) type = defaultCircleTypes[index - 1]; - const w = getCircleXPosition(type); + let w = getCircleXPosition(type); switch (type) { case "steps": @@ -213,7 +218,7 @@ function getCirclePosition(type) { return circlePositionsCache[type]; } for (let i = 1; i <= circleCount; i++) { - const setting = settings['circle' + i]; + let setting = settings['circle' + i]; if (setting == type) { circlePositionsCache[type] = i - 1; return i - 1; @@ -229,7 +234,7 @@ function getCirclePosition(type) { } function getCircleXPosition(type) { - const circlePos = getCirclePosition(type); + let circlePos = getCirclePosition(type); if (circlePos != undefined) { return circlePosX[circlePos]; } @@ -241,14 +246,14 @@ function isCircleEnabled(type) { } function getCircleColor(type) { - const pos = getCirclePosition(type); - const color = settings["circle" + (pos + 1) + "color"]; + let pos = getCirclePosition(type); + let color = settings["circle" + (pos + 1) + "color"]; if (color && color != "") return color; } function getCircleIconColor(type, color, percent) { - const pos = getCirclePosition(type); - const colorizeIcon = settings["circle" + (pos + 1) + "colorizeIcon"] == true; + let pos = getCirclePosition(type); + let colorizeIcon = settings["circle" + (pos + 1) + "colorizeIcon"] == true; if (colorizeIcon) { return getGradientColor(color, percent); } else { @@ -259,18 +264,18 @@ function getCircleIconColor(type, color, percent) { function getGradientColor(color, percent) { if (isNaN(percent)) percent = 0; if (percent > 1) percent = 1; - const colorList = [ + let colorList = [ '#00FF00', '#80FF00', '#FFFF00', '#FF8000', '#FF0000' ]; if (color == "fg") { color = colorFg; } if (color == "green-red") { - const colorIndex = Math.round(colorList.length * percent); + let colorIndex = Math.round(colorList.length * percent); return colorList[Math.min(colorIndex, colorList.length) - 1] || "#00ff00"; } if (color == "red-green") { - const colorIndex = colorList.length - Math.round(colorList.length * percent); + let colorIndex = colorList.length - Math.round(colorList.length * percent); return colorList[Math.min(colorIndex, colorList.length)] || "#ff0000"; } return color; @@ -293,14 +298,14 @@ function getImage(graphic, color) { function drawSteps(w) { if (!w) w = getCircleXPosition("steps"); - const steps = getSteps(); + let steps = getSteps(); drawCircleBackground(w); - const color = getCircleColor("steps"); + let color = getCircleColor("steps"); let percent; - const stepGoal = settings.stepGoal; + let stepGoal = settings.stepGoal; if (stepGoal > 0) { percent = steps / stepGoal; if (stepGoal < steps) percent = 1; @@ -316,16 +321,16 @@ function drawSteps(w) { function drawStepsDistance(w) { if (!w) w = getCircleXPosition("stepsDistance"); - const steps = getSteps(); - const stepDistance = settings.stepLength; - const stepsDistance = Math.round(steps * stepDistance); + let steps = getSteps(); + let stepDistance = settings.stepLength; + let stepsDistance = Math.round(steps * stepDistance); drawCircleBackground(w); - const color = getCircleColor("stepsDistance"); + let color = getCircleColor("stepsDistance"); let percent; - const stepDistanceGoal = settings.stepDistanceGoal; + let stepDistanceGoal = settings.stepDistanceGoal; if (stepDistanceGoal > 0) { percent = stepsDistance / stepDistanceGoal; if (stepDistanceGoal < stepsDistance) percent = 1; @@ -342,16 +347,16 @@ function drawStepsDistance(w) { function drawHeartRate(w) { if (!w) w = getCircleXPosition("hr"); - const heartIcon = atob("EBCBAAAAAAAeeD/8P/x//n/+P/w//B/4D/AH4APAAYAAAAAA"); + let heartIcon = atob("EBCBAAAAAAAeeD/8P/x//n/+P/w//B/4D/AH4APAAYAAAAAA"); drawCircleBackground(w); - const color = getCircleColor("hr"); + let color = getCircleColor("hr"); let percent; if (hrtValue != undefined) { - const minHR = settings.minHR; - const maxHR = settings.maxHR; + let minHR = settings.minHR; + let maxHR = settings.maxHR; percent = (hrtValue - minHR) / (maxHR - minHR); if (isNaN(percent)) percent = 0; drawGauge(w, h3, percent, color); @@ -366,9 +371,9 @@ function drawHeartRate(w) { function drawBattery(w) { if (!w) w = getCircleXPosition("battery"); - const battery = E.getBattery(); + let battery = E.getBattery(); - const powerIcon = atob("EBCBAAAAA8ADwA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AH4AAA"); + let powerIcon = atob("EBCBAAAAA8ADwA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AH4AAA"); drawCircleBackground(w); @@ -396,18 +401,18 @@ function drawBattery(w) { function drawWeather(w) { if (!w) w = getCircleXPosition("weather"); - const weather = getWeather(); - const tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; - const code = weather ? weather.code : -1; + let weather = getWeather(); + let tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; + let code = weather ? weather.code : -1; drawCircleBackground(w); - const color = getCircleColor("weather"); + let color = getCircleColor("weather"); let percent; - const data = settings.weatherCircleData; + let data = settings.weatherCircleData; switch (data) { case "humidity": - const humidity = weather ? weather.hum : undefined; + let humidity = weather ? weather.hum : undefined; if (humidity >= 0) { percent = humidity / 100; drawGauge(w, h3, percent, color); @@ -415,7 +420,7 @@ function drawWeather(w) { break; case "wind": if (weather) { - const wind = locale.speed(weather.wind).match(/^(\D*\d*)(.*)$/); + let wind = locale.speed(weather.wind).match(/^(\D*\d*)(.*)$/); if (wind[1] >= 0) { if (wind[2] == "kmh") { wind[1] = windAsBeaufort(wind[1]); @@ -435,7 +440,7 @@ function drawWeather(w) { writeCircleText(w, tempString ? tempString : "?"); if (code > 0) { - const icon = getWeatherIconByCode(code); + let icon = getWeatherIconByCode(code); if (icon) g.drawImage(getImage(icon, getCircleIconColor("weather", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset); } else { g.drawString("?", w, h3 + radiusOuter); @@ -444,15 +449,15 @@ function drawWeather(w) { function drawSunProgress(w) { if (!w) w = getCircleXPosition("sunprogress"); - const percent = getSunProgress(); + let percent = getSunProgress(); // sunset icons: - const sunSetDown = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAAGYAPAAYAAAAAA"); - const sunSetUp = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAABgAPABmAAAAAA"); + let sunSetDown = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAAGYAPAAYAAAAAA"); + let sunSetUp = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAABgAPABmAAAAAA"); drawCircleBackground(w); - const color = getCircleColor("sunprogress"); + let color = getCircleColor("sunprogress"); drawGauge(w, h3, percent, color); @@ -460,15 +465,15 @@ function drawSunProgress(w) { let icon = sunSetDown; let text = "?"; - const times = getSunData(); + let times = getSunData(); if (times != undefined) { - const sunRise = Math.round(times.sunrise.getTime() / 1000); - const sunSet = Math.round(times.sunset.getTime() / 1000); + let sunRise = Math.round(times.sunrise.getTime() / 1000); + let sunSet = Math.round(times.sunset.getTime() / 1000); if (!isDay()) { // night if (now > sunRise) { // after sunRise - const upcomingSunRise = sunRise + 60 * 60 * 24; + let upcomingSunRise = sunRise + 60 * 60 * 24; text = formatSeconds(upcomingSunRise - now); } else { text = formatSeconds(sunRise - now); @@ -492,12 +497,12 @@ function drawTemperature(w) { getPressureValue("temperature").then((temperature) => { drawCircleBackground(w); - const color = getCircleColor("temperature"); + let color = getCircleColor("temperature"); let percent; if (temperature) { - const min = -40; - const max = 85; + let min = -40; + let max = 85; percent = (temperature - min) / (max - min); drawGauge(w, h3, percent, color); } @@ -506,7 +511,7 @@ function drawTemperature(w) { if (temperature) writeCircleText(w, locale.temp(temperature)); - + g.drawImage(getImage(atob("EBCBAAAAAYADwAJAAkADwAPAA8ADwAfgB+AH4AfgA8ABgAAA"), getCircleIconColor("temperature", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset); }); @@ -518,12 +523,12 @@ function drawPressure(w) { getPressureValue("pressure").then((pressure) => { drawCircleBackground(w); - const color = getCircleColor("pressure"); + let color = getCircleColor("pressure"); let percent; if (pressure && pressure > 0) { - const minPressure = 950; - const maxPressure = 1050; + let minPressure = 950; + let maxPressure = 1050; percent = (pressure - minPressure) / (maxPressure - minPressure); drawGauge(w, h3, percent, color); } @@ -544,12 +549,12 @@ function drawAltitude(w) { getPressureValue("altitude").then((altitude) => { drawCircleBackground(w); - const color = getCircleColor("altitude"); + let color = getCircleColor("altitude"); let percent; if (altitude) { - const min = 0; - const max = 10000; + let min = 0; + let max = 10000; percent = (altitude - min) / (max - min); drawGauge(w, h3, percent, color); } @@ -568,7 +573,7 @@ function drawAltitude(w) { * wind goes from 0 to 12 (see https://en.wikipedia.org/wiki/Beaufort_scale) */ function windAsBeaufort(windInKmh) { - const beaufort = [2, 6, 12, 20, 29, 39, 50, 62, 75, 89, 103, 118]; + let beaufort = [2, 6, 12, 20, 29, 39, 50, 62, 75, 89, 103, 118]; let l = 0; while (l < beaufort.length && beaufort[l] < windInKmh) { l++; @@ -582,21 +587,21 @@ function windAsBeaufort(windInKmh) { * https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2 */ function getWeatherIconByCode(code, big) { - const codeGroup = Math.round(code / 100); + let codeGroup = Math.round(code / 100); if (big == undefined) big = false; // weather icons: - const weatherCloudy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAAAAfgD/Af8H/4//7///////9//z/+AAAAAAAA"); - const weatherSunny = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAA//8AAA//8AD//wAAD//wAP//AAAP//AA//8AAA//8AAADwAADwAAAAAHgAAeAAAAAAeAAB4AAAAAB8AAPgAAAAADwAA8AAAAAAPgAHwAAAAAAfgB+AAAAAAD/gf8AAAAAAf///4AAAAAD7//3wAAAAAfD/8PgAAAAD4B+AfAAAAAfADwA+AAAAD4APAB8AAAAfAA8AD4AAAB4ADwAHgAAADAAPAAMAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAQCBAIA8AH4A/wb/YP8A/gB+ARiBAIAYABgAAA"); - const weatherMoon = big ? atob("QEDBAP//wxgAAAYAAAAPAAAAD4AAAA8AAAAPwAAADwAAAA/gAAAPAAAAB/APAP/wAAAH+A8A//AAAAf4DwD/8AAAB/wPAP/wAAAH/gAADwAAAAe+AAAPAAAAB54AAA8AAAAHngAADwAAAAePAAAAAAAAD48OAAAAAAAPDw+AAAAAAB8PD8AAAAAAHg8P4AAAAAA+DwPwAAAAAHwfAfgAAAAB+D4A/AAA8AfwfgB/8AD//+D+AD/8AP//wfgAH/4Af/8B8AAf/wB//APgAAgfgD+AA8AAAAfAH8AHwAAAA+AP8B+AAAAB4Af//4AAAAHgA///gAAAAPAA//8AAAAA8AAf/wAAAADwAAAAAAAAAPAAAAAAAAAA8AcAAAAAAADwD+AAAAAAAfAfgAAAAAAB+D4AAAAAAAB8fAAAAAAAAD54AAAAAAAAHngAAAAAAAAe8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAPeAAAAAAAAB54AAAAAAAAHnwAAAAAAAA+PgAAAAAAAHwfgAAAAAAB+A/////////wB////////+AD////////wAB///////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAP8B/4P/w//D/8f/5//j/8P/w//B/4D/ABgAAA"); - const weatherPartlyCloudy = big ? atob("QEDBAP//wxgAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAABwAPAA4AAAAHgA8AHgAAAAfADwA+AAAAA+AfgHwAAAAB8P/w+AAAAAD7//3wAAAAAH///+BAAAAAP+B/wOAAAAAfgB+B8AAAAD4AD8H4AAAAPAA/wPwAAAB8AH+Af/AAAHgA/AA//AAAeAH4AB/+AADwAfAAH/8A//AD4AAIH4D/8AfAAAAHwP/wB4AAAAPg//AHgAAAAeAA8B+AAAAB4AB4fwAAAADwAHn/AAAAAPAAff8AAAAA8AA/8AAAAADwAD/AAAAAAPAEH4AAAAAA8A4PgAAAAAHwHgcAAAAAAfg+AwAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAYQAMAD8AIQBhoW+AOYBwwOBBgHGAGP/wf+AAA"); - const weatherRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4APAA8AAfg+AA8ADwAAfHwADwAPAAA+eAAPAA8AAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AADw8PDwAP8AAPDw8PAA/wAA8PDw8AD3gADw8PDwAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP/w8PDw8P8Af/Dw8PDw/gA/8PDw8PD8AAfw8PDw8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAPAAAAAAAPAA8AAAAAAA8ADwAAAAAADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQAJBgjPOEkgGYAZgA8ABgAAA"); - const weatherPartlyRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAA8AAfg+AAAADwAAfHwAAAAPAAA+eAAAAA8AAB54AAAADwAAHvAAAAAPAAAP8AAAAA8AAA/wAAAADwAAD/AAAA8PAAAP8AAADw8AAA/wAAAPDwAAD3gAAA8PAAAeeAAADw8AAB58AAAPDwAAPj4AAA8PAAB8H4AADw8AAfgP//8PDw//8Af//w8PD//gA///Dw8P/8AAf/8PDw/+AAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAEEAQAAeADMAYaFvoTmAMMDgQIBxhhiGGG9wDwAGA"); - const weatherSnowy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAADwAfg+AAAAAPAAfHwAAAAA8AA+eAAAAADwAB54AA8AD/8AHvAADwAP/wAP8AAPAA//AA/wAA8AD/8AD/AA//AA8AAP8AD/8ADwAA/wAP/wAPAAD3gA//AA8AAeeAAPAAAAAB58AA8AAAAAPj4ADwAAAAB8H4APAAAAAfgP/wAA8A//8Af/AADwD//gA/8AAPAP/8AAfwAA8A/+AAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAGAEYg73C50BCAEIC50O9wRiAGAA8AAAAAA"); - const weatherFoggy = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AD///AADwAAAP//8AAeAAAA///wAB4AAAD///AAPgAAAAAAAAA8AAAAAAAAAHwAAAAAAAAB+AAAAAAAAAf8AAAAD///D/4AAAAP//8P3wAAAA///w8PgAAAD///CAfAAAAAAAAAA+AAAAAAAAAB8AAAAAAAAAD4AAAAAAAAAHgAAP//8PAAMAAA///w8AAAAAD///DwAAAAAP//8PAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAZgDDA4EGAcQAZAAgAAf74AAAAAd/4AAAAA"); - const weatherStormy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAD/AAHvAAAAAf4AAP8AAAAB/gAA/wAAAAP8AAD/AAAAA/gAAP8AAAAH+AAA/wAAAAfwAAD3gAAAD/AAAeeAAAAP4AAB58AAAB/AAAPj4AAAH8AAB8H4AAA/gAAfgP//+D//D/8Af//4f/4P/gA///B//B/8AAf/8P/8P+AAAAAAAPgAAAAAAAAB8AAAAAAAAAHwAAAAAAAAA+AAAAAAAAADwAAAAAAAAAfAAAAAAAAAB4AAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQMJAgjmOGcgAgACAAAAAAAAA"); - const unknown = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAf/4AAAAAAAH//4AAAAAAA///wAAAAAAH+B/gAAAAAA/AA/AAAAAAH4AB+AAAAAA/AAD4AAAAAD4H4HwAAAAAfB/4PgAAAAB8P/weAAAAAHg//h4AAAAA+Hw+HwAAAAD4eB8PAAAAAP/wDw8AAAAA//APDwAAAAD/8A8PAAAAAH/gDw8AAAAAAAAfDwAAAAAAAH4fAAAAAAAB/B4AAAAAAAf4HgAAAAAAD/A+AAAAAAAfwHwAAAAAAD8A+AAAAAAAPgH4AAAAAAB8B/AAAAAAAHgf4AAAAAAA+H+AAAAAAADwfwAAAAAAAPD8AAAAAAAA8PAAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAB/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAADw8AAAAAAAAPDwAAAAAAAA8PAAAAAAAADw8AAAAAAAAP/wAAAAAAAA//AAAAAAAAD/8AAAAAAAAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : undefined; - + let weatherCloudy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAAAAfgD/Af8H/4//7///////9//z/+AAAAAAAA"); + let weatherSunny = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAA//8AAA//8AD//wAAD//wAP//AAAP//AA//8AAA//8AAADwAADwAAAAAHgAAeAAAAAAeAAB4AAAAAB8AAPgAAAAADwAA8AAAAAAPgAHwAAAAAAfgB+AAAAAAD/gf8AAAAAAf///4AAAAAD7//3wAAAAAfD/8PgAAAAD4B+AfAAAAAfADwA+AAAAD4APAB8AAAAfAA8AD4AAAB4ADwAHgAAADAAPAAMAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAQCBAIA8AH4A/wb/YP8A/gB+ARiBAIAYABgAAA"); + let weatherMoon = big ? atob("QEDBAP//wxgAAAYAAAAPAAAAD4AAAA8AAAAPwAAADwAAAA/gAAAPAAAAB/APAP/wAAAH+A8A//AAAAf4DwD/8AAAB/wPAP/wAAAH/gAADwAAAAe+AAAPAAAAB54AAA8AAAAHngAADwAAAAePAAAAAAAAD48OAAAAAAAPDw+AAAAAAB8PD8AAAAAAHg8P4AAAAAA+DwPwAAAAAHwfAfgAAAAB+D4A/AAA8AfwfgB/8AD//+D+AD/8AP//wfgAH/4Af/8B8AAf/wB//APgAAgfgD+AA8AAAAfAH8AHwAAAA+AP8B+AAAAB4Af//4AAAAHgA///gAAAAPAA//8AAAAA8AAf/wAAAADwAAAAAAAAAPAAAAAAAAAA8AcAAAAAAADwD+AAAAAAAfAfgAAAAAAB+D4AAAAAAAB8fAAAAAAAAD54AAAAAAAAHngAAAAAAAAe8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAPeAAAAAAAAB54AAAAAAAAHnwAAAAAAAA+PgAAAAAAAHwfgAAAAAAB+A/////////wB////////+AD////////wAB///////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAP8B/4P/w//D/8f/5//j/8P/w//B/4D/ABgAAA"); + let weatherPartlyCloudy = big ? atob("QEDBAP//wxgAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAABwAPAA4AAAAHgA8AHgAAAAfADwA+AAAAA+AfgHwAAAAB8P/w+AAAAAD7//3wAAAAAH///+BAAAAAP+B/wOAAAAAfgB+B8AAAAD4AD8H4AAAAPAA/wPwAAAB8AH+Af/AAAHgA/AA//AAAeAH4AB/+AADwAfAAH/8A//AD4AAIH4D/8AfAAAAHwP/wB4AAAAPg//AHgAAAAeAA8B+AAAAB4AB4fwAAAADwAHn/AAAAAPAAff8AAAAA8AA/8AAAAADwAD/AAAAAAPAEH4AAAAAA8A4PgAAAAAHwHgcAAAAAAfg+AwAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAYQAMAD8AIQBhoW+AOYBwwOBBgHGAGP/wf+AAA"); + let weatherRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4APAA8AAfg+AA8ADwAAfHwADwAPAAA+eAAPAA8AAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AADw8PDwAP8AAPDw8PAA/wAA8PDw8AD3gADw8PDwAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP/w8PDw8P8Af/Dw8PDw/gA/8PDw8PD8AAfw8PDw8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAPAAAAAAAPAA8AAAAAAA8ADwAAAAAADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQAJBgjPOEkgGYAZgA8ABgAAA"); + let weatherPartlyRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAA8AAfg+AAAADwAAfHwAAAAPAAA+eAAAAA8AAB54AAAADwAAHvAAAAAPAAAP8AAAAA8AAA/wAAAADwAAD/AAAA8PAAAP8AAADw8AAA/wAAAPDwAAD3gAAA8PAAAeeAAADw8AAB58AAAPDwAAPj4AAA8PAAB8H4AADw8AAfgP//8PDw//8Af//w8PD//gA///Dw8P/8AAf/8PDw/+AAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAEEAQAAeADMAYaFvoTmAMMDgQIBxhhiGGG9wDwAGA"); + let weatherSnowy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAADwAfg+AAAAAPAAfHwAAAAA8AA+eAAAAADwAB54AA8AD/8AHvAADwAP/wAP8AAPAA//AA/wAA8AD/8AD/AA//AA8AAP8AD/8ADwAA/wAP/wAPAAD3gA//AA8AAeeAAPAAAAAB58AA8AAAAAPj4ADwAAAAB8H4APAAAAAfgP/wAA8A//8Af/AADwD//gA/8AAPAP/8AAfwAA8A/+AAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAGAEYg73C50BCAEIC50O9wRiAGAA8AAAAAA"); + let weatherFoggy = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AD///AADwAAAP//8AAeAAAA///wAB4AAAD///AAPgAAAAAAAAA8AAAAAAAAAHwAAAAAAAAB+AAAAAAAAAf8AAAAD///D/4AAAAP//8P3wAAAA///w8PgAAAD///CAfAAAAAAAAAA+AAAAAAAAAB8AAAAAAAAAD4AAAAAAAAAHgAAP//8PAAMAAA///w8AAAAAD///DwAAAAAP//8PAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAZgDDA4EGAcQAZAAgAAf74AAAAAd/4AAAAA"); + let weatherStormy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAD/AAHvAAAAAf4AAP8AAAAB/gAA/wAAAAP8AAD/AAAAA/gAAP8AAAAH+AAA/wAAAAfwAAD3gAAAD/AAAeeAAAAP4AAB58AAAB/AAAPj4AAAH8AAB8H4AAA/gAAfgP//+D//D/8Af//4f/4P/gA///B//B/8AAf/8P/8P+AAAAAAAPgAAAAAAAAB8AAAAAAAAAHwAAAAAAAAA+AAAAAAAAADwAAAAAAAAAfAAAAAAAAAB4AAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQMJAgjmOGcgAgACAAAAAAAAA"); + let unknown = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAf/4AAAAAAAH//4AAAAAAA///wAAAAAAH+B/gAAAAAA/AA/AAAAAAH4AB+AAAAAA/AAD4AAAAAD4H4HwAAAAAfB/4PgAAAAB8P/weAAAAAHg//h4AAAAA+Hw+HwAAAAD4eB8PAAAAAP/wDw8AAAAA//APDwAAAAD/8A8PAAAAAH/gDw8AAAAAAAAfDwAAAAAAAH4fAAAAAAAB/B4AAAAAAAf4HgAAAAAAD/A+AAAAAAAfwHwAAAAAAD8A+AAAAAAAPgH4AAAAAAB8B/AAAAAAAHgf4AAAAAAA+H+AAAAAAADwfwAAAAAAAPD8AAAAAAAA8PAAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAB/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAADw8AAAAAAAAPDwAAAAAAAA8PAAAAAAAADw8AAAAAAAAP/wAAAAAAAA//AAAAAAAAD/8AAAAAAAAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : undefined; + switch (codeGroup) { case 2: return weatherStormy; @@ -639,10 +644,10 @@ function getWeatherIconByCode(code, big) { function isDay() { - const times = getSunData(); + let times = getSunData(); if (times == undefined) return true; - const sunRise = Math.round(times.sunrise.getTime() / 1000); - const sunSet = Math.round(times.sunset.getTime() / 1000); + let sunRise = Math.round(times.sunrise.getTime() / 1000); + let sunSet = Math.round(times.sunset.getTime() / 1000); return (now > sunRise && now < sunSet); } @@ -659,7 +664,7 @@ function formatSeconds(s) { function getSunData() { if (location != undefined && location.lat != undefined) { - const SunCalc = require("https://raw.githubusercontent.com/mourner/suncalc/master/suncalc.js"); + let SunCalc = require("https://raw.githubusercontent.com/mourner/suncalc/master/suncalc.js"); // get today's sunlight times for lat/lon return SunCalc ? SunCalc.getTimes(new Date(), location.lat, location.lon) : undefined; } @@ -672,14 +677,14 @@ function getSunData() { * Taken from rebble app and modified */ function getSunProgress() { - const times = getSunData(); + let times = getSunData(); if (times == undefined) return 0; - const sunRise = Math.round(times.sunrise.getTime() / 1000); - const sunSet = Math.round(times.sunset.getTime() / 1000); + let sunRise = Math.round(times.sunrise.getTime() / 1000); + let sunSet = Math.round(times.sunset.getTime() / 1000); if (isDay()) { // during day - const dayLength = sunSet - sunRise; + let dayLength = sunSet - sunRise; if (now > sunRise) { return (now - sunRise) / dayLength; } else { @@ -688,10 +693,10 @@ function getSunProgress() { } else { // during night if (now < sunRise) { - const prevSunSet = sunSet - 60 * 60 * 24; + let prevSunSet = sunSet - 60 * 60 * 24; return 1 - (sunRise - now) / (sunRise - prevSunSet); } else { - const upcomingSunRise = sunRise + 60 * 60 * 24; + let upcomingSunRise = sunRise + 60 * 60 * 24; return (upcomingSunRise - now) / (upcomingSunRise - sunSet); } } @@ -726,16 +731,16 @@ function radians(a) { * This draws the actual gauge consisting out of lots of little filled circles */ function drawGauge(cx, cy, percent, color) { - const offset = 15; - const end = 360 - offset; - const radius = radiusInner + (circleCount == 3 ? 3 : 2); - const size = radiusOuter - radiusInner - 2; + let offset = 15; + let end = 360 - offset; + let radius = radiusInner + (circleCount == 3 ? 3 : 2); + let size = radiusOuter - radiusInner - 2; if (percent <= 0) return; // no gauge needed if (percent > 1) percent = 1; - const startRotation = -offset; - const endRotation = startRotation - ((end - offset) * percent); + let startRotation = -offset; + let endRotation = startRotation - ((end - offset) * percent); color = getGradientColor(color, percent); g.setColor(color); @@ -749,7 +754,7 @@ function drawGauge(cx, cy, percent, color) { function writeCircleText(w, content) { if (content == undefined) return; - const font = String(content).length > 4 ? circleFontSmall : String(content).length > 3 ? circleFont : circleFontBig; + let font = String(content).length > 4 ? circleFontSmall : String(content).length > 3 ? circleFont : circleFontBig; g.setFont(font); g.setFontAlign(0, 0); @@ -781,7 +786,7 @@ function getSteps() { } function getWeather() { - const jsonWeather = storage.readJSON('weather.json'); + let jsonWeather = storage.readJSON('weather.json'); return jsonWeather && jsonWeather.weather ? jsonWeather.weather : undefined; } @@ -822,7 +827,7 @@ function getPressureValue(type) { }); } -Bangle.on('lock', function(isLocked) { +function onLock(isLocked) { if (!isLocked) { draw(); if (isCircleEnabled("hr")) { @@ -831,11 +836,10 @@ Bangle.on('lock', function(isLocked) { } else { Bangle.setHRMPower(0, "circleclock"); } -}); +} +Bangle.on('lock', onLock); - -let timerHrm; -Bangle.on('HRM', function(hrm) { +function onHRM(hrm) { if (isCircleEnabled("hr")) { if (hrm.confidence >= (settings.confidence)) { hrtValue = hrm.bpm; @@ -852,23 +856,48 @@ Bangle.on('HRM', function(hrm) { }, settings.hrmValidity * 1000); } } -}); +} +Bangle.on('HRM', onHRM); -Bangle.on('charging', function(charging) { +function onCharging(charging) { if (isCircleEnabled("battery")) drawBattery(); -}); +} +Bangle.on('charging', onCharging); + if (isCircleEnabled("hr")) { enableHRMSensor(); } -Bangle.setUI("clock"); +Bangle.setUI({ + mode : "clock", + remove : function() { + // Called to unload all of the clock app + Bangle.removeListener('charging', onCharging); + Bangle.removeListener('lock', onLock); + Bangle.removeListener('HRM', onHRM); + + Bangle.setHRMPower(0, "circleclock"); + + if (timerHrm) clearTimeout(timerHrm); + timerHrm = undefined; + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + + delete Graphics.prototype.setFontRobotoRegular50NumericOnly; + delete Graphics.prototype.setFontRobotoRegular21; + }}); + Bangle.loadWidgets(); -// schedule a draw for the next minute -setTimeout(function() { - // draw in interval - setInterval(draw, settings.updateInterval * 1000); -}, 60000 - (Date.now() % 60000)); +// schedule a draw for the next second or minute +function queueDraw() { + let queueMillis = settings.updateInterval * 1000; + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + draw(); + }, queueMillis - (Date.now() % queueMillis)); +} draw(); diff --git a/apps/circlesclock/metadata.json b/apps/circlesclock/metadata.json index a1a291546..e8d5cbbb7 100644 --- a/apps/circlesclock/metadata.json +++ b/apps/circlesclock/metadata.json @@ -1,7 +1,7 @@ { "id": "circlesclock", "name": "Circles clock", "shortName":"Circles clock", - "version":"0.14", + "version":"0.15", "description": "A clock with three or four circles for different data at the bottom in a probably familiar style", "icon": "app.png", "screenshots": [{"url":"screenshot-dark.png"}, {"url":"screenshot-light.png"}, {"url":"screenshot-dark-4.png"}, {"url":"screenshot-light-4.png"}], From e8ac765acf8ce2f9a9556f918f58e4f62e2d7070 Mon Sep 17 00:00:00 2001 From: Marco H Date: Wed, 26 Oct 2022 14:02:11 +0200 Subject: [PATCH 144/622] Replace tabs with spaces --- apps/circlesclock/app.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index 4ccec3f4b..5c1cb7039 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -875,14 +875,14 @@ Bangle.setUI({ // Called to unload all of the clock app Bangle.removeListener('charging', onCharging); Bangle.removeListener('lock', onLock); - Bangle.removeListener('HRM', onHRM); + Bangle.removeListener('HRM', onHRM); Bangle.setHRMPower(0, "circleclock"); if (timerHrm) clearTimeout(timerHrm); timerHrm = undefined; - if (drawTimeout) clearTimeout(drawTimeout); - drawTimeout = undefined; + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; delete Graphics.prototype.setFontRobotoRegular50NumericOnly; delete Graphics.prototype.setFontRobotoRegular21; From 0cd0e1dca37e97037afc1240816000785da60b45 Mon Sep 17 00:00:00 2001 From: Marco H Date: Wed, 26 Oct 2022 15:45:30 +0200 Subject: [PATCH 145/622] Revert const -> let changes --- apps/circlesclock/app.js | 228 +++++++++++++++++++-------------------- 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index 5c1cb7039..7598867c2 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -1,5 +1,5 @@ -let locale = require("locale"); -let storage = require("Storage"); +const locale = require("locale"); +const storage = require("Storage"); Graphics.prototype.setFontRobotoRegular50NumericOnly = function(scale) { // Actual height 39 (40 - 2) this.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAB8AAAAAAAfAAAAAAAPwAAAAAAB8AAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAA4AAAAAAB+AAAAAAD/gAAAAAD/4AAAAAH/4AAAAAP/wAAAAAP/gAAAAAf/gAAAAAf/AAAAAA/+AAAAAB/+AAAAAB/8AAAAAD/4AAAAAH/4AAAAAD/wAAAAAA/wAAAAAAPgAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///wAAAB////gAAA////8AAA/////gAAP////8AAH8AAA/gAB8AAAD4AA+AAAAfAAPAAAADwADwAAAA8AA8AAAAPAAPAAAADwADwAAAA8AA8AAAAPAAPgAAAHwAB8AAAD4AAfwAAD+AAD/////AAA/////wAAH////4AAAf///4AAAB///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAPgAAAAAADwAAAAAAB8AAAAAAAfAAAAAAAHgAAAAAAD4AAAAAAA+AAAAAAAPAAAAAAAH/////wAB/////8AA//////AAP/////wAD/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAfgAADwAAP4AAB8AAH+AAA/AAD/gAAfwAB/AAAf8AAfAAAP/AAPgAAH7wAD4AAD88AA8AAB+PAAPAAA/DwADwAAfg8AA8AAPwPAAPAAH4DwADwAH8A8AA+AD+APAAPwB/ADwAB/D/gA8AAf//gAPAAD//wADwAAf/wAA8AAD/4AAPAAAHwAADwAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAADgAAAHwAA+AAAD8AAP4AAB/AAD/AAA/wAA/wAAf4AAD+AAHwAAAPgAD4APAB8AA+ADwAPAAPAA8ADwADwAPAA8AA8ADwAPAAPAA8ADwADwAfAA8AA8AH4APAAPgD+AHwAB8B/wD4AAf7/+B+AAD//v//AAA//x//wAAD/4P/4AAAf8B/4AAAAYAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAHwAAAAAAH8AAAAAAD/AAAAAAD/wAAAAAD/8AAAAAB/vAAAAAB/jwAAAAA/g8AAAAA/wPAAAAAfwDwAAAAf4A8AAAAf4APAAAAP8ADwAAAP8AA8AAAH8AAPAAAD/////8AA//////AAP/////wAD/////8AA//////AAAAAAPAAAAAAADwAAAAAAA8AAAAAAAPAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAB/APwAAH//wD+AAD//8A/wAA///AH+AAP//wAPgAD/B4AB8AA8A+AAfAAPAPAADwADwDwAA8AA8A8AAPAAPAPAADwADwD4AA8AA8A+AAPAAPAPwAHwADwD8AD4AA8AfwD+AAPAH///AADwA///wAA8AH//4AAPAAf/4AAAAAB/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAD//+AAAAD///4AAAD////AAAB////4AAA/78D/AAAfw8AH4AAPweAA+AAD4PgAHwAB8DwAA8AAfA8AAPAAHgPAADwAD4DwAA8AA+A8AAPAAPAPgAHwADwD4AB8AA8AfgA+AAPAH+B/gAAAA///wAAAAH//4AAAAA//8AAAAAH/8AAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAA8AAAAAAAPAAAAAAADwAAAAAAA8AAAABAAPAAAABwADwAAAB8AA8AAAB/AAPAAAB/wADwAAD/8AA8AAD/8AAPAAD/4AADwAD/4AAA8AD/4AAAPAH/wAAADwH/wAAAA8H/wAAAAPH/wAAAAD3/gAAAAA//gAAAAAP/gAAAAAD/gAAAAAA/AAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwA/4AAAH/Af/AAAH/8P/4AAD//n//AAA//7//4AAfx/+A+AAHwD+AHwAD4AfgB8AA8AHwAPAAPAA8ADwADwAPAA8AA8ADwAPAAPAA8ADwADwAfAA8AA+AH4AfAAHwD+AHwAB/D/4D4AAP/+/n+AAD//n//AAAf/w//gAAB/wH/wAAAHwA/4AAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAD/8AAAAAD//wAAAAB//+AAAAA///wAAAAf4H+APAAH4AfgDwAD8AB8A8AA+AAfAPAAPAADwDwADwAA8B8AA8AAPAfAAPAADwHgADwAA8D4AA+AAeB+AAHwAHg/AAB+ADwfgAAP8D4/4AAD////8AAAf///8AAAB///+AAAAP//+AAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAOAAAB8AAHwAAAfgAD8AAAH4AA/AAAB8AAHwAAAOAAA4AAAAAAAAAAAAAAAAAAAAAAAAAA"), 46, atob("DRUcHBwcHBwcHBwcDA=="), 50+(scale<<8)+(1<<16)); @@ -12,7 +12,7 @@ Graphics.prototype.setFontRobotoRegular21 = function(scale) { return this; }; -let SETTINGS_FILE = "circlesclock.json"; +const SETTINGS_FILE = "circlesclock.json"; let settings = Object.assign( storage.readJSON("circlesclock.default.json", true) || {}, storage.readJSON(SETTINGS_FILE, true) || {} @@ -40,30 +40,30 @@ function getLocation() { } let location = getLocation(); -let showWidgets = settings.showWidgets || false; -let circleCount = settings.circleCount || 3; -let showBigWeather = settings.showBigWeather || false; +const showWidgets = settings.showWidgets || false; +const circleCount = settings.circleCount || 3; +const showBigWeather = settings.showBigWeather || false; let hrtValue; let now = Math.round(new Date().getTime() / 1000); // layout values: -let colorFg = g.theme.dark ? '#fff' : '#000'; -let colorBg = g.theme.dark ? '#000' : '#fff'; -let colorGrey = '#808080'; -let colorRed = '#ff0000'; -let colorGreen = '#008000'; -let colorBlue = '#0000ff'; -let colorYellow = '#ffff00'; -let widgetOffset = showWidgets ? 24 : 0; -let dowOffset = circleCount == 3 ? 20 : 22; // dow offset relative to date -let h = g.getHeight() - widgetOffset; -let w = g.getWidth(); -let hOffset = (circleCount == 3 ? 34 : 30) - widgetOffset; -let h1 = Math.round(1 * h / 5 - hOffset); -let h2 = Math.round(3 * h / 5 - hOffset); -let h3 = Math.round(8 * h / 8 - hOffset - 3); // circle y position +const colorFg = g.theme.dark ? '#fff' : '#000'; +const colorBg = g.theme.dark ? '#000' : '#fff'; +const colorGrey = '#808080'; +const colorRed = '#ff0000'; +const colorGreen = '#008000'; +const colorBlue = '#0000ff'; +const colorYellow = '#ffff00'; +const widgetOffset = showWidgets ? 24 : 0; +const dowOffset = circleCount == 3 ? 20 : 22; // dow offset relative to date +const h = g.getHeight() - widgetOffset; +const w = g.getWidth(); +const hOffset = (circleCount == 3 ? 34 : 30) - widgetOffset; +const h1 = Math.round(1 * h / 5 - hOffset); +const h2 = Math.round(3 * h / 5 - hOffset); +const h3 = Math.round(8 * h / 8 - hOffset - 3); // circle y position /* * circle x positions @@ -77,21 +77,21 @@ let h3 = Math.round(8 * h / 8 - hOffset - 3); // circle y position * | (1) (2) (3) (4) | * => circles start at 1,3,5,7 / 8 */ -let parts = circleCount * 2; -let circlePosX = [ +const parts = circleCount * 2; +const circlePosX = [ Math.round(1 * w / parts), // circle1 Math.round(3 * w / parts), // circle2 Math.round(5 * w / parts), // circle3 Math.round(7 * w / parts), // circle4 ]; -let radiusOuter = circleCount == 3 ? 25 : 20; -let radiusInner = circleCount == 3 ? 20 : 15; -let circleFontSmall = circleCount == 3 ? "Vector:14" : "Vector:10"; -let circleFont = circleCount == 3 ? "Vector:15" : "Vector:11"; -let circleFontBig = circleCount == 3 ? "Vector:16" : "Vector:12"; -let iconOffset = circleCount == 3 ? 6 : 8; -let defaultCircleTypes = ["steps", "hr", "battery", "weather"]; +const radiusOuter = circleCount == 3 ? 25 : 20; +const radiusInner = circleCount == 3 ? 20 : 15; +const circleFontSmall = circleCount == 3 ? "Vector:14" : "Vector:10"; +const circleFont = circleCount == 3 ? "Vector:15" : "Vector:11"; +const circleFontBig = circleCount == 3 ? "Vector:16" : "Vector:12"; +const iconOffset = circleCount == 3 ? 6 : 8; +const defaultCircleTypes = ["steps", "hr", "battery", "weather"]; function hideWidgets() { /* @@ -145,13 +145,13 @@ function draw() { // weather if (showBigWeather) { - let weather = getWeather(); - let tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; + const weather = getWeather(); + const tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; g.setFontAlign(1, 0); if (tempString) g.drawString(tempString, w, h2); - let code = weather ? weather.code : -1; - let icon = getWeatherIconByCode(code, true); + const code = weather ? weather.code : -1; + const icon = getWeatherIconByCode(code, true); if (icon) g.drawImage(icon, w - 48, h1, {scale:0.75}); } @@ -166,7 +166,7 @@ function draw() { function drawCircle(index) { let type = settings['circle' + index]; if (!type) type = defaultCircleTypes[index - 1]; - let w = getCircleXPosition(type); + const w = getCircleXPosition(type); switch (type) { case "steps": @@ -218,7 +218,7 @@ function getCirclePosition(type) { return circlePositionsCache[type]; } for (let i = 1; i <= circleCount; i++) { - let setting = settings['circle' + i]; + const setting = settings['circle' + i]; if (setting == type) { circlePositionsCache[type] = i - 1; return i - 1; @@ -234,7 +234,7 @@ function getCirclePosition(type) { } function getCircleXPosition(type) { - let circlePos = getCirclePosition(type); + const circlePos = getCirclePosition(type); if (circlePos != undefined) { return circlePosX[circlePos]; } @@ -246,14 +246,14 @@ function isCircleEnabled(type) { } function getCircleColor(type) { - let pos = getCirclePosition(type); - let color = settings["circle" + (pos + 1) + "color"]; + const pos = getCirclePosition(type); + const color = settings["circle" + (pos + 1) + "color"]; if (color && color != "") return color; } function getCircleIconColor(type, color, percent) { - let pos = getCirclePosition(type); - let colorizeIcon = settings["circle" + (pos + 1) + "colorizeIcon"] == true; + const pos = getCirclePosition(type); + const colorizeIcon = settings["circle" + (pos + 1) + "colorizeIcon"] == true; if (colorizeIcon) { return getGradientColor(color, percent); } else { @@ -264,18 +264,18 @@ function getCircleIconColor(type, color, percent) { function getGradientColor(color, percent) { if (isNaN(percent)) percent = 0; if (percent > 1) percent = 1; - let colorList = [ + const colorList = [ '#00FF00', '#80FF00', '#FFFF00', '#FF8000', '#FF0000' ]; if (color == "fg") { color = colorFg; } if (color == "green-red") { - let colorIndex = Math.round(colorList.length * percent); + const colorIndex = Math.round(colorList.length * percent); return colorList[Math.min(colorIndex, colorList.length) - 1] || "#00ff00"; } if (color == "red-green") { - let colorIndex = colorList.length - Math.round(colorList.length * percent); + const colorIndex = colorList.length - Math.round(colorList.length * percent); return colorList[Math.min(colorIndex, colorList.length)] || "#ff0000"; } return color; @@ -298,14 +298,14 @@ function getImage(graphic, color) { function drawSteps(w) { if (!w) w = getCircleXPosition("steps"); - let steps = getSteps(); + const steps = getSteps(); drawCircleBackground(w); - let color = getCircleColor("steps"); + const color = getCircleColor("steps"); let percent; - let stepGoal = settings.stepGoal; + const stepGoal = settings.stepGoal; if (stepGoal > 0) { percent = steps / stepGoal; if (stepGoal < steps) percent = 1; @@ -321,16 +321,16 @@ function drawSteps(w) { function drawStepsDistance(w) { if (!w) w = getCircleXPosition("stepsDistance"); - let steps = getSteps(); - let stepDistance = settings.stepLength; - let stepsDistance = Math.round(steps * stepDistance); + const steps = getSteps(); + const stepDistance = settings.stepLength; + const stepsDistance = Math.round(steps * stepDistance); drawCircleBackground(w); - let color = getCircleColor("stepsDistance"); + const color = getCircleColor("stepsDistance"); let percent; - let stepDistanceGoal = settings.stepDistanceGoal; + const stepDistanceGoal = settings.stepDistanceGoal; if (stepDistanceGoal > 0) { percent = stepsDistance / stepDistanceGoal; if (stepDistanceGoal < stepsDistance) percent = 1; @@ -347,16 +347,16 @@ function drawStepsDistance(w) { function drawHeartRate(w) { if (!w) w = getCircleXPosition("hr"); - let heartIcon = atob("EBCBAAAAAAAeeD/8P/x//n/+P/w//B/4D/AH4APAAYAAAAAA"); + const heartIcon = atob("EBCBAAAAAAAeeD/8P/x//n/+P/w//B/4D/AH4APAAYAAAAAA"); drawCircleBackground(w); - let color = getCircleColor("hr"); + const color = getCircleColor("hr"); let percent; if (hrtValue != undefined) { - let minHR = settings.minHR; - let maxHR = settings.maxHR; + const minHR = settings.minHR; + const maxHR = settings.maxHR; percent = (hrtValue - minHR) / (maxHR - minHR); if (isNaN(percent)) percent = 0; drawGauge(w, h3, percent, color); @@ -371,9 +371,9 @@ function drawHeartRate(w) { function drawBattery(w) { if (!w) w = getCircleXPosition("battery"); - let battery = E.getBattery(); + const battery = E.getBattery(); - let powerIcon = atob("EBCBAAAAA8ADwA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AH4AAA"); + const powerIcon = atob("EBCBAAAAA8ADwA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AH4AAA"); drawCircleBackground(w); @@ -401,18 +401,18 @@ function drawBattery(w) { function drawWeather(w) { if (!w) w = getCircleXPosition("weather"); - let weather = getWeather(); - let tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; - let code = weather ? weather.code : -1; + const weather = getWeather(); + const tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; + const code = weather ? weather.code : -1; drawCircleBackground(w); - let color = getCircleColor("weather"); + const color = getCircleColor("weather"); let percent; - let data = settings.weatherCircleData; + const data = settings.weatherCircleData; switch (data) { case "humidity": - let humidity = weather ? weather.hum : undefined; + const humidity = weather ? weather.hum : undefined; if (humidity >= 0) { percent = humidity / 100; drawGauge(w, h3, percent, color); @@ -420,7 +420,7 @@ function drawWeather(w) { break; case "wind": if (weather) { - let wind = locale.speed(weather.wind).match(/^(\D*\d*)(.*)$/); + const wind = locale.speed(weather.wind).match(/^(\D*\d*)(.*)$/); if (wind[1] >= 0) { if (wind[2] == "kmh") { wind[1] = windAsBeaufort(wind[1]); @@ -440,7 +440,7 @@ function drawWeather(w) { writeCircleText(w, tempString ? tempString : "?"); if (code > 0) { - let icon = getWeatherIconByCode(code); + const icon = getWeatherIconByCode(code); if (icon) g.drawImage(getImage(icon, getCircleIconColor("weather", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset); } else { g.drawString("?", w, h3 + radiusOuter); @@ -449,15 +449,15 @@ function drawWeather(w) { function drawSunProgress(w) { if (!w) w = getCircleXPosition("sunprogress"); - let percent = getSunProgress(); + const percent = getSunProgress(); // sunset icons: - let sunSetDown = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAAGYAPAAYAAAAAA"); - let sunSetUp = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAABgAPABmAAAAAA"); + const sunSetDown = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAAGYAPAAYAAAAAA"); + const sunSetUp = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAABgAPABmAAAAAA"); drawCircleBackground(w); - let color = getCircleColor("sunprogress"); + const color = getCircleColor("sunprogress"); drawGauge(w, h3, percent, color); @@ -465,15 +465,15 @@ function drawSunProgress(w) { let icon = sunSetDown; let text = "?"; - let times = getSunData(); + const times = getSunData(); if (times != undefined) { - let sunRise = Math.round(times.sunrise.getTime() / 1000); - let sunSet = Math.round(times.sunset.getTime() / 1000); + const sunRise = Math.round(times.sunrise.getTime() / 1000); + const sunSet = Math.round(times.sunset.getTime() / 1000); if (!isDay()) { // night if (now > sunRise) { // after sunRise - let upcomingSunRise = sunRise + 60 * 60 * 24; + const upcomingSunRise = sunRise + 60 * 60 * 24; text = formatSeconds(upcomingSunRise - now); } else { text = formatSeconds(sunRise - now); @@ -497,12 +497,12 @@ function drawTemperature(w) { getPressureValue("temperature").then((temperature) => { drawCircleBackground(w); - let color = getCircleColor("temperature"); + const color = getCircleColor("temperature"); let percent; if (temperature) { - let min = -40; - let max = 85; + const min = -40; + const max = 85; percent = (temperature - min) / (max - min); drawGauge(w, h3, percent, color); } @@ -523,12 +523,12 @@ function drawPressure(w) { getPressureValue("pressure").then((pressure) => { drawCircleBackground(w); - let color = getCircleColor("pressure"); + const color = getCircleColor("pressure"); let percent; if (pressure && pressure > 0) { - let minPressure = 950; - let maxPressure = 1050; + const minPressure = 950; + const maxPressure = 1050; percent = (pressure - minPressure) / (maxPressure - minPressure); drawGauge(w, h3, percent, color); } @@ -549,12 +549,12 @@ function drawAltitude(w) { getPressureValue("altitude").then((altitude) => { drawCircleBackground(w); - let color = getCircleColor("altitude"); + const color = getCircleColor("altitude"); let percent; if (altitude) { - let min = 0; - let max = 10000; + const min = 0; + const max = 10000; percent = (altitude - min) / (max - min); drawGauge(w, h3, percent, color); } @@ -573,7 +573,7 @@ function drawAltitude(w) { * wind goes from 0 to 12 (see https://en.wikipedia.org/wiki/Beaufort_scale) */ function windAsBeaufort(windInKmh) { - let beaufort = [2, 6, 12, 20, 29, 39, 50, 62, 75, 89, 103, 118]; + const beaufort = [2, 6, 12, 20, 29, 39, 50, 62, 75, 89, 103, 118]; let l = 0; while (l < beaufort.length && beaufort[l] < windInKmh) { l++; @@ -587,21 +587,21 @@ function windAsBeaufort(windInKmh) { * https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2 */ function getWeatherIconByCode(code, big) { - let codeGroup = Math.round(code / 100); + const codeGroup = Math.round(code / 100); if (big == undefined) big = false; // weather icons: - let weatherCloudy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAAAAfgD/Af8H/4//7///////9//z/+AAAAAAAA"); - let weatherSunny = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAA//8AAA//8AD//wAAD//wAP//AAAP//AA//8AAA//8AAADwAADwAAAAAHgAAeAAAAAAeAAB4AAAAAB8AAPgAAAAADwAA8AAAAAAPgAHwAAAAAAfgB+AAAAAAD/gf8AAAAAAf///4AAAAAD7//3wAAAAAfD/8PgAAAAD4B+AfAAAAAfADwA+AAAAD4APAB8AAAAfAA8AD4AAAB4ADwAHgAAADAAPAAMAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAQCBAIA8AH4A/wb/YP8A/gB+ARiBAIAYABgAAA"); - let weatherMoon = big ? atob("QEDBAP//wxgAAAYAAAAPAAAAD4AAAA8AAAAPwAAADwAAAA/gAAAPAAAAB/APAP/wAAAH+A8A//AAAAf4DwD/8AAAB/wPAP/wAAAH/gAADwAAAAe+AAAPAAAAB54AAA8AAAAHngAADwAAAAePAAAAAAAAD48OAAAAAAAPDw+AAAAAAB8PD8AAAAAAHg8P4AAAAAA+DwPwAAAAAHwfAfgAAAAB+D4A/AAA8AfwfgB/8AD//+D+AD/8AP//wfgAH/4Af/8B8AAf/wB//APgAAgfgD+AA8AAAAfAH8AHwAAAA+AP8B+AAAAB4Af//4AAAAHgA///gAAAAPAA//8AAAAA8AAf/wAAAADwAAAAAAAAAPAAAAAAAAAA8AcAAAAAAADwD+AAAAAAAfAfgAAAAAAB+D4AAAAAAAB8fAAAAAAAAD54AAAAAAAAHngAAAAAAAAe8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAPeAAAAAAAAB54AAAAAAAAHnwAAAAAAAA+PgAAAAAAAHwfgAAAAAAB+A/////////wB////////+AD////////wAB///////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAP8B/4P/w//D/8f/5//j/8P/w//B/4D/ABgAAA"); - let weatherPartlyCloudy = big ? atob("QEDBAP//wxgAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAABwAPAA4AAAAHgA8AHgAAAAfADwA+AAAAA+AfgHwAAAAB8P/w+AAAAAD7//3wAAAAAH///+BAAAAAP+B/wOAAAAAfgB+B8AAAAD4AD8H4AAAAPAA/wPwAAAB8AH+Af/AAAHgA/AA//AAAeAH4AB/+AADwAfAAH/8A//AD4AAIH4D/8AfAAAAHwP/wB4AAAAPg//AHgAAAAeAA8B+AAAAB4AB4fwAAAADwAHn/AAAAAPAAff8AAAAA8AA/8AAAAADwAD/AAAAAAPAEH4AAAAAA8A4PgAAAAAHwHgcAAAAAAfg+AwAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAYQAMAD8AIQBhoW+AOYBwwOBBgHGAGP/wf+AAA"); - let weatherRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4APAA8AAfg+AA8ADwAAfHwADwAPAAA+eAAPAA8AAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AADw8PDwAP8AAPDw8PAA/wAA8PDw8AD3gADw8PDwAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP/w8PDw8P8Af/Dw8PDw/gA/8PDw8PD8AAfw8PDw8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAPAAAAAAAPAA8AAAAAAA8ADwAAAAAADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQAJBgjPOEkgGYAZgA8ABgAAA"); - let weatherPartlyRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAA8AAfg+AAAADwAAfHwAAAAPAAA+eAAAAA8AAB54AAAADwAAHvAAAAAPAAAP8AAAAA8AAA/wAAAADwAAD/AAAA8PAAAP8AAADw8AAA/wAAAPDwAAD3gAAA8PAAAeeAAADw8AAB58AAAPDwAAPj4AAA8PAAB8H4AADw8AAfgP//8PDw//8Af//w8PD//gA///Dw8P/8AAf/8PDw/+AAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAEEAQAAeADMAYaFvoTmAMMDgQIBxhhiGGG9wDwAGA"); - let weatherSnowy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAADwAfg+AAAAAPAAfHwAAAAA8AA+eAAAAADwAB54AA8AD/8AHvAADwAP/wAP8AAPAA//AA/wAA8AD/8AD/AA//AA8AAP8AD/8ADwAA/wAP/wAPAAD3gA//AA8AAeeAAPAAAAAB58AA8AAAAAPj4ADwAAAAB8H4APAAAAAfgP/wAA8A//8Af/AADwD//gA/8AAPAP/8AAfwAA8A/+AAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAGAEYg73C50BCAEIC50O9wRiAGAA8AAAAAA"); - let weatherFoggy = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AD///AADwAAAP//8AAeAAAA///wAB4AAAD///AAPgAAAAAAAAA8AAAAAAAAAHwAAAAAAAAB+AAAAAAAAAf8AAAAD///D/4AAAAP//8P3wAAAA///w8PgAAAD///CAfAAAAAAAAAA+AAAAAAAAAB8AAAAAAAAAD4AAAAAAAAAHgAAP//8PAAMAAA///w8AAAAAD///DwAAAAAP//8PAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAZgDDA4EGAcQAZAAgAAf74AAAAAd/4AAAAA"); - let weatherStormy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAD/AAHvAAAAAf4AAP8AAAAB/gAA/wAAAAP8AAD/AAAAA/gAAP8AAAAH+AAA/wAAAAfwAAD3gAAAD/AAAeeAAAAP4AAB58AAAB/AAAPj4AAAH8AAB8H4AAA/gAAfgP//+D//D/8Af//4f/4P/gA///B//B/8AAf/8P/8P+AAAAAAAPgAAAAAAAAB8AAAAAAAAAHwAAAAAAAAA+AAAAAAAAADwAAAAAAAAAfAAAAAAAAAB4AAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQMJAgjmOGcgAgACAAAAAAAAA"); - let unknown = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAf/4AAAAAAAH//4AAAAAAA///wAAAAAAH+B/gAAAAAA/AA/AAAAAAH4AB+AAAAAA/AAD4AAAAAD4H4HwAAAAAfB/4PgAAAAB8P/weAAAAAHg//h4AAAAA+Hw+HwAAAAD4eB8PAAAAAP/wDw8AAAAA//APDwAAAAD/8A8PAAAAAH/gDw8AAAAAAAAfDwAAAAAAAH4fAAAAAAAB/B4AAAAAAAf4HgAAAAAAD/A+AAAAAAAfwHwAAAAAAD8A+AAAAAAAPgH4AAAAAAB8B/AAAAAAAHgf4AAAAAAA+H+AAAAAAADwfwAAAAAAAPD8AAAAAAAA8PAAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAB/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAADw8AAAAAAAAPDwAAAAAAAA8PAAAAAAAADw8AAAAAAAAP/wAAAAAAAA//AAAAAAAAD/8AAAAAAAAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : undefined; - + const weatherCloudy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAAAAfgD/Af8H/4//7///////9//z/+AAAAAAAA"); + const weatherSunny = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAA//8AAA//8AD//wAAD//wAP//AAAP//AA//8AAA//8AAADwAADwAAAAAHgAAeAAAAAAeAAB4AAAAAB8AAPgAAAAADwAA8AAAAAAPgAHwAAAAAAfgB+AAAAAAD/gf8AAAAAAf///4AAAAAD7//3wAAAAAfD/8PgAAAAD4B+AfAAAAAfADwA+AAAAD4APAB8AAAAfAA8AD4AAAB4ADwAHgAAADAAPAAMAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAQCBAIA8AH4A/wb/YP8A/gB+ARiBAIAYABgAAA"); + const weatherMoon = big ? atob("QEDBAP//wxgAAAYAAAAPAAAAD4AAAA8AAAAPwAAADwAAAA/gAAAPAAAAB/APAP/wAAAH+A8A//AAAAf4DwD/8AAAB/wPAP/wAAAH/gAADwAAAAe+AAAPAAAAB54AAA8AAAAHngAADwAAAAePAAAAAAAAD48OAAAAAAAPDw+AAAAAAB8PD8AAAAAAHg8P4AAAAAA+DwPwAAAAAHwfAfgAAAAB+D4A/AAA8AfwfgB/8AD//+D+AD/8AP//wfgAH/4Af/8B8AAf/wB//APgAAgfgD+AA8AAAAfAH8AHwAAAA+AP8B+AAAAB4Af//4AAAAHgA///gAAAAPAA//8AAAAA8AAf/wAAAADwAAAAAAAAAPAAAAAAAAAA8AcAAAAAAADwD+AAAAAAAfAfgAAAAAAB+D4AAAAAAAB8fAAAAAAAAD54AAAAAAAAHngAAAAAAAAe8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAPeAAAAAAAAB54AAAAAAAAHnwAAAAAAAA+PgAAAAAAAHwfgAAAAAAB+A/////////wB////////+AD////////wAB///////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAP8B/4P/w//D/8f/5//j/8P/w//B/4D/ABgAAA"); + const weatherPartlyCloudy = big ? atob("QEDBAP//wxgAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAABwAPAA4AAAAHgA8AHgAAAAfADwA+AAAAA+AfgHwAAAAB8P/w+AAAAAD7//3wAAAAAH///+BAAAAAP+B/wOAAAAAfgB+B8AAAAD4AD8H4AAAAPAA/wPwAAAB8AH+Af/AAAHgA/AA//AAAeAH4AB/+AADwAfAAH/8A//AD4AAIH4D/8AfAAAAHwP/wB4AAAAPg//AHgAAAAeAA8B+AAAAB4AB4fwAAAADwAHn/AAAAAPAAff8AAAAA8AA/8AAAAADwAD/AAAAAAPAEH4AAAAAA8A4PgAAAAAHwHgcAAAAAAfg+AwAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD3gAAAAAAAAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP////////8Af////////gA////////8AAf//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAAYQAMAD8AIQBhoW+AOYBwwOBBgHGAGP/wf+AAA"); + const weatherRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4APAA8AAfg+AA8ADwAAfHwADwAPAAA+eAAPAA8AAB54AAAAAAAAHvAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AADw8PDwAP8AAPDw8PAA/wAA8PDw8AD3gADw8PDwAeeAAAAAAAAB58AAAAAAAAPj4AAAAAAAB8H4AAAAAAAfgP/w8PDw8P8Af/Dw8PDw/gA/8PDw8PD8AAfw8PDw8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAPAAAAAAAPAA8AAAAAAA8ADwAAAAAADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQAJBgjPOEkgGYAZgA8ABgAAA"); + const weatherPartlyRainy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAA8AAfg+AAAADwAAfHwAAAAPAAA+eAAAAA8AAB54AAAADwAAHvAAAAAPAAAP8AAAAA8AAA/wAAAADwAAD/AAAA8PAAAP8AAADw8AAA/wAAAPDwAAD3gAAA8PAAAeeAAADw8AAB58AAAPDwAAPj4AAA8PAAB8H4AADw8AAfgP//8PDw//8Af//w8PD//gA///Dw8P/8AAf/8PDw/+AAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAEEAQAAeADMAYaFvoTmAMMDgQIBxhhiGGG9wDwAGA"); + const weatherSnowy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAADwAfg+AAAAAPAAfHwAAAAA8AA+eAAAAADwAB54AA8AD/8AHvAADwAP/wAP8AAPAA//AA/wAA8AD/8AD/AA//AA8AAP8AD/8ADwAA/wAP/wAPAAD3gA//AA8AAeeAAPAAAAAB58AA8AAAAAPj4ADwAAAAB8H4APAAAAAfgP/wAA8A//8Af/AADwD//gA/8AAPAP/8AAfwAA8A/+AAAAAA//AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAGAEYg73C50BCAEIC50O9wRiAGAA8AAAAAA"); + const weatherFoggy = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAwADwADAAAAHgAPAAeAAAAfAA8AD4AAAA+ADwAfAAAAB8APAD4AAAAD4B+AfAAAAAHw//D4AAAAAPv//fAAAAAAf///4AAAAAA/4H/AAAAAAB+AH4AAAAAAPgAHwAAAAAA8AAPAAAAAAHwAA+AAAAAAeAAB4AAAAAB4AAHgAAAAAPAAAPAAAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AD///AADwAAAP//8AAeAAAA///wAB4AAAD///AAPgAAAAAAAAA8AAAAAAAAAHwAAAAAAAAB+AAAAAAAAAf8AAAAD///D/4AAAAP//8P3wAAAA///w8PgAAAD///CAfAAAAAAAAAA+AAAAAAAAAB8AAAAAAAAAD4AAAAAAAAAHgAAP//8PAAMAAA///w8AAAAAD///DwAAAAAP//8PAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAAADwAZgDDA4EGAcQAZAAgAAf74AAAAAd/4AAAAA"); + const weatherStormy = big ? atob("QEDBAP//wxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAB//gAAAAAAAP//gAAAAAAD///AAAAAAAf4H+AAAAAAD8AD8AAAAAAfgAH4AAAAAB8AAPwAAAAAPgAAf/AAAAB8AAA//AAAAHgAAB/+AAAAeAAAH/8AAAH4AAAIH4AAB/AAAAAHwAAf8AAAAAPgAD/wAAAAAeAAPwAAAAAB4AB8AAAAAADwAHgAAAAAAPAA+AAAAAAA8ADwAAAAAADwA/AAAAAAAPAH8AAAAAAA8A/wAAAAAAHwH4AAAAAAAfg+AAAAAAAAfHwAAAAAAAA+eAAAAAAAAB54AAAAD/AAHvAAAAAf4AAP8AAAAB/gAA/wAAAAP8AAD/AAAAA/gAAP8AAAAH+AAA/wAAAAfwAAD3gAAAD/AAAeeAAAAP4AAB58AAAB/AAAPj4AAAH8AAB8H4AAA/gAAfgP//+D//D/8Af//4f/4P/gA///B//B/8AAf/8P/8P+AAAAAAAPgAAAAAAAAB8AAAAAAAAAHwAAAAAAAAA+AAAAAAAAADwAAAAAAAAAfAAAAAAAAAB4AAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : atob("EBCBAAAAAYAH4AwwOBBgGEAOQMJAgjmOGcgAgACAAAAAAAAA"); + const unknown = big ? atob("QEDBAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAf/4AAAAAAAH//4AAAAAAA///wAAAAAAH+B/gAAAAAA/AA/AAAAAAH4AB+AAAAAA/AAD4AAAAAD4H4HwAAAAAfB/4PgAAAAB8P/weAAAAAHg//h4AAAAA+Hw+HwAAAAD4eB8PAAAAAP/wDw8AAAAA//APDwAAAAD/8A8PAAAAAH/gDw8AAAAAAAAfDwAAAAAAAH4fAAAAAAAB/B4AAAAAAAf4HgAAAAAAD/A+AAAAAAAfwHwAAAAAAD8A+AAAAAAAPgH4AAAAAAB8B/AAAAAAAHgf4AAAAAAA+H+AAAAAAADwfwAAAAAAAPD8AAAAAAAA8PAAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAB/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+AAAAAAAAD/8AAAAAAAAP/wAAAAAAAA//AAAAAAAADw8AAAAAAAAPDwAAAAAAAA8PAAAAAAAADw8AAAAAAAAP/wAAAAAAAA//AAAAAAAAD/8AAAAAAAAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") : undefined; + switch (codeGroup) { case 2: return weatherStormy; @@ -644,10 +644,10 @@ function getWeatherIconByCode(code, big) { function isDay() { - let times = getSunData(); + const times = getSunData(); if (times == undefined) return true; - let sunRise = Math.round(times.sunrise.getTime() / 1000); - let sunSet = Math.round(times.sunset.getTime() / 1000); + const sunRise = Math.round(times.sunrise.getTime() / 1000); + const sunSet = Math.round(times.sunset.getTime() / 1000); return (now > sunRise && now < sunSet); } @@ -664,7 +664,7 @@ function formatSeconds(s) { function getSunData() { if (location != undefined && location.lat != undefined) { - let SunCalc = require("https://raw.githubusercontent.com/mourner/suncalc/master/suncalc.js"); + const SunCalc = require("https://raw.githubusercontent.com/mourner/suncalc/master/suncalc.js"); // get today's sunlight times for lat/lon return SunCalc ? SunCalc.getTimes(new Date(), location.lat, location.lon) : undefined; } @@ -677,14 +677,14 @@ function getSunData() { * Taken from rebble app and modified */ function getSunProgress() { - let times = getSunData(); + const times = getSunData(); if (times == undefined) return 0; - let sunRise = Math.round(times.sunrise.getTime() / 1000); - let sunSet = Math.round(times.sunset.getTime() / 1000); + const sunRise = Math.round(times.sunrise.getTime() / 1000); + const sunSet = Math.round(times.sunset.getTime() / 1000); if (isDay()) { // during day - let dayLength = sunSet - sunRise; + const dayLength = sunSet - sunRise; if (now > sunRise) { return (now - sunRise) / dayLength; } else { @@ -693,10 +693,10 @@ function getSunProgress() { } else { // during night if (now < sunRise) { - let prevSunSet = sunSet - 60 * 60 * 24; + const prevSunSet = sunSet - 60 * 60 * 24; return 1 - (sunRise - now) / (sunRise - prevSunSet); } else { - let upcomingSunRise = sunRise + 60 * 60 * 24; + const upcomingSunRise = sunRise + 60 * 60 * 24; return (upcomingSunRise - now) / (upcomingSunRise - sunSet); } } @@ -731,16 +731,16 @@ function radians(a) { * This draws the actual gauge consisting out of lots of little filled circles */ function drawGauge(cx, cy, percent, color) { - let offset = 15; - let end = 360 - offset; - let radius = radiusInner + (circleCount == 3 ? 3 : 2); - let size = radiusOuter - radiusInner - 2; + const offset = 15; + const end = 360 - offset; + const radius = radiusInner + (circleCount == 3 ? 3 : 2); + const size = radiusOuter - radiusInner - 2; if (percent <= 0) return; // no gauge needed if (percent > 1) percent = 1; - let startRotation = -offset; - let endRotation = startRotation - ((end - offset) * percent); + const startRotation = -offset; + const endRotation = startRotation - ((end - offset) * percent); color = getGradientColor(color, percent); g.setColor(color); @@ -754,7 +754,7 @@ function drawGauge(cx, cy, percent, color) { function writeCircleText(w, content) { if (content == undefined) return; - let font = String(content).length > 4 ? circleFontSmall : String(content).length > 3 ? circleFont : circleFontBig; + const font = String(content).length > 4 ? circleFontSmall : String(content).length > 3 ? circleFont : circleFontBig; g.setFont(font); g.setFontAlign(0, 0); @@ -786,7 +786,7 @@ function getSteps() { } function getWeather() { - let jsonWeather = storage.readJSON('weather.json'); + const jsonWeather = storage.readJSON('weather.json'); return jsonWeather && jsonWeather.weather ? jsonWeather.weather : undefined; } From 738ddb1b4a155e04296ad08da583d6a50e087b29 Mon Sep 17 00:00:00 2001 From: Michael Williams <114188406+fearlessgeekmedia@users.noreply.github.com> Date: Wed, 26 Oct 2022 10:09:19 -0400 Subject: [PATCH 146/622] Added some documentation Added documentation regarding Tiny Weather Forecast Germany and QuickWeather. Also mentioned Weather Notification. --- apps/weather/readme.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/apps/weather/readme.md b/apps/weather/readme.md index b37d0b38e..2187ef061 100644 --- a/apps/weather/readme.md +++ b/apps/weather/readme.md @@ -14,6 +14,34 @@ You can view the full report through the app: If using the `Bangle.js Gadgetbridge` app on your phone (as opposed to the standard F-Droid `Gadgetbridge`) you need to set the package name to `com.espruino.gadgetbridge.banglejs` in the settings of the weather app (`settings -> gadgetbridge support -> package name`). +## Android Weather Apps + +There are two weather apps for Android that can connect with Gadgetbridge + * Tiny Weather Forecast Germany + ** F-Droid - https://f-droid.org/en/packages/de.kaffeemitkoffein.tinyweatherforecastgermany/ + ** Source code - https://codeberg.org/Starfish/TinyWeatherForecastGermany + * QuickWeather + ** F-Droid - https://f-droid.org/en/packages/com.ominous.quickweather/ + ** Google Play - https://play.google.com/store/apps/details?id=com.ominous.quickweather + ** Source code - https://github.com/TylerWilliamson/QuickWeather + + ### Tiny Weather Forecast Germany + Even though Tiny Weather Forecast Germany is made for Germany, it can be used around the world. To do this: + +1. Tap on the three dots in the top right hand corner and go to settings +2. Go down to Location and tap on the checkbox labeled "Use location services". You may also want to check on the "Check Location checkbox". Alternatively, you may select the "manual" checkbox and choose your location. +3. Scroll down further to the "other" section and tap "Gadgetbridge support". Then tap on "Enable". You may also choose to tap on "Send current time". +4. If you're using the specific Gadgetbridge for Bangle.JS app, you'll want to tap on "Package name." In the dialog box that appears, you'll want to put in "com.espruino.gadgetbridge.banglejs" without the quotes. If you're using the original Gadgetbridge, leave this as the default. + + +### QuickWeather +QuickWeather requires an OpenWeatherMap API. You will need the "One Call By Call" plan, which is free if you're not making too many calls. Sign up or get more information at https://openweathermap.org/api + +1. When you first load QuickWeather, it will take you through the setup process. You will fill out all the required information as well as put your API key in. If you do not have the "One Call By Call", or commonly known as "One Call", API, you will need to sign up for that. QuickWeather will work automatically with both the main version of Gadgetbridge and Gadgetbridge for bangle.JS. + +### Weather Notification +* Note - at one time, the Weather Notification app also worked with Gadgetbridge. However, many users are reporting it's no longer seeing the OpenWeatherMap API key as valid. The app has not received any updates since August of 2020, and may be unmaintained. + ## Settings * Expiration timespan can be set after which the local weather data is considered as invalid From 5ad84ddfbca11feb4cec3cb7aa3c2defd998f64c Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Wed, 26 Oct 2022 20:48:39 +0200 Subject: [PATCH 147/622] widmsggrid: improve README (installation: disable default widget) No code change/version bump --- apps/widmsggrid/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/widmsggrid/README.md b/apps/widmsggrid/README.md index 7c85d5c31..86a80c403 100644 --- a/apps/widmsggrid/README.md +++ b/apps/widmsggrid/README.md @@ -14,6 +14,11 @@ Example: one SMS, one Signal, and two WhatsApp messages: ## Installation This widget needs the [`messages`](/?id=messages) app to handle notifications. +You probably want to disable the default widget, to do so: +1. Open `Settings` +2. Navigate to `Apps`>`Messages` +3. Scroll down to the `Widget messages` entry, and change it to `Hide` + ## Settings This widget uses the `Widget` settings from the `messages` app: From 4f506cc66216f78a0ce9dee06d5c930ec4c87433 Mon Sep 17 00:00:00 2001 From: fapeg Date: Thu, 27 Oct 2022 01:15:40 +0200 Subject: [PATCH 148/622] Create README.md --- apps/groceryaug/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/groceryaug/README.md diff --git a/apps/groceryaug/README.md b/apps/groceryaug/README.md new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/apps/groceryaug/README.md @@ -0,0 +1 @@ + From dea8144c871cd7b8fa1a2cefce32cc19d8acca32 Mon Sep 17 00:00:00 2001 From: fapeg Date: Thu, 27 Oct 2022 01:16:29 +0200 Subject: [PATCH 149/622] Add files via upload --- apps/groceryaug/ChangeLog | 2 + apps/groceryaug/README.md | 5 + apps/groceryaug/app.js | 25 +++++ apps/groceryaug/groceryaug-icon.js | 1 + apps/groceryaug/groceryaug.html | 143 +++++++++++++++++++++++++ apps/groceryaug/groceryaug.png | Bin 0 -> 6070 bytes apps/groceryaug/groceryaug_preview.gif | Bin 0 -> 6026040 bytes apps/groceryaug/metadata.json | 17 +++ 8 files changed, 193 insertions(+) create mode 100644 apps/groceryaug/ChangeLog create mode 100644 apps/groceryaug/app.js create mode 100644 apps/groceryaug/groceryaug-icon.js create mode 100644 apps/groceryaug/groceryaug.html create mode 100644 apps/groceryaug/groceryaug.png create mode 100644 apps/groceryaug/groceryaug_preview.gif create mode 100644 apps/groceryaug/metadata.json diff --git a/apps/groceryaug/ChangeLog b/apps/groceryaug/ChangeLog new file mode 100644 index 000000000..906046782 --- /dev/null +++ b/apps/groceryaug/ChangeLog @@ -0,0 +1,2 @@ +0.01: New App! +0.02: Refactor code to store grocery list in separate file diff --git a/apps/groceryaug/README.md b/apps/groceryaug/README.md index 8b1378917..6b3fa7b2f 100644 --- a/apps/groceryaug/README.md +++ b/apps/groceryaug/README.md @@ -1 +1,6 @@ +Modified version of the Grocery App - lets you upload an image with the products you need to shop - Display a list of product and track if you already put them in your cart. +Uses this API to do the OCR: https://rapidapi.com/serendi/api/pen-to-print-handwriting-ocr +With a free account you get 100 API calls a month. + +![Demonstration of groceryaug app](https://fapeg.github.io/BangleApps/apps/groceryaug/groceryaug_preview.gif) diff --git a/apps/groceryaug/app.js b/apps/groceryaug/app.js new file mode 100644 index 000000000..00408abba --- /dev/null +++ b/apps/groceryaug/app.js @@ -0,0 +1,25 @@ +var filename = 'grocery_list_aug.json'; +var settings = require("Storage").readJSON(filename,1)|| { products: [] }; + +function updateSettings() { + require("Storage").writeJSON(filename, settings); + Bangle.buzz(); +} + + +const mainMenu = settings.products.reduce(function(m, p, i){ +const name = p.name; + m[name] = { + value: p.ok, + format: v => v?'[x]':'[ ]', + onchange: v => { + settings.products[i].ok = v; + updateSettings(); + } + }; + return m; +}, { + '': { 'title': 'Grocery list' } +}); +mainMenu['< Back'] = ()=>{load();}; +E.showMenu(mainMenu); diff --git a/apps/groceryaug/groceryaug-icon.js b/apps/groceryaug/groceryaug-icon.js new file mode 100644 index 000000000..33b649647 --- /dev/null +++ b/apps/groceryaug/groceryaug-icon.js @@ -0,0 +1 @@ +E.toArrayBuffer(atob("MDCEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAiAAMAADAAAwAAMAAiAAMAAAAAAAA/8zP/Mz/zM/8z/zM/8zP/Mz/zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA///MzMzMzMzMzM/////8zP//zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA///MzMzMzMzMz//////8zP//zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA///MzMzMzMzMzM/////8zP//zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA///MzMzMzMzMz//////8zP//zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA/////////////MzMzMzMzP//zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAAAA////////////////////////zAAAAARE////////////////////////zERAAARE////////////////////////zERAAERE////////////////////////zEREAERE////////////////////////zEREAAREzMzMzMzMzMzMzMzMzMzMzMzMzERAAABEREREREREREREREREREREREREREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==")) diff --git a/apps/groceryaug/groceryaug.html b/apps/groceryaug/groceryaug.html new file mode 100644 index 000000000..beb3848e2 --- /dev/null +++ b/apps/groceryaug/groceryaug.html @@ -0,0 +1,143 @@ + + + + + + Enter/change API key +
+ +

+ + +

Products

+
+ + + +
+ + + +
+
+

+ + + + + + + + + diff --git a/apps/groceryaug/groceryaug.png b/apps/groceryaug/groceryaug.png new file mode 100644 index 0000000000000000000000000000000000000000..895a6bbcae7ece05d07c4f13ac67ccc6ac7956a6 GIT binary patch literal 6070 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 literal 0 HcmV?d00001 diff --git a/apps/groceryaug/groceryaug_preview.gif b/apps/groceryaug/groceryaug_preview.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b099f86e858b7cda8087530d0c97c39864047e5 GIT binary patch literal 6026040 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 z znlFf#DP)i@Y?sfucE^z=htoM~ zP&=(qr>sy9UTCsZXd0e>ph2_<&0S74xV@Cyl3H{FUgU6=`{b<1&MVz{C)cSgk1nm) z3ts#@Eq#B5Xpfi(;Y+Xw0LP9cp=l-I@RCsE5;*E+PKgxJhDNT%%~I<-528m((%_{T zOQl(7r6Eg%l4v|2CY&f9PkTZ{K0%3SeP5rYpkipJY~idlpQG&3u_QmOa)q{P zO{8kWpz7UH<<#lTK7g=chp1_%e4n=ZAdTpYLG@R!>XWqUGkEpI63VJk4bat~i`HNm z)?lI7E})Wio{D~W*&AB$28@;=kd|ewf<-zl+_h>GUi+bpk#@8eLRZHqTDNM)c*R51 zw?eSUL)3_uk9}UpLs!oyS}$N&kB;Q57D}&g#jDt>sX;&q2)!$YmcZh#E6Q?dcUDXo zFu)rc3KSw>ne)n<>1A(581p$AwbL67+8Rqnz@a;hnFfuH33Z>&szkh-Y|@+T(sQwN zs(I4H?9bE1cI%<%;HopLf-u@$KUxb6u*DaB9yy{Tpvh>rj7zIZDz0Q;q$I+yCHlN2 z(!M0>yzI!a&T_PFudM#Da&=TstJ8UF4juf7fnYc~d#8nci||t$(dG;N=E|KCQk{oh z=gs%do6FF&H6p5DZEXc2tsy&Y?R4$h=U_L(_AApeq;DOfrjE!p;-Ozk~u3>#jQH&3sb>}nE~@|GqV=1-ND z1}e8~;5D5^pb{2qBj~!M;>^NEz^3VD7`IwMVqHCNx~jaS!*;=}Upmu79*nfrZNOTs z&rLq#5mBx+of^DyvakQ1zwS_dguo}Ux&en0wXP=PSTPQJ@=EO7*??uf^X}nJuMvL( z-`Xv`0DuEWE9<0^qpk+h^adF%1@dxQ644e+mF{DWJ_u)jm_Z-LSnUAZJ#?i1*t9~* zym?OpELG8B>Ck*(+Dz0wP_YBfuEDx=w6b5p8GO@5m0_P+-pgwUMnw=T?u)Ky;2|74 zjb}3M7!Y}V&tDg-XRIhMv6q4S5~$Y^rCUOKh|NspIImHfG2JAX@KuS;|P|H_P{Bcvf83cY2gs>Zmk08dM*uUer+e&!302@!|!F~W{Fv~8yHns}B zI>8^_2U8cQPlFUvGHEBuYa}WLvUVnhAfTtjgGm5-0~CeGB*=l>EaJf<6$RGs3=uqdt&nBi9L!gaR<--MD>Y+_nfR!1^BacaNp~j}pO@@I+mQfZ zQ88~}1oqZd(9c}48=prZTK6vIonEvTkChA?zD}`kIx+yybm6!A5{$2`jzjThH}GFU z3AzEG6^cIr#XtSXyq_aRdu>s`WSzCyIhkR(*l%%hA3VTHaKXcRMJ`S9BA{NZ9E$F7??tDAqX{DTG<0mJuH#h-!Ub7jf5JFa!*tSv)!C8rH)U>Wmzx#6sTX_e(s95UK4W#ERFFJ#APVt5fkO~eY#6G-6-)|`vS`V zYL&BslK>-3fPfluX0#!l+C11r8t4bFu-tj@?jqhB>|?=AK{+enSEitj6|ffZLC6l+ zm>B2E6f@g&t91gb3*co#K!}_J&91E-2V8cb>4NDFAz(JeyQkTmS=!;Z zdaJE-v38ZCa^?H6j~KrXz+XY&Pev2e`Vuri2qzHu`!IaAH~7cCL#v`+eV_I$ zROQ+P>3GqJBje>k7&1ru&E>I%+~Q!XJ0lyY?DvSJNRb9@F>GDp!KXY}kbRsS#3|s2 z>EvkTj=*$x{LJ+UOOppH>LpeK59Zgtt(Y2oO~j^5B!Q$ORubwH@f6FNXT{~})LIZv zlLxH3k8=g!>1ebXKyh7wi>NEC24c+Zu325!(NmZg^z-@h0a4#S^(n!$u^9aRrYVA#xv^$UA^`&ZWsbz_-USfpb zekYc<9Xb)9Adn^Ex(^Tsy>@*k>Ig3w*M6DXanf}b=FEsoyMO_rZA14wmhn<=8DVXUbePa45gk=P?B$c7_6*Lxw?^1`Z zs(kS*G56Bgt{Mamu}74IXOi}8Vy!$<*!!=L^u~+!1HWXl4Z+?!ZUx zI&awR3QLZDet76{d@`4QE#{ZwdPJ%Z_H~mBkHh!l`NxAO(aW)AYX~+^GDX5Xg=k7!FJYyUy%W$97w9b6? zjwDu=M1g*)v=}k$SnfK)zQt)1iZ*yXufzUx6`KURTtw$BnrKoQiPDWgrHt6_D7}|0 zOf+=#Q-u)zFa9xzD_?}h{RXO5H^d_tUAd}U7tYl@U}*r)hdq#RiB9N z<;={ADk(5G-q%*ZT*>y4rTBdPbh{1QN$JhOCT;li1#6Gd)49fZeIHCgJ+qKTTsDgs zx%mY!_?ES-`C~6$`5K!Br>wds0?OUR^CMPKoK-vlDYGK!A*5UlHI~Fo?YqS}FbB>*ny#TP9o+HFblxZ}D2t`kZ~hexsed?)n24xRpBhCR+TE{CT51=&0o)Z*h zXsA>Z&8*J2VU=MwHT^|vYxYIz=i##VbhqhN{fiA+PIPqNIf>;`S6*N#g{UOYlzHt&gN{=@|;D8CwNX5#KR-D#`VDf%Z|povFFpZuS3fm)cJBaU{|qaOunNJTnQl9tq@Cq-#W zRk~7^rZkf_L5DPkk&R)@)TT0}DNcu>Q=Z<`r#b!UPJ`N0pcYlAMkVS|l}c1;r`Iei6eU^L+^j!7aUcUfVO996qo*0$EQuZ3gGA}C0HtX8)3xGigAwp-Q$;I=SR zZEjziS^(8!AlN|0IAC^<)-}?O%yHy)%-2Z5F4nr&#cpyCHGvz_|&uR8%8;DHR7zy=Pmens>W zcZMSz%?O5a@6iv5G8AS@bS?*xvp?;2*ux*r?uCQ4(b9(3#3$AX?(}0<7Pr{NFNSf9 zWjtdV*Vx84elbGe(O-9rBOKBYhC6)g*V8%oEQbYgl9m6wWQxiTR^#w4ilsc|?<$MR zSH^PLz{caRK-eAAS)~8O%w#f`*~~fPE{U_eW;VCT%58@8cc<1B83AJ*U`}0N%d)?I zOjv(=Ci0mDJ!nFsMZ~jHbDR~uXw&x2Yb;D*uHH6jr}YZbm&Ww&$`QAM3gZ`R5@1>5pB<>mP3K$95;&m9BGz$#biC zX)q~qCVi#pm)xq@&^R_l#~f&A_uJo#UA29pjBWpdUpsj*5t~91{tjf3s3yh|(LB&G zjARHy7!|*`#fKq`ns%Jy8{fFaTQU!4nHG~}oMOt+p>mb4hvn#~+D{OYwij-Zi&exq z0IE3fgaAcqRoqk)mFUr3i5A~NuAqkhJs#7oj#W#4Hb%n{t7;eA>R1L5ig3-4k|PV) zGm-f^elm=45>phSIK|o1Zgygt{p@c)yDo%1zYGNTxVT+jtwXrpcu zk?SdudN>et$c3gLFLj6ql7K4+Nr(S=s0v!p1(G`vT7CXLR4!%`yd)CG)M4a zig}Pb02l^cSdU;R2><}AWFQK15QY?#y{EW1q{s^8n}=i|hNe&lbrc3pqQ`Ed9uq-` zh!cj~`#p5{gym3%Lco324BZpv!g^i#E9dd?jK)y9n2l{wHXg~>d z00(D)N)f6ehSNS80*Bv-1!7P>seD0an1*=>hFqA3HHwkt(?mPD5o;-n>WBw-z(xRx zMz8xjD?AS zhi1rzU!;Zq%!Tyig#c{^Uf=~}n1);khWbQ42lFD*ypZ7!6Ds zJ;Hhzhj7crwk*$hGxhGVn|SMhy?)11z>g0U>!uu%ZPQ6DAJ zzBCIM%|`!sYSHn?Qn*x7F`2zVHWe0`@Q1=B$r$IFZmNvgk=b=j9yp@!&8 zbzBTi3Ww>u(~UC;VffU4XvgT3yPC>Bj$_BwbQ?C+1sfrU0}+N;;LWci&UKgvVTiyy zY)4U;&U?HC)|^gP5X7ozN3WH;v4ucficJwg$;gTYi-<~M_{FzC&|H{Ra3BU#pauJw z&s>O)>kA2=+*|P(%6XWEp=3~6aNFOc1$f{ERtyGYNCw9nP{OkhC$h?QiY#zg>o>AT!2c^>PmQBOF?2$gK*d-y;!)6QMkNP9u<#hoDLiT?FSSH=8cJk646<)o1QrRtw+=WZLB+`&2QYX#WkS)xU zMOiVOr_4Ol@&%T3pw%q|O;qBtZ!|EhEh>T8f$jDGV1&B0GT*?LmOj}hH$`O{< z!R3Wm$c6$1(Z(g$R*VH1ywB-NL6#g#UdV>6Y{|ui)pEczeD%^G?cM(? zuHJ=pmCI~V%;Z>*h1j!L(JCe0!93W&gk#;U*SX|TEq30>1Ybc*S^gql^F`zg8Awg7 zO?AS!jHE{lhSP9RPIiO`JI!BC63x==g?j{4jN^r?0MvL`xP!pWd7#KwV1=!XNVHSL zMYKq){RLN`Wksyzio6BeOT?(inzJ0O@=PwUD2Ha~1!#aFWC#X{m{n)U%3!FEyz>xK z=0#5&2^tv(Xn;qscr0Uu_P)ufY&?pBB zhoeKbWNb@6KApYvQ6XJSe?}y59OQvMk2Hg_s!QaArjVpim#7#Vi6g$X5JdmB`h}$U ziKAEtf8bN2z~~VvBvL*&h1-yLK!-wHg|rg|k5mO!AVgh8&O)T+v!i7{dKifI1M z$hscFYe50oLGgh~b=X0sKtoD|vXV21X?{?o5Ups2vQHGB9Rz?*{0Yc&23`?m}pVrfZpC8noq*0iML=83z%$ z2XuH`tN@X9IuV#`BN0Jh6afdsMxM|6$*6b*Vmd?#jKEc>Y|DftLB%6hE7LW$<;j}A;_=zu^3U#_@ zx{HdaXo{#PJ*Keeq;LtSEtVObt8eqRp7Xi2!JW5ph#Ad_NYyoCAsduuWIGOh+u)IqoQz^id~umsRvrH!V*CHKg-&N?9T}Pr6pOs6)SV zRJZkoaJQQvo?91|Nmuhrm-S$8bvp+hURShSPcdYtiCu>l_+uI@FLmZth+l_rVYhZV zPct+!H)Tij2?4k3IS>o^cI?@4Z%0UQ6ZdlucQb$XtpN9P$18^zw|S@ccV~!kGl+WE z_kHL0e)so(2l%;S8dYcW>vFDxKlp1`c%5mi*%_^Rvlah%&#R#TkOJ{hZ=ZJxp?8hX zc#OyQ3DKS7Q@jKZBFeJ4lh2_Uq(LA;c{G9{Eke1Lm-(5e`I@KsA(F>}U-+GWYY=LN z$C50WA1NJ*kD@>D$ujz+-zbo(q61fYq<8wLMs$cq#YI>}{`lwI5klK2$ zCwUoycy7m}T#2k2Lc!CP+;Lv}x9`5T*E<|qC#-~fAcXCSblbkb{2B}=dV9_+Um7EFS!iD&?~gR_|Ncea9bg+-<~Mdk zrgSBr^X!LzLZkIEUw?uVAMu}b)E^$ajz9hfh;#x65-e!&;J|h35Hf7&kf6ec5*bFE zXwaRzapST<1Lh7uy^tbDk}PTRB+8U3SF&vB@+HieGH24PY4aw|ob>>VBi0O@#&YT2 zSuASwDAJ@#mojad@ZGw1;NB5MNcHN~q2;Cy#p?Ad*sx;9k}YfYEZVec*Rn+`5aY&< zA9c#)XZJ2%x_bBW?d$h1;J_vO_50ToTDJdjQF zGw9HvGsgA!PcTXV|5meR4d6BG*s^1zu5J4^?%aP36GI$ysOW)XgA*?}JT%pG3YRl) z?)>@lu3zJgYpkw1*m6P-La&Ih`$CG{8-gc4UOaU3>Cs1L@4TVcblOYL)y;1<{`~s+ z>F)3UKY;!522D8QU_@D1@hG?;g9tiE7K0JS^WcQg-80TT>s*-Oh8kk%VTRGE0~U4G zVfU4M+Nr1_IqQt$B8)GtIAb|2zIY>yG_Gi4j5+G49gjH5_+yPd;z(qXLi+e)kUb*V z=nrW)JCYx=#`6itC4VX=0;gEAD zo_XrIC!c*j*(acZ3OXpEd;VD{q2-K|&O8dv^Jt@vz9S)}3pRRbJeR^l;)!7~^o}}Q z2^7&g0Aw=_s;R2FDyyx!`YNok$~r5pwc2_suDP-bO*3-&6Ckj`3Og*ZxeeGWHqz*7 zE1k_cd+M^$N}KAl&rZuKIKt?1i!R%G`z^TKb}R0;+=^?iF5tkU4yjRL_9<9HT?Z;w z>BKY5RLc>h4!`~S3sHCi`8%*W0Pjn1zXlJ4aKZ@%oDReMDlBls6GL3F!v`~Lal{2@ z%#e0ja_ME9C7XOQ$|f7x7!@bbq?A@QGjTObc(YRq&7+GbqNEb^DWaTG zbSg!kf{M~i8}0PcMjt)&)SV0i0Ao~HhFw%{f!b+u_X05CSMZp9HrivMz4oSJv7NTt zZ=0>Q+--+dx7}djO}E^9znzvqSjq)bv4tCcIO2(yG^c^?Jm^)W3O+tLd<0Wq%&pRLj6R5zHzzicY10Vz=_#mGN zLlo}wT<6#~KJsy}gW?Nc``-5p0LTt^^z)QeLd7$I)rKYD8m^(geU?u9`cm8 zz#a0ihlt}zZ?aJ!2U3rQMm(Z<;Bkvnbgpx*Km{sP;XTexv58i!A}gZE3eb6v6`~kn zc%m|tcUdJ~U!#}SCWXHdK?OWr+aGh<2uJBiu#R?=%5HcJ_J~;LcbtHI5^HP+3sT>M^N$ z#Dj&b911I2*&zRWwGxrGyyb9iNI)F|vX{R6WljW{n8p1Y;Zu z%0@82(I{sSLmluq6*8ouj@;$zmBYqPvcqCT%aQtu^BX7vT5>I$k%7xoQ*~w-`n=;~GtH45NLlcpWF_N0v{eLsZI%N((_Xk8H%^ zQL&IlE{FkuSTq9w!Qe$?O*M^J1Vb97Kt?X48jN0mBNnYhB5G4hSY7VXtFC>mAHhn@ zBC58wGgJrw7TH8mumT*>BtX%8py~-RGTr42>~Or@u){IauJM$U^W=UBR|x#rG>EoqNFx z%qluFkctXyCIy>JDF_;|*z=~7T^31i)zZ#>Hfq31NJlIC(U@aohebgOQUpzEM*IKv z7E#e{GI!5{yPY*wP@FyEtk^h-^`|Z3AvZ8*W99 zONKVW6TTPON>tzu2Oe&9+r;ycB7CY4U+N~_IaM%|6;c%4Dx@gu*p2GCWITwcpi*S- z&beQY;#X##WTAZ2ZdGbjTL=>moVpk2ZU9<^v9%Hyh|~e>(#YGfc-7z1p2- zViz|E#Z+LDic42I;6Ht}H>;a1whPNN$Pu~7VG2{3dX%Fgzxc^hzVenQHl_bAH4k-O ze({YbcBDFA`Or&<^zks;R+<5faR8v_aDP4Q2NYJ(k45yhzdi1AuY1bB1L+o2#l=$r zd=C8PW-q}ouK#&7Cs2(`99v{h{ z4A$YZ4G2)UgE|caDJ)$EhMX;%D0#}hnFZd!4P@+%SM&{9gyPvqM%{P}#dOR>M9jJr3{^N#mZ+W!K8nla zqAulB+hGp$-qFKxf zRchc#rsc!MhfKa-0lfyv0Ha*aC0*8~UEZZ?$lXqkqgwW5Q`8z2qDbLQWI^box-^Vm zCMHG_#Zh`>O?G84-%OjaiQ7Y+7YHG^SR*=4$SQZvsYa=H`*Hq=Ud2l~IKYt%X7m zCqV8dmULuq2IpU}CUy1&%#@OIKH6C(2-(OF0B}ZariDwQMRRUv&Os-ZAmvA1r(Rg6 zd%mY$YA1S*)lfiFIiLeMTnSM0CzkwYev$*b4AywYM`2nWb|EHwG-riyrh^I(Z>DB^ z`UOb9=Y+z9PL|SxZfH?dr25eb@%&%2L|-iwb9T*&@@0J< zlzK|1gkES(Sg1?DCw~OSkLm{D1gYT+XN_7FI{5$AJfOqcY#!%{Av~bNl4b)s3`c=- zVv07OhCIVFOalPCXo?wVRUD~7-6(r*rH;}Bk51-f(#C6;1OVK}YY?eU@WVg6DP0iG znv%qQ)B~Lki;A73q0oW`k~<|#*{Nf*5N`;3;s{Mt0(+pc>LpxFI^Q%Q{GmGOozQKt+^Nsg*t| zS(GQFozxoE#&{gG&CaUg`Ogwm;t>5D?!SHNY07XTpKZB zm9k6CDa1Y0oPu;A%Z!#GjeO#@cCX zbgZ!oE6SqmuionEvBq6c>}t-Zv`*_!QU%(?5!bn){$K@kV8ypqsd$R(cU0uf0Nki# zE4EStx}Iw{6hkq5Lo3OTaKr;GfC5i}!ZfG@_$`(+=oF|z135g(IQ+ysM5i>A=w(d9 zRY-$ADMxz=12kaGJD`IwWCL|HLo&bv@d)fiawt>4Dvq}2I>H8U8g6xBXi7AWM))bN zp2q1pE`O{>Jv`}1+y!;SjIxHr$o~J?YIrQ4UM@VigP-;)NxW>wvT5ixYhYyPi2|-- zQiV{E&}(SNd6pbGWW%~J$52EBwGG-N|5z(OfZ12KR?DdYky@WNy@mO$_V z-YRNtB}0Zmg)ZoCw)BE96c;b-&vrU&tP<|T$}CRsLp+2-J)8#Vl7>bMQRP~R0~rV_ zWrRD#OyxeXU66(YV{Ax7utw;iJ7fcCV8jSx#2Sun$Y#R|yTj?FFg#H1NDxlso`yP= z#K^X;+!aX8+U#Wf**x?^5o`a-K3*5k4s3F;QK=TAMJ=k(ddig!RwtUpIAFumc7rUO zYcVu$F))J|B}Y9p11JDRE`(MujDq)p0-}LJFvNmsMHVfXf-{T)Ed&E7$P@emfEzzy zHt@nY@IpKUurT;TG6=(B>4HB5aO(}jA?E@(;GAqi=K-VXgz9SP>MH2ou;P+z1OHh@ zgls8^EIh(E@D43o2qoE-MLYC@ zGAIKzsB=0igEc6FFXaCNsF=<6RIgMa11Ru99Q#8yoUwbsnEcLzI+y}dMb`GdhBK7H z_JVVr^}^3&gD^mHKS+Zv`~yS-fHWL3I%w33?HMJ9C2$BX#403zBr_Ox@W=jWE)$X- z?rE*Q1b<*Kb*S<`{4z6Zut=idDO{F}Iyg2j2y~tC0zaQZGSmZ8MKm;NREFgimA=>{ zf3#Q{@ZdgX9rA|^KQ%mv#4tDOt?o2S%W$*usB)`>?O<$EV*~`7Fezt*I_Y6>tMIML zvIkRl0~^Rt+tUS;G6O%i4Ciuimy+#-YzXV&pV^KB#lvcdun1ddd*$>9m#%Qq>{(Ba zB1!36%@sQQLjVhGT=S&Q#4&}XEjkdL+3ak*4QUF18S?oE|fz(2-k4^ z3;^hFacTcc0GC59@a|#3?ox=fV=km`i*it_a5JZbovMaEWVx36!)dTCoSsC5qQvN8 zu-R~~b^EpoS8gl2@CajYbU(1j64F!8voacQ|6(!>ESMl0FL9I!YtT;dp7@>5bQTAwwz9g4ytkKL7(V2sD%4 zx;m+os8iy2IRi5E18(QGlTW9_(w}da?wj&-mHVm<^KcKt=}WU|#RA4Dm(l~D#Gj2U z3y=RbN@%qv54uW(dodF_fVl2{KaL{#R&o7<-Sz{eS5<+xO_k}wl8U-Ipo6JKYLq5v zl_r?{#77mEMXIa%y25%od$=+jwn0V(Rf2P)Tx+wR9@_AWg2ZAx_!F?tgEIufKy6A& zhG)+nY=q#>Jdgtu7cf@tHc4+g1E2J_p9HV2G)s?rNt}CXggI{T2fg#~aIXZ%o@{Z8 z#N&SMlj--qJBT8M!$wb-wkT6;(~%qUq`eSV!ZWEAK0LUF2Z@Ml%FT;E#Z8O0`Z;iT z$Ip5>G%C-iYBy3F&7?y;JmD3}ksCQjjq+xfE2UNoH-7u7nx;n31ygIb=AQOxn^ONQ zo?0j3;=9F?^Ymb*GScjRI|(O16pD?OX0 zY;APD#ftx4JbjM}hL?msIE=nom;SQNzA$vzg=x!tP5e;6zQg+yazTSC`2#>W8q;sw zI(O^dsUw$7-8+X5A*PE54q`=z=`d!*h)^9kcH6*`pXJ9p#8foleA9DsiP>eYK1m1PZ-2Hp!`95HC%z>zCQlyPIn zk0CoIN%9@MVd!oN8>VYmvT*3srQ7*#T()=VLaK`=EEhU-{wxVN({Eiok{}uG#QBcm z>D?9|svB1s9`K6gz!6iX9N5cf%$0#FXPkO<>({Yo*S?*5ckkAZCSBT8aC!6R(TjCg zR_;~+Y2B`uFCU&(0Cel&PrsjkfB$=*BFr$v6ies30})J6!3C?EY@K?txrH-bbOB(V zawvNTp`;vgt3%7`L1&)W1Te!N+t&GrA%_3}PNLqt6OK6R)+xuvb`bwV47nU_%#gt! zfecbeA;VLODgFLSQpx_z0tL&6IA<`1cjxrP-tj)G~)QnWp zNf$J*oTQ8#$DeuT3DeV0_p|H1QLnsmF1!E(Rn=9!{HHK7$#KWhK`E`()&=K*haU?$ zwWy&wPjhH80E*Kz5I;XbCQx-&Jk+8WFX~Q4?hbYEQ6F#3R@+-IMXZ@##^JP6si0!j z+;h=;@5z5s{VGdz;bk?zR}ov!K#;c0S6}MXA<0G?4W!efhcf>(%N=+?0c8v+{K+Mo z6qzlKP&-`|X*Avv0!g=`G<5VHgcyxXnrWnx;Biyqbu@A)o@vM-CKdre@n<+eH>L?=-)b`M zP>Qi52~v2azCTll+-*Su=KB_-$2l6M%l9Ms3hy`Eh2cY#{%|ZF7q{=gvTQhN~F3b>@-A z^zW0AW}elDFMnSH)2TC?@#f~;{Z;+GYRmWOPtR4uvI%EB^ZB>czeX2!=FVlc!+>10Ce+-v_x>K=#d!T=g?y@8X9gEuD~s zeHl~!4hBLQMk*ezvEdDID58&`gB+;APW6nFlZ1E#c|NI4>9Wx@w;<6rM|0v6p=dPZ ztPdFAXkXo0n8os>POe;uK?4%EsHS5GNuCgU zBSd~lFd}B^V?4YEj`4AC9KnDd)Ml7SN=r^@-#qu{6ftDUy@7 z3YdW$bRB4YXIc{!T{`9g4q+q%l<-If2cy+VSqh1fEF&Q%aoH79*+)xqNntMC_d@+i zY?j634qVU#MD5&bI24Q;L=XaiWC%kV>L|xFg)tpOS|pUl^d@yIB|=-e44CB(r3Q{*!?TRn&*^17-vMa#+k}9Uc4@q0N%PszeW>`u~-};snj&^h} zyE5s_RBDx%j;dxYoeRC(=?;fRG(kiKTXz5aC?xd7vX2slr!ptFw0jY;Yc$b~ILD(5%mY$2;t8Y{vrv>p%_h$Toq_5RHM693t?#G@*qmvWr9O_L7>UPp z@QOZh&BL#OmFr)HCX&T?EoJYhQzP?pm0hvRr#mYtmQ<>rf8^9YRJtrr`Npo3UInG^ zD=kZTi5AbY6fkRnl2$}o*~sP$q+YSh-aPuA*Mb(OXhF+qXZz9DI%$mKh=))$5|5%V z)>6~K$YQ;w+=fmRQs`?dP4voEyap?5HnGuZ&hn1xR`-)<8C_Zpn?{m-O^?PYWgijx zKeNrrMF8vtFS6l}U^wGZ;)RrdmHYpWDk}HC5-qTJ{b;7_`gf`R<*r1k$d zB+;d|b_4FrkSy7mp+#nT%W{1Hvr{*3S<7R7>6V|Isw-*vE|W|Plx*5(-vZz$mMqns z*&Nd*yOhlL!7ZDaEK(%>!yN+(hcAYsSLsU4ItNbKC!guzasXp77|zII@dPg4nB^f` z5?VZnF=Oj;x79c4t3;z#4qyKOOu*oXYqZh<01ErVz@C=jD7|A(?HR``WHpOG9a;`r z^dcChm_|0BN7hbl$wK#u2Q8*SR*76ByxW$rvz1F@zOqHUoMtsDn?Vasodp2A=mh}& zt8MYpSl#1pM!4=8@FoF(7`ce+L}D=xXN-f!^MD2~=5bW?)q@tfu$sK5F%7n$(#D*k zg)`{FY61s19)#62IAW2UW(1=tx76uB+|rjPulXwO=rYY=YjZufD@&C23(d5Qw=+M< zD>}bQn(G0eU^$d0d-+5w=@yGM4pLkF94pE3OI#G@6of zN`{pe&WN~OKYSCt-WC6S*%f)S%|e)1l!L78R=0oW5ew5ucIY3x&w z=-}KmN`a?qBO@Eg$i=jK5esCfBNx1&MKI<;3&i|B7=KM!E}$>s-)Dmu6;Fl*D-QBr zR9qd>D1I-90RU(8;zIMtMTNJYa;yD*IKQXGI-mjlSWE*Q#g7FsVhoP^P8$Hypam~- zp~DgmQpSN6$N?GN!S`q(8+c(9f}z!Aw~9LD=TZu|gX z8hGI%0Pw_eB^>`2&=;H`7Mg)w+#wq_N&T)W>ci*Oj&zu= z25FE!*n$SxMF(r}27N0$#LgXrFfC{>D%8db$s!!;qe;%f%UGyWz!1{Ti7o1bEEo<5 zZ4e0KLhP{4=4?*uYLMZI5C~TY2gy+Ej0*_UVjT3RD%8dar^&-5de@O767pOvM=Js0pgH>7evn)kU<(sLHYi#86kxhMgbYtj~3dm;t=BW z$s5|V5OX;{7@+X$6*wp!5P3I7-AtFase2s?;UdC zBTHc;v!N86VH#3S`C=g$$N?jT4;&m206y-n$N?yKGJK|?1&Kwu3Wy@O=i}hPf`TC{ zx36l{p%jEN7Q9ay#L^kSEf!=E95F&DZ!!e~&=i8<6Qsc(60sBYa4e3?k`A#94~9L+ z!Uq3;aO-UD3JoS60OQGgj17-V4Ha>3+yUR{k}BK~4-G95%`mdOXe)OF9(2aYtgtL9^9TF#EDnYZ->@uPGcv^vFf2*yXfO}QAuj?`ZT8Y&bY(7^@DW3< z2kV1A7Ly;+5HjBaGj&I8uqQDSlPx;4EW+U|#zAeSvo9^_DgGfFfPo>iVeeug8AkFI zi2)rzp(Ph@9-z|VZW86Z59DY8|LP$aLa*SYVHBv(01eO-!YARJAsc$ZVH~pB@J&7c zGvTli08Al0c|pcZ0RUp*#7qGkc#l56bA3hu<&Ys6Mu8j>BH?o3K?M&)n=clCVH*En zA=_#aCf7k3uQ46|uO0wPcnT`@;LB?|qK%5ky1vSShG7`KM;DTTu7l7;?c$gUll>gcgz^^Z+0i_7ogWtWU4eAL@-5{2?hx!vI6?8t={fj^`b8 z@&7O)`I-TvMlUPtj~1i>DX)^+mXraDk@&o?!%ia@Ixqz}vKcDyE;=#qj8p8W4pu4Y zxSkU`{~@;M$=>h`XEi?X1UvuPurpcc zEXpvf$}Hr_LO098xNh|*o@_mi>s4vh4Ttkv@xv_Q<6yQm9E=bx;-kw_Q|t&c5ebvf z==BE6a5x)rSD^$o*TXm|6D`D5wO|!ob!Aq&Y%R9co%q3B|3M3zWHqD0AL5N6`?Lk^ zO;O_#CP~e&9OlGg0UZc#^fr|jkl`$d!56Ht?ZDCeye}E#t=^D$fb0KgwFV;FiNAfag19vBrM4MY`R?Ei?tOGmG3>r`^* zFX6~R@Hp}xIWibf6d4YcR8j5~vtb(Q&0%5^Uob?Q%&$_jVM0f*BX$yU-L4>8@IOr< z9yHcAfH4${4^_Xj;Hq;tXJ#y5&JEi`T)k*71JgCpkPUa0;b;{v+fZC}?qI@!T^J59 zwiiB(Gcdh3GiQc9oRtbylV9UP=k~_5^ut=ORW#`aDztSypw$N1mFY4QHscjA$HG|& z?G5?25y@8#S937w6+X7^Dj$(o^Yt}t5I4~RSDkF@jBA3OlY9Sb@G2S8H5o2g8ICOM zQYxNgjDqYtrQw>)j~L)V8sGu?#s}8QH2K`l1(gv1V4+emHy8TB7uwD&HIgGoOvsGU zaa&M5OToATulXEOQ!}>Ycp=t^HW-ld8sWie$YDW=!65~Y9Gn3p@D?HO6aQjihv8U| z=C9;b)q+^|QuS6Ephq6H#Z2<*bF$+e-Il2;B5qAbT(UtI)P{QA0TxG5CYjWA7qI@m zGZ%i?VaSsEw!}>FixT^`YNyt({tK0O0T%x-*>%AWa&Pimc;{B$rE!a?{JvQu7FD%c_l>CiIe!&=dhUE46`wsq@XxJ$6JR|9i8 zJ24ThFf9zGHI1&F3APFIV=WjC->{Y{QVoyJ z9e@ECu#FbV;o>0fj6o1+#{nZo0pwaR7UaztOd%Iw0rN>7_A`~IjffnEaCVyC# zb76-oF5%z-7_m|Ca^Yv8A!v!=8~e0U-x~U$PuTyC?-Vbt`Q`{L)nP)v4IY{SBLgr^ z2{0&W*;Ky`7CX$3|CreXnMNFf^@fUqYQus|ha~V8j1$Fy@OB!~K}P=tV5Y+-3y7=~ zVoCV^JPaJPb|OUELnVS7q`}vG z4>`))t`I|Ar$Htpf~!K~H0nV|cv~^5`?(YY!HyfcF{d0f&%ONt96IdR63ihA1W6Uc zto*7@rn|@1p}P?avi+yQJ}jqA>6zLmVaF z#(``%P>$T9SGYuK`VJzN^g>V#8Q%Nv7>d9$@4E2l!6$r)`ME z(?LX}K^MNqbl#{)0Xb}3Pu%=HbPPmXbaal0Ny9X3+zCr0B5p?C7V!wL)#xtb7h@g> z)#RFaZH0(O*{ZN;jiMs`f3gcBQvE0%dpf+Bk1ar z`s$OQYcVv;YupO&+AXPA{<{Ajth?_1Y>6Um^Jr}=Vr*Q*-XEfAkW?&(AsdKAK~xN! z{2VUu@j8r+@WDyqBkF$^%Ag*q@gX8UkYaMnA?JHNo&Gz}y1w*Jzjm-F48gF!Khr#- z9=1|nRhT_JWWDJG2O4nOk2xQyz^SO@Q6$bho(M|J$*te7W3mgXIM#ZwNOpRPiaH=4 z@|W%2MG4Fir1!VQ^TPr3tB&+#%2Y%O%*G#Z;s;d%ZP>#i_GN0g&PD0;qDtb&{oSLu z5-fD|Du}+Ltqvry0HRzvf$s_$Jc!U>I)v#KzH8_(p~Q(4D_XpW5o1Jz@xWzd_zvDU zi3=N&e3)+Cx^(K)S%m)wPu;wE>R{TuiSu2(dFu+|w3#qw&6woW0hkxB2FX2*ST5eYa`OOaE=wvHxd0pK) z>G681#@_N>Pn9y!g@hLmeKv6L%!3!2a%IVQ#HMFe7!v$-rtwWC&puR34e>NwffIS< z4mjbA1&>*UJqZ6{gc42&VLujLh@oMTZO9>7it+PUS|El9nTY?47~)wah6q53k%_pX ziY~&4qKby;<=9&B?5Ng@GOBo(Vka)97-g1?;|?_A)YsWS@5~bsL?sb3O?T@Eq@RAM z!6OX-0D_lZfY^yAA9&J$lO8%WVJFme@qsgqfAdI#Og+=|@=lY&!p*nrqevZfTQW0 z$oP{BF-O6asZ2BNBpNyI@G{LjJJmBEqDb{N6FH})Q_qunHN@LYw9cgFOywXm4``5H zi*2^qex?85SY=TNZn)x(OKw{no*UR=XDvn~yCODElMShvB6}-2@btz@FsG@yX>Yb7H8cRdnoHy=GGaX+HTEt*IxH|s7G2KN|8Dv9T@04(DbY-FX}iG%zClLgAOviIHMaez3e>= ztI{}g8aUGEZFV#9kOPf0rSQU;I=RFG4lg|$4v#ara14#z(=^iyIftvg4m6xQBi=j6 zj5GgdHsl1;3#-k%)(kkABU4a4((pnIJOJq3t24+TLrf{eeCAx*8htfRHkp50Zu8DR z5B-GhOzl>B3R4dvJd9BfSY~MP*w)nJpq0GBZz25D_Y!M1wP61yd~o_|!8ElynSJGb zzw0&w3(a3;3=MFMqZhsa2Qfx5yyFb87vlg2EO;@Jcx(vyC)037J<36hdLSbg&gh3UdX>1W8E=ajDGoyj6&&Uas(1*wNkWbTj?4ei z0vXAe;V6*d3|d%jRk@f($$~)(X_z7y!r%q0d^QhffC3qk%LXj~U`KE~O)0#f#XNWs z3ul-jiI;<1F4kBIVDKUrP>DyzXpswKzyeM6$OSO`AxBzhFctuyMQ$J$3tCKriKh4< zF`RL?Sdb%@Vlf3YK*L4gc%^|0LPmq4hs0^ui#!8&Nb0&fqY1u%LMi*e+_7vxCCJbF=zX2hcZ z7t?rSHfouRT&Uw|y)cDFYX-uUA_H=&tj^5tMvGnI4i@i7X%3qfkCQed8>Q$)HhAF- z$&CZ09_$4%Xz`GFT$F#!KpiwsjG5H+rLpiwE0dwZcf=GNzL9J%{Lvm4-qo|y@W(hD2^BJu z6+Z(Z2NIn@jC7dASIaD}agQ4py`axy(;O%?>lY7v-p_mId}lbl=}zmR51a4*Jj?W) zYd`2dWu67KkvskYKk7d7pzr(&KcM-K=%U4(jrqqoN`+qQ((`_2!HoR?U`>1u6h+w> zMJbSkF^vY17R1mMZsE#G%xcUT05BFWdI11KPSGEr0x&It5h|y77EP7Z9jlOvDRk`B zkl;Y&OaTC^radVZ=*R{u=LD*rG43S7huiRv6w}KYFs; zC?}^RUlf~eC8Ace8A!7tjoe&&QCGi$Fd5kZv5lKSMZZEe7nb792M-%bTKEGTwD2UW zj8Z88#L6F9&BYEQCyjczlFqd|vNK>6+J~f+7~_a=oZo@jG}cVBVD%FJIeMnYG;++2 zzS5JF3snx^W&^nI817jtgxplCdYR2!%=q5!?_iN5l3lfA-59z7j4U})-Pd}`s#KJ!U!?agc0*CyxmFjL)K7Zetyc;+rN zU5;s_)W%4OhcvJ%VP7DlGm>T8G-!cZe}EXkv3M$HGD-{G$ubs3F=Co!;^%j3nz6~C zv7Vb26J64I9yY#HtU~pUipBC(--L=T#y46y#SUcdEtv# zl#*J;0*3JVEe)hK`e?a;$4GlI3O(l{7^Of*BU`GDqg4kU7v{bpdzG<92IGx1nFlR+ z@$PvvdWy7IX(NH5w{euBN>b%0En2f9I>cd5Gf`KC45rZk3;j?IjPiF4=zxz>a|>Z* zkWvv@b`pP*8_+OU>!CXAF%KC;3~EAj(r{lRSTi=ZDQ<>j#E>W8Fjv!{4&=}bMFBg~ zupV>5TDZh9XA%$4unyzk3|G>F<1h{5GYy{eBp;MC5Va}j5Dd*Q4e5q8>kwUY1rx!5 z3}+$@y3!FdXgDedYN7^Q!u2clfNF<_hG_^P%7q@>6HaNtJ@=9r)kQCiA#7(sUmij| z2t!?S5r=RH7Xk(s;ast0N6txI4}u4KhJ=>_HAR0~0C+N92(Iit4b1^pOlas3tBbI2?309MeIx z11E?C4WBU$RZ=CK6%VjbB|S(|0H8Kmm<=icWnjofUUU#>G#p}-5L)C`qcSY$u_j4F zEJ?F7nW9L^;3exYGpBS|Pm(@Q5*sdYSUX}XoH8t>@)@}ia>()|JQ7tRRWn1wGBd#$ z$&x3Z0b{M=51Dc*@aR$0*c{~0K%>Tjgr|lViIINM7gOUeHUb&>;*seBF+_qQ^YSqD zA{YY$7xD5J`ob3cbe1v=;xs7uA-UZt%mRVYnV8nH z5zl!j$H|<@fhJl*5QvGHZ<(A5K`2+25NbsgAn~1pGL7k(5bMdFE2o*I#+hc=51(nD z_xT_z5+iGYBeUr~i4l{?1R}t>FQWPXpKW0wlQEn{_!Z>&p5K{U52|u-NgNcIC~Y!x z&iR1YqM?(Sm|LTve;1+~N}?qyB@;P@hecdxh@UO$qIOXu0qPbq%4)Z1qc>`81UiR+ zK`{%8VA&F)g=wNg`ha3JqC|?MUK4@uFo6(QHY0JK*C?S=N~PbK4)Lj?r&gaY%B5Yp zhPm0A8QGfssiS|9pi2UUKk8Oh%BF4F9Lj->!oeI-%2^KTrgw^`7m*GqT9NbVrGNS$ zxcL`B(vhmkpN-KXb)gsU@*<~6qZ%Tpa!8XT>6`K*8I?MqXknxIX!V5hDMtq*#c$uXY5VS#59t=T%Nuu75gxuRQItKq6ld}tScC>M7) zdFDesk?LLJ1wMlMs88XB=6Z*lN*HJAsm=PV+RCrgNTG%Daw|~~9)TShnxqGdunDWM zNy?|P`mN#$vCczH2nG`fhG5b3dDNpjaddmwaL9+~ zG$5-0oDkTgkx~(+ik|(7v{cHiq?V=h8L>}W zE|j+;<@I>@=uh3`J@}aaBE80XB8wv0<2@P6Ulh}>-nCpS%OjDOY-zEwzt)HD^j@A< zZDBeXIs2*3nzVWQo{}k^M#~j`Tc>&}xaqm4g6FMJi@5d@A)1#S<3nBwBelNvPHecf zW;+h~l|CIwFJVhg*7HvGRkp*{UFhmu*#&#ZHecE^UI7-j?TR90+LE1`rl2~wwF`#- zDwo=5m-}kFy(^bXyP3q5xWoIUC|k1QlO84sU8*-edSOn1fj%NZc?<o_tFezU zx+sf2u?C1dLQUR-9(ibp17%I&aBS%14~0s%g8=}`%Ak15yS_`m6}nc`YGu}XHWygG z{hKzxd$>+ZyaQbS7{b=Q(REF=W{2w{KiPA!vi2~md6OJTt`i)({Pk;Uu`qb3Yv!sj zwN_o2cNYFovxr(4IUB$8>%S{}wAa{jXJnx=$ACu)v^8wQH_SDf>9AT#z&-pIao9d- zQ7^2?7%1YwHjHp-fD5zd5M zF#P$;Zjs1%tIe(w*aimChel}Y@h9nqv1>!MxCSaYSc(QF8m<7t?bh`U8=*8 z4){F()i=#8O*D9ADAZpK*5vZc`AQB(n$@=)r@`@qXI;-*ouXw(&|xjtbA1NEK-}$ZI`_13|?ceQfA{*LhFy_fjol$G)Wk z{>`&JoHi&OKJMgC4&_lU72@u_VyYH$c9#%wpkx4(Nd{=z~t^g&yV`p4v8n4&x9G zzJm^@N#}Mh>4=N3dJYb>H)V)E%|r^Yy6tkF4#S|%5ZBV_PI@4u{-&bN*F<~&>TC{W zEy3uH&YG}2>9x+K0Up|y{!A#&>nN`2x2zIOfjo^K=cO6xwvOzyYMOc8H~7O8zYguu zp11ITAPtl`x--nluIX^EJO)>Y(xp z&+$89uQ2cPt2WlqfDPf$dp&LQN00Oh5rYa}YCECtM*j0rFWWt;=S1)S4oTm;6|ePy zeeg>^-3#yZE3)rWPxj+H)7fD4Td($kjrD_@@jBn~4PW+iPc9=r4OZXwd9U}x;q|`L z^d2wwbT9Z6GV(*;dwY-gd+!}N|Mfc$_}M=Aksl$2Z}sE^6p4@dHvjgGKU_~Q`JWFV zc3=6ck@>8;_NQ;gUGH0*ANKAu_Mi{@=p5R3KkBG&`#@Xz*}C}~ANP5am@Qm;GogetX&-^n=^@iVgKJo0vPyNwe5{)T_VE_0k-TdAE7*yXkj(xw?PyW!} z5bKcrj_>*2&;Dug@8BT*)-zSAMsEK5a7uFl}lI9;6a256)t4h z(BVUf5hYHfSkdCegzq$NUN01>!jwD&qo(I7c+*_{+yF z)vgs;t{hC6$lm#@hf^n2ym|HR<=fZqU%-KV^7DsPE7x>v6)$Go*zse?ktKUgoX#y= zXT;LcwVPA$XV9TVk0xFEsa3;U2Ueck+VyMLv1QLb`!Z(cb)0qXtko|9=2WOYgAN>@)B{1QS%SIqmYB%RBzU3vfaTE3^@=ZA7 zZ0g7u)3ozWJo7xsGIH3g5=AWK6m-xy=}b~jL=#mM#}WJN@lXB;m2}cA2gC+Rc-(f#}#pJZYl+#T^m9-`RGi$Z=R_vxU(alp=_4U{Oyacn( zj&L>hSY#KPby-?1D~D8Gft7Yz;|zs0R%Wx+cH6M{^t03}QKfcVas|s!xmRK3c3pPc z1!+Vc^Xo3!a_hC%FBdnY(OrJ~WfwmxAv876dkZ$0sdEWr&fkBNb@*Xqb)6SbaSyim zVxqicZ$^ka_ION&|0U>IdG|9FW0X@4D&GP_cKPK`o%K`Ta8xo4)Et`T7UXa=uhqpO}a=M9|>^<%EPmQP}nYqol9YBko^YqZmz zPHRvtv+Pl+$(Fn9R&{3kZoEYWJ8pvK_M1@umKV-@aKc|B5!#`N{(JFMkxmWC!XuYF zvUD7Eu*$@zW_)uw9Y>eg$?sHqbkZpT8(hsfSH05YzJ$DV*ke~V^fY%QnM%}G*PZpp zL8tw9;JZCMzs+*r{rDjb4Ssp%SsEVqpod0&dKNv0=F%9i?X-FByLZX*%;vf&^IoYp zKS1kW%>G*MJCyzX_fO}w@AK;)PgqQgg@1pq+XvBhXrah{13Ztl*yle4{?1$5DIUED z_`qt_EnS>SUGtQ6?f*T}G`m$z05KfLDGmG9$QpZ6Qie?`DNSbm!7{UYbPljn5 zA>5)Tv=gRKhl26kdd@aOAa)Ff2y)y1?V>h6s_jsTdcoS#hWJFS$&7(vTVfRh6S#dr zQHxB&U|lq5MKJ2cgHGIH8DCbzl6esTCM;hV-T0IhwoqYNG~;Z7ct?n#F<>`T9R1$- zN2BHl!FJ9hsCS3NDe86j{77vzfR(Qj_SZ+Y2fA$!$GPGnkX! zCQVtCF_r_AtK?SYzE#3`_->%5#$5}d3kXRukIV!VDWReM& ztpQ-katF*{{;`R-TxK;BrK<)CFq+W}oHf0i`$%KD!+M7J-HHbYm8+Z$@$1y zy3m;Dd`vR!DW+bw>6b}-=No(fsG4KmQ=svoCu5oky+-!)k<%<_LzRS0NS#cfo9w1T zEn1^4@^PZ4OdsSf`cV(*@rXiWBQ!Uv#E$w7q-GgtOWz~XdF}J0fb8M0WaLtuUT3AX z85tviG}AvSZ>K{wP)4;0)He#1s7rNDM#qWNFj^0LnmQm;tvVT)W{{n-gepqqs6MKy z>#8fsX<4U}RW;(!on7@RF|z@V>~TyZW~Hk{#`+bgP3)&^t)cbP`)JguY>WM;ti%!!7L^&fU^OO`$AY~I!;`Vef(n}2U*BN zCUTLDd}JgiS;WGF`&$`CFLF{Clv`Ciz&!^1H+)IpAMgjvkt7zdfnTxK+% zSu0LfhP2z{~YERxuYK7K*luK zqvh$6*jX`|MrMM+3tr?R7rW3jr#ZdpPKO%QqyBWMMQv(QpIX(aW;Lo^z3NxD8rHLx zb**E4Yg*&l*16{Ou6?a*VD~!MzZQ0{HO&iO00S9X!7`1*>$Y*k1RBj~MlgWk3v6dw z+uP=Lx4r#saEDvm<0f~x&3$fkr(50YW_P>Y{cd*m0vO6}hBUJAR)Wmf*|a^#vno9k zWFUhW!65j&4SsNhCtTqRXL!RM{&0v#T;da_c*QM#ag1kN;~VEV!U_IykcXTY$f!3! z`@3)TR*usD(tw6DT;2?l#~kJ}mwC-;esi1W9OpaNdCz(NbDswt=tCEJ(TRR^qbD8d zOILc+nf`RA>m26Epf)n7KJ{j}+!@RU$2d?9X$)H?+A+CzHXJPtw5MI|YiE1g-TrpC z$6fAor+eM)es{d*UGID6d*A*3ce_uc?Dy_^zBvYV)b86^;{fy6!9n)74qoz;r+not ze|gMjUh|vheCIv?dC-Sm^rI(z=}kX)$j3zWkyriW$If{0qMXJ>9ATf((I?#JUiZ7_ zeeZq$d*BCO_`@fD@r{3c-yX~ZQKjr>Z;*GWBOU7C{+FNseej20 z{NpG8fBDUS{^loI{fVZ&Ti)V+eOo`v-B*YE?SFs#=U@N(=YRkG|9=1sKmi;;0xUoS zJU|3YKm}Yt{ae5FjFD7yhgEDvP*lZNWW`u? zMNx#sT9n0Gq(xG+#a+b3UerZXGbeB{R%(Z_%UNOus(f+R?TOh|+z$a`E!f9yxx`^SeI$ca42id4vpbjXN= z$Uc$Cjiktrw8)Ue$dS~@j^s#k@W_({$(0nzmL$oSG|7}iNtK*Qmb6Ki#7UU{)Jd7F zNuQ)ipuEYS6w08?$)PmLqTI=&RLZ36$)?Q6ieyKrEJSRP!|brX-xD*&Ye=Xp$*zpa zujI+FTuP@TO0$$oraa5EL`t`TM^%aD{xsmwP`+@6Lw3I5AUt;|f#+)U2wOwasG&_jxkT)#|ViA~u~&qPk~98dE9EKl=1PxMSr z^;}Q(Y)|)e&oL{r_nc4qtWW#APyEbJ{oGIf>`(vvPXG;20Ub~REl>k3&-mob$6P;m ze8-dcPRP_sGYf}scs$lSPz=pb4c$-P!J7K5gkzyEm0G7J%LEkJ|PjDR6nc4 zzJu5Zc9hU)t56CpPu9!P*2~cg)zP=I(ADeFAl=a+{ZSqz(#R9iBt=rPV^YF1(jo=Y zC56%{6;BQ#`#>J#|w%<+B~Kpj*;Ez~wO)G8&^LtWHFMN~2WWzY-Bn>NR%k_5WnETht=4B9)@fx{ zZ0*))wbpID)^E*LY1LM9Emw2}*K<|ZbR}1IeOGslS8t`(ah+Fgtyg@dSAD(LeHGV! z4Of6&S9#4>el1vkW!A|<&v95s5vdGNJ zPwiw!> zvK?EqO9t<-?OyQz9bfS+-|#(O@GM^0&o7zwkkv(jAMSlm_J)YUox9^ht}wrO*QtV>`7USMh~;0AtR19spD zo?r>CU<$rq3(jB+-e3*xU=IG^3Z^y?9$^nIVG=%J6HZ|iUSSn(VHSR27mi^Vo?#iT zVH&<+8_r=I-eDc?VIKZrAJ*UiR^8GyR#8Q>g_X)o(ZGN@MkGeg{?%BnWw~i9-~)bO zEG9WD-eNB9VlVz;Fb-oe9%C{tV>3QuG)`kRUSl?HV>f`ZMJkDc1 zX5#~%-6@t|FgfC)b;L|L6t}RQw+J&bv(k$Hz1Y;P;s=hofSY7WuH;G{IZMuDfzxD8 z?qpB?WKa%eQ66PdE@e|bWmHaORbFLQZe>?~Wmt}7S)OHDu4P-kWn2#B1|~TKHsI^I z+WDo>`gK5fs0Vi-hO2NE_iH?+Wm(+KVoN3lY2M^ZmS$_dW^B%8ZQf>X?q+ZPW^fK? zaUN%KE@yK-XLL?ybzWz7ZfAFXXLychd7fu_u4j9`XMEOXYOdr4eq`Cr+I!2~Guzzt z0{~*UgMI*qWyU?n6Wy~*U1$zCYz{e*0|tt|XpGKijoxUE?r4wxXpjzRksfK1E@_iK zX_QWBm0oFUop5t-fli&T6U-Yp@<`tuAY^HfypzYqd^m zwnl5WUhB7RYq*|kxvuNDzH7S1YrD>CzTRuU)@#7->%jhN!7gmVKJ39xY{OP;#9nO2 zZfwYAY{`D?$&PHwzHG!kID)h0fWzY1MOpeST2lppX@~*C7@Zs8to;x2CEK5pbrZslHX=5B81es1WFZt0$G z>aK3($)eiDC#xH1#npH zrKU7TdtHczIf=IBgX;wVsO@Y6ZvroH13z#CPjCfaa0YL12Y+w~k8lMa@Y~kvU@-5_ zPF;;9ylCsqY4C+cFl_(`2mm4Z1O*QO001li02BZl19AZX2>$>92pmYTpuvL(6DnND zupxk9!yHPSNU@^Dix@L%+{m$`$B!UGiX2I@q{)*gQ=$Z?vSmkq09d-5NwcQSn>cgo z+{v@2&z}~B0p$s= zj*|(K3Y;pk=g*)+i|z^&z`N0}*aA>BQdKIYmq*KP#{=?%%+J3m^X3 zRjO42GZSCVyt(tc>()J=PQAMI>r&&r(;lz;_ITLCi~k=_zP!g|0;LH=Z@#_z_wdJ` z%6zK+=J@#Y>)$_`m48;RxWbAnue`AGP+{pjX2V%6h} zkx25?V3JHW>Ex48Mk(c#D6L}Ul~`t}<(6D_>E)MThAHNlWR_{>nP{e|=9+A_=_Zy2 zQYj}|_0?(Top|P{=bn7_>F1w-1}f;FgcfS(p@=4`=%S3`3BW0+Kq?B17Y#P&r8q&P z>86}^>glJThAQf)q?T&xsi>x^>Z+`^>gubo#{bIcLzvb|)jaUb6OXO{fahzk!2T+1 zu*42)Y_Z55t8B8&F6(Tw&^{||wA4;(ZME25t8KR2ZtE?y^Mq^bxKWiOP;~B$qwc!w zw(IV@@Ww0ey!6&<@4fiutM9)2_UrGz00%5EyV03T?!ivI<4!mXH=Ip44@V5~#1dCb z@x>NrjPb@Acg*p}9)}F_$Rd|a^2sKrjPlAVx6Ja(F2{T^!vMI0@Xbu63(mtkL!8ae zKnE@K&_ow)^wCHst@P4NH|_M(P)9BG)Kph(b=B({jPuqyl>@Om^#D*$*!=us_StBs zt@he%x9#@ZaK|n8+;rD%_uY8st@qx1_y4^&c;Rp@_)ghC^N!j4@FP&!emCy;^?ythes^>#)Zz`|PyWZu{-H=dSzi zy!Y<=?*F*c%rx29{Q2=JVN){zrVn)a^Uy~x{q)pVpLf~rAOj8Z+|Shf;{Pyi{rKdU zZ~pn{V_tUX&13^W=-tO3QZvAW_Q{Fr>;4o6!q_ywY`7VI(}v77sf5Lp%NmC$GZkk8qJwJCLklF4ZZvD3%hJ zV~eLeUnkFc#xsren8)kLS^rB7`tzRv?O!lK0SkYO;~%@Agg@2^yMMr>7a$CrGOeS< zie}Ox+4zMp@E4U5($9W~dmAIeIgo{#vmf#32RUIv&Uvs@S1l#uJj$p}bw-h#iL)me zM_EHv=CmF=y=OnhmPT=+j-gSkM>y(%MnoR5mv3|GFBM6{V8$W^umC_VWH1Vtz>RSa z1tB<$H__=tCmrcnht?8;4gdthAVTTNCaG!7uh#IJXOMvm#*htvz+-H|d`GxkTF#@G zQ&%v>CEDaEkb3yT5>{x&Lfy$ce~5CZ?&L>2^2v{FGW8#uy{jnK34mVoB7FK3r9Ptw zfLO@D8Bld$U1K}d+W%4!9{$+H4?Yovf__$RVVy=e$XeFtR8*~NNyab0A(Qj~zD`M}U9>(;#OsOH){u3WTsLC22548O|CG(;q(&z#SGE&U`x5 zp&eZ5cv+g>^o|z*TDXE=(>o9R0$>8p><4!LdAfi)_`$7vVcVZ!1U}dhoIOs6}0Ez>|LLlV$fhl5f1~Wv#ACHJa6dn;yQ%vCpYjEi( zreK3P_#+o)ID-|;@P=?YVhr5$2Q5;dg&&0T4R>JP7(RjHA85f5W|+qr=5Pfo(Bcj! z2(mvaA%z<}V*eho7{eWIpapVNf&w5ggFj3Wg&P>zAE5Zb73Kf}WaKf4QMIk2*Vb78 z@B#=q&Z<xPu}ZFyjGe;Sm(*f-r1w15oH< z0%xd%x3h78dxHQ2+v6jIT{n=0JKTc7oN`xb!Bv>d4!;l;?xnHgVJ!;8;~F{jr$sID zQX8b?CjYOQJ3N|V%&je)g7n82tn3dhfB*!Pc!UK65(O=UGr)HMK{$0m3pZHc6S25K z6kv^g-024uz23Ag51A>J5TcfxtsyD4z7?gLwxG1Tz=8u)rNG zae{E#;0yv;!xhdjg_4ee1A89>B|yP}Y%o;|W^jZINa~MLG(ZM6m;exJ?sEX7z!GD) z@&99O?`Hs50t4o1`x!Q{_byaI?&_Jt4QhS`0Gt8&T2Q{&1wso7NcN127l2eXUhr^N z3q?1TMqHXV9K$jYp%;1?p&cDpQ6V;g6qpbec!2||su;17X70Yxzi zrcen7kP9+50n$(!i}P@Jn1>kDSfAA^MS)@1q+uKA5E)pAhIojGn23tFh>X~Xj{o?G zju;=MH;Dj1i6Maw<$#Hrn2Bp;5S#dkomdc{xQUfWdZd>w;UEpj5JZ-BOgM%B9Pk4t z=nrnd0pa8e7@$`i5Dfk>1sI@ikM{!*zj z&C>n3g{IDRK7M^5H5wF6TzSodJg~)4$WW;vNktTge&`{IOgQ`E8X-DgQb+8fDEl@I^dx=u+%G>gY=DE5dD-of4HXzA*#_;6rx&2f8q1-GwU2W{Av6vKTC^SE zr58bZ@1PFSArPVn2aH|F~LbGCVO6MIegop)r7^^WP3t_c6lncZF8lYRcz#F_Pgr#FkvO-~p7137Gz#a&( zSq%Xmst_Ao5f_d-5SGypmUy+!Fp=o(f|$Q5WXY<4jU#7)U>HT+rIAm zzRVi5VvANLySftLvdpUx*?pq8CmryE3a(HX;9wXt3;@FL!UREGr+}LU(Yxx9whKHE z(l8HnOc3NiwF41~B7qF(pu;A?65yb|d;c3!)&s@QJ7 zYs|w6fez>Zfdvr{(vS+#ODP4R3%}480-+ZDYrvxi4^*4P2*HrNP!P8)76d927Yw+N zEXlxZH^h6%m|Ur9@i1r65W;{C2&@Zl6 z5X9ia0@24)K@Q`L4p*BE>)WOm_dkFHzdZ}T^t`h{OQ5g2t4^A73SppXVRCC*5X_X% z03gWL`wFPc8kEr)8c8A5D;?X;USVPdalxW1osP3c@%*N>6U-oeJ{>Gp=bFh5 z0UrBH&{d)krmT_R01pP;LwQUPz5g6HF`ChML#rXZ)8#s`ETN^UYtkAD57cZD-fS4U zfV& zjlFpT!D{XdJHa#!Yj6f@um+Z(mwP>@fr?v>um<#*cyRhg;KOM3oZ71WtYM`d_^j9m zlS%Gi!R?X z)<2!tustQ&@PSetH^CGP5&y8Bk8l8v;19&m!!;wqNZxbV1y=Sm;zSIQ=U2H9 znC=h-K#&c{tyR2`r_%l3&||JZeciRvuTibB&wWTG*Z_`js1$Gp$p8Xc&;W0s4pTq@ zxo8UIl#LS*U{VCG~q6St~c)4TUa63k`4w$uI#YKnck(;h?|^QGfyS&|+tx3u6!g0#;?=L<r|T5K>t-tw!2Z7` z-5thW&;$zT39dH5)C(A316B|PV=$Mw&;XTiWKbARN&X03Fn_qE1vOA}Q{YmIZVI*c z7_t^lqwZ4Rpam1q09wF{j)g=vF6Z{%MmkuL+lcqH^D><9Kd5W$_suMPSSAp z6kr2=#v1!f~Skyd%H+?hv;A5$o>}?cWja&k^yT$?W>)tEjE3Zh2Wf zpX`a90O8MHzj*=y2t+85pTB?q4hnSGuOGsA2>W&kjT}9G1Q}A~NRlN@oh5U}07 zv;XaSL@jgiZr;6p{|2s7aO0afcTWDCT={b5&7D7ozVux=a$LQV3!9Sl_UwXl56#$D zc1ZET&7Vh~Uj0krkB{>V9bNu>`t|MKUk*>des$`qPiv+Z>=c@-Km+HJ=s((A{s!%jG#yWaGyhRV z7iE;Oz#28_NnnuKicd=~#WYjp_S>&NaI(4XpxaKOavW1nMKx7bS7o(TS6_uSR#|7I zwN_hi#Wh!5Rdq)rCLs-JBY#S427quhMK)Pwmt~4jcnSpoz^@*vP$PeU;l-C;wB>eN zZ@UHeTXDlBcU*JJMfY5F(`9#EciV;cU3ufBcV2tz?RFP%9CEYBnQAJIS%C*8I9X1g z^)K20c~VHMz<4o>JBcTzxMGVh#yDe*H|Drwk3R;PyP2A4hNcmL{pd-Xaw@Z6mtTe% zMrWbTaaxERWYA0#D zVjH#!X@c1BeivuFamU+qDCnVmeO$wT9Xl3q%{K=eOVS9BS}eq8vYKwwPj8g#$xAOf z>`FO@J$9wj!LrQ3ZDvSneiCOLb>DwK&u+X;KN=j_k4L^>+93nr_QHGTXdwW22flji zgHzpW=pl7I^W?t=KhxTq2fb~vq~Dpx>(^%=G2w}hTkn;<55Io%A~~u98b$ z_EMKD`eiP8QW`WGQY1SZWhs?;x<;OkIIe_GeSGOl%1pDD)&I1nFlE^y+Fi+;Rzl8- z-T?rukfTguA|xo!hqx#%)1Ax=+TGx%HN8y=CoKynbV9RFe(uvM{RHSZs}j(DZWAj6 z6=>PUc|>ypKuoVx<%3X>QiY_HIjKQeb6sn(D5pPX%l0f;i8(wTCC}D5+J|8a}KV^`S|9B2(KLR=O%GsvRT_ zHrBdV5bi{O5#?V2$C5sd7S^zZ)hGfHYgQxj)v@+#V*ghi_77jowXT;{4^M~a!M&aJ zv7bfWPMQc;oHeAf$;51Ge{)y4F&3?$g)Qeq+m&=G6(oWotZH=&oMsYlZ^nyhY=sNB z(H1gNrnT&Dm8%%mf(?s$ZR~KRYc{`j#TS5m(^yV>SnhV$jftfkN3r;r;7-@PNt-QF zjaypECU?2-EsSP6I9|`5*S4y0=05Vd^}TRU!lHlkC;i>}w=;%p*dh!lJ5$Y#ScCw4N zL`mkUlfN7UF(Vry;>3stC?ydOk-KJOo`k2(zzQ3Arz=wZh$c_~sPdqA0;sIuS<5hL z8J8uiL(_se%vB^0nN{*;mavx5MRVxg$j8+Ukw$=csv#x(h3;$hwvD@&tw4cR2?iGD{zoJg|vdIJ0Mn`+K z6aG%K(GzDB3wNBgzO}A7fPfw(!`*CpS(#h+9M>3$y6L|E37rj;opc1xlm)pnT#!i`y4PA4aw-D$rk#E;g z#_?GT7vu;J4LbaRaHa!*7TK_MXcAU+a`WWsw#5yyx6bviJJrW(E*Z4l-1py18ym;6 zws2bpaDek#KRi)+E}StBCsTPRRHu7$w2}_D5=F4vU3cZ|J(tmko_yVfQyYC4==(r$ z4KBsqA!xAT?oyx>EAB-L#ogVdxE3$&?(Pl^?p|7o(H>IY_q7m0LUAlU zBJ$Ng;ZqCbiFW@r##iz*=DO!$f07FG#fj?p#S04~_zth_`xX#6h!rpX9?Y8iZ#m!F~YIgEGVyzS`_2j%20&Q+RLSNFLc$QmSB9{921& z(uYsLjS=+yJF7kw)nXH_8=KNyvV=sq%Qa1H>)`QdluKPs7NE)XZ9K5qXY^a@1@cQZW>CEzPyoJf2g{4O{+ znxY-$%+hBsKFaZF)aUzfcnp`1@W_1xPlcv}(r1O|1UbhnZWo#;H)xb;w8D+G{CCYp z7JSrFvPdZm*0MptA0gwZ$AbO={6F?FtA9uQ=x_4d7-JiYI%vZlTkRB?i(;okvxz{A zi;;~Bc-Q4B-)b;k;iGsUG?-JVm~TfX)i@C)9Qk%yIGd@ht}*3XdAJ7(?NfQUTX}f; zSeVcWD$=*6xZY}C3~b(w*q+}7ogqr{a3WR3f_Jm6^_~phXK4qtRZ5_t^geIH?SPR@ znFI`+Wns{wndn9eXp5~XSC4F)7X;gkX_@8aMuV$IhEqk6P@TA8GB+7s3YjhiASsR_ z`Taod4v=&u15Zt|P4CO?l1)vTbL0op0eW%tGkT7-)ru3sXuXxol*c=smFw_k{)u4J z?~YT>w@JG3r?e{eDK%C*Q*&1;=|vE>2>0DuTcvG~wTotR=HraCM#<5-bhxSw1DCO41Bg5)Tgug=->Sc$@#1M(IY9te9z>3 z1Tssz6GQ59^1uLA8HIw*g=70dXY)RkCgqDs!KbS1o7rkfiyD4+t?xegtX-&12^g)` zi}&`01_sk&Lz8W5Gm&<41iKTuh@7%N`r%19H3-J@*p@ynO0S=e+7?KxYl9+5$4s}t zWFkpPAp(ezD%|v1xy0e|ik&k6rZMQe;fEh#Nl2#Gp*c(udy)%$C6HdW1{(C49G7LQ z`*7r5g*s<3lZD$p7p0h|=@5X>8Z6Zn3e4DTixY^`c z!SYG*K;IUt(Aft45}3{G*a4_~gbwLDV8W}q*l22nGfOE(UJ->_$4urUy`ZM|Q+FmH z)Gz^w8h3V^IC{iqIXELsGa_yAH-^hY$(9oGU1&28l(HC)L;dbQ!mryA`vsqVgJYbqQb17Q&8N?1gC1{R>!Y;RxCQ3TL{-d3G#?H9!=}1t zFi-BPQ?IA1P8|An#;;gBx;$UVIzKdI95MG;ukN7G8*?pal_H70J0Wm$G<9>VWOKY} zbHWf)JwMds0l~@|X-&SEfL;xmq~6~tT!R=<1wNqvexr=ZfU!eQ$&Cq+uQlkKDH?+{ zbfJ?Nn-Us92b*yZgA#1-&~NYZZSTo!?|;}nu-HC)%Z!C?AE$1glo*|cBAEh0D{_#G z%cpabK7`$)&`yM@t!_AFEEiDGl|d0Ja9XxlL*1bjqjg#vhJ@;w*jr00!}qD56N^Lc zjSJwQFajum0SdFH=e)x3}N8JDYIP0of4WhBI?K%0Oc~$M}0jiILMrk#V&W5Qft~n-myM+$DOcH9Q z0J4Ias8N!N<$?U`0U^GnX6b>$pT*IS2XFl^1&UI|LrZA{aM(XfHLN4`VdF&h0~aL1 z8SPSS3c``PL-#{by*R>;NT!}h6nfsfLDkB*I`M|hs7}LHCeu-;RFpigG`#$W5j9gV z@8o#~i$n8eur1P2uJW;u<*|dze%o)W6q^qz8D#-A>bNyWwsEC#-97OPN5KbpHxtU= z2=$^nY+Oo|c!h0(KJa~bZ|wx3F?2t98kgRKJ9)m?icr`cFNsd{Q@pB#^x$iM-@x=z zJxb%SZ5KWb%eD9sh^!wG`jg?Tp8u>t_N-CotjY4MJ`7QRl%!m>F`Ruc05b}1NPC;h zI*qWc`tUUV&}vwvORX+M1Ay2iYCj-*KBQwmWO+Uqc0Q73KT>)=kb6E#fhhM75}S0~ zM1ZrOB5{D=P>{btmwo7!YgqlqF6`{I`0LT#9Eu!qcynP=Axr8;^Tp=$1@oE%Z1eEq z*RaFZ;l=jlg{v0=I!pAvCH|{032TVn4~p52W##tm#Sf*$IaH@hxf~f-C+c1ymQcDR zoU0oK5>>RT8$!}sovVAJtKYeF*ME%v5MJ2;kd&Y}eM}kxO7RCir~W@JwC=>iRHR5k z9S3LkQ^WQPmL1dW92}Mlm|PI7dy!CAWIdb|P{WZhW}GnckgPM1{En|NiEeNhZ!o`v zc|tGl7o0pYoN&K5V`C#d$tv&A3z8G#r`j=uBc+Jmnl_DhUURu#whv~?;p2^i*I z9^rHxno0b**87s5Ra?NGUjlYT%~P1Kb3u2->(Yzk_x>YdU@XeawX=L6s(c{2Q-~WA ziGN0zKT3$kHL^7bMQl095Cz#9B|H-)+$JC#_1DK$aUAR;Wb4r|KS;1f1W^4U1i!ae z4G=hBhJvk|=nnu9w|w!h3*oy)R&NbDm5$KM2wsXHuFpXJtPnvj8xamcZx|&B%y|33 z5c3Epbz)!xQz*wZvRnd%$mMzB`JVi#xq7XT1NlaaG6~ABYo}fSOg$o877}1!9mccj zZejueT_ai(1HmX^_H_to$YDGnpgwW9xRYusG7>u%(8MXkauhKDhQLP@%m)oug9HkK zg58)9LC45?PX9*TLIjTCDMWFEVSk04kltN~`dfzyc!u}~AQ>efY1JXf1%&(Ohw_yp z4BUhpWd#2qLejbpH|GlVj|dfrK=jK%mUBYT0)_blLizGToy4Br&xD$Q!UR|CeajF6 z1VZ1Af?~A-n?8Zsx@SLwAG~Efi?$;*zTAFUBG>*x4guuYvBetN3#L{VFG(!{5?1 zwJ1dE-Hy=Md5%4ON$-ZWiTsMDXG!nWlpy}3Pi<9SVDI0`lH>*6kBI}Ry2g<*g!~I3$&wteA;GV1hTV*hz++IA%1E_-6uxEPl}{bcV6zo?XQ36Jc~lWJP%J~ms3M%h0KF*7(fGPm)G}N|*QQH|W>wSx z?kIO^aW=6|=TQ7tlvx=u_^LT{_}K3zQcPJIN&QUB<^zEwrZM0s%OZmW3$9N{F2iC) zqqFFSU-Y=giH~oz6p5ylZ^lUD-4>OS^xbe&@#77^vK)qk+%j)m=93g#Ox(N-7YybE z8WqC}*j2(WRsK0V4ht|v`T~>Rn5&gQ7v-IkdFRVJufW>HyPzU`VW(V*#KgMv;gc`l z@<*$S>5x6B(C7aq!fCdZf~Ld7X%9n6M9w0T$~+=gJYmFjA$#&F5m8{|?XJcbd7e7! zpGdrWB9hUp7;}F`TO;Ug>A1G%-?$J=7gyr4TJA?$aqSno2FBloEIC zCr4qqLfanEzgzK-zkcXPi@pDMknP{C)}&9532uYuQVZootkmbZ^h5;k!lnkp-#p4^ zJS=`A9xUrYv$rM4VaQ-mk9|Z*z_n+r?Jf=$d{`05RlEq= zU|T@R@G%NbUa7mLWJ^(#1E^E~#2=yMu2R?2dqDBc+zF!?+re!3i=#Sp&G$@I_&2G1 zkp6N+OtS;^v5;wqS@UOB@>Dr1j);LS`_1rpcXMCjIsu~G0BD3$ zs~MRe2{KpkiPC4>h4jnoXyK$ElNN8w($hYcJia9Hma~?T-@QoZRDVo4I3{arW+UNS zFstg8+I~N@UkY{`>NfaSMA@lGYX4pWU9Xph@OLNU`@0`AzPAl|ug{EZ);E!Ay&&sV zkt_-9irLWr%HzIF(y@e1MpROy%|eW_JQZ`X+y~?kR5|{2xwx;xwR9#oBM{kw`PBNx z5)NNxWiytA%w~N2I!}{75r@+`w~b}*Uu@)#2c`;eo61=e3xt`_V!vxA6{%LQ3m391 zmA`MQP<2LzNS>lQCAiUZKC|czuq^*fYO1ny*ujpiSZ=C^@kOc@m&>>hDOAok)qHK* zU3rGXf{}yl30ev3-#%jPogZW16r1P_))e zG%9%(*Q~L{2i2H0d!g5_rTfpz;^$ZgcRE@PIBuYtgE7$x0hNMt)X?Oc94sk_gu=r z@~-t|ha=dv$}G`MricII&*)$_^Si#)F7GXHQgW4fO32Cx3zGP^aJB>HkyCQLL4~kS zHc)!kwh6)MTFpF+_*c!gNlQ!hME84A&W5%rbU!rSwi!PT zj;K8QgCEOnvtc?>snMNBVm$40!3Xlm1Cz#*le*f6diqnXH zoG*RPr;3|nMKUqFP~&%x+ec>my*PNjyxYBmr^{0Bu6?C2$TfQ$^<{j3(B@_C zT~m7X5kXDI_9l`m&vx|{ce?Pf?RH}q@YNPM+x8cd2e|$N`xlZceJIvZQ)8m@bz}o% zd(!b?falUW&NI6ZAJ*zWvh{@)Xt2j%<@$CK{Ps@YXZ!fQ;G{-(V&tLs0l)v{D2)6r zr=@KVw?}YRH2d16Mr%SuOemc;H`WQM>m;Vh)0=2Rl_-tuL`Tli&t_ht%(bhAX2fan z#P|MZ&&O1;E1~sjGEU~34D(uDp!mb#c68_p`;!?wbC(YjCFqGesB6ihYt2I@$`D69;K}7e4?=_1v2MA-{;SnLRD15A5*Xf!T%rlN?Wh`Le2e>HkwH^INzx^7FyK>ctMN+cvM0iu(Dq2}Y# z!6BKN;5kvD_(72+C2)PHkRS7qBm-gYa6;$!@QxHC>_o_5a^Ny_2_vVF?-TSNPzWLc z8l}WuHOBrOfQu4{1%ZRn@4Pg@D4&{)aT#_1ni6801EShn=ro4oYx#t>DidI`-X^?9 z=0L1#z$<1xhNHA$ZS_Q9f8Hi>cM7J44mEXse zF99hB;PsXW^TPtMoFpJn3nQZ(?nipt_n|zG?|A(}l%hUA&xwOD23QRw1&iVECI?tM z;Wf4;2@U$$%_aHOC7f#D0iYvx;xf(pJSP4FinP*RiFKn~LtCArs^43kKh#wbFcCFP zaWN!lG~uWXg3N>Z*z@72)g`d4=`f4osKxv4Q7vSI;HckP5}Uh>{BQ(LL!t@A{;!My zNad2gl#ql09cYLUUAa5QvAV%`AA~vjZ-|IN46rFH`e#xk{D|s4zlEm{e1O(<#d1!cHD=3jdMQBzWzT zH1FVG1ZH6cGN1+0SQg@d;BWxc*mcb0!@JKXNBBC_X<3JqgvYTg))`UEb3Yk|yT}nG z1CfGEa19Fa77L4_pvn9@sMC~1{M1j*eGv7X)Yl*F%to;kOmTDC4UesbNNn-6g z#Bn=h!>5(w6=cIKB>gO8{1WK+P`Tmq+E2bZScMaJl+Ed;d^~tb} zm)g6R1_u}(1bZdTUgO6(th5tW&rvwce=nS-VJ&z(ukSvuX-$KY;LPh(FOgOoz3j|~ z{TRKsXMKOM6jr?&S8W?uwe0ASv1@HYxLY<~wGkGAQRq;Rl)Zw+aMH!T-LFeHULAMK z)@-w0kyH)E;@IJcRk&pj=D%2xWSS+c*?Z5iV_7XqbJ#0Z$Z-?~yC@xn z@~YRkSFmSdS#Ian$PZQ@>l_`VU2YX}oa4@K*KpY48t#v&L%-HsUe>fza9rq@{d!sc z(uH?LSbNi7zJGggRl47LB7OaJ=$fMTw<@QCUyWzz<*nwy(6-~oaLqu4;~!0nHXP%> zUYu#ujt_;!7xi0c2ORg^oX>t4SEZaEkiJaHIy@iNzP9V!YBIi*n%+s~dP{J=Ue>}< z)=93NH@Q<#Z3TjT1h+4uw+XD2EOiSctrL zrW(tI-f}(rEOj&oMdhLDx-^69;KGWpgMYfhu%k9E+j&yQWd3(iFr{u!PMrc|n(-*$fZ2wt^xrX;%E`@=~UY)oubbAnS(Eylf; z>r4~;OVM_ntf*#2#f9pO6v_A&-LZ~=$A|)UP9as#Oms;Z?y~n0eBfTsNV`qjH?v>i zvdw-=z;niYbi1lw>-U+H{mhVF>YCO63IXP_Jp_K+HThRs4=ysSaM55stLKep=MivS zAz0HH9ieTj=T0_ci%ysM$g>hj_Vo{Z##f#x%X&zWAyG4@P;!+}EzET#)_|Y!PI$&_ zFtkBLc#CJ`oEOHkmX-7V%5~xM-B;Y-vZ3?AH(ZjHWNoRgg856LW;PvsZW73r(zPG4 z;CSVV>~!YKWsu1Q6Qr#9f(6e$h%HLV)w;DW2P<~)J{(JThW#G=WLM~$c+F51A@W7gTN1x zoDc9^5Ab^F?s|DmAItdkYn$|2_&)VCeH!62m}xRt;WPZzWO&49bk$_^m(Lj1WQ@#j zg57L##K-l!Uk?b>p#_2=_mC7|rp$f!TH^=hwd;we3<7o2`0snaz_So89>6UTEo6T!aZ8U{UH(Itr78%$n@68JV;boYg8>Hx}`Nb z*^_IqRfjg1M_!8Ge85bLE%<8V&A#|xKEOMR%L@ULhQbmPDFu@l+mbj1lLgw6#ROC2 z+EUa6Q+3-?jRn)J+S0!KOTla7@oD3wgFpg+=4TIaY6hGZOR>OjFnJ)qISPMBTQ>5y zu*tTZ6~Wwvw%lL;a*qV_U~PHGUU}F;`FQR5L_&p>?S=1ziWt3$INOWlgo@Q3i*(zI zKM9o>du9B^F01_)8{byL_K+EDz>SCp2?17=wO7;%RkpNO_6Svtv{%gtRj;&H{}QS> zYOlExs{Pwu3wx}JZ>z)Zh(hfM3_2`7VO)?;1`4U)%SU_F2a|~u3j?J8v`Gq2mX3@$#o8@i45s>4jGFKTXhb95gGC59Pt+! z4euO{7a2=`6I?{b%R0wvMJ8H0CwfFCM>;2GM5b0cr+$e{A9YSQYlaKEirfvwe!oN1z4J>H z@Z7b@=v|F6G(%ab-utp0?hXFXePI0l&@g&x9t9^%FRrT6^H6MHP{d93ySS1YL6 zDt2$@Lr4O<^=^Oh0KGN{K3$2y{)&k!<3SQkB!ZD~7_^zVK1qcw)Wan}5=~{IiNKbN zt%+uG@stu__<~913dxKbrP^&t7E0-ypNCUya1B(l1>PMlX0jLXzLm!ngBene)r({j zDL!PSoM@J*6ueI*O+D4Fe2*%df}#p5T+TG^3nLItv;Wv&HCOtfBW({7-w7Q~onR$0 z>~MEISn3cUs_yoGK|&JIbNbvLj>#z7spo7q98WIiXF#;hYqJ0_Nh{BEu$sw}2qzTH zae*QYuWH!%SET3$I~)8S*z3Da5U__sz^GI)hs~1 zXmri(f0xIf6qiUpBGWFn^KBYAxer~Yp83?>dpnPivWeBz^t8Fn!R&fGI9^U>vaf1k z)+Z`lFQ7@K^uJhSvl2bHA=iC7w}tUNs0SUKX(svKR7vd-#wWQ!Vq|lJxEgdCLwLH% zi9%^NwV})~6*SZ|Q(-3yYX-v{M*5n{WcP^qA>*8))l+ZGj z_)x3JRGk8mJm8^!W9h!B(i{TU=cIRB2wb$cZIf zx5=y4(YO22rL$q*HnhCq&~rh!={&?Pu<1G`v$E;7X1HSLz7zXZ=u{DH1_K=VZ2({W z@R(lAC}`(E-OvYiG8CgZ-71ByWlb_Pt$o2$g8!sQqOGl>I5vc%zFfW^Cukxn)6GMX zsns3p3MaEDH+^gx%Rx4_Xs#k%B9m;OcoLMR=eT?j$Nb!|w$FcOmz>TwY~6;-FScaS z*SQ{(x+C?nFxaiZbdWipqw;YNOTZH>vkXovU7zaY1=IJanVleJwj^ebW?mlGY+QES zOn>?k?KG82bHbloJ`vylZXkw7Iny+buV!@Z+F%+ofU8JWU=gFYZ1Q~%Orb$+sXj~` zoFvyi+aKF`$+Q(KPLa8b87k;+_FH&)Rx(=d*|jK1pdGSzEItf)!BLbHD2bjmv-yaw zI899dTigvM@ra|<$khGFp)6$;K>gEgU;>W zh@ROV-*Mf`_WZ}!5RbuR*>FX&E44gs8P15r-qwrQKuk9%keawJ9U?~~**9!)x)f~^ z6G-HdKll!wAj06Siu*@6_}zL6x?;W)CfURg`DqK%C4IGDK~X5}vdZ7w9MUN%=lC^=J2zUV2c8D{6+ z(7R2ius9rSfSq^&VZ>)7Iqh8>r+IkJ&4l5*91b@R6RoSs0A4Na-4G7|#nCwt(-WUF z2A2U$YPzun3090|(kq{j0M1lUaZE~fvkQ|>n8UE*1(FtbE+H}|#r8Q2^7TXWk!SMD zCoU4q$4aho~N)g`OX5L3GH4EJC4`bHK(h)+-n$kg?^Tc^ynd_8D1;xF4_CDHN>y8PoXfMm)R@7bV-piYFeVBXo|`@G&LG z&KM#}i|}NV)C9!*q0Q4v$b$A~!%G}%8Srpa)bU4Y2AGZp4`$^dWopr=C6A4m*XKR& zn=?NBz#nOJNzNqOQcN)&)r@md4WG1NitnE=%C$@%+dS}9AsKfFyG@Anv0&r;H(^F` z2eyF=Fz`v6@%?j`ceRWjW$#u5&P9O=nFjOEnR0mcsW~GJ@$W`q+TrfqGVy-4P!Y+T zTv%*O1*_~Uhqo`35Z{+7#M){Hn=a^0|4uTl-sk9OTeAO?T#;vBrOGvvIX&WYUpgRi zN}s*HP#G7Rn}}&`!I`}_Wu(N3#(*PfTuefFIxgJ{#;S3nrvm&>MCWap|35?r4L}U^ z`F}xl3I@VKwEtg-PH2^0j=@-c$wWGr+4%nh(Gd?uBUfxJpG&KC?1Hc3wb3e7EE4KE zh^kns&?~VeaBuwIh)y%x@HfD0DM7hT^;(P5-v2^$(yq4QMmy54wtKwpYu+h)as{{p z#=Eo_)vvZj5@?ljmD^n82K|w5-N|qo4*o-QC{%>bJ3Px!3ysKYo6bDZMAKzk6%Wog zT3ye!F>(Hg485Jb4rVlfI8S%Nty(sX=dCf{4HyJ9NMVAAy6 zo&WBR&2o2}h`yTr^~0md>%teW2rR!8kVXbBE2_ag8#l7+JfBEYA3XL$@nl`i$Hg z`|i*2UVMk4yhb#uOlvZ0DT>>;D}3S#s()bwZanY6vCOnMIT`|%KP&uyh|c@3(Oj=6 zyvpgq{l%1NvVXL9Lvi>av)TRfJn>m7cKM;QUt;=BqF6+6w#XMA#3r$y=rUecBFlQwNIey-5&MsdrEpH_Cv4UoS zlU|ZFQL&O&PQ3(}sdVv%=xmV4?6odhrHPfW{)gxYYj)ke{NAkPDWIwGePyV+?oVN# zxE=t>vE2;f>)PK85nEN=43l}B-;7X&v)zu;rQ6?*F_l%_jO@R@L{*1|Apg((~rPIALZ#hd*n4_eICz!G-?|(Gf7To%z2Y zIu}dLh(o7;p&@V8)~-;-xWDTNsn!1z(Ggs6P;+cseoY~HIQZ^w`0XfPZp!nx*frMk zB;E>oe^h>liHw|KrkE4u7{5rtd1?`?ibF?-gTzi)$s? zSn)LsDGS)k(=V=iI59Oi5cku@9PDd~Fz*cq+iZqx7790(liq)bPCk;rXdjl>bubl1 z0g9Y_KW^4_$j!TOw6hPjpENAp?#q#HP)w`8RZWF~Qw$9s3d)JGia)@UjEKP)G~+!n zZm1=_@@4Z|5>_BM<|D#JmNa{D9tjswy2@CDnEf$ED2a416f@$~hr}(^K|gD{B2Q?a ztY<7^jv*QGC+)W%In3f8WZYb;8IU(ZvvhaN3sO&Zyd0-@} z7=UXmPrSg#YF=sBh zPUI8BGP6m zpD|9qIfiI>fHAhsJMITsOgG4Ymb*lW+}qy?^63G}J8SJ)08~87$Bydn$%4i^O^HDV zbn=)TwW969g&dbl@_IoO%lh$h|mM2rE4Z zmdomWjRYIIkp5_%c_D$@H-vE!WyRv|ejqu+P@M5Q&2i0si=Y0nZ1QA#x}NHPATKu+ z<^mII(_ViX@-eHe<&@UvvzlF_oM&uwpJ?Ul|A2KRzdswDC8EI4LdY6Q91PyeiEn)! zY~FV&c>D4dyWS9Lj$3XJEnieM6d3f_gUsqs0!IG?Y!f+H?Pi5O-?t!`+ z9fXojU&FTV89qoJWM4*k2iW!6Lk5^D1IZ3d%*aG zFnFC{+9!Xb+4G`q9sbl^Ye?UD@N+bSospwq2ZV2cS-A#dGE_y6b+9)C>pn~w;>>0C z#q3hj9#88?ZRV=!2#8p*Ya&pG6@1{wj5M7j;5tB+AX2djeyAu{MEg)8u$3BnDjoD4 zi|>=M7ppGu8Pg7Rn5B&9rUf@1fWH4&{g@5ZRPWWO6snqMP>{r*BgE84GF|b-L0>zc z#&EPo#TO-vqc#B-puoUych8q@CB?R$8phG1nTYnm?YF~q`Dxk+Tny5l?z%ACNNkkw zF?V<{QAPVnEU4JQtv00XzL}%bIZNGpZ*c0<*Kh{L5@P?EVwqg!aN(LpG2{L04wU}p zKI0^1qIZuoc(n>caN-tH!K6?U4}~hW*Ta__;eBLS55d?C23BN|5B+s3K{@lwW?IiC z1Md05lm`WF&feOb2zLAI)cjS!yO(2mwa3Y{PUG5t1}7yItmr4%pUOYwY$uOD4ip?Z zRRYm|A_mGW%<;R{B3H;r+p?`6Nr>Kw>j_*reGZ($DrNooQ_R+iR_M?6*V9%;3P%mO zU+j1uf$~6-u2rF}xrM@B$YE*&^ON+UMBE)UN__!yXBnvWVTdS#tJzJ^!Xz*eHC3MI zOJ3|D_AmFD@G(wJd{K*WbF_p3(n%oBFvbcY_L`RE{dW)13`p|!Xa5o+%*^;lGTeOb z0ynC)2gGU~Y=u;!*3DgS?pKwaQ{)yVX#013?diJM1^4O&0m0ZoNqzqs^yark>DAY$VASm zM|}~@ch~11&m^12M8zHy3QjafergN%+_5K6xik+z2o>JvnWgtjnz-QLyZBwen$qx3O|xLgm7ozPprCSxmv~&|drXzfJ6i>$Fi8xG$K(A2v(FQHCmOsK62;KT_=bB@ zGjs2RVC)AdlQo!H@!POxf~{fm-(Fq(1r)eBLSyiNnEY$WL=E&psNlu`EUAAkQ97W; zx)g5US2`dX0Fe3`W(}d?t)sS(K4HY=H8(tQZX!&pLP|9MXes_J&9*HqIxWq9%`oP7 zDgc1t7|G8%n${I~MK^cU_d#2tlBD8^_$mgjMHYk_}}0#?W|?}t%zGRY z4sXcoUdnq__!K@61^4(7pr2pqo{yrh|EDRx%H23_FF)slH9R=q@FN!TM@ux80xmer zbP~aLLWyZj@=#E&<(ySQg9~hx<`k4pnOR`imql`eau3BG{>Wz+?89Ii7o13RDvl+m zfUh}=<3WX~p^mB#0OYRnhL#rH1b^p)5Idw`Nhp%&DR}Ac6-$5f_#sFtl;)*MgBlYg`d82kJ#Ftkbd z^ane25gkh@g_{AAj1W5SE{(T=(Ik|((q`l@{gW~}fqKG_j1}aqm`3zu##~uOF_8w^ zFvqQ|2g5qj7`+WSmFl@!ahSaHX}ue4|CwXo)F_%D089`RsX$70AILw|!#s0Ny+Hh> z2r2-8VgiDKI7oM+NnsX20f4yf7Dk|yg7nGEw!s^r04M?gh|IpZJ3vJ$1O--*hzWwo zEP{hDNWP<`SG%F+Htjg7*(N#ybq4_;-lANIpyb^Mq(*Q!YeDVoB;h4Y6xQ#X;za2C<6+;o*=F!0qsJ@MwLAJ5JbTQJq>m9gVOK zkf?fRQ5cR;FT!>u-}o6wrK1TU5sB~v4M!^IiWli5n=iu~hnK1g5!{32-1#?}&*}*z zVS;dp4q(WK#|L95=fm&(R<_tk25y3oF#y`L!2rO!QyNgnb(8@WE$0w^9j`Q|U0#nj zLTe=`0v!-!0wQ8lB}dOg`_nm}jaV7bwX^}xk`J6w>V_}qiqn?E*-Vn!1WEO_cszAV zL%U}tniOY&D&E~MyH8CD~S6ZG76_G zn_fJMw>I23G!kDW8-NZ-@)=9g8p5+l{Z2MsC^BAbFkb32UjBWY@#k2@cL6%Gu`hxR zDue?cY^%O72v>>33VItdrA-XAPB00By6vNTCnxydO*lWAHO4fwuuc9nuuR4ug|Jq6 z@=yNIn_Q-!va_k%iLOudF}4$IEz`I5ulmG<)O61@ZBtobFW51GK0Y2geOTTZ`gWH# zmftB`9Ecc=hGSkR8}E1WOSKx^io~9F*5>-?BZ|i2O-|eYs6&0x2S?9TZwla7W?hRI zF8d?{rwoavGD+AC-{nN5R2fhj&gHny+X~JP49zo%3UItcQj;5kVK3qI4hAeQ^Jxnh zLo#zidJBz93#^7VpBE&}Q5S26N@oevW)~PD&U96HVw>kdE|JZUd82c2(97U)u*{2=`6518xM~>|vW%{vKew#hdFl7| zt{}{r!0%w4t8&(>yVh&SH|j(;Y7IB)9X1+$H`;SHIvv*2eb?F&0zz+PMaPx_ z+@Q``^v+%i)MNDXolUa8oAcybiqFXD5TdQ4L>swoEu$QgP|J3vCebMbh_U&WC z?GxYa)2;3Em+dq1Uzh*M=D+4uELfXY*cdQzrTK@(Lq8Tf&V#51sW2SN4fexrhPRS* zQy5<-O|uslDV8wCNmlmiWJJGtgqVWnp)*elJ5~2khz02WR+iK+`ITLiq?o?RM{Nh- zrcH!JZzMD5n_P@vuoo&LbcwZWxmW52DpLH!oJ;f}g-8@@Sw44Pv3p;6dtdc+U!CGW z^ZkLg(SeTNfnM%g@9w~0`@rb+z=Yz^^!=gvHlElqjn*X4p62lry|XN;dmEQ7nGi$`pCvN15aK+kDVD3O$Sg_wLyw3NU&uC^b$3JMe@+$TesBBySrWRI^u-dxBXYR&Qj`hy`e($gZpb zb9bNZ0ro(N=)LbjeWK@`pv@R&P@*JyTmJcE_xbep`RwcYJjKQ0`-^3xi&eji_1ufi z?u+f|3qS%oLGBq%AXUfoS$7R+qU#b9t`vXg5_j&Ly6-%}^laY)WMS(u8dh?s&a+2a2!}z)`fom4FXQs>wC1GsT(AmuquUA zc(F`wFVHmy2ww~&UHh9h=x&Pa&;MPZg-s_V3-or!LX2FRiUb()~rR@iv>BjrPp96^_*CV$&ada#U9 z1u76lu(RG~lF95K4>gbmh?(_|sBKiL)hwcALNVeT`f2jt9?Ufb7n(Op2~LbA{i19~ z6_j%Q00sU7B+xY`&<#30)fC=Ruz)DmpG01sx+$M~#h&|(p9lS)hx49Cd!EOCJx{`( zrzu}%#a`x(Ul#pemh)a#dtTOIzg{+BFWZ!_P_frtsrQ^bQ`3Sd>s4 zA%^ss7$xJXY_j1WFtNC377;LakW9<23jpLJicj z!yPAqi+_NTDKp^^am6`Pf7XPM-Mdhah8Z%E7bD>G7R97ovYn%tOe%-5#PW;WjY2b` zh*_&Ymj9R_Rut&amPQF63NQggPy^9*_Vns4rgCMnbuRRq9k#kd-|1c&w7Xwy4`u6K z8Fl-hKFng3YY!EmjmD-N7pU-M7$W~m! zbl#5>gO4_dGezTN-ZAk0+ci}o_q=2W@(A$&?qvvkNfF0#Moifl8LCYstMZzCR5sNv z>L`90E(=pVG@4T!JVMu?%ro;p5uFfAaX>xwc|JU!sSTSF6^jBo&+_a6CV=UObziV1 zw{!i5c>5SECR0;ezB7z0a*73T3E`!c6@7cP5+3H-OBBQ{98`;4KHkNNFe-8oRWB{a zSFCT(fM--x{3jnRKMH)^wF5DLg8lRA_O~@dB0!W9^8}GmR#UTivYM=* zMXK($U0taALdEnS-v7beTewB}w_D#ALkhz%lyrAD3`0nFmk5ZIv~*i^cb9a7w6uV9 zOP7FjDvh9m^NjxP+WUR(z27H}_jvz?ndAIk>s;shEEV2-kB{u=+jSljwyoN!s85sg zbP3v?G#*mue0ahgfXoP4FZd%|&@ySv>2QLK;-slQI@Oz=VJ;EZ2~cFwC89eu+U z@cq6p3{ls{kXAAdOZl9_{!sqa=3xwq zUyc%q%H2R)DB)v9L@uF~1lUQ;T2%fTVJKxy>c1)f#Lh2w_adRgL zPWtyBkpl3&xUlgkrqc_VRg4WhO6$nR?m=Jk-v)(IGqpEbd5Nkm#ToOY&lawSYB1`m zK3ND&u}mbgyIlq>4b~`%bwAz-guwIB4c8+%o0LfSbC*agUT)`GlENWIMf9?w*d9@@ zkKQEX0Bww0lukhW&7&vY<-*b2J@K%3`yyJRtf=3V|A*^nY+6sRf|I~b+tH#L{8v`) zs=OPEWrThbZheu?KzyJ|%6SGqi*#u=JvH$4YL0=eL*H)F)c7~$|KZivNAV-9v`O(R z0EmOHO$C=p?VGpYb5u35#ODM4_UTd;$#AW*yhs*mwwxwJ-+oo&Jo!9)tIBfbY52g8 za*pS8Mmwe*Z!GM~^O%p=Rhxv5zBI@jR2<2i>=#9aRvf-7uNX8)AIYu`v`>4C`hlIj zalfR}$t>b&`@g09pLU~>m_RLiu^Ln=Fhstb_NttH8)<_6!=QL7zt8c%V^GNIJwsCd zU(Uloty`C~dQaXpip}UF4GN{=20>s$t@mot3g^lbN%?<2vt<7_%D+hWEiJ6s`d}pn zc}}yB`06clhsJ%gPCfVRW<%l{*MAfD>il}^mB5;hz_hfJ{u=hZizwdS%dIaPd7s{E zOBAI!eLql8w$mzU3N;l03LNz8)>9x>pO4D+a&(1Fr!k*)tk6A5;6c+T*Zhhm)Z2DE zHp2*x1cg{;Jg8`0;w-9qe%@IDoSkFcKcn0*%e3ZC|E~_R>hF%VlQZ1QjQBn$C z;GJ*mIVbAQX#D&_WVBC#xgrAn9)gB;e=-;JMIDU7E4z@~tFYaj|2&yqxY#4$KDxFE z5dzJkP>Ay+L zk?Ym1JbZzsw@Tz=WCJ$oy75+%Qvz;{(SqAUgN~Pcal#Q3vMn=lzMRg~J(l681Z?=7 zF}1;+`}8B-(!(k`iIh&1PzOWZq0revnjuRojZOTlL4SPuP)-_vKV&FmeODWqnj_$m zX??VeZ9kJ|0_$K<4M3Yn3y~{&Kz&taz-*O1Bv-`$ECS!%UM;pz(xi_lk*KB za2ag$AnJS~!2TZW(Toyi)U|q$QC|jRTn9c$rd=4`P(V6frXVshm7vv7NQ+ypq-aFJ zo_JXlxS^$`giq$81uo`&N7`$lqFei-#4GD3wZ=+v8WnM0kr1xEzSD{vZTOtIEwNxT zjKl}y9Q$e=y$YOf!d03NPqzx9Oav>F4WrPgd~>O4OG@SwDWCJH4J|8@#uT%3s}3R> zATI63ll8co&(!l|yvW;zl_V+j?HaQlU)%ngc)a~Szxwe zk7gt_-eF4*Dq6~9Chu=r4l;#b`3tPnnYh!c7QS`P@a_pQb1D_i49l`elJuazUd*Is0|ev+kia3>7|9#g)6FU5@g-9TrWiF?|dvq~%4h(efS9J}#PRn7Z zu;#XUq%aOIKkh0b`eJS~rpbYlDiu04nW430HtyBbYrx0XL0xIgQvR*KkJNra?U8AU z=aA{CWvSk~is#|;Sg_5FcjqYvbjx73^Tw|=Y&L!dZ{MxSfObl}5(W#8%2IhOq@98r zp#b*ob$7=%XN7l03~do2@)LKtys9cNDYWkQ_?s}@Q{ByP2zXW3j^|lOc8?IAVt5Ug z+p2G=tPVMk64xLKPV!F&@``+)^sT4V+8!Xv=e^|{FmbV=AMjWukiBh zfioGsCu;I#n8;Jb=gQ5h)C?ZBf`vwo$IrX{N*k>5VkMMx2!{W8$E0Wv}lP1RR7698i56(90~k6y0qNd@)h%fg6A34Sy&s zfQ~MJ$R~i(Jb<(%fP_xCqdS0>G>{$^NP;5dghs)d9?0Gj$hjEEeG|w_8pIC^5;P1F zUJPUm7slO&h%W|7-ULaJ2Ft*Z21T%fPq0#Yuu4m?1eT9zxS$<6o{g-futA7{Pl#c9 zh*3+3$zsUWUa+RE;F60ms%wz7PpEBrsC`Q)KWV7404}Kig(ED?!!XQiDAXxE%+F9r zyCuwzG-P=%41D&QQ8*O0H!zS?z=f3ZS0JPgk?{H{RzzchzZ;!!XS`N~AyqOK(0o7q zfn`L7A+0`BL^f8a{l;rDKDWU9fP6!$5|T_EY#w74fI zak}Q%b+u8c(@+T!NV0$|IA8ywHYz26F|aWbaEUr4I5CAqCR<$fAdxC1JOkji_ArZ@qad)a|DVtUy9qX-361PF=i;5?ffzvh#UKEkE z)J;?HOwV#xUkkz z=BtDxTxF<9t5CjOR=RnhvJCz1p73~gW~V4=O?lSN98yFlnG{A2DwE7@l7IK6kKJds zzs?YKS7#x4Xe*J7V8s29=aq6ny%ynCYxhRoPB6VU?%;r=M+j*qSTcZ;&q#9# zSkyJP$j8fa8xjKB-T9`0HvpXXJRuoV#b!*Dceyq1a{94^w4We`cQ#5cv`x5-jr64X z#f2jBo-tp+)jcBtyxvWY$Bu9JPNosSeU?U6j3(DACA!NN$k9h`|FDpwke+mz9J!{! zo_|w+MoI(2Tav;V`w-7K}!o=Kmg=2I6CUJBx#$ zEn?kL{OU{4aY|MtO@p{cYMjaVC<#YPKu!O;pi&OUrcuTj&gihsKR`rC1H+ZID0V@i zSeL?i7va`ASs;iAhPKjDUP{wcZIG+6;BpbUvleoAEnAyo*a5tdE2%P@1YAsm+(X`+ z?T61CS)fEahQF>MWyO#gDG2J4a7tp7-Z!bM+Qf_vsS{qV%iuWuv=R^sWzWU~Rplog zD#9sliA00`_2$;53{~`P0>2DiH*Qc~-K(54A}BE80l_FfEK1ETza`1{yU=-_l9;j) zDT={LxZwwV7xs1+ZYQuS)G`=x!)D3H%q41rKUZJ%vEI#s;pxO-)jg4H)?}9=mZ!U= zwbVk^L_d-+Hk|dn5^EO;pS8WB+^e-!$UgyakId?bjGa{NxTF|iVj}YRD+0u<&{?TRRxrHG-A?|a%f9v)1XR$7%zbUb|%#b z)y8vY=IPcF+nEF}CmVEsz;Wz*k&A*m2{btN;dJL0-VbQPc71#X;Ld14%!u%YPKE5F zGM{kZIvY1arHy;&lsf?Mj{gHBKRPZSITQ-ewIN#oxPupWW)sIkAd8r=2vr)4t$@>K zMsu0p0?;Zy;$Z8G$7!vtiy_1}u29#KZAGh-*^+zrq7pg-;5+=^`Mjr zHnP!$D6m7<#h}{?I5X>1$uoJxs5tNa!P^)@%a?S=9BwrHuYRf$${JVN?R4Nsi+||G zY3=^-D+?Oi5H*Rc1Yv;Ei9qve1>dh{<9Mro?8gb%sVCCzSwAf~EKs*-c%DcA-j-^n zQY;MHq1?KnJBu%)mWB*5wDAi1nN~&F={a}jOZ);V#Y$=_dxdwjxW+3i-+a-&>v1(!jBp#nCwPQkioEZ(c}(6m zA|~rx<)~UKK58E@)RaBi)-l?#GTM1N+D$nohHBnpGB)sHY$$tdq+@JsWo+VhY?5+( zT6~-}2<*r~vBQzsDK~zfIdyq#{8q;Akk$+U93p#EQtnOMYz}~g-v^xCL)*Y{u2nG# z)GisY*k#{H#B8-mof7tsMTj2c0;=;T?7 z8E~It7N3H~t{O%0OylP-RN;N;$bv%#0Z8A)+@P|uk5@CAOevy$el&T4yYy*Pb-A{c=V6?q})fOgN4^{ zN7lhh1xH_LV*J$j^^j7H5^OKKddLOS;zFe(EB&~ie`qc4$xeIrV zlyRkFaJ55AfB4zj@?+CutyR#*>hUvGRl;cM^k~>FMEphCjXD&kUxZb7Y3lpu+#f3u zyO3ImKm@KsFqcKK{Q98X`ozHJ1K-aT0`vFQK3ghp^fGUB9&9i%r(PAU1MHiy`x`ji zfvlYyBu;EITtX$4=C_j~T0vleS81QrKdnBt5OUhG&|3>*TdR1v0^6OZD$U(jUlDiO zX8g95OTLZ6{^|Vvnk4tSl7_|^+v@Ds0D`l1G>mO!NS>I}3WYk17-Q!V_qMn4_5jzm z*E4emNS^A%D&`s$3G=Q|b*^5{R+Io#y&IJ(AC01Tm%cgt2O?r)YqSF5iuY1>A3Yxp z4gfM*2OyLKg>F=Zcxd1&==HkjH^dXB1x-Q=8klo{{{dBz7RqIYrX2s<&{fMjg3L+3@!e!3(1K`-$w1Kn+9M4q z{926zU=mFQd9lxaC?$J{IVIBe3Jtz~ST_jmonS-zfU0LEdEGs?sUdJ1eRNOy>wFGA zyB75QtFI;iBp0%Kl_Rk21l{F^?n8i2lK6W5P`KF~`UAlxh}I5R2<@{3Nc$^oK58)c zKBeT@H^>LD>v2-&fgLZH-3$b*>*7mez~jFJBDhc2IM2l`*MCsS0b0)a}D11T?L6v=qrNr`(yb)Y?`x+eiLa8n5tWX^)7eP^&f2$DFQlz4ONI zc0aDJF-q?buYJ{daC26)8=|?(XS#DaPIw`yWhnXmMb4V~t5stj7%vJs#)qq&S!r+0 z@9i(YJ@3-BmiU%^^2T#*+c9TPo4ep;&edmJ3*-^Ej>Rf-$qm_IKn4B}(8jWSjo8V% z{VEA)N$%~4CbSRlj;ZnXzVptkrcBr8tq6p{&mz&g&zz}4xp(oFcc!uH1sP}CH6k{s zzu0o}cR$`8)jVkB>0wU&aUl9LJkH{VCKo_Cp@MsFm7uK4L%PKQTq?<6QteH-NMbJ2 zzI5#^g;=V;Q~ntccc{D*50(E={>gNA)iQ;itu?YjbJ|^&pn<()f1~`5ml6Df@?Rts zDDhgQKU4q6pc-GZ#AHeT%Ws2%ym(}Wg(uJEw?RR&`LNjSw?QFt*yageMKSzjaDt@# z+kJB|TsXBDh@pC@<^VO94UOY^(xfKB`J3_|cjX|oV>4a6QK08&bY(v;z(C_jW!$7Y zn}x9XJn+W20Pcxv&M`}6;-mbEU^vBLDC^o~cbtL;lNXnaXM5u9libA`H=eNVX;Hmq zZc(rEox#o^CsT=UufkDWFoB8Zy>3^PHG{diY?ndr2M#b@gs<08%_MpybA&fRvZ@0~{M@6U!=94F82y~GrIXSm!58YPXlOuZ4 z$0vKqi;Q12EIWitoveL__5 z+QxMKNE(8jP+&aIQMX}y2G*9PwN&LBY3ss~~9q68fF*O-xO5%Rgv0Sxse`FK#!=up#X;3VOYpBnaPPx5n zGIov-N}wGsx@$6Ve~SLi#B<>*(WCXn5Ro;>!j}(CpP#%Z_|(;?A8z~tfqv8Pf)g0C z;4ctNAo&b0R%F7Ozyf9wA>cs@crZKFO2klYI+;h$$)9iG-kp_70onLuYwRehWL>7h zN9dBrnRKD)sSA(E7z`~?%=U78zlqxBh5c%^&5vRJVOyMJO>S43_NvXUtTeR^aadMU zLhex6uNYIBN5>tar3c9wFCb5&Y>wzri_dhXi zoj=?$i=Xyjiio@RkswK2{Zux$uEPwaly0LeT^;AcboImq){C7anIEND@JPcQ6*4Y8 z5k0&4QzmC85lP?ev-F}k+c)@09OfYF|gULW7~&m7{}B1?^={69dmfQG>2=tqK8%#h%l zhD`i3kCbXLp;5H0>+6ZA;72>j zZIO=-4Tw1L#k%M*P#^dxitX0LJ-@W1K%NT9l;FpQaTZbHW++MUyTwNZ7tu2<4Jqlk zCB}6W(F#2pRBr+&r1TXr$&;z*c=5+)%Q4ZYe;-yWIZv+eVB%10RZ*NKNN#du;`IEk zVmeZvTvx@!>&!N0@{K>e{gR3MjJ4j1z&&;1mWe;kZp>VzA#)bNX)W+JW8BW3Fze$A zGpvhj+?72kdri(pWX^Zo!?Yp%L~k9o&8F!yKa+FaSE@RauKCJ9mA4b5B83VsTn(_y zLy!3=jcGr*N|&7f>`|Ev4!d@MuwcRcH>?UA*i+GN9))OkWwLCUS}}>Uh0N$|D)L6t zVI_^l91;hrJmfP8BaMaJZ|yW5Rp@3O&z4G{vunI&pUvw@E>je;*RhG5EoQ$e(ZIFS zE&eh4x`dH(tL0F?e-Yo*!_!a_Ws!Yx*47>Qh)kfhuBFxbp3`aEP>l6E{EIG24 zhU~x9=j=FIh>00ZrQWYA4XLuzjanW^oTE1kc?J{gp;{(jB554zx1XHXT+@(ivKoH- zjH*YV5kHN!El=LnhCe2VR|GyDa_nAwWOAs`+&1&h$*Zn?^~mdC``XU2cRz*cdEi3F zmV~qKRJ-X_lgRs%r#vrKDW3e8Sm-?OcYb;C{K?(7v@XP|v%fim!Ds#Lip%XG6)ZtQ z(|r(7%sb-5lo+)>&)8D8{zyG@R zBOjt+dm27aWcq0p&ck>ml4D-{m1-0suU8F9=U{v-TNL22zl$8__)Z$k0vj?Fc%L$V zPeP>7t7B_OoJ-~&pm*a)hmQe3)$s*@Jc88tA<`AVe<_A>hFp4ylAORHjdOWAp7|a0 zfe3u+4np4NFyt(RE)^-hNhkh1m;t06A>e35gu8J`uE3Qb^~cK~(h;Lxjb62_SteZz5)nFfjf}=e{f7_DEvyIVzH=)EUmO!i66s zX0?)vA@!bv?<~|qnt}2))=(7x@roZM(DTh3@@yAs)qPBl8mGh)h##Fk?gZ)c*9K#gV0}rbIjI5@Bytq?j!9%oO&A6eCm(PyM!usaeMCkYe>)g_e(RQV$ z>6&<_lj4#%&?t1XhHqx3thy3O^9`v|K=yJk60@xX4o<;@9DfS<=Hx)MQSUp z(uLyP3r0bBw=zgFJREGpR9}G3sQ;pGzQ7&3H``j7Bzj+&$B!+L8^4^;h|v3i#EL2k zwr-U#Q7LABCW_0C0TRj6=F+>*xUap-M|r8~YY|PGstG?rt9*~iGekD8j!%W+*67MRb@8wxM?v{#RXiTDDjpa0e^wR$U!~lX18y}c{&UJrzGqay z#c(3`?41-qv_9Q>J|W zQjwSHC?MtDd6vk>hV7IJoujq!_GahlZBEJiH$JN^o?S^CzpLWigNM-9p8u(eU&O2Y znf<=~`eglYRq@|1wpt6Hd_-2oA0B=l%|$jIt@yorxb*pBR~MpS7;sUwMG)Jr2Vf;K zjR?ENfbuZdaB0s|`h zIfr-!ITq#gW_>}#VPfVj5?4zCG*^N` zXUXF?ThF_0zs+(u{rbVglq>%8v@-bB)!BkG;_hZo^H%T2HP5v8dQ{lOtqqNxe-P#5 zrxdn$>254CXaEa5#GKraIZ1j_u6Htoo7GSnFsXfbw!R)fo!$*yQX!?kCAg=G25AIu zlN8;c2Ume&J{84F-sjv1WmTZn4iDr+`@VsTC{FH$)NO`Wz&52!KVS#c_87

)^{5 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�|#lk(K=RP>C?#|6*m)%z5+-2N7eG9j@uika2bNWH}T zmUf|Di6u7;Ak$`<3MzN~d)rg|{*({Fu~Y+`xRB@X>zA9`V%cU-ZnV)hi6C_$?WMGQ z)f5C4_P|!vTUR~ToLQbGqYAq1%X^oyLt}SJ-G7P}Rop5485Ck>D@w686|4Ap0hd|L zUgT}qW4$=w7G(ih)3Z;JkJ;?)r`xay&~4t~(fQ*Lv+N`J3|heWKwRECh3ti^$#_DP zz6lN8TKLgT_h;RSu5SJgJF*d1(B?7UKaa1uKX1R_sX4!}^jdMzkRDf@T$K1CK$^nk z4w1}T!YFtKs_epMcD*?kmSQOG@Zs1r<#FKK68)1LMN_cY=E^KmJ7*mO8SdMvZe&xf$#7!uAY8NMjncUV#z8?DNBZ2^Pe}n9YmbkMRDiD zbM*bIN(xnGsq(aW@jChje^1AJP$?MD-%sRiu0jNiCibo#wbnHAv9qpDyp3;XZPG8T z?`=5eL!MhnsM-MZvLAEzmG^H3oU}3JFHcu6;`@F&ZG(j3dGmgR^=Ln49xW;O`y-!t zuI5oHxn$_LJO@B6j)nh@DB6&~IO?${17HAzF!k2S>y(Ub~V0o9tmxzIXSTs@=YV&!zn9=q+8g502={K?>zI?0G+A zIZ+-qMj6)bv@)3Wd+x4-E?;C)NS-R%s!;6$zkyJt^qwc&^!cJjDp3R77WPcu{Xuu3 z0-)46+}B3o>Xn8|zX|qFj355SIjpbqoFP?GcrUUcx-?cQ?6zu5-1{?DF+ z?v$hAD|j$Uulw!I+u!KxS>g0w7ALo#hbAuZJiuouO3WM0>tzq4PELFAZ?>fF&VPN0 z+G&5X{{VWS5p->F_vBUzOxhPoaZhZs0GFMTte8j;7{vgPq!r2vQV`NIBzVHrD|0(W z1bA_B^bnQx zSO6f75E2I!iPO`J!&ixW0wy*nj8${kPWjPP)x zj~m!T44k>10LDwA8%`{6i!B5Jig}XqFi8{-a2bXP_#(+{ni2`PWIcRbj3zk4J~rkM z)GU1mZj}aixPd#Tl06GkD(VwDLsQy7sQ~4aQTo)E>&eIiP>nP=6Q7j5F!?P;0DcJZ zb|V>BPg!$I=>Vnn)u(+rOdI4$9p_2krcWQkq?^{IE`mh1hN9z#(?hwFM+(ykw^NSY zGJa1Plo=-Ewr5<^!{>R@{_$i|RpAz-GnYkh#0{A#0SdF4;1m$Ri9RbCqX3mj$TZ2M zPRgRw%3=u1qCJXXJIZ32&SGN7<_OE?YRH21XR|kCBP_E8NOE|2b9gqgMUJv1{$xwa zV%r*^iCWLFVc3?i;(i8rCJFV^q(c6w;y4U7qvo^T2JJ+x zqUoe(LbzvOc*y|Ca|%@jF%12?KPBWAq^l%=6?e#*WylgqDMj}4ZQj@~TBXxaFyQ}0 z2c-9+0|NYn|3`EHLGYV5nwrtLX%{P_nbf$73GAVWY#g9kT!v&=h1?U&S+^t$zXd6xE&55tz19ZxzrNNoK zKZ-x;FLXsFb8CN;Z~V1yKrCv}+WYeN&#lpvJ2rzix4%;W#(2uzkPoxtNyHOU@<<-_ z1wPAFA!o6_L$fWkfy)lBIDw1+vE5-}BmEfXvZn^Al3A9-mjssD8V#l}%@l})jcLS* z5rZEq-GxK26{ot5pAn0NVKNcz16m8?{!l~CBNyB36Swnd=-~RIY{@s4?Z6Fp1U=1-p_x+V1-N{1AlSD6(*+}UU?#m1 zF6$;%%}Y!uwl{QU+5qMJcg|)aeYx<6^+Gd5D&-ot!FbmAX6Xn??x(=~0Ex{id`^po zx(W9>a0WJ76`ZTj)o|R{+;e=~6nu7<$Ewy~4s}s^9*RF?PuXo+s1rXdWyl_HJ6)?~ z1M~oO=8}v}(t!P<4fX5%&8-cg#!W>f%|+&5rYCbe?~C8P!GX&eh&0{wIJvOf%7}Cf zO@M+sAxoe|%cW^x#0R|kq}RiR`52Fwpvj!%b?wEBhLPjbQLu)rLDA1NONzDy>s zk@*O_O0D?lzG~VEYI*u1P5vGZhnIKaSd`ZVt-AClQzrCa9CL7wX2lRPCS~e)M~`qi zqABpZm-hPeBwuGf1wvo1=+SsgxW}9S@pKP#dF}SqKX^Bbt`_*;)%(S01!@G&yTHz^-s&%p`6wrORxGpPd#rFa z<8A$gjhoL_fk8oL$x1PsJ1UFzPRYvEK;&;_!yhgGU406|ESbu1N-wfY{f<6iyIB(A{eUXmQ=Ya8CIR8 z^3gJnq=UpQ>Q_hFwx1H9Wk_YN?#n)IG9n z8rlBj4|$0&K#|qml2H0g`BoQ{J2_38rr-hx!p7^?W-%dYFy__(1|Aym_$-~LUzEwG zX|fNc3Ya=_PE@_0q0RnD6g~6%Wnj2OnhKKEFMC25)N!ANyxl7yS?GxMgrrm>%~G7j ztEe9_BKV#W+^Joqo|geA>VG@$Ntu@H&?p{rT=K!ydcxcl$DKD8%!vgAqT)C#Y;;Y2 z97t9-xTnz9?9+RIb^qerup?(IORmaLQkJpec$Ou;v69o)g3Kh<=*^57P%_s|1@c)@ zLa~m!Cn(0)zB3iq{|X*74T0SolNp0K)jTTzjG-2Z0MHmIoDjMopOHuE@w<;rRTy zc&f}dOWVrXe1|~y4(ch|{4n}rAb{-Fd&*l z3%zY?vcCR8#IFQ#<&AK9luOKb;KenU6sDfgq^&v9@EkTCj-5M1%N4_-*gGT3E;gDM z^l*96vAiFy`ajY=*264&Yxz)Tovcq!+AD*PiJ_P|uEr%qZ;J>(9zG-W?j&e?Oe2b*W6PA+1UDaR4x( zShnUCpy|?|$cWjseQHU}dc1(N;#4BDhNAjs zKbcpY%YzYAETZtUO0G_W{)b-Hw>xJp*=F2ne7B{(?}jzMh}$BRgz%)r#O_2=b01W$ z8h(8Q3*0oZF#p9o9oh&q;IU}?_MTDf@FzTH&lWGtN1vF@dA;qc&tvuXn@Zt}=|5lb zdINoOa#&GgZcnbV9uT2YBmVn#w<4|fN)UzckW9KxLAEdcrzn(FjHI^Z&pYVa%_Sos z%VNPX?CyHRjM;45Dpn2QAt(O4PTwYFepea9Q>Lh?bjze=Ul+D_yo(`3VJ{r{@ z?3qwqsiDEd`Lp}|>MMKj>wwp|!n^(DzsnH*^9KFA_C6MJhGETKRMfffc*||2LA9e` z1@nzmbqyJ-3o3473%yOlwKKX$^7hOpQxby*CkkoMUSr-D$uWteOn-6L@!V&wm`K|) z64&R*Eg*DgIP+}aO@YkXPHDpJy%+SY5~Ya*xh**X^N)B|uPpMBE$xIgyN8`d@6YXm zE$9ora(UaM&*4&bD}=_j2QC3 zKXQv0xJ_)gEsS21^E6_XOaLQkIKEQ*1hIpg*1~Tr;@W{!r!ep@0N@Y+_(yC9TnE3S zMwOUJ_k~0cXz26?*<&z_6T3p}5V3zTA=8PG$On-M!!fBaNk=CzYqu|OiO4PUF)+UjL30_$a|4!#7vS#R1e^ns%#;Ca|N&X?U3E)o9>9qs*736i@G1@#ixWh zJ41ibA!$b3DgF5?qeW1CNyk%sy)f_=AbJoS zW|AJZJ3`LJk+rM7zC0{(i6QJ@T{1iyLI+~UAvEi_{qyBSKPXL>F?NSjRq{PGJ_#;8 zk=AobV+an$brKtQ5NE?HLXFIch^W)p?MD*?Caa;aVYF+zuGp4)5)$9+^s#J_5?6H0 z94L$Q3}Eg+^e|f7XTzE_U#Uz?(zGHmoiMCH&BQ0)OZZ&lPK^dvNgRx(Lr$l~I1(=w z(4-Y1a2G=OMr0$(ZZEjKx38p7{Y9-n$~GAI7zXZufv*pOp68h@0?Z+Fka!UoR|p$> z2Xt7CI^K`^wnj;47%ehHPzDE!z!+&p(DMfg5?e-I8|Gq2v=@!8a}M3$pRke&wr#$^G|?oUSOjg&;i#4Mmfcg1PDwt0Ti1o3HUN+(H- zPzQaa;fVrkDc8h=x6{1CW60ofEX`(igg#u$&g#-oy5W|u!Fro#cS1Bk z5G@f)Fk^kyIe}zc9x-Opahe@cm}F;R)wB!e2gWq@$y(_kYOmLw@Zr*C(qIP(h@Xeh z8^;i36@;)uNCycZ-kz9#n%Jzp&g(*lAW#m21R@8V2e|z2`Ce3~AtgKN3oAs9evt%l zq66pq8>n21lZO6M;uOwgWLv*|iTY_YE*7RG&_Emxh|E2d!#raCp@ICTf+1EZs+K}M zerG!5(FE1uco4(-lF!QM5d68v@|g>2E?U~elF>j?hEg;ndsNYOndXX`W}`?vX^2op z3O{r)vd<0dd$%RGSFIHPh;Ck^K!&jDp|S<@P>XxE@wOKDQ?R&+J^6;851wLKHNYv~S;mp!T#?9~Ct&&TdmD(ap$ z0WX8pjm2!0L`n#k2)D6>;7kiZrVGJv@8$p#&?qb6gRdhRJezAF7F`M0B1~cAt$d`L zW`Uc?Z`?a*sMFSD%4&oh(43fp@BIeP0`#bziG{?;O*By}qd}@#;QID5uZWj@FToc@ zX0pLZ#5;=ZM(6Pr`yco^kGbuy@e{m6q0E8#lM-MD1{{$?E5NUWm5bJO#a$-rwVSfu z;P&J9cb;G2ybjeG;s&1@W^n#gHaoW3Pu6aUXlXm%$Dbi4=O(w+DkF@ z##fUIR`^aEhwtCf|7@sFCs)~qj@G&bf$*h`jCF^BjZSjg%Cb0WNl=s?s2#k*oOf>MV8Jn z8~VTv{AdUrcoMbUH!X2mqBd;%=QwpFE6j?C@8|*I%rU6;r7ClM=xYb|2ypwI@kGx= zVS<@t?jgKZfL3CaTuT5L+025TmzBI{e})c+Tn)YajlgH1vB)(N zr_~^GB+TFg+koG2Wh%{}9!EL?v1EY2PegHy5<=g6WtLuVGa)x@BCS`6Z12=mVpL7- zD=_qx7AF#uYeAj>Bn5>pi9h4&dLR>LcEm{MLF(k@kZJPh0 z|1aoUjdpYQFmxUieVzf0vCjKFDSSpW*yj@DZK2VT$1-NeVz^d7j8^C*Wsnwb?v0A z8;p+A>oS^5Y(4B_7&>n@{~`3M#b=U3Gu*|`o<7YLk9(cQiMWGtMaqV}>#G4{*m=vh z>mN$AaVy$--IBL$1lz>utiqWDP}0b#%P$;wIOf24l*jDpeJzU0+P%nfai#QZwa2V5 zl$d3>*hIYZh33}JiLEy)Ci@#{>{ z|61YhVT3BN@(RrRuRb@9eyg(@oyscY3$p#p{e^VUOY*Xn?5zFqDDpXqw4uD_sQ%2J z&FWnh323y#Cx_qO%wj}?hDRb>U>If>5Qt0Z>Jh=bKKZ;Q4*pe2qadi^pQ{%`GC$g3 zdvA*p>idZR<_uBhGA;25ks=YE@wLzNoC+xRP@!ca(Z88O+18E(y7@&O9TTZ4GMmD&Z zUisx;C1JF84*3*#Yse71`;)c4Ub8u7c(~FUFbo<}#u8F+0g>)o)hJRDM6o!D<8T56 zgyKGAVN`~~fuXlm&Be5fMT$Ihzj-JA5Re$qr6Zv+0_T| zKK;kBK50-|76!P8k$q8aQiuO*3(xR!Pg{;TD|yB0my6iLD#s;YrY8*PJY1}jLjAy5|}N|ooDg{?IaJqV4~QuClsF~ zz;r5ZfPolhdeI+9cV-+79nMvTA0#@~vIL7RHjWmv9P1(;6XB#xHOZXe>@}-k`E4U`{ z4f=lGTLa`jMtz&+=hVnPZYVEK)uO_V<&rjjxdLf7$~)dn%QbzTBjrE6$njv0yJ;WQ z%W8ebTgz>iOc=cg6elVKKHHwVV^FWdD<4LWP7@hxvDf6P=?IUDo9Id1iw>rw@h8+` zHJQh=V+!%2sWP3brpF&pcy#n+Slt>)Bvh)kR$05m)=!rDy?R&mQ!!hAs_Nkl^~=;N zX<=Tu*PSMB>T*q6dDN`Jzsr8F&21=m`FmZJ!Tn64E#p^|_ODO!=ZB($(jULa&bboC zUNxkNs~U6ri$Q&n&^t1}mU)0OdZ`a!5ANufcji4Iqrs(`(x@?JuNs{fPcSIsa5NGm3jCSe}1bv zN~SbwlddO%OzbU>*dtltI~%nHg^Xi)ETg7w>}RJ8>%31b53F{wZ+R`#-8bSNfH(N+ zhXYoNUY3MjXG{CO{=NUwcaS|cvpj_mpAg_xC_^N1O%OXT@xiL;a9m4uwZ4kpazYXw z&r0mxyW)lB;du7v@lF5Yi_yd5|7082HoxwFTBy$zJy?@TFO_tw<$bT8Y}r_}S-cr@ zI>gTR_%FD$T%m-q2Pt1B`*H4D`rhhT%nBdQNaJq*O~lW^yC~+fN$xN2T#|yC(Ks#`}G-^0{6o=+;gbLs1GB|#~n`AVbTwU0A=LF=)8`%EELGOtbF5$p`1-anH+)4TBHXn5;90n zORc1@CSAsPX@$ILC+=3n-@DsB?v6NVk2!O_mU^J?v7D0^GjUVNlWkoyVTQN+>CTD( zV#yijLfWqhzc~;E2vI6}eV78A)kwepG!Z@UghJOVi8HOMiGvr;&H%^B`gi=GnvyRz z9CKoJ`k@u_^zM{}^ra-Vh(k@>wDsFpJB6&iVLA#CJkKrs4hIZ+-aY>rSI1pcj~J0g zX*HkMXuHLW*Q6352u!;52e z%iSk~_QR6GI*W+gB2B2c3As%V*{La8#rWyNKKv@rCcbT_$vU6jQ})`%FVBhAQBPG|ArBt|hVFH0*Yz`g4iCEcrMC!nb#rBuYI{ z(l-6%-&k$hYPFU`Mg2L5T3`GqCjOrLX@+T}J?hVrlPGat2dQerdDL;g01->NIUuZd zfe|Y4UU$x%o(*26tDObknW#53X3XY2+=ZUu(lANtDY}%3tziuNTr<>^wPV@|>eFu; zt={L*wC9rwCiw-gzkx9vVL*EYdKu>Lufm#SHLz7SWR9BK!zuFnj`?P%?eeYN-273> zrA6p~9u#szf#=iMRN+QgAZ!`X=#i>FPc zOz++oTXjr4hLe0V_S}=MCR&8uNt`lq&J29VjDg=048hueH7%xf2ehB@JLJ>NRc|G0 zv4?GJM6t6%SUvd`$dU_pVLN*&#{CAVtv?1(%-=pWWPC|lqfUCf?su`ilu_!HMPS1|2y4w?z&IqPA-UF4IxY#L6dFk@hGvb?WSE|Z$%I~%r zEbEll8`#)I;UGP3a+ezb%|J54bS#qkdYU0IGHR1;xjBJmXTP4dQB(u!If)=*5T3K5 zaaijI|3I2?z(ZnlnZugqIwMyswXLIJ{vb;+`+-drwx+b~;0HUvt10D#j5?wBlRhV} zC;bwMCC$BZmbW}&C4;v^Q0vOh%0|@x4c*RO6HuPbM+{=dP-l%X!Qmj(7Zsm`k?Z^ruHXyP08(jlHB8j0m-k>JGX7^2THa5%6vD%RiU} z|5LQRXAB!8CwS~|8D9@)reaFRYs84T5VG9EAhgvdZ5`$)c3_HDS{OsQPP>{0L3xLX zp2&kR^m^h>efrhU_Rk1NBs@)S{QxlgD9VhVbH~vt@7pr~IvAqWCk!muw8onfhQbN1 zx(;EvnPfqzmJqv-8#aR|gg^M1GD@(-n40y_ijtd?K6@$Vp*HQ3qnhY8rV|@i0f5qb zto38T7VNRaSwR!Y1#Cc!yrT_R!jbu7GR+AnUul(A;~bQs2na(2$U_V-XoJLqF_>y8 zuWF<}!5uoAsD{Flbt$%|D7XY#G|4Njr@N1=$gbb0spV265A37x8i{Aqwlb-i|4|wY zZ^#AobHO>JL-z88V+f7^5D7j&!B?RXQ+g7ft0l^b2%hkjHH!@>+LGMrziOEo!ZWOp z2re4Bjdr<+^++4&Igci(9i{`jV-p+dajoyGCarTF;mN-5STmZ>cWsLq*16 zvyq^|T`&thY>a=X!(Q}7zCj-V@P%B+!&(4wt2sV%c!I+^p5Q##lmf|S72;#68YpD)23hA?@WFZ=G@rgy_ z4|4KCT_X%`F~w?4L^MkAKsMJZYbA91gr1F=L`WWy&q%%95kRtK||j06dRu zV;<`wIj+IDRNNEq@~&jd9lRR7hbSyG%9qANENoD@s9eaa8j9%vZN)5P&Jzwn}L7;$3TjeLYcx6j547N|1aDwc5)97oC!ae zI*%fVSyah^*f@~;&B0I&vuV7Lzy>%Bg%xa!&GgLf^iIa`hGFoAU+{)wfWLyEg<9wY zk$3}}L$lTV5$M>py#%;bBFUT>wf%{Zdx@$0aE|Y@Al(FjpNUNF7?T=<50F|hd(5`z zy0|p+K>pa8=NzG-#0UUQB&72_;J^kN{LT*r(F|#{^DGEQn1#fd1w9mo)5wX&;kkXH zANW|r!z-;G{4`k!qp&K7Dgb~QfDA zr_*|>!dNM4+fg``zU6q9hojKJ;3luR5P2+@YLc^PGbH2$R;DmRJ6!Sb_ZB%yAHWD%>|MyrHcKM2{XjJ*|E57m$s8|UC z`YL@L2!ymGA3|4$Yy=q?2uBEnlzoiwJk?)tB1cGz&;Woo(8E;ihW5-zjU-D~l9^#* zB`5P!{V9x;SOe<=06CzK5g3RzV5jKp7Dp_Is}sH{NC68;F*RW+@t_J0lnLaND?L~W z?2@aL(5qHN&`=C1u`;wH$r7Te9D=ycIBY$b)!V%#QvhJoQ?&#!Fo=Fdi@${qe(JA$ zicKi$H~E~;#dto&!3r_(Q7a$_EJy@9I9hzcSYt!OHV}g=0D#;ahz4j{327m!*}Ubv zR`%E$;>a_u8OJHrx~$p9N9{a&(bleLo(38y|5mxo#R5~l^~EtDUhq6sCt6yA$c0(h znDW%L#Q_pEW4_d|2x2iH`x4YW@l)9Q$n7Nv@R|aG$W6^%*sN#+FA%`u5s8(0g27nF zZmWtYa11daj*e@J&C|N5kVk`nHaIiTc@!QR`ZKcvSktMsA#{kl&CcOH-WHUCtbAa^ z0L@kv3{h}i^87;9WE`Dgl{V28TaurI0N+d{h$`rUetle*AYFp!fPr91aWV)FzyJ%_ z;1SY_3xELACEtM%gDWKnF-XbAP>(sGR##M{H=)!DRf?)WOwQvzL3>oz{kje`CYbCt z!Na>g6qGNW;4co-zvU?>B2j{!h0_E8|5fD!rxBynTDXo(n$Ee?v$8LQdznOF1cDui z<*nWohFTNw(FdRiZ88j{01BxEfC(rFG*|)`TFx$DSpb0Amq6qmCc|=~)Vow-srcWw zHH>USH0fb6ZM-sGb4oBqp`Fs3^?Yjq!AJ&e3DlB zh~;<#;e!A#7)r0P12LH7_7xilr~tu0PCjnoF5uA-@Ph7oj}~qNOFfJqUSgM^RQzzG zpzyq@OCKiRHkRogun7UPgh_cv^ZljJq9^_s?w6BlW>(a znzcu)Ff<~*o#_)XGv)wWHF6q>{|5lns6C{DzyJUkU*jbRf#9Y}jsPFNf(mHi&g0{P zVAvZz)NW~y@9-Kqdk^dq$~%>h*6oAof*xccCOE^jEegwe25QeFPc}UUqHa^Rc}in6 z5FHdrS^c71O$uZ(uwT|zoq?4h;i!V>*Pug$#uPq-*x?}-2}Pa)!ELd2G2ONt2oBJK zNA(&AcmN(n!x5W-GeA}ryW)#j3Nd+Iv^@+3ER#!Ap?2w#usVtmGqB7l2=l_*pmuCu zL{o1l&w?PvT0o0Va9+Rd2Kta0T+Sz;Db%FN>MNUwo!g)6RW*%3CPT<$Z$UwDX&3N< zYXIPAkuU?ZCJ3pOYaPUh|C1JpGmw)#o7{mIfo%pGj?T^69*7!XgPKZ3!p@5KU>0b5 zV#4?n8CDOkv97wjVVTNYWKo*NBM8LeskD3S^L9Z~^;`3FqS2H{3^vVEoxkYtL8m@B zt5q5Za>UdIV0%NPT7#=$UgmB5%YvwYDKK6^&RK&H-5S7xN*-P3wz>sx8xFq5{C&;Tl1HX0SMJ zA1(+sSdp(70YJX9|0#x8f|vnCHV7Mb&ML`@<^WQT<7@0v3M8fJh6^dxg^h~?iC=S_ zDPP?FC=neuboKjNH&xYKNF21l;LKLbm+_U|IGqPYxn5SwRk>B+#CqC9$gEl=wpdw0I+K_NW$Sk;;c~a!BB9h72PS;JVUSpK(JP&WDKG} zt`;L6+og$3eAMSjb8DF~g8Ij4m zYE%|6OGk;agBgJ6qN53%jIK6lQ-ciF5^XSWmnCLX>e&kvTbu zBGCLk8L1HgI+Tz-<+3c$PBTZ2dZ}3n_IDP!S}#6HAQz{#o=i?~j*z zNMl#O<(QHe1%n6&RmD$)h>0AXOHZe;($P6^XL1O;EtbeZgW&M{*!jf%j@`ZwM1J26 z$38%vdH@hzJvMkgHtT_GA&1opARdfVzsC><01ilsyE>jRX~$b{Oz}cRq+p&sDdMV# ziDWJC{~EjKKtxg;pZnm4EOaQ0@f>4!-O7?}Q~ru)+|aEL^G$e`PST27S8^lYUUo2R z`6fw8Mu1ZYSZ0D>gEn}B(HDs|_zs06_n>E{HbZdP}8Wf_MT8Cn@_qPDF~- zA_fQm0tW)fQ?Q^xfd=si>@%>B!-xj=0C4DMpdN<>H3C3X(GUPb9tS28IFcaBlqy%U zZ0YhP%$PD~(yVFoCeEBXck=A%^C!@tLQ!HH<}D>HPyoUSOoS-WB#)DzcAOgZVaG%o zMFMbI@#M&-D@&HF*cH*#rVsfLeA8!-9)VmzQXFW;j-5np1jYccH;n<(DD>#kr&F(P{W|vS+HvxW>8+VSVFYP~ zqJ=G4H^p7cqFsKqjE*~0caHngau|ED#l=4385C#ZV7eR;9C&w zkq2)X>H!x3K)xkVUHTc~(2>Qlmxz5Tg|Z!#QA#-_l~r1KWp)0<1PwGt9Rq+a|HsfG z5Gc6-01Zh40&vw+YIdYnA#Wmr9FiS1DVJ?;D#su}#kq;n6ITFGg@J$kfs#WT3d9Cp z0IcB!N-CO|l0)hdL}-vH$si&@EDl7OKqCMkAwiRF2EZGEO@y05ddL{rYc9!X;7Ye0 z)S*F0Iz*9zkPSDGN5N(#)|+c8`W%+YD!VMR%{u$6O#SrpPj~aw6Au9Os3c8z!W`oZ zN@D_0Oml0VG@zPFR>jguDYY9?A4hT(?^A|26_ug`fjAHb0I)F79ssH}&>ABW)Wu-( zxw<1tqzWVjj|5rpl41oDgdqTy6$WcVwZ3&DOtTUxvPwN}gjkKMbr?}e|9$YM;Yv?J zJ2TBS+k7+5EdBG3Ks)aYfIrky%TIRz#Di^0*a*}NGQ9xci7lu4sW~9A@Hw@i zQ*-J!mR!gkrt2PP;b(TA1F^+d4U?7>>yao~+Chee0dSc>ZP;4SjvQ%`k{Kj7uoy~& zom$X~9CCC~UApNJ7sFV+)FB?f(o|PtJmvv;$Cg%fntu7_JUZ#6n|?Z!KC4c2(Jn#5 z3^Bj}5H$dx>~dZ=j5t)BNl|6JoTAHh6mQ(|EysIEet-;;@x{(bl4+-zu~%M!fiwt5 z?6EXl#0{2gph2fD;i+r@6gW^D32lzr9(Wj}YC^g-AI7AYlyO0Aj4OOo`IT{3|5MhT(1&APzQy#C(!a2lHEhUyCNTce8lJ@aN zIB+@0nmwjtrrBX^oaa{7cWmhJ91nZn@~ zAA&|0Ipk1bBvMLtbECNYC{Ho@QLKW*5hE?`iVC3!0BIAL|BKMZe=JF*LdKSyXkZ7>1eiS5-S%d=`yHH9qLn_jdl9VOV>PJnYNv2(Ji(Dva z51UdVx-Y7*SnL7k@H}a!9unj#zH7=KJp#8C*2O+WJ?M}26ssTtY)7$z-1=5RGB5_v zRbPzfZ+_$-viwu36Io4gG>RyK!0;lwTaYemW6_qp|Epa`$%V{HD%ZKvwXOt-W(To> zrk9z-D%v*LyKuwI+CNf z#y#$EldD{T9AzL_lOpu)vqY9yREF%4P5+8xh(dUTodYwfKn?}o!vF_BywOns!N?J- zGDHtq1l8oY=qmROuU($~gA3o(q_e8(ARKYXstEE`RZm3nQ~~uN*{q zE8U27x=O@@tBeQ$8ZVl+ED1CKfd$qiLzJ<0icCcl(eM|rF@XMM4F!h0nYwfq7nLj@`bM<|0r@CdE4H&vNk-TWmE(B>;W<~B~Y!6{*r8m zxB#erGHhYeIvDGH^Sj?Y2?uz}!nJI=tJb|XaYK%yLQ7)LyW#vPIjboBF-bEC7OGwsUl=)aWyeF=~v;uN@?YEM(9f zR|!`v4H7%l;*9`^tG|=3^rf%FJm67GeqbEktWf@V?d}Z@_RG**0|J!V7m{|U^0Pt>ir3=~;tEAc^>uMjc9UQ*VnA-pt zPAP-p*(A#*(T3O|6)&F4Svj@u9gBMtBj;|oq&rAfMouL0c@dC++40Lt2lS&aedkkO zN}(_lc+5f;f~!P6S+5Vgz#`|a3B0q71Qt675$wSNOPwHgO{f9L)VTAC>;hKb-iN#x zlH~|EZ}HEO?26p<&+TQ3?#0C3a2fk>8ls5SZM+5l002jU2hvra1zw7i_$f6-89ZxE-QI|4vQy&1%FJ&cT~{fs$BV+>oeH(J9U1DU7m5X?T8f(4*&o{M)BSjIfekv#*PePrU>8W?bDAq+kyaCuDl-lBpygLQ#PC; zDyAYCt|Ik;*dK|`uGK_*B%BNhMA!A1O4O8e4aA{TnR}&Ni2+%M+?bIa1bitVl{H49 z{ZoQuO1*(s6?KIj0D|aX9ewbP{1n=PD4_fl1Rg+O?|oHl=!nP^9hz)mGKHZSF4GsX zqB}x|R%{>VQ3dz0|5=*A8824EARNbQ+=;#PPxmOIEe^>&%^yn0-wgWUYN?D$2nuhJ zBghF@lfVY{q}7eg8;{fv%Uu>s#7z{A+Cm*+f0SFt07sD-pA(%HdTE3m%mN&hA~U^% zOwJ@tzN1Yt9q$B7al8vv1XW)RNUnt&33kQ3sZ-qaBAx*Nq_l{qG{h4z)m8mh{b7bd z#DEyEfsM)2K$sqHSsY53z>4fp#H@@cvP3D#iwvfQNCHI!qTJwl$Px116Yfv%`I0s^ z1ku3}I^HB-_GQkf$DP^7PR3&9txK^8=E1E*+^C-Aq{0cw$@@L2Z*WPp>P*NsK^LV=A`h86-*o8rCw~NQXh=poVrMWq!3dKsC#2zBOMLw~FsUhQ6 zFz5FKsrnRPLOmHoebs+r9N#eH$lM6PeN--BDoTXIIE=%lrmMQz1g;6BMnu+putXaE z{}EAg5l4W;xLH&M5Xu_-4XJF18BnGcz@}%VMEU?2@m*WVy^#CxCtTRUQu+nq)z9qp zph-T&-!&sm*$)?a+DTAnMR4Q~Ley;-1f%LFY6wRUI#sS<4&bpwtEGgwt}D&fEI~9E zN?Z-GAP@KL+KDNqyNtvThL=DT3SCqdR%fc-XAo?(IrE z-AQ<#n|PnWIfW(N8Dr&SJ%*pHiPIk(39)JjkGM}Bv;iMr2zJ6mrHp9G(&r2^|IGRz z+CYd(U}(f(6+(iP*l)H3E)nDaZsNtoB5aPtX%U&`bc8Eqr0>0+Q%O`eW<(F3QDDFk zHMNAfqATAXZ>H)FeoV!3ro;*1$&(_kP2kYgUBHU0mZh>pGY*6uoB=@ZOL_UEGt^kM*wT4#E=08OSXsKI(bz@x`1c-Q6%&pz*@ed;G z1vUupOUx|tHt=v((=MhNR9siIn$6$tVzEGPa>|BI4Hj^024Dcdh9*MKmE}uRVko9; zA1)e>Wr)a7M#T}tW<&pe^4rjJRO8p+Tr#FHKdWe%h1?%cO$Z-nrlt;@qTN*6x59fu6EE_a)B0|CIMVX?{raeK6>g zx&#?vFf2Dkgbd1Py&fL00UJcDyE&A~3WUQrg!@zuq%ur53RwHZa0viF6eN*ZNav3< z5=E?SFGce2`Bz|oO8g{7Q}Ioo!kI@u*bmC7sI?$^JyrkK*FaF<0-x(U=QIW;gN)wu z0;$P%$xD;S3wDX!T2XVtrG&5vgo((i4$8##-iWBY@l@UE+L`4*R6q@oaQpN@va+y! z7%@FvZV|l3rH{EilClU0zbt z$8E+9Ei0l5P4ay9*yfqB-9T$TiWLBrMhDD*eX?nTSjsl5|HK6dipYFX>P80k(4h}) z<2w~JFprf0%^zG$93YZ4TK{JsG;}T&D%PSz79L$+D-$CGM)jodZd=DFjLA_9u{C0F zVs(<}L1&lA*dRyTPoD28eY**;&J zf=tzo-~nFz%?aNG-7Yh&xb*L~4{iJEXr+cmL|I`J|C0h2_ym>0bCiNWFuCG6Ig(Sy z)cB)DuvlxIgcrLUV?k+hvM2Uf)^7Q(V%acCIOIS`NNJ2(OYB8osKu|kpn0=I7mNVi zw80#MY)X)*WL_?a%dimRIF;sR4(7=dhPVlTQk|&8TU}q2$5AW*z@tZcqhkkO?NUgb z&|&K%zUs3VgV=rr@*s?aptG=LYVcU#2y0Fk9sp;9G}6|C$JZL0*3K^UXYkzo)ApBM;s!CMA z6bK3yAZ<)^f%Rg6_qIfOLJ!EsO5OqDyUoV35$fwDlqJI8SxXs52p3#gG0KlUhB1TU zB;T4i#6HG}E+XoSC%11IUpn1b4d*(~55!XT!OqvN_|6CxObh^kWlDTF0ILUx$g7ayFLJ@{_K;%>~jn1t8VJX@?;%}`gt|x8rJi4)}d(B!ffJ4E=U{P{r+XW zZtO(|Jb+4=K&sm~X8?c{c!3O5ff+DFVBk$lI85SC2nT4jKuB#vh|Jc$)UJB#)Yn`O z?n;mL2%$kMc*ppv6NDCya_*B9K$HV8kYGWB2N5PzxR7B(hYuk}lsJ(h#65=k02l;d z4}d=dGXg+F@Xw%;6hnUOv*+WUJ|{b7bU82&M}r-@)WicIPtAc920{RE0RWqVAqxsU zsI(x_f?n(ll#@{Cl!0Q9J{&Qy|Him=&QeG&7cIlQZwIzXWTxPQB?N1HE!cI$gM?9u6O0ZZ zY8#1NOeo9>v~|>hi3-|neYap9=Zyw$=@7A43&^iEUo)eOW zqIU=^(7=TZOz@q86l5?#2M;7jL3k*HXP^i#d=NmwBCOEE4=K!y00{z+AR!Y0sAC`# zNkq{g5(k>+o(*ZN(Z(AW|C;HegLXs+5z`7e2)xkx5Ut3Jiu?;bi2ORJ3+3)&i>HFR zKxhpBlmozvft>~kRRn!%AFcN9v;(MKU&2+~Q@A#fl{Ed>D61vQ;C(@ouBv{OevomA0> z2#gefP+4u&)lf5|EFs7o^JJhB39{87$WHCm*Ix&_NJ;kw`opb(f-J}nL<~8Nph8lc z1hgX&c~h;8I0A0Tg3QS6DDi+&&djak17N4I+L$2*0L<9UF9>TAqZ+X15bMm|Jrg$p2#A|j)RYCD^Bxh8p}M=)+=aExhAFwP>X4@udjoqS_#SE z2Es;B0VkqV<&{}3h*FnLCFo_D)48Yr`lA(CouZpULIGfy4KhR8J6pE; z5VOv66PgX-qs%hv&WP05*Lr}^!<_l)Wu5$f8IKTLzIq=5!0WRO2TVofB3*fMrU z(GsdMygl&Pse^&A7>Es~GLpZ7m}wyPBN_kRz=l4Up?~(0(_0EvIfG2@D{bh{K^B*g zd=ew)ORaZ7eAW!|r!409@gMm5U3Kdg7fY)P*M5*`H4aS&++t z#7_sC{{b7?Fdc#%4s|;zS0ef_q^zvVTyK)tw#su9;M6B3nA2EI@?tIk$N>*>uoJ>Y zhBA*<3f$#FhXCTC7J(Ve%@9CVNpnaPg_%rcR-|+0N#ptkLc6b(Q4eTC z8~Z#G$BamGS~jWLwLD_ShUkG`>zaa@@P;J<<|z*fyaJZ2W67R$1p*y3CC5TC1E3hN zAXT`aBDDm7by@Iqv124b{KZI5ijp*-^CY1Rf=Y-rZcT2Bm?|$CQJS2KE(59Ie+tse zWsa1jQ8STbP_%{XLFAVubty1Y2(dn_uZ(On$RPISmbbu$HroV=O{;b!L+rttD|}t% z|5OR6tq4Vuj2vNWd}4wNJRv&e0zj1-FoS_i0Rl_`zy;M}hb^&?AVR?dK}*;lp|sOH zX<10Z^b#nJu!TNk`Pk|90!Tse1&|!k$y74R6Z@z#rUS914MB0EmcEp+C0)lo<{=R6 zMOJ$VnMaHUaz%vjqp_WZ8hjKA5|^+~jnWK_MzX~cqW%GGa!Sp#j#RAIXv7agg^fc5 z*w3<7v_2dhPudFjl^VRWtXFuQDTyPfg;=mAS}2IV7Ltg2!Vw|FdKi+nRS@^l#ET8n zsC$}OLb!AUbRNY9Gz5b?0O-!M?R9TrNRg0A7(^Yz7)U$-AP9jF_EVRoU>zIWCIYSAci6FMXkjV3ULz= zmGOE9DAox{LJ7hhg?X1EOE8055ki+P9>k}6iHU>lK$;VJH!pz0Tz(1ynl{V=8{Wu8 zVr{h808hCf$$Oe7BEeaLbixyzsDmhCR1X074AX?=vQ zIVws6y|5d%?xackTLM4hvM28t#XGnCszI)h9gV{9Zb&tkUq;{sff=MfU%?|;EBaPH zVAsJOG*3^&)S7CY)@{6*n8>_IkUH~34@ha72C4JWGtb&rR^Ct@W)w7q|Lhk4ov^Pu z3ZjNG)0)_wd9@$JsSraX0yJ!!TCvEIn$i4$oNZB~Li&d<Cc%7m;XkyqGH+g4RvfYW&uDgFB)=ZId z5_0mZA)IT=V0~hT3-%;055Fjb4dR^(CQ@O1YV~Os3IImyiLY2~akWjyRgNIVf zgRj0G>(p)JA>QD7k3fTpAjWDOyiE&$T`5(n?W4u0^7d&+40@ctW?Q$o*d z$g8(%4}^5%UDJ~0QxID=ub=+INC|w^ zJ&81JTKbK2WYZQN-x(b;$530W^M2aTUT(|6KIrUiV z03Zc|P-Bcx)MAS@#K=4a?SRnC)?vSNAsGguc_4T8kP8NJOJ|L2B0w(i`T5TY`zAx5nh`~v_g z?h*s65DQ`$6cPPu(C&hP7vLctc2FGQ@mJ_*Z-}MaW{V

nxy+ZDK1HeM3E7$qD=9 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

+B3PmZd}#4nwfRrn^= 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%0A!4*j3%W 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 z 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%0Dw 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%0Ai%X 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 w$c9oXP(Ivx3$ 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­CslRzRaj${byojcYqd4ia<0sBOVIucrWapOOD&;eHd1h; zW@w?s6<=nP@S$cFWQLhsGU|xKV>H|lLv6FIb2dC3Lg&xpu4DAv=W;SiT}P98l-;8i zRdlFROTBcv9lcwtEg;Do^1ONj7Ijr3rg*iQXcf^ z7GXLe0}eId@FW2-=-p^Z!wX@V*B3M_oP>ya(-f-LV-P(^KeYp%QIYBF-l$#QJ6%QpLLw9{65ZML^` zJG9V5BaLEV2RySPI*<9KlP$=oV+;R5$Pfi3X#zPT98lJP#v613!NQ9(nrQ|bW`yyk zWy~4GsN0q}zfWW1=MKuc(8 z!x1yqpaqLS)VE}pF8J^U6h6AxrDf1J-)*JNfzCr9(%E%lbU*~MXDTD2%I=zGBOJv} zU*MsgrvL^t2O8#h8RU!dh-Z}zR;74XsZ2afctRAWP=zaGVGCXO!WS+Ecvc!m4Ik#2 z=y?fDz^YrBMnR0)$i^G5AjAI_z*h%2$V3>SSOXs%A-^h&q79aC2Q0+kxKD^-4OsYu z8S3YS-gwSibqZJLFyt(E7)Ma%;+g4=2Ct>ms8By~4hPk9FC9s3Qx$Z_zw9C^t=UnK zgJe&wrgTU|PDWJ@dzhB`Be&{}=^zL>6GtrakXNX|h;^ug-xP6+g@oe`UFd=saxuj~ z)WZy+s7D~o5C}&c!wdEJL>t;ri*R_M7IhM%$@By>n2F0c1>6~P+Gr?3CUY=&%+v(= z)u}!bNtx56rg{>2O>A0bhK#&n#6}azvZTgL9ZAqbBytNu7||1+_**4zksx7s0cBor zr6u@)4l%sp6IJ*`Ao%~#3@<#w42oz&7e3(yV9HF4!OTdwG=#HqSw}f;^qHfodC{so z4O97=+B29;5aE!i;*+@ng(PFx>q+<;X z?D8l(3ifL*(j;qJ-Kvw6#`UDzWa+MO2+3enj7;OK&4M06i(KeJu(}}GwcccrmO

    4i?Koz}Jw5Yq$M)f#5wMO%TN*ir!lPOo& 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

    o3Bh0hEbt&08rS9^1fHh)AQYMV{NR&12OfU1 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

    m| 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⁣hT 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�{}4K<^v4aSvcQp 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

    7h#v`_I!lrgdnP&-8cM!Vo0-?LdX4bm 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 EkaOBoFNFGjPQPKwMVVLDH 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

    9pW|=y9#XxhM2^Y&rm5PB80GfU+*fYJ) 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�zuraXXXPMELIgvj^-Z`v`w`*yd%gaBfun=3`ie8e(- zr}qmrd-)Y5HKr4pnoA!QIjb)#P)N>^u@&7W5eZft4?&GG=5&xrKpSVsV5tSf96Oks z8Xrrt(`qqwWEHN0DPxPhnmaOUM)ryo{yuSa@T_VzzmU1K*_(=I{A=dap+=FpQgxbM zbLc{Xo)CUtZeuFQHAYq|YJ!-xb8=7VZFAB?w=@m1c<4=H2~!~T=W7Z95taTJ#wqh+m;y)4G)Dc-mUzh4r;#)DJK5dVBu{Ny$JeGf6rXY-b?9xuWq zI5l$1>AZ7ixCGsjkzRtc*CH~;_f7}i1AnIeP^?#aPkr*y3%7vVgTS;CBt)Ief|O{v zjs0GA6l|6Jb-Kz!s(dlu8bz7jB2neTc=rH;W%57eZw6tJ2VwUE5v(~IU87m__(!s% zC1d-nYh|G8Q&-asRVCC1+<|z$&O;)~er7VmhIB@n2ac$|@-q81B9t&4mW;_tJpq`bGZ3fE!i?#QDYU+!_bvGp>AqniztAq{$5)cFglwOtId+#V9 z(i98hr8fQp=a&pl`6%$>P+?hkh+f54u-_w1~- zKF|BSUp;zdnR~KRWS0?qJTUPKEq*GmcrPushFylxzUA`Cg7JVBzd+Lh8v};Qm}8f1 zb#wg`FCS19I`m}oF{rWP$@YwAT<7_oC0pe0w?CJZbVd$I_}@ArX+z18?D#Cj*7L%e zgzKhPvL<`Z>lO6W!Y?i?JnfcPeaDqzB*f^+(gmw|1B;E§=CvQwOHwL=1TP^rZ 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 z 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 z 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%0D)- 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