From 6edcae393cf856320afffca097a84eae5b12e21a Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Mon, 29 May 2023 12:00:48 +0100 Subject: [PATCH 001/139] multitimer: allow one-shot alarms (delete after) --- apps/multitimer/ChangeLog | 1 + apps/multitimer/README.md | 1 + apps/multitimer/alarm.js | 8 +++++++- apps/multitimer/app.js | 22 ++++++++++++++-------- apps/multitimer/metadata.json | 2 +- 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/apps/multitimer/ChangeLog b/apps/multitimer/ChangeLog index 9a2ab0ff4..c682077e4 100644 --- a/apps/multitimer/ChangeLog +++ b/apps/multitimer/ChangeLog @@ -1,3 +1,4 @@ 0.01: Initial version 0.02: Update for time_utils module 0.03: Use default Bangle formatter for booleans +0.04: Add "Oneshot" setting to delete an alarm/timer after it sounds diff --git a/apps/multitimer/README.md b/apps/multitimer/README.md index f1e2eb281..4dcc4a8fd 100644 --- a/apps/multitimer/README.md +++ b/apps/multitimer/README.md @@ -2,6 +2,7 @@ With this app, you can set timers and chronographs (stopwatches) and watch them count down/up in real time. You can also set alarms - swipe left or right to switch between the three functions. "Hard mode" is also available for timers and alarms. It will double the number of buzz counts and you will have to swipe the screen five to eight times correctly - make a mistake, and you will need to start over. +"Oneshot" can be set on timers and alarms to have it delete itself once it's sounded. ## WARNING * Editing timers in another app (such as the default Alarm app) is not recommended. Editing alarms should not be a problem (in theory). diff --git a/apps/multitimer/alarm.js b/apps/multitimer/alarm.js index eb1b3b259..8c3b1cdd4 100644 --- a/apps/multitimer/alarm.js +++ b/apps/multitimer/alarm.js @@ -105,7 +105,13 @@ function showAlarm(alarm) { alarm.t = alarm.ot; delete alarm.ot; } - if (!alarm.rp) alarm.on = false; + if (!alarm.rp) { + alarm.on = false; + if (alarm.data.oneshot) { + const i = alarms.indexOf(alarm); + if (i >= 0) alarms.splice(i, 1); + } + } } //reset timer value if (alarm.timer) alarm.timer = alarm.data.ot; diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index 8832d1a25..b066607be 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -228,8 +228,7 @@ function editTimer(idx, a) { else a = timers[idx]; } if (!a.data) { - a.data = {}; - a.data.hm = false; + a.data = { hm: false, oneshot: false }; } var t = decodeTime(a.timer); @@ -291,10 +290,14 @@ function editTimer(idx, a) { } }, "Hard Mode": { - value: a.data.hm, + value: !!a.data.hm, onchange: v => a.data.hm = v }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), + "Oneshot": { + value: !!a.data.oneshot, + onchange: v => a.data.oneshot = v + }, "Msg": { value: !a.msg ? "" : a.msg.length > 6 ? a.msg.substring(0, 6)+"..." : a.msg, //menu glitch? setTimeout required here @@ -556,8 +559,7 @@ function editAlarm(idx, a) { else a = require("sched").newDefaultAlarm(); } if (!a.data) { - a.data = {}; - a.data.hm = false; + a.data = { hm: false, oneshot: false }; } var t = decodeTime(a.t); @@ -582,8 +584,8 @@ function editAlarm(idx, a) { var menu = { "": { "title": "Alarm" }, "< Back": () => { - if (a.data.hm == true) a.js = "(require('Storage').read('multitimer.alarm.js') !== undefined) ? load('multitimer.alarm.js') : load('sched.js')"; - if (a.data.hm == false && a.js) delete a.js; + if (a.data.hm || a.data.oneshot) a.js = "(require('Storage').read('multitimer.alarm.js') !== undefined) ? load('multitimer.alarm.js') : load('sched.js')"; + else if (a.js) delete a.js; if (idx >= 0) alarms[alarmIdx[idx]] = a; else alarms.push(a); require("sched").setAlarms(alarms); @@ -617,10 +619,14 @@ function editAlarm(idx, a) { onchange: () => editDOW(a.dow, d=>{a.dow=d;editAlarm(idx,a);}) }, "Hard Mode": { - value: a.data.hm, + value: !!a.data.hm, onchange: v => a.data.hm = v }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), + "Oneshot": { + value: !!a.data.oneshot, + onchange: v => a.data.oneshot = v + }, "Auto Snooze": { value: a.as, onchange: v => a.as = v diff --git a/apps/multitimer/metadata.json b/apps/multitimer/metadata.json index ee77d2ecb..0c9eddc9e 100644 --- a/apps/multitimer/metadata.json +++ b/apps/multitimer/metadata.json @@ -1,7 +1,7 @@ { "id": "multitimer", "name": "Multi Timer", - "version": "0.03", + "version": "0.04", "description": "Set timers and chronographs (stopwatches) and watch them count down in real time. Pause, create, edit, and delete timers and chronos, and add custom labels/messages. Also sets alarms.", "icon": "app.png", "screenshots": [ From 3aaff4b460e74d692d45e306c2e28069cd9e1e4c Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 7 Jun 2023 17:45:05 +0100 Subject: [PATCH 002/139] multitimer: update from sched.js --- apps/multitimer/alarm.js | 91 ++++++++++++++++++++++++++++++---------- 1 file changed, 68 insertions(+), 23 deletions(-) diff --git a/apps/multitimer/alarm.js b/apps/multitimer/alarm.js index 8c3b1cdd4..77aa416b9 100644 --- a/apps/multitimer/alarm.js +++ b/apps/multitimer/alarm.js @@ -70,14 +70,19 @@ function startHM() { } function showAlarm(alarm) { + const alarmIndex = alarms.indexOf(alarm); const settings = require("sched").getSettings(); - let msg = ""; - if (alarm.timer) msg += require("time_utils").formatTime(alarm.timer); + let message = ""; + message += alarm.timer ? require("time_utils").formatDuration(alarm.timer) : require("time_utils").formatTime(alarm.t); if (alarm.msg) { - msg += "\n"+alarm.msg; + message += "\n" + alarm.msg; + } else { + message = (alarm.timer + ? atob("ACQswgD//33vRcGHIQAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAAAP/wAAAAAAAAAP/wAAAAAAAAAqqoAPAAAAAAqqqqoP8AAAAKqqqqqv/AAACqqqqqqq/wAAKqqqlWqqvwAAqqqqlVaqrAACqqqqlVVqqAAKqqqqlVVaqgAKqaqqlVVWqgAqpWqqlVVVqoAqlWqqlVVVaoCqlV6qlVVVaqCqVVfqlVVVWqCqVVf6lVVVWqKpVVX/lVVVVqqpVVV/+VVVVqqpVVV//lVVVqqpVVVfr1VVVqqpVVVfr1VVVqqpVVVb/lVVVqqpVVVW+VVVVqqpVVVVVVVVVqiqVVVVVVVVWqCqVVVVVVVVWqCqlVVVVVVVaqAqlVVVVVVVaoAqpVVVVVVVqoAKqVVVVVVWqgAKqlVVVVVaqgACqpVVVVVqqAAAqqlVVVaqoAAAKqqVVWqqgAAACqqqqqqqAAAAAKqqqqqgAAAAAAqqqqoAAAAAAAAqqoAAAAA==") + : atob("AC0swgF97///RcEpMlVVVVVVf9VVVVVVVVX/9VVf9VVf/1VVV///1Vf9VX///VVX///VWqqlV///1Vf//9aqqqqpf//9V///2qqqqqqn///V///6qqqqqqr///X//+qqoAAKqqv//3//6qoAAAAKqr//3//qqAAAAAAqq//3/+qoAADwAAKqv/3/+qgAADwAACqv/3/aqAAADwAAAqp/19qoAAADwAAAKqfV1qgAAADwAAACqXVWqgAAADwAAACqlVWqAAAADwAAAAqlVWqAAAADwAAAAqlVWqAAAADwAAAAqlVaoAAAADwAAAAKpVaoAAAADwAAAAKpVaoAAAADwAAAAKpVaoAAAAOsAAAAKpVaoAAAAOsAAAAKpVaoAAAAL/AAAAKpVaoAAAAgPwAAAKpVaoAAACAD8AAAKpVWqAAAIAA/AAAqlVWqAAAgAAPwAAqlVWqAACAAADwAAqlVWqgAIAAAAAACqlVVqgAgAAAAAACqVVVqoAAAAAAAAKqVVVaqAAAAAAAAqpVVVWqgAAAAAACqlVVVWqoAAAAAAKqlVVVVqqAAAAAAqqVVVVVaqoAAAAKqpVVVVVeqqoAAKqqtVVVVV/6qqqqqqr/VVVVX/2qqqqqqn/1VVVf/VaqqqqpV/9VVVf9VVWqqlVVf9VVVf1VVVVVVVVX9VQ==") + ) + " " + message } - else msg = atob("ACQswgD//33vRcGHIQAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAAAP/wAAAAAAAAAP/wAAAAAAAAAqqoAPAAAAAAqqqqoP8AAAAKqqqqqv/AAACqqqqqqq/wAAKqqqlWqqvwAAqqqqlVaqrAACqqqqlVVqqAAKqqqqlVVaqgAKqaqqlVVWqgAqpWqqlVVVqoAqlWqqlVVVaoCqlV6qlVVVaqCqVVfqlVVVWqCqVVf6lVVVWqKpVVX/lVVVVqqpVVV/+VVVVqqpVVV//lVVVqqpVVVfr1VVVqqpVVVfr1VVVqqpVVVb/lVVVqqpVVVW+VVVVqqpVVVVVVVVVqiqVVVVVVVVWqCqVVVVVVVVWqCqlVVVVVVVaqAqlVVVVVVVaoAqpVVVVVVVqoAKqVVVVVVWqgAKqlVVVVVaqgACqpVVVVVqqAAAqqlVVVaqoAAAKqqVVWqqgAAACqqqqqqqAAAAAKqqqqqgAAAAAAqqqqoAAAAAAAAqqoAAAAA==")+" "+msg; Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -91,31 +96,42 @@ function showAlarm(alarm) { } else { - E.showPrompt(msg,{ - title: "TIMER!", - buttons : {"Snooze":true,"Ok":false} // default is sleep so it'll come back in 10 mins - }).then(function(sleep) { + E.showPrompt(message, { + title: alarm.timer ? /*LANG*/"TIMER!" : /*LANG*/"ALARM!", + buttons: { /*LANG*/"Snooze": true, /*LANG*/"Stop": false } // default is sleep so it'll come back in some mins + }).then(function (sleep) { buzzCount = 0; + if (sleep) { - if(alarm.ot===undefined) alarm.ot = alarm.t; - alarm.t += settings.defaultSnoozeMillis; - } else { - if (!alarm.timer) alarm.last = (new Date()).getDate(); - if (alarm.ot!==undefined) { - alarm.t = alarm.ot; - delete alarm.ot; + if (alarm.ot === undefined) { + alarm.ot = alarm.t; } - if (!alarm.rp) { - alarm.on = false; - if (alarm.data.oneshot) { - const i = alarms.indexOf(alarm); - if (i >= 0) alarms.splice(i, 1); + alarm.t += settings.defaultSnoozeMillis; + Bangle.emit("alarmSnooze", alarm); + } else { + let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; + if (del) { + if (alarmIndex >= 0) alarms.splice(alarmIndex, 1); + } else { + if (alarm.date && alarm.rp) { + setNextRepeatDate(alarm); + } else if (!alarm.timer) { + alarm.last = new Date().getDate(); + } + if (alarm.ot !== undefined) { + alarm.t = alarm.ot; + delete alarm.ot; + } + if (!alarm.rp) { + alarm.on = false; } } + Bangle.emit("alarmDismiss", alarm); } //reset timer value if (alarm.timer) alarm.timer = alarm.data.ot; - // alarm is still a member of 'alarms', so writing to array writes changes back directly + // The updated alarm is still a member of 'alarms' + // so writing to array writes changes back directly require("sched").setAlarms(alarms); load(); }); @@ -126,7 +142,8 @@ function showAlarm(alarm) { Bangle.setLocked(false); } - require("buzz").pattern(alarm.vibrate === undefined ? "::" : alarm.vibrate).then(() => { + const pattern = alarm.vibrate || (alarm.timer ? settings.defaultTimerPattern : settings.defaultAlarmPattern); + require("buzz").pattern(pattern).then(() => { if (buzzCount--) { setTimeout(buzz, settings.buzzIntervalMillis); } else if (alarm.as) { // auto-snooze @@ -136,13 +153,41 @@ function showAlarm(alarm) { }); } + function setNextRepeatDate(alarm) { + let date = new Date(alarm.date); + let rp = alarm.rp; + if (rp===true) { // fallback in case rp is set wrong + date.setDate(date.getDate() + 1); + } else switch(rp.interval) { // rp is an object + case "day": + date.setDate(date.getDate() + rp.num); + break; + case "week": + date.setDate(date.getDate() + (rp.num * 7)); + break; + case "month": + if (!alarm.od) alarm.od = date.getDate(); + date = new Date(date.getFullYear(), date.getMonth() + rp.num, alarm.od); + if (date.getDate() != alarm.od) date.setDate(0); + break; + case "year": + if (!alarm.od) alarm.od = date.getDate(); + date = new Date(date.getFullYear() + rp.num, date.getMonth(), alarm.od); + if (date.getDate() != alarm.od) date.setDate(0); + break; + default: + console.log(`sched: unknown repeat '${JSON.stringify(rp)}'`); + break; + } + alarm.date = date.toLocalISOString().slice(0,10); + } + if ((require("Storage").readJSON("setting.json", 1) || {}).quiet > 1) return; buzz(); } -// Check for alarms let alarms = require("sched").getAlarms(); let active = require("sched").getActiveAlarms(alarms); if (active.length) { From 508808cc3d86edcb7c8803c098638c9106fe06e3 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 7 Jun 2023 17:57:00 +0100 Subject: [PATCH 003/139] sched: only splice out alarm, if it's present in alarms --- apps/sched/sched.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/sched/sched.js b/apps/sched/sched.js index 3deb9d1f0..6eea4add5 100644 --- a/apps/sched/sched.js +++ b/apps/sched/sched.js @@ -40,7 +40,7 @@ function showAlarm(alarm) { } else { let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; if (del) { - alarms.splice(alarmIndex, 1); + if (alarmIndex >= 0) alarms.splice(alarmIndex, 1); } else { if (alarm.date && alarm.rp) { setNextRepeatDate(alarm); From 70ea8df149688d7f45ce2ca4e5dc0da1bc31f7c8 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 7 Jun 2023 17:57:43 +0100 Subject: [PATCH 004/139] multitimer: align with alarm app --- apps/multitimer/ChangeLog | 2 +- apps/multitimer/README.md | 2 +- apps/multitimer/app.js | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/multitimer/ChangeLog b/apps/multitimer/ChangeLog index c682077e4..3100146e9 100644 --- a/apps/multitimer/ChangeLog +++ b/apps/multitimer/ChangeLog @@ -1,4 +1,4 @@ 0.01: Initial version 0.02: Update for time_utils module 0.03: Use default Bangle formatter for booleans -0.04: Add "Oneshot" setting to delete an alarm/timer after it sounds +0.04: Merge in alarm app's newer changes: diff --git a/apps/multitimer/README.md b/apps/multitimer/README.md index 4dcc4a8fd..d5bf957a6 100644 --- a/apps/multitimer/README.md +++ b/apps/multitimer/README.md @@ -2,7 +2,7 @@ With this app, you can set timers and chronographs (stopwatches) and watch them count down/up in real time. You can also set alarms - swipe left or right to switch between the three functions. "Hard mode" is also available for timers and alarms. It will double the number of buzz counts and you will have to swipe the screen five to eight times correctly - make a mistake, and you will need to start over. -"Oneshot" can be set on timers and alarms to have it delete itself once it's sounded. +"Oneshot" can be set on timers and alarms to have it delete itself once it's sounded (uses the "Delete after expiration" setting from the alarm app). ## WARNING * Editing timers in another app (such as the default Alarm app) is not recommended. Editing alarms should not be a problem (in theory). diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index b066607be..d8459eaa6 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -228,7 +228,7 @@ function editTimer(idx, a) { else a = timers[idx]; } if (!a.data) { - a.data = { hm: false, oneshot: false }; + a.data = { hm: false }; } var t = decodeTime(a.timer); @@ -295,8 +295,8 @@ function editTimer(idx, a) { }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), "Oneshot": { - value: !!a.data.oneshot, - onchange: v => a.data.oneshot = v + value: !!a.del, + onchange: v => a.del = v }, "Msg": { value: !a.msg ? "" : a.msg.length > 6 ? a.msg.substring(0, 6)+"..." : a.msg, @@ -584,7 +584,7 @@ function editAlarm(idx, a) { var menu = { "": { "title": "Alarm" }, "< Back": () => { - if (a.data.hm || a.data.oneshot) a.js = "(require('Storage').read('multitimer.alarm.js') !== undefined) ? load('multitimer.alarm.js') : load('sched.js')"; + if (a.data.hm) a.js = "(require('Storage').read('multitimer.alarm.js') !== undefined) ? load('multitimer.alarm.js') : load('sched.js')"; else if (a.js) delete a.js; if (idx >= 0) alarms[alarmIdx[idx]] = a; else alarms.push(a); @@ -624,8 +624,8 @@ function editAlarm(idx, a) { }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), "Oneshot": { - value: !!a.data.oneshot, - onchange: v => a.data.oneshot = v + value: !!a.del, + onchange: v => a.del = v }, "Auto Snooze": { value: a.as, From e6f61ccc6b9c2ccd1d168137d604760c2a81a4c9 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 7 Jun 2023 17:57:52 +0100 Subject: [PATCH 005/139] multitimer: trim whitespace --- apps/multitimer/README.md | 2 +- apps/multitimer/app.js | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/multitimer/README.md b/apps/multitimer/README.md index d5bf957a6..cbbe5c92c 100644 --- a/apps/multitimer/README.md +++ b/apps/multitimer/README.md @@ -6,6 +6,6 @@ With this app, you can set timers and chronographs (stopwatches) and watch them ## WARNING * Editing timers in another app (such as the default Alarm app) is not recommended. Editing alarms should not be a problem (in theory). -* This app uses the [Scheduler library](https://banglejs.com/apps/?id=sched). +* This app uses the [Scheduler library](https://banglejs.com/apps/?id=sched). * To avoid potential conflicts with other apps that uses sched (especially ones that make use of the data and js field), this app only lists timers and alarms that it created - any made outside the app will be ignored. GB alarms are currently an exception as they do not make use of the data and js field. * A keyboard app is only used for adding messages to timers and is therefore not strictly needed. diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index d8459eaa6..841b7b6e9 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -232,7 +232,7 @@ function editTimer(idx, a) { } var t = decodeTime(a.timer); - function editMsg(idx, a) { + function editMsg(idx, a) { g.clear(); idx < 0 ? msg = "" : msg = a.msg; require("textinput").input({text:msg}).then(result => { @@ -385,7 +385,7 @@ function swMenu(idx, a) { }, 100 - (a.t % 100)); } - function editMsg(idx, a) { + function editMsg(idx, a) { g.clear(); msg = a.msg; require("textinput").input({text:msg}).then(result => { @@ -559,11 +559,11 @@ function editAlarm(idx, a) { else a = require("sched").newDefaultAlarm(); } if (!a.data) { - a.data = { hm: false, oneshot: false }; + a.data = { hm: false }; } var t = decodeTime(a.t); - function editMsg(idx, a) { + function editMsg(idx, a) { g.clear(); idx < 0 ? msg = "" : msg = a.msg; require("textinput").input({text:msg}).then(result => { @@ -659,7 +659,7 @@ Bangle.on("drag", e=>{ if (layer < 0) return; if (!drag) { // start dragging drag = {x: e.x, y: e.y}; - } + } else if (!e.b) { // released const dx = e.x-drag.x, dy = e.y-drag.y; drag = null; From b56865a136bc236e7e59d3c506328d9fc58b4783 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 11 Jun 2023 19:29:44 +0100 Subject: [PATCH 006/139] multitimer/sched: use triggercheck for pre-alarm code --- apps/multitimer/alarm.js | 199 ---------------------------------- apps/multitimer/app.js | 25 ++++- apps/multitimer/boot.js | 8 ++ apps/multitimer/ext.js | 64 +++++++++++ apps/multitimer/metadata.json | 3 +- apps/sched/sched.js | 86 ++++++++------- typescript/types/sched.d.ts | 4 + 7 files changed, 148 insertions(+), 241 deletions(-) delete mode 100644 apps/multitimer/alarm.js create mode 100644 apps/multitimer/boot.js create mode 100644 apps/multitimer/ext.js diff --git a/apps/multitimer/alarm.js b/apps/multitimer/alarm.js deleted file mode 100644 index 77aa416b9..000000000 --- a/apps/multitimer/alarm.js +++ /dev/null @@ -1,199 +0,0 @@ -//sched.js, modified -// Chances are boot0.js got run already and scheduled *another* -// 'load(sched.js)' - so let's remove it first! -if (Bangle.SCHED) { - clearInterval(Bangle.SCHED); - delete Bangle.SCHED; -} - -function hardMode(tries, max) { - var R = Bangle.appRect; - - function adv() { - tries++; - hardMode(tries, max); - } - - if (tries < max) { - g.clear(); - g.reset(); - g.setClipRect(R.x,R.y,R.x2,R.y2); - var code = Math.abs(E.hwRand()%4); - if (code == 0) dir = "up"; - else if (code == 1) dir = "right"; - else if (code == 2) dir = "down"; - else dir = "left"; - g.setFont("6x8:2").setFontAlign(0,0).drawString(tries+"/"+max+"\nSwipe "+dir, (R.x2-R.x)/2, (R.y2-R.y)/2); - var drag; - Bangle.setUI({ - mode : "custom", - drag : e=>{ - if (!drag) { // start dragging - drag = {x: e.x, y: e.y}; - } else if (!e.b) { // released - const dx = e.x-drag.x, dy = e.y-drag.y; - drag = null; - //horizontal swipes - if (Math.abs(dx)>Math.abs(dy)+10) { - //left - if (dx<0 && code == 3) adv(); - //right - else if (dx>0 && code == 1) adv(); - //wrong swipe - reset - else startHM(); - } - //vertical swipes - else if (Math.abs(dy)>Math.abs(dx)+10) { - //up - if (dy<0 && code == 0) adv(); - //down - else if (dy>0 && code == 2) adv(); - //wrong swipe - reset - else startHM(); - } - } - } - }); - } - else { - if (!active[0].timer) active[0].last = (new Date()).getDate(); - if (!active[0].rp) active[0].on = false; - if (active[0].timer) active[0].timer = active[0].data.ot; - require("sched").setAlarms(alarms); - load(); - } -} - -function startHM() { - //between 5-8 random swipes - hardMode(0, Math.abs(E.hwRand()%4)+5); -} - -function showAlarm(alarm) { - const alarmIndex = alarms.indexOf(alarm); - const settings = require("sched").getSettings(); - - let message = ""; - message += alarm.timer ? require("time_utils").formatDuration(alarm.timer) : require("time_utils").formatTime(alarm.t); - if (alarm.msg) { - message += "\n" + alarm.msg; - } else { - message = (alarm.timer - ? atob("ACQswgD//33vRcGHIQAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAABVVVAAAAAAAAAP/wAAAAAAAAAP/wAAAAAAAAAqqoAPAAAAAAqqqqoP8AAAAKqqqqqv/AAACqqqqqqq/wAAKqqqlWqqvwAAqqqqlVaqrAACqqqqlVVqqAAKqqqqlVVaqgAKqaqqlVVWqgAqpWqqlVVVqoAqlWqqlVVVaoCqlV6qlVVVaqCqVVfqlVVVWqCqVVf6lVVVWqKpVVX/lVVVVqqpVVV/+VVVVqqpVVV//lVVVqqpVVVfr1VVVqqpVVVfr1VVVqqpVVVb/lVVVqqpVVVW+VVVVqqpVVVVVVVVVqiqVVVVVVVVWqCqVVVVVVVVWqCqlVVVVVVVaqAqlVVVVVVVaoAqpVVVVVVVqoAKqVVVVVVWqgAKqlVVVVVaqgACqpVVVVVqqAAAqqlVVVaqoAAAKqqVVWqqgAAACqqqqqqqAAAAAKqqqqqgAAAAAAqqqqoAAAAAAAAqqoAAAAA==") - : atob("AC0swgF97///RcEpMlVVVVVVf9VVVVVVVVX/9VVf9VVf/1VVV///1Vf9VX///VVX///VWqqlV///1Vf//9aqqqqpf//9V///2qqqqqqn///V///6qqqqqqr///X//+qqoAAKqqv//3//6qoAAAAKqr//3//qqAAAAAAqq//3/+qoAADwAAKqv/3/+qgAADwAACqv/3/aqAAADwAAAqp/19qoAAADwAAAKqfV1qgAAADwAAACqXVWqgAAADwAAACqlVWqAAAADwAAAAqlVWqAAAADwAAAAqlVWqAAAADwAAAAqlVaoAAAADwAAAAKpVaoAAAADwAAAAKpVaoAAAADwAAAAKpVaoAAAAOsAAAAKpVaoAAAAOsAAAAKpVaoAAAAL/AAAAKpVaoAAAAgPwAAAKpVaoAAACAD8AAAKpVWqAAAIAA/AAAqlVWqAAAgAAPwAAqlVWqAACAAADwAAqlVWqgAIAAAAAACqlVVqgAgAAAAAACqVVVqoAAAAAAAAKqVVVaqAAAAAAAAqpVVVWqgAAAAAACqlVVVWqoAAAAAAKqlVVVVqqAAAAAAqqVVVVVaqoAAAAKqpVVVVVeqqoAAKqqtVVVVV/6qqqqqqr/VVVVX/2qqqqqqn/1VVVf/VaqqqqpV/9VVVf9VVWqqlVVf9VVVf1VVVVVVVVX9VQ==") - ) + " " + message - } - - Bangle.loadWidgets(); - Bangle.drawWidgets(); - - let buzzCount = settings.buzzCount; - - if (alarm.data.hm && alarm.data.hm == true) { - //hard mode extends auto-snooze time - buzzCount = buzzCount * 3; - startHM(); - } - - else { - E.showPrompt(message, { - title: alarm.timer ? /*LANG*/"TIMER!" : /*LANG*/"ALARM!", - buttons: { /*LANG*/"Snooze": true, /*LANG*/"Stop": false } // default is sleep so it'll come back in some mins - }).then(function (sleep) { - buzzCount = 0; - - if (sleep) { - if (alarm.ot === undefined) { - alarm.ot = alarm.t; - } - alarm.t += settings.defaultSnoozeMillis; - Bangle.emit("alarmSnooze", alarm); - } else { - let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; - if (del) { - if (alarmIndex >= 0) alarms.splice(alarmIndex, 1); - } else { - if (alarm.date && alarm.rp) { - setNextRepeatDate(alarm); - } else if (!alarm.timer) { - alarm.last = new Date().getDate(); - } - if (alarm.ot !== undefined) { - alarm.t = alarm.ot; - delete alarm.ot; - } - if (!alarm.rp) { - alarm.on = false; - } - } - Bangle.emit("alarmDismiss", alarm); - } - //reset timer value - if (alarm.timer) alarm.timer = alarm.data.ot; - // The updated alarm is still a member of 'alarms' - // so writing to array writes changes back directly - require("sched").setAlarms(alarms); - load(); - }); - } - - function buzz() { - if (settings.unlockAtBuzz) { - Bangle.setLocked(false); - } - - const pattern = alarm.vibrate || (alarm.timer ? settings.defaultTimerPattern : settings.defaultAlarmPattern); - require("buzz").pattern(pattern).then(() => { - if (buzzCount--) { - setTimeout(buzz, settings.buzzIntervalMillis); - } else if (alarm.as) { // auto-snooze - buzzCount = settings.buzzCount; - setTimeout(buzz, settings.defaultSnoozeMillis); - } - }); - } - - function setNextRepeatDate(alarm) { - let date = new Date(alarm.date); - let rp = alarm.rp; - if (rp===true) { // fallback in case rp is set wrong - date.setDate(date.getDate() + 1); - } else switch(rp.interval) { // rp is an object - case "day": - date.setDate(date.getDate() + rp.num); - break; - case "week": - date.setDate(date.getDate() + (rp.num * 7)); - break; - case "month": - if (!alarm.od) alarm.od = date.getDate(); - date = new Date(date.getFullYear(), date.getMonth() + rp.num, alarm.od); - if (date.getDate() != alarm.od) date.setDate(0); - break; - case "year": - if (!alarm.od) alarm.od = date.getDate(); - date = new Date(date.getFullYear() + rp.num, date.getMonth(), alarm.od); - if (date.getDate() != alarm.od) date.setDate(0); - break; - default: - console.log(`sched: unknown repeat '${JSON.stringify(rp)}'`); - break; - } - alarm.date = date.toLocalISOString().slice(0,10); - } - - if ((require("Storage").readJSON("setting.json", 1) || {}).quiet > 1) - return; - - buzz(); -} - -let alarms = require("sched").getAlarms(); -let active = require("sched").getActiveAlarms(alarms); -if (active.length) { - // if there's an alarm, show it - showAlarm(active[0]); -} else { - // otherwise just go back to default app - setTimeout(load, 100); -} diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index 841b7b6e9..c3b9aa629 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -1,6 +1,13 @@ Bangle.loadWidgets(); Bangle.drawWidgets(); +const triggercheck = ` + eval(require("Storage").read("multitimer.ext.js")); + buzzCount *= 3; + startHM(); + "skipPrompt" +`; + var R = Bangle.appRect; var layer; var drag; @@ -290,8 +297,13 @@ function editTimer(idx, a) { } }, "Hard Mode": { - value: !!a.data.hm, - onchange: v => a.data.hm = v + value: !!a.triggercheck, + onchange: v => { + if (v) + a.triggercheck = triggercheck; + else + delete a.triggercheck; + }, }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), "Oneshot": { @@ -619,8 +631,13 @@ function editAlarm(idx, a) { onchange: () => editDOW(a.dow, d=>{a.dow=d;editAlarm(idx,a);}) }, "Hard Mode": { - value: !!a.data.hm, - onchange: v => a.data.hm = v + value: !!a.triggercheck, + onchange: v => { + if (v) + a.triggercheck = triggercheck; + else + delete a.triggercheck; + }, }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), "Oneshot": { diff --git a/apps/multitimer/boot.js b/apps/multitimer/boot.js new file mode 100644 index 000000000..13f1d6363 --- /dev/null +++ b/apps/multitimer/boot.js @@ -0,0 +1,8 @@ +{ + const resetTimer = alarm => { + if (alarm.timer) alarm.timer = alarm.data.ot; + }; + + Bangle.on("alarmSnooze", resetTimer); + Bangle.on("alarmDismiss", resetTimer); +} diff --git a/apps/multitimer/ext.js b/apps/multitimer/ext.js new file mode 100644 index 000000000..6e29e737d --- /dev/null +++ b/apps/multitimer/ext.js @@ -0,0 +1,64 @@ +// called by alarm.triggercheck + +function hardMode(tries, max) { + var R = Bangle.appRect; + + function adv() { + tries++; + hardMode(tries, max); + } + + if (tries < max) { + g.clear(); + g.reset(); + g.setClipRect(R.x,R.y,R.x2,R.y2); + var code = Math.abs(E.hwRand()%4); + if (code == 0) dir = "up"; + else if (code == 1) dir = "right"; + else if (code == 2) dir = "down"; + else dir = "left"; + g.setFont("6x8:2").setFontAlign(0,0).drawString(tries+"/"+max+"\nSwipe "+dir, (R.x2-R.x)/2, (R.y2-R.y)/2); + var drag; + Bangle.setUI({ + mode : "custom", + drag : e=>{ + if (!drag) { // start dragging + drag = {x: e.x, y: e.y}; + } else if (!e.b) { // released + const dx = e.x-drag.x, dy = e.y-drag.y; + drag = null; + //horizontal swipes + if (Math.abs(dx)>Math.abs(dy)+10) { + //left + if (dx<0 && code == 3) adv(); + //right + else if (dx>0 && code == 1) adv(); + //wrong swipe - reset + else startHM(); + } + //vertical swipes + else if (Math.abs(dy)>Math.abs(dx)+10) { + //up + if (dy<0 && code == 0) adv(); + //down + else if (dy>0 && code == 2) adv(); + //wrong swipe - reset + else startHM(); + } + } + } + }); + } + else { + if (!active[0].timer) active[0].last = (new Date()).getDate(); + if (!active[0].rp) active[0].on = false; + if (active[0].timer) active[0].timer = active[0].data.ot; + require("sched").setAlarms(alarms); + load(); + } +} + +function startHM() { + //between 5-8 random swipes + hardMode(0, Math.abs(E.hwRand()%4)+5); +} diff --git a/apps/multitimer/metadata.json b/apps/multitimer/metadata.json index 0c9eddc9e..6ae92fbdc 100644 --- a/apps/multitimer/metadata.json +++ b/apps/multitimer/metadata.json @@ -14,7 +14,8 @@ "readme": "README.md", "storage": [ {"name":"multitimer.app.js","url":"app.js"}, - {"name":"multitimer.alarm.js","url":"alarm.js"}, + {"name":"multitimer.boot.js","url":"boot.js"}, + {"name":"multitimer.ext.js","url":"ext.js"}, {"name":"multitimer.img","url":"app-icon.js","evaluate":true} ], "data": [{"name":"multitimer.json"}], diff --git a/apps/sched/sched.js b/apps/sched/sched.js index 6eea4add5..9b5bb149c 100644 --- a/apps/sched/sched.js +++ b/apps/sched/sched.js @@ -24,45 +24,57 @@ function showAlarm(alarm) { Bangle.drawWidgets(); let buzzCount = settings.buzzCount; + let showPrompt = true; - E.showPrompt(message, { - title: alarm.timer ? /*LANG*/"TIMER!" : /*LANG*/"ALARM!", - buttons: { /*LANG*/"Snooze": true, /*LANG*/"Stop": false } // default is sleep so it'll come back in some mins - }).then(function (sleep) { - buzzCount = 0; - - if (sleep) { - if (alarm.ot === undefined) { - alarm.ot = alarm.t; - } - alarm.t += settings.defaultSnoozeMillis; - Bangle.emit("alarmSnooze", alarm); - } else { - let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; - if (del) { - if (alarmIndex >= 0) alarms.splice(alarmIndex, 1); - } else { - if (alarm.date && alarm.rp) { - setNextRepeatDate(alarm); - } else if (!alarm.timer) { - alarm.last = new Date().getDate(); - } - if (alarm.ot !== undefined) { - alarm.t = alarm.ot; - delete alarm.ot; - } - if (!alarm.rp) { - alarm.on = false; - } - } - Bangle.emit("alarmDismiss", alarm); + if (alarm.triggercheck) { + try { + const action = eval(alarm.triggercheck); + if (action === "skipPrompt") + showPrompt = false; + } catch (e) { + // ignore errors, continue } + } + if (showPrompt) { + E.showPrompt(message, { + title: alarm.timer ? /*LANG*/"TIMER!" : /*LANG*/"ALARM!", + buttons: { /*LANG*/"Snooze": true, /*LANG*/"Stop": false } // default is sleep so it'll come back in some mins + }).then(function (sleep) { + buzzCount = 0; - // The updated alarm is still a member of 'alarms' - // so writing to array writes changes back directly - require("sched").setAlarms(alarms); - load(); - }); + if (sleep) { + if (alarm.ot === undefined) { + alarm.ot = alarm.t; + } + alarm.t += settings.defaultSnoozeMillis; + Bangle.emit("alarmSnooze", alarm); + } else { + let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; + if (del) { + if (alarmIndex >= 0) alarms.splice(alarmIndex, 1); + } else { + if (alarm.date && alarm.rp) { + setNextRepeatDate(alarm); + } else if (!alarm.timer) { + alarm.last = new Date().getDate(); + } + if (alarm.ot !== undefined) { + alarm.t = alarm.ot; + delete alarm.ot; + } + if (!alarm.rp) { + alarm.on = false; + } + } + Bangle.emit("alarmDismiss", alarm); + } + + // The updated alarm is still a member of 'alarms' + // so writing to array writes changes back directly + require("sched").setAlarms(alarms); + load(); + }); + } function buzz() { if (settings.unlockAtBuzz) { @@ -102,7 +114,7 @@ function showAlarm(alarm) { date = new Date(date.getFullYear() + rp.num, date.getMonth(), alarm.od); if (date.getDate() != alarm.od) date.setDate(0); break; - default: + default: console.log(`sched: unknown repeat '${JSON.stringify(rp)}'`); break; } diff --git a/typescript/types/sched.d.ts b/typescript/types/sched.d.ts index 78ad0c8d4..f12e425db 100644 --- a/typescript/types/sched.d.ts +++ b/typescript/types/sched.d.ts @@ -65,6 +65,10 @@ declare module Sched { js?: string, data?: unknown, + // optional features + triggercheck?: string, // code that's eval'd when the alarm is triggered, + // may return "skipPrompt" to cancel the default behaviour + // set by sched last?: number, } & ( From 8a63039b4661b46c8787380bb792893fc77d19e2 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 11 Jun 2023 19:29:54 +0100 Subject: [PATCH 007/139] multitimer/sched: version bump --- apps/multitimer/ChangeLog | 2 +- apps/sched/ChangeLog | 1 + apps/sched/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/multitimer/ChangeLog b/apps/multitimer/ChangeLog index 3100146e9..252d8a227 100644 --- a/apps/multitimer/ChangeLog +++ b/apps/multitimer/ChangeLog @@ -1,4 +1,4 @@ 0.01: Initial version 0.02: Update for time_utils module 0.03: Use default Bangle formatter for booleans -0.04: Merge in alarm app's newer changes: +0.04: Use sched's triggercheck to run hardmode, and listeners for timer reset diff --git a/apps/sched/ChangeLog b/apps/sched/ChangeLog index 92b04fb32..951f4e2cc 100644 --- a/apps/sched/ChangeLog +++ b/apps/sched/ChangeLog @@ -23,3 +23,4 @@ 0.20: Alarm dismiss and snooze events 0.21: Fix crash in clock_info 0.22: Dated event repeat option +0.23: Allow alarms to run custom code (and disable the default prompt) when triggered diff --git a/apps/sched/metadata.json b/apps/sched/metadata.json index aa286ce6a..7f94a0a18 100644 --- a/apps/sched/metadata.json +++ b/apps/sched/metadata.json @@ -1,7 +1,7 @@ { "id": "sched", "name": "Scheduler", - "version": "0.22", + "version": "0.23", "description": "Scheduling library for alarms and timers", "icon": "app.png", "type": "scheduler", From 07d8e1078cf1a474d093b18f090b910eb52260e2 Mon Sep 17 00:00:00 2001 From: Nick Breland Date: Tue, 13 Jun 2023 22:02:03 +0100 Subject: [PATCH 008/139] Add Swatch Internet Time widget (widswatchbeats) --- apps/widswatchbeats/metadata.json | 18 +++++++++++++ apps/widswatchbeats/widget-icon.js | 1 + apps/widswatchbeats/widget.js | 41 ++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 apps/widswatchbeats/metadata.json create mode 100644 apps/widswatchbeats/widget-icon.js create mode 100644 apps/widswatchbeats/widget.js diff --git a/apps/widswatchbeats/metadata.json b/apps/widswatchbeats/metadata.json new file mode 100644 index 000000000..732db6a6d --- /dev/null +++ b/apps/widswatchbeats/metadata.json @@ -0,0 +1,18 @@ +{ + "id": "widswatchbeats", + "name": "Swatch Internet Time", + "icon": "widget.png", + "version": "0.01", + "description": "Displays the current .beat (Swatch Internet Time)", + "tags": "time,swatch,internet,beat,.beat,clock", + "storage": [{ + "name": "widswatchbeats.wid.js", + "url": "widget.js" + }, + { + "name": "widswatchbeats.img", + "url": "widget-icon.js", + "evaluate": true + } + ] +} diff --git a/apps/widswatchbeats/widget-icon.js b/apps/widswatchbeats/widget-icon.js new file mode 100644 index 000000000..efc1c1393 --- /dev/null +++ b/apps/widswatchbeats/widget-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("7FUwcB/4A/AH4A/AH4A/AH4A/AH4A/AAWAgAACj5F/ABP8J4cAgZG/KH4AD+A5Eh5Q/KH5Q/KH5Q/KH5Q/KH5Q/KH5Q/KH5Q/KH5Q/KH5Q18BWNC4p6bKD34AwcBCxAOEAAV/CKAjG4AOGEZhQK/wbFn4VGBwxiKCJEAg4ONKCy/FFgoACwA+NCJkAj5QqgAULCK8DKEaAHPoYAB8AuKCKJQjHxwRRKBZBDKFB9DKBoRRgEPKF/4CRgvDCJpQrDonAKH5QVn//+BQOg4RGKEk/8BQOgI1HHwQROBBBQaGoWAPpoILKBAIJAAKtIABpQGMoRQRHwoIRKEwgIKH5QfdJBQrgYJCI5ApFMQRQ/KDQAIKH5Q/FgpQaEZBQ/AA4aFKGoAIKBXgCJZQ/EA5Q/KBKeGKH4+HTxBQ/Hw+AKH4+OEwpQ/HxSzSKHEAn5QJgPAKH5QG/AKGv5Q6v4lLI4gABBAxQ/KBCqCKH4AGDRBQX5MkyVJAQRQuHYZQ/KH5Q/KCYgCKBI+HKH5QQHZJQrEBBQ/Hw4gIcCJQ/KH4XGwBQWCJYIFKEqqJHxxHLIgpQLBYpQRgEHA4xQCa5BQOgE/YoxQLGQpQSDpRQFHwQyFWZAAIKFcDCYf4MR5Q/KBgRDKHUfFYhiQ4BQSMpBQTjhQZCIhQInBQvFQn/8BQKCAn4KF8fwAbFg5QFCgoRKKA8BBAs/Cgi2HKCnwDYopFAAIOGCJINGh5QLMo5QUX4rLFZxcPCAwmFgZEGMppQC/JQJ/7sEj4pFHw59IIIIAHEwxEFKAxlFKAYAT8AvEABJBDHAwAE4AONAH4A/AH4A/AH4A/AEH4IH5QQA=")) diff --git a/apps/widswatchbeats/widget.js b/apps/widswatchbeats/widget.js new file mode 100644 index 000000000..dfb57cce4 --- /dev/null +++ b/apps/widswatchbeats/widget.js @@ -0,0 +1,41 @@ +(function() { + const WIDTH = 50; + const SEC_PER_BEAT = 86.4; + + let drawTimeout; + + function getSecondsSinceMidnight() { + const now = new Date(); + return now.getHours() * 3600 + now.getMinutes() * 60 + now.getSeconds(); + } + + function queueDraw() { + if (drawTimeout) clearTimeout(drawTimeout); + const nextSecond = SEC_PER_BEAT - (getSecondsSinceMidnight() % SEC_PER_BEAT); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + WIDGETS.widswatchbeats.draw(); + }, nextSecond * 1000 + 1); // Add one ms to ensure we're past the beat + } + + function draw() { + const now = new Date(); + const seconds = now.getHours() * 3600 + now.getMinutes() * 60 + now.getSeconds(); + const beats = Math.floor(seconds / SEC_PER_BEAT); + const beatsString = '@' + beats.toString().padStart(3, '0'); + + g.reset(); + g.setFontAlign(0, 0); + g.clearRect(this.x, this.y, this.x + WIDTH, this.y+22); + g.setFont("6x8", 2); + g.drawString(beatsString, this.x+WIDTH/2, this.y+12); + queueDraw(); + } + + WIDGETS.widswatchbeats = { + area: "tl", + width: WIDTH, + draw + }; + +})(); From 69df7b35e5613ea4c5c9f3afd9306dbe8c65bb90 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 11 Jun 2023 12:59:01 +0100 Subject: [PATCH 009/139] clkinfostopw: remove unused setting code --- apps/clkinfostopw/settings.ts | 36 ----------------------------------- 1 file changed, 36 deletions(-) delete mode 100644 apps/clkinfostopw/settings.ts diff --git a/apps/clkinfostopw/settings.ts b/apps/clkinfostopw/settings.ts deleted file mode 100644 index a7bfce1e5..000000000 --- a/apps/clkinfostopw/settings.ts +++ /dev/null @@ -1,36 +0,0 @@ -const enum StopWatchFormat { - HMS, - Colon, -} -type StopWatchSettings = { - format: StopWatchFormat, -}; - -(back => { - const SETTINGS_FILE = "clkinfostopw.setting.json"; - - const storage = require("Storage"); - const settings: StopWatchSettings = Object.assign( - { format: StopWatchFormat.HMS }, - storage.readJSON(SETTINGS_FILE, true), - ); - - const save = () => { - storage.writeJSON(SETTINGS_FILE, settings) - }; - - E.showMenu({ - "": { "title": "stopwatch" }, - "< Back": back, - "Format": { - value: settings.format, - min: StopWatchFormat.HMS, - max: StopWatchFormat.Colon, - format: v => v === StopWatchFormat.HMS ? "12m34s" : "12:34", - onchange: v => { - settings.format = v; - save(); - }, - }, - }); -}) satisfies SettingsFunc From 6122eeb9cadc617ae0c297c9d4a58a19fa360316 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Tue, 20 Jun 2023 07:42:27 +0100 Subject: [PATCH 010/139] sanitycheck: whitespace --- bin/sanitycheck.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/sanitycheck.js b/bin/sanitycheck.js index ecba1876e..f2e5b9877 100755 --- a/bin/sanitycheck.js +++ b/bin/sanitycheck.js @@ -116,7 +116,7 @@ apps.forEach((app,appIdx) => { if (!app.id) ERROR(`App ${appIdx} has no id`); var appDirRelative = APPSDIR_RELATIVE+app.id+"/"; var appDir = APPSDIR+app.id+"/"; - var metadataFile = appDirRelative+"metadata.json"; + var metadataFile = appDirRelative+"metadata.json"; if (existingApps.includes(app.id)) ERROR(`Duplicate app '${app.id}'`, {file:metadataFile}); existingApps.push(app.id); //console.log(`Checking ${app.id}...`); @@ -164,11 +164,11 @@ apps.forEach((app,appIdx) => { }); } if (app.readme) { - if (!fs.existsSync(appDir+app.readme)) + if (!fs.existsSync(appDir+app.readme)) ERROR(`App ${app.id} README file doesn't exist`, {file:metadataFile}); } else { let readme = fs.readdirSync(appDir).find(f => f.toLowerCase().includes("readme")); - if (readme) + if (readme) ERROR(`App ${app.id} has a README in the directory (${readme}) but it's not linked`, {file:metadataFile}); } if (app.custom && !fs.existsSync(appDir+app.custom)) ERROR(`App ${app.id} custom HTML doesn't exist`, {file:metadataFile}); From f1d0bf4d62c4f434c61df01d4ad75b9790dd0699 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 11 Jun 2023 12:59:01 +0100 Subject: [PATCH 011/139] sanitycheck: look for untracked setting files --- bin/sanitycheck.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bin/sanitycheck.js b/bin/sanitycheck.js index f2e5b9877..a6e85cc4f 100755 --- a/bin/sanitycheck.js +++ b/bin/sanitycheck.js @@ -253,6 +253,10 @@ apps.forEach((app,appIdx) => { if (a>=0 && b>=0 && a !d.name || !d.name.endsWith(".json"))) { + WARN(`App ${app.id} has a setting file but no corresponding data entry (add \`"data":[{"name":"${app.id}.settings.json"}]\`)`, {file:appDirRelative+file.url}); + } } for (const key in file) { if (!STORAGE_KEYS.includes(key)) ERROR(`App ${app.id} file ${file.name} has unknown key ${key}`, {file:appDirRelative+file.url}); From 1551e2bdf43ad4f2f40db473ac6adf101dc88e2c Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Tue, 20 Jun 2023 07:48:44 +0100 Subject: [PATCH 012/139] sanitycheck: regex test for settings, instead of endsWith() --- bin/sanitycheck.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sanitycheck.js b/bin/sanitycheck.js index a6e85cc4f..b76424483 100755 --- a/bin/sanitycheck.js +++ b/bin/sanitycheck.js @@ -254,7 +254,7 @@ apps.forEach((app,appIdx) => { WARN(`Clock ${app.id} file calls loadWidgets before setUI (clock widget/etc won't be aware a clock app is running)`, {file:appDirRelative+file.url, line : fileContents.substr(0,a).split("\n").length}); } // if settings, suggest adding to datafiles - if (file.name.endsWith("setting.js") && !app.data || app.data.every(d => !d.name || !d.name.endsWith(".json"))) { + if (/\.settings?\.js$/.test(file.name) && (!app.data || app.data.every(d => !d.name || !d.name.endsWith(".json")))) { WARN(`App ${app.id} has a setting file but no corresponding data entry (add \`"data":[{"name":"${app.id}.settings.json"}]\`)`, {file:appDirRelative+file.url}); } } From 76b7a1194aefe301e8412fa1ee4bf8e984b1c31d Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Tue, 20 Jun 2023 22:07:17 +0100 Subject: [PATCH 013/139] Add data:[...] entries to apps using storage --- apps/90sclk/metadata.json | 3 ++- apps/activepedom/metadata.json | 3 ++- apps/bthrm/metadata.json | 3 ++- apps/bwclk/metadata.json | 3 ++- apps/bwclklite/metadata.json | 5 +++++ apps/cassioWatch/metadata.json | 5 ++++- apps/chargerot/metadata.json | 3 ++- apps/contourclock/metadata.json | 3 ++- apps/cprassist/metadata.json | 3 ++- apps/cscsensor/metadata.json | 3 +++ apps/cycling/metadata.json | 3 +++ apps/dragboard/metadata.json | 5 ++++- apps/draguboard/metadata.json | 5 ++++- apps/f9lander/metadata.json | 3 ++- apps/game1024/metadata.json | 3 ++- apps/getup/metadata.json | 3 ++- apps/happyclk/metadata.json | 3 ++- apps/hralarm/metadata.json | 5 ++++- apps/imageclock/metadata.json | 3 +++ apps/kbtouch/metadata.json | 3 ++- apps/lcars/metadata.json | 3 ++- apps/limelight/metadata.json | 3 +++ apps/linuxclock/metadata.json | 3 ++- apps/loadingscreen/metadata.json | 3 ++- apps/metronome/metadata.json | 3 ++- apps/mysticclock/metadata.json | 3 +++ apps/mysticdock/metadata.json | 3 +++ apps/openwind/metadata.json | 5 +++-- apps/pebble/metadata.json | 3 +++ apps/pebbled/metadata.json | 3 ++- apps/pebblepp/metadata.json | 3 +++ apps/pomoplus/metadata.json | 3 +++ apps/rebble/metadata.json | 3 +++ apps/sensortools/metadata.json | 3 +++ apps/sleeplogalarm/metadata.json | 3 ++- apps/speedalt/metadata.json | 3 +++ apps/timecal/metadata.json | 3 ++- apps/torch/metadata.json | 3 +++ apps/widpedom/metadata.json | 3 ++- apps/wohrm/metadata.json | 3 ++- 40 files changed, 105 insertions(+), 27 deletions(-) diff --git a/apps/90sclk/metadata.json b/apps/90sclk/metadata.json index bfbb6b080..b4b320a1b 100644 --- a/apps/90sclk/metadata.json +++ b/apps/90sclk/metadata.json @@ -14,5 +14,6 @@ {"name":"90sclk.app.js","url":"app.js"}, {"name":"90sclk.img","url":"app-icon.js","evaluate":true}, {"name":"90sclk.settings.js","url":"settings.js"} - ] + ], + "data": [{"name":"90sclk.setting.json"}] } diff --git a/apps/activepedom/metadata.json b/apps/activepedom/metadata.json index 81bafb573..fa1044d85 100644 --- a/apps/activepedom/metadata.json +++ b/apps/activepedom/metadata.json @@ -14,5 +14,6 @@ {"name":"activepedom.settings.js","url":"settings.js"}, {"name":"activepedom.img","url":"app-icon.js","evaluate":true}, {"name":"activepedom.app.js","url":"app.js"} - ] + ], + "data":[{"name":"activepedom.settings.json"}] } diff --git a/apps/bthrm/metadata.json b/apps/bthrm/metadata.json index fea274ff3..6c31759c9 100644 --- a/apps/bthrm/metadata.json +++ b/apps/bthrm/metadata.json @@ -18,5 +18,6 @@ {"name":"bthrm.settings.js","url":"settings.js"}, {"name":"bthrm","url":"lib.js"}, {"name":"bthrm.default.json","url":"default.json"} - ] + ], + "data": [{"name":"bthrm.json"}] } diff --git a/apps/bwclk/metadata.json b/apps/bwclk/metadata.json index fba759bf0..d4091c2fe 100644 --- a/apps/bwclk/metadata.json +++ b/apps/bwclk/metadata.json @@ -15,5 +15,6 @@ {"name":"bwclk.app.js","url":"app.js"}, {"name":"bwclk.img","url":"app-icon.js","evaluate":true}, {"name":"bwclk.settings.js","url":"settings.js"} - ] + ], + "data":[{"name":"bwclk.setting.json"}] } diff --git a/apps/bwclklite/metadata.json b/apps/bwclklite/metadata.json index b073f985e..f8dffdca9 100644 --- a/apps/bwclklite/metadata.json +++ b/apps/bwclklite/metadata.json @@ -39,5 +39,10 @@ "name": "bwclklite.settings.js", "url": "settings.js" } + ], + "data": [ + { + "name": "bwclklite.setting.json" + } ] } diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 4b9985c82..fb7dfd401 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -12,7 +12,10 @@ "readme": "README.md", "storage": [ { "name": "cassioWatch.app.js", "url": "app.js" }, - {"name":"cassioWatch.settings.js","url":"settings.js"}, + { "name": "cassioWatch.settings.js","url": "settings.js" }, { "name": "cassioWatch.img", "url": "icon.js", "evaluate": true } + ], + "data": [ + { "name": "cassioWatch.settings.json" } ] } diff --git a/apps/chargerot/metadata.json b/apps/chargerot/metadata.json index 99c97070e..1b13403d7 100644 --- a/apps/chargerot/metadata.json +++ b/apps/chargerot/metadata.json @@ -11,5 +11,6 @@ "storage": [ {"name":"chargerot.boot.js","url":"boot.js"}, {"name":"chargerot.settings.js","url":"settings.js"} - ] + ], + "data":[{"name":"chargerot.settings.json"}] } diff --git a/apps/contourclock/metadata.json b/apps/contourclock/metadata.json index d59999c04..ca5ee114f 100644 --- a/apps/contourclock/metadata.json +++ b/apps/contourclock/metadata.json @@ -15,5 +15,6 @@ {"name":"contourclock.settings.js","url":"contourclock.settings.js"}, {"name":"contourclock","url":"lib.js"}, {"name":"contourclock.img","url":"app-icon.js","evaluate":true} - ] + ], + "data": [{"name":"contourclock.json"}] } diff --git a/apps/cprassist/metadata.json b/apps/cprassist/metadata.json index d832e98c5..94ba71d1b 100644 --- a/apps/cprassist/metadata.json +++ b/apps/cprassist/metadata.json @@ -13,5 +13,6 @@ {"name":"cprassist.app.js","url":"cprassist.js"}, {"name":"cprassist.img","url":"cprassist-icon.js","evaluate":true}, {"name":"cprassist.settings.js","url":"settings.js"} - ] + ], + "data":[{"name":"cprassist.settings.json"}] } diff --git a/apps/cscsensor/metadata.json b/apps/cscsensor/metadata.json index 87eb5d12f..d7c3add53 100644 --- a/apps/cscsensor/metadata.json +++ b/apps/cscsensor/metadata.json @@ -12,5 +12,8 @@ {"name":"cscsensor.app.js","url":"cscsensor.app.js"}, {"name":"cscsensor.settings.js","url":"settings.js"}, {"name":"cscsensor.img","url":"cscsensor-icon.js","evaluate":true} + ], + "data": [ + {"name":"cscsensor.json"} ] } diff --git a/apps/cycling/metadata.json b/apps/cycling/metadata.json index cb4260bb2..caf93eda3 100644 --- a/apps/cycling/metadata.json +++ b/apps/cycling/metadata.json @@ -13,5 +13,8 @@ {"name":"cycling.settings.js","url":"settings.js"}, {"name":"blecsc","url":"blecsc.js"}, {"name":"cycling.img","url":"cycling.icon.js","evaluate": true} + ], + "data": [ + {"name":"cycling.json"} ] } diff --git a/apps/dragboard/metadata.json b/apps/dragboard/metadata.json index 964ace3a7..58de5153c 100644 --- a/apps/dragboard/metadata.json +++ b/apps/dragboard/metadata.json @@ -6,10 +6,13 @@ "type":"textinput", "tags": "keyboard", "supports" : ["BANGLEJS2"], - "screenshots": [{"url":"screenshot.png"}], + "screenshots": [{"url":"screenshot.png"}], "readme": "README.md", "storage": [ {"name":"textinput","url":"lib.js"}, {"name":"dragboard.settings.js","url":"settings.js"} + ], + "data": [ + {"name":"dragboard.json"} ] } diff --git a/apps/draguboard/metadata.json b/apps/draguboard/metadata.json index 926e36807..dc9b06254 100644 --- a/apps/draguboard/metadata.json +++ b/apps/draguboard/metadata.json @@ -6,10 +6,13 @@ "type":"textinput", "tags": "keyboard", "supports" : ["BANGLEJS2"], - "screenshots": [{"url":"screenshot.png"}], + "screenshots": [{"url":"screenshot.png"}], "readme": "README.md", "storage": [ {"name":"textinput","url":"lib.js"}, {"name":"draguboard.settings.js","url":"settings.js"} + ], + "data": [ + {"name":"draguboard.json"} ] } diff --git a/apps/f9lander/metadata.json b/apps/f9lander/metadata.json index e53805ee0..5a3887c9e 100644 --- a/apps/f9lander/metadata.json +++ b/apps/f9lander/metadata.json @@ -12,5 +12,6 @@ {"name":"f9lander.app.js","url":"app.js"}, {"name":"f9lander.img","url":"app-icon.js","evaluate":true}, {"name":"f9lander.settings.js", "url":"settings.js"} - ] + ], + "data":[{"name":"f9settings.json"}] } diff --git a/apps/game1024/metadata.json b/apps/game1024/metadata.json index f3b72aad3..45d6e3f61 100644 --- a/apps/game1024/metadata.json +++ b/apps/game1024/metadata.json @@ -14,5 +14,6 @@ {"name":"game1024.app.js","url":"app.js"}, {"name":"game1024.settings.js","url":"settings.js"}, {"name":"game1024.img","url":"app-icon.js","evaluate":true} - ] + ], + "data":[{"name":"game1024.settings.json"}] } diff --git a/apps/getup/metadata.json b/apps/getup/metadata.json index 0c5a7cc5b..00bab40be 100644 --- a/apps/getup/metadata.json +++ b/apps/getup/metadata.json @@ -14,5 +14,6 @@ {"name":"getup.app.js","url":"app.js"}, {"name":"getup.settings.js","url":"settings.js"}, {"name":"getup.img","url":"app-icon.js","evaluate":true} - ] + ], + "data":[{"name":"getup.settings.json"}] } diff --git a/apps/happyclk/metadata.json b/apps/happyclk/metadata.json index e5129b0f0..da7bdcd16 100644 --- a/apps/happyclk/metadata.json +++ b/apps/happyclk/metadata.json @@ -20,5 +20,6 @@ {"name":"happyclk.app.js","url":"happyclk.app.js"}, {"name":"happyclk.img","url":"happyclk.icon.js","evaluate":true}, {"name":"happyclk.settings.js","url":"happyclk.settings.js"} - ] + ], + "data":[{"name":"happyclk.setting.json"}] } diff --git a/apps/hralarm/metadata.json b/apps/hralarm/metadata.json index 4c661b3fc..c99cb857f 100644 --- a/apps/hralarm/metadata.json +++ b/apps/hralarm/metadata.json @@ -4,7 +4,7 @@ "shortName":"HR Alarm", "version":"0.02", "description": "This invisible widget vibrates whenever the heart rate gets close to the upper limit or goes over or under the configured limits", - "icon": "widget.png", + "icon": "widget.png", "type": "widget", "tags": "widget", "supports" : ["BANGLEJS2"], @@ -12,5 +12,8 @@ "storage": [ {"name":"hralarm.wid.js","url":"widget.js"}, {"name":"hralarm.settings.js","url":"settings.js"} + ], + "data": [ + {"name":"hralarm.json"} ] } diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json index b291ab01e..f8a0aa61e 100644 --- a/apps/imageclock/metadata.json +++ b/apps/imageclock/metadata.json @@ -15,5 +15,8 @@ {"name":"imageclock.app.js","url":"app.js"}, {"name":"imageclock.settings.js","url":"settings.js"}, {"name":"imageclock.img","url":"app-icon.js","evaluate":true} + ], + "data": [ + {"name":"imageclock.json"} ] } diff --git a/apps/kbtouch/metadata.json b/apps/kbtouch/metadata.json index 8d7434e44..31dc8c9a8 100644 --- a/apps/kbtouch/metadata.json +++ b/apps/kbtouch/metadata.json @@ -12,5 +12,6 @@ {"name":"textinput","url":"lib.js"}, {"name":"kbtouch.settings.js","url":"settings.js"} ], - "sortorder":-1 + "sortorder":-1, + "data":[{"name":"kbtouch.settings.json"}] } diff --git a/apps/lcars/metadata.json b/apps/lcars/metadata.json index 65c59081f..2cefb544f 100644 --- a/apps/lcars/metadata.json +++ b/apps/lcars/metadata.json @@ -16,5 +16,6 @@ {"name":"lcars.app.js","url":"lcars.app.js"}, {"name":"lcars.img","url":"lcars.icon.js","evaluate":true}, {"name":"lcars.settings.js","url":"lcars.settings.js"} - ] + ], + "data":[{"name":"lcars.setting.json"}] } diff --git a/apps/limelight/metadata.json b/apps/limelight/metadata.json index 0e5dfd565..5c6bcfd76 100644 --- a/apps/limelight/metadata.json +++ b/apps/limelight/metadata.json @@ -13,5 +13,8 @@ {"name":"limelight.app.js","url":"limelight.app.js"}, {"name":"limelight.settings.js","url":"limelight.settings.js"}, {"name":"limelight.img","url":"limelight.icon.js","evaluate":true} + ], + "data": [ + {"name":"limelight.json"} ] } diff --git a/apps/linuxclock/metadata.json b/apps/linuxclock/metadata.json index 2bfe1d51f..ccd9db5e7 100644 --- a/apps/linuxclock/metadata.json +++ b/apps/linuxclock/metadata.json @@ -14,5 +14,6 @@ {"name":"linuxclock.app.js","url":"app.js"}, {"name":"linuxclock.img","url":"app-icon.js","evaluate":true}, {"name":"linuxclock.settings.js","url":"settings.js"} - ] + ], + "data":[{"name":"linuxclock.setting.json"}] } diff --git a/apps/loadingscreen/metadata.json b/apps/loadingscreen/metadata.json index 199f4a2b4..1815e4ce8 100644 --- a/apps/loadingscreen/metadata.json +++ b/apps/loadingscreen/metadata.json @@ -10,5 +10,6 @@ "readme": "README.md", "storage": [ {"name":"loadingscreen.settings.js","url":"settings.js"} - ] + ], + "data":[{"name":".loading"}] } diff --git a/apps/metronome/metadata.json b/apps/metronome/metadata.json index 7f8582ca5..8ada5d98c 100644 --- a/apps/metronome/metadata.json +++ b/apps/metronome/metadata.json @@ -13,5 +13,6 @@ {"name":"metronome.app.js","url":"metronome.js"}, {"name":"metronome.img","url":"metronome-icon.js","evaluate":true}, {"name":"metronome.settings.js","url":"settings.js"} - ] + ], + "data":[{"name":"metronome.settings.json"}] } diff --git a/apps/mysticclock/metadata.json b/apps/mysticclock/metadata.json index bd2df2f8d..51f44b79b 100644 --- a/apps/mysticclock/metadata.json +++ b/apps/mysticclock/metadata.json @@ -14,5 +14,8 @@ {"name":"mysticclock.app.js","url":"mystic-clock-app.js"}, {"name":"mysticclock.settings.js","url":"mystic-clock-settings.js"}, {"name":"mysticclock.img","url":"mystic-clock-icon.js","evaluate":true} + ], + "data": [ + {"name":"mysticclock.settings.json"} ] } diff --git a/apps/mysticdock/metadata.json b/apps/mysticdock/metadata.json index 2775b0b72..0ebff3b9b 100644 --- a/apps/mysticdock/metadata.json +++ b/apps/mysticdock/metadata.json @@ -13,5 +13,8 @@ {"name":"mysticdock.boot.js","url":"mystic-dock-boot.js"}, {"name":"mysticdock.settings.js","url":"mystic-dock-settings.js"}, {"name":"mysticdock.img","url":"mystic-dock-icon.js","evaluate":true} + ], + "data": [ + {"name":"mysticdock.settings.json"} ] } diff --git a/apps/openwind/metadata.json b/apps/openwind/metadata.json index 01d7ca124..5e0a60972 100644 --- a/apps/openwind/metadata.json +++ b/apps/openwind/metadata.json @@ -6,10 +6,11 @@ "icon": "openwind.png", "readme": "README.md", "tags": "ble,outdoors,gps,sailing", - "supports" : ["BANGLEJS", "BANGLEJS2"], + "supports" : ["BANGLEJS", "BANGLEJS2"], "storage": [ {"name":"openwind.app.js","url":"app.js"}, {"name":"openwind.img","url":"app-icon.js","evaluate":true}, {"name":"openwind.settings.js", "url":"settings.js"} - ] + ], + "data":[{"name":"openwindsettings.json"}] } diff --git a/apps/pebble/metadata.json b/apps/pebble/metadata.json index 0ccb8e2af..49dbcd820 100644 --- a/apps/pebble/metadata.json +++ b/apps/pebble/metadata.json @@ -15,5 +15,8 @@ {"name":"pebble.app.js","url":"pebble.app.js"}, {"name":"pebble.settings.js","url":"pebble.settings.js"}, {"name":"pebble.img","url":"pebble.icon.js","evaluate":true} + ], + "data": [ + {"name":"pebble.settings.json"} ] } diff --git a/apps/pebbled/metadata.json b/apps/pebbled/metadata.json index 62fabc3e7..8924e600a 100644 --- a/apps/pebbled/metadata.json +++ b/apps/pebbled/metadata.json @@ -14,5 +14,6 @@ {"name":"pebbled.app.js","url":"pebbled.app.js"}, {"name":"pebbled.settings.js","url":"pebbled.settings.js"}, {"name":"pebbled.img","url":"pebbled.icon.js","evaluate":true} - ] + ], + "data":[{"name":"pebbleDistance.json"}] } diff --git a/apps/pebblepp/metadata.json b/apps/pebblepp/metadata.json index 6821fdc50..88c1d8fd5 100644 --- a/apps/pebblepp/metadata.json +++ b/apps/pebblepp/metadata.json @@ -15,5 +15,8 @@ {"name":"pebblepp.app.js","url":"app.js"}, {"name":"pebblepp.settings.js","url":"settings.js"}, {"name":"pebblepp.img","url":"icon.js","evaluate":true} + ], + "data": [ + {"name":"pebblepp.settings.json"} ] } diff --git a/apps/pomoplus/metadata.json b/apps/pomoplus/metadata.json index 84a82c0e1..0db15ab4d 100644 --- a/apps/pomoplus/metadata.json +++ b/apps/pomoplus/metadata.json @@ -32,5 +32,8 @@ "name": "pomoplus.settings.js", "url": "settings.js" } + ], + "data": [ + {"name":"pomoplus.settings.json"} ] } diff --git a/apps/rebble/metadata.json b/apps/rebble/metadata.json index c380204a4..6242236c8 100644 --- a/apps/rebble/metadata.json +++ b/apps/rebble/metadata.json @@ -15,5 +15,8 @@ {"name":"rebble.app.js","url":"rebble.app.js"}, {"name":"rebble.settings.js","url":"rebble.settings.js"}, {"name":"rebble.img","url":"rebble.icon.js","evaluate":true} + ], + "data": [ + {"name":"rebble.settings.json"} ] } diff --git a/apps/sensortools/metadata.json b/apps/sensortools/metadata.json index 48b146617..bffffd090 100644 --- a/apps/sensortools/metadata.json +++ b/apps/sensortools/metadata.json @@ -14,5 +14,8 @@ {"name":"sensortools.settings.js","url":"settings.js"}, {"name":"sensortools","url":"lib.js"}, {"name":"sensortools.default.json","url":"default.json"} + ], + "data": [ + {"name":"sensortools.settings.json"} ] } diff --git a/apps/sleeplogalarm/metadata.json b/apps/sleeplogalarm/metadata.json index 30d3dcda7..fd68ce376 100644 --- a/apps/sleeplogalarm/metadata.json +++ b/apps/sleeplogalarm/metadata.json @@ -17,5 +17,6 @@ {"name": "sleeplogalarm", "url": "lib.js"}, {"name": "sleeplogalarm.settings.js", "url": "settings.js"}, {"name": "sleeplogalarm.wid.js", "url": "widget.js"} - ] + ], + "data":[{"name":"sleeplogalarm.settings.json"}] } diff --git a/apps/speedalt/metadata.json b/apps/speedalt/metadata.json index 89bfd4a57..1ecb2b562 100644 --- a/apps/speedalt/metadata.json +++ b/apps/speedalt/metadata.json @@ -15,5 +15,8 @@ {"name":"speedalt.app.js","url":"app.js"}, {"name":"speedalt.img","url":"app-icon.js","evaluate":true}, {"name":"speedalt.settings.js","url":"settings.js"} + ], + "data": [ + {"name":"speedalt.settings.json"} ] } diff --git a/apps/timecal/metadata.json b/apps/timecal/metadata.json index 287dce0ae..9175d92a3 100644 --- a/apps/timecal/metadata.json +++ b/apps/timecal/metadata.json @@ -12,5 +12,6 @@ "storage": [ {"name":"timecal.app.js","url":"timecal.app.js"}, {"name":"timecal.settings.js","url":"timecal.settings.js"} - ] + ], + "data":[{"name":"timecal.settings.json"}] } diff --git a/apps/torch/metadata.json b/apps/torch/metadata.json index 6837dc904..414222587 100644 --- a/apps/torch/metadata.json +++ b/apps/torch/metadata.json @@ -13,5 +13,8 @@ {"name":"torch.wid.js","url":"widget.js","supports": ["BANGLEJS"]}, {"name":"torch.img","url":"app-icon.js","evaluate":true}, {"name":"torch.settings.js","url":"settings.js"} + ], + "data": [ + {"name":"torch.settings.json"} ] } diff --git a/apps/widpedom/metadata.json b/apps/widpedom/metadata.json index f49d3ba5b..480519a29 100644 --- a/apps/widpedom/metadata.json +++ b/apps/widpedom/metadata.json @@ -10,5 +10,6 @@ "storage": [ {"name":"widpedom.wid.js","url":"widget.js"}, {"name":"widpedom.settings.js","url":"settings.js"} - ] + ], + "data":[{"name":"wpedom.json"}] } diff --git a/apps/wohrm/metadata.json b/apps/wohrm/metadata.json index 1e2ac2cb0..a5411c113 100644 --- a/apps/wohrm/metadata.json +++ b/apps/wohrm/metadata.json @@ -14,5 +14,6 @@ {"name":"wohrm.app.js","url":"app.js"}, {"name":"wohrm.settings.js","url":"settings.js"}, {"name":"wohrm.img","url":"app-icon.js","evaluate":true} - ] + ], + "data":[{"name":"wohrm.setting.json"}] } From 3defe2f04eb5d1f35119d4cd36026db69d865579 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Tue, 20 Jun 2023 22:07:56 +0100 Subject: [PATCH 014/139] sanitycheck: record known non-json storage files --- bin/sanitycheck.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/sanitycheck.js b/bin/sanitycheck.js index b76424483..d5c755443 100755 --- a/bin/sanitycheck.js +++ b/bin/sanitycheck.js @@ -92,9 +92,12 @@ const INTERNAL_FILES_IN_APP_TYPE = { // list of app types and files they SHOULD }; /* These are warnings we know about but don't want in our output */ var KNOWN_WARNINGS = [ -"App gpsrec data file wildcard .gpsrc? does not include app ID", -"App owmweather data file weather.json is also listed as data file for app weather", + "App gpsrec data file wildcard .gpsrc? does not include app ID", + "App owmweather data file weather.json is also listed as data file for app weather", "App messagegui storage file messagegui is also listed as storage file for app messagelist", + "App carcrazy has a setting file but no corresponding data entry (add `\"data\":[{\"name\":\"carcrazy.settings.json\"}]`)", + "App loadingscreen has a setting file but no corresponding data entry (add `\"data\":[{\"name\":\"loadingscreen.settings.json\"}]`)", + "App trex has a setting file but no corresponding data entry (add `\"data\":[{\"name\":\"trex.settings.json\"}]`)", ]; function globToRegex(pattern) { From 67908cd77b0c0b01952e915eb5918fb17f897fea Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 21 Jun 2023 10:08:59 +0100 Subject: [PATCH 015/139] Add a back button to "No messages" menu on cutting edge (or 2v19+) firmwares. Don't bump version as latest not released yet --- apps/messagegui/ChangeLog | 3 ++- apps/messagegui/app.js | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/messagegui/ChangeLog b/apps/messagegui/ChangeLog index 2c9738dab..92c7f09a4 100644 --- a/apps/messagegui/ChangeLog +++ b/apps/messagegui/ChangeLog @@ -96,4 +96,5 @@ Nav messages with '/' now get split on newlines 0.70: Handle nav messages from newer Gadgetbridge builds that output distance as a String If we receive a 'music' message and we're in the messages app (but not showing a message) show music (#2814) -0.71: Cancel buzzing when watch unlocked, or when different messages viewed \ No newline at end of file +0.71: Cancel buzzing when watch unlocked, or when different messages viewed + On 2v18.64+ firmware, 'No Messages' now has a 'back' button \ No newline at end of file diff --git a/apps/messagegui/app.js b/apps/messagegui/app.js index 030781df1..395b56a4d 100644 --- a/apps/messagegui/app.js +++ b/apps/messagegui/app.js @@ -414,8 +414,9 @@ function checkMessages(options) { if (!options.clockIfNoMsg) return E.showPrompt(/*LANG*/"No Messages",{ title:/*LANG*/"Messages", img:require("heatshrink").decompress(atob("kkk4UBrkc/4AC/tEqtACQkBqtUDg0VqAIGgoZFDYQIIM1sD1QAD4AIBhnqA4WrmAIBhc6BAWs8AIBhXOBAWz0AIC2YIC5wID1gkB1c6BAYFBEQPqBAYXBEQOqBAnDAIQaEnkAngaEEAPDFgo+IKA5iIOhCGIAFb7RqAIGgtUBA0VqobFgNVA")), - buttons : {/*LANG*/"Ok":1} - }).then(() => { load() }); + buttons : {/*LANG*/"Ok":1}, + back: () => load() + }).then(() => load()); return load(); } // we have >0 messages From b0ccc6c678919fd7acaad933890558d79d5f33b7 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 21 Jun 2023 10:09:18 +0100 Subject: [PATCH 016/139] Remove default log filename from initial settings file --- apps/recorder/app-settings.json | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/recorder/app-settings.json b/apps/recorder/app-settings.json index 7410af213..cbabcb3f0 100644 --- a/apps/recorder/app-settings.json +++ b/apps/recorder/app-settings.json @@ -1,6 +1,5 @@ { "recording":false, - "file":"recorder.log0.csv", "period":10, "record" : ["gps"] } From 5ae91b90b0d3d8f6db0886e8da4adc2a47365df5 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 21 Jun 2023 10:09:47 +0100 Subject: [PATCH 017/139] Fix date_utils if timezone is 12. https://forum.espruino.com/conversations/387709/#comment17024817 --- modules/date_utils.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/modules/date_utils.js b/modules/date_utils.js index 7239d4f1f..76ff0a393 100644 --- a/modules/date_utils.js +++ b/modules/date_utils.js @@ -8,7 +8,7 @@ // - 0/undefined --> Sunday // - 1 --> Monday // but you can start the week from any day if you need it. -// +// // Some functions have an "abbreviated" parameter. // It supports the following 3 values: // - 0/undefined --> get the full value, without abbreviation (eg.: "Monday", "January", etc.) @@ -22,12 +22,12 @@ * @returns The localized name of the i-th day of the week */ exports.dow = (i, abbreviated) => { - var dow = require("locale").dow(new Date(((i || 0) + 3.5) * 86400000), abbreviated).slice(0, (abbreviated == 2) ? 1 : 100); + var dow = require("locale").dow({getDay:()=>(i|0)%7}, abbreviated).slice(0, (abbreviated == 2) ? 1 : 100); return abbreviated == 2 ? dow.toUpperCase() : dow; } /** - * @param {int} firstDayOfWeek 0/undefined -> Sunday, + * @param {int} firstDayOfWeek 0/undefined -> Sunday, * 1 -> Monday * @param {int} abbreviated * @returns All 7 days of the week (localized) as an array @@ -47,7 +47,7 @@ exports.dows = (firstDayOfWeek, abbreviated) => { * @returns The localized name of the i-th month */ exports.month = (i, abbreviated) => { - var month = require("locale").month(new Date((i - 0.5) * 2628000000), abbreviated).slice(0, (abbreviated == 2) ? 1 : 100); + var month = require("locale").month({getMonth:()=>(11+(i|0))%12}, abbreviated).slice(0, (abbreviated == 2) ? 1 : 100); return abbreviated == 2 ? month.toUpperCase() : month; } @@ -58,8 +58,7 @@ exports.month = (i, abbreviated) => { exports.months = (abbreviated) => { var months = []; var locale = require("locale"); - for (var i = 1; i <= 12; i++) { - months.push(locale.month(new Date((i - 0.5) * 2628000000), abbreviated).slice(0, (abbreviated == 2) ? 1 : 100)); - } + for (var i = 0; i < 12; i++) + months.push(locale.month({getMonth:()=>i}, abbreviated).slice(0, (abbreviated == 2) ? 1 : 100)); return abbreviated == 2 ? months.map(month => month.toUpperCase()) : months; }; From b055176ce0e28f3aaf53e01ee4994d033cd79201 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 21 Jun 2023 14:49:23 +0100 Subject: [PATCH 018/139] Improve responsiveness by only showing first 30 apps unless the 'more' entry and the bottom is clicked. --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 127c90aaa..f922941a1 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 127c90aaa9e3d23f8853807e1ad17451a37dc3c1 +Subproject commit f922941a17cfdc3c37bf3e832961c0ca958e27d3 From f4e60856f44b6f4db8b858a2081ff9593cf61286 Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Wed, 21 Jun 2023 10:57:46 -0500 Subject: [PATCH 019/139] Add example configs and bg image --- apps/boxclk/boxclk-1.json | 88 +++++++++++++++++++++++++++++++++++ apps/boxclk/boxclk-2.json | 85 +++++++++++++++++++++++++++++++++ apps/boxclk/boxclk.space.img | Bin 0 -> 30979 bytes 3 files changed, 173 insertions(+) create mode 100644 apps/boxclk/boxclk-1.json create mode 100644 apps/boxclk/boxclk-2.json create mode 100644 apps/boxclk/boxclk.space.img diff --git a/apps/boxclk/boxclk-1.json b/apps/boxclk/boxclk-1.json new file mode 100644 index 000000000..99e225f04 --- /dev/null +++ b/apps/boxclk/boxclk-1.json @@ -0,0 +1,88 @@ +{ + "time": { + "font": "6x8", + "fontSize": 3, + "outline": 2, + "color": "#0ff", + "outlineColor": "#00f", + "border": "#0f0", + "xPadding": -1, + "yPadding": -2.5, + "xOffset": 2, + "yOffset": 0, + "boxPos": { + "x": "0.33", + "y": "0.29" + } + }, + "meridian": { + "font": "6x8", + "fontSize": 2, + "outline": 1, + "color": "#FF9900", + "outlineColor": "fg", + "border": "#0ff", + "xPadding": -0.5, + "yPadding": -1.5, + "xOffset": 2, + "yOffset": 1, + "boxPos": { + "x": "0.34", + "y": "0.46" + }, + "short": false + }, + "dow": { + "font": "6x8", + "fontSize": 2, + "outline": 1, + "color": "#000", + "outlineColor": "#fff", + "border": "#0f0", + "xPadding": -0.5, + "yPadding": -0.5, + "xOffset": 1, + "yOffset": 1, + "boxPos": { + "x": "0.5", + "y": "0.82" + } + }, + "step": { + "font": "6x8", + "fontSize": 2, + "outline": 1, + "color": "#000", + "outlineColor": "#fff", + "border": "#0f0", + "xPadding": -0.5, + "yPadding": 0.5, + "xOffset": 1, + "yOffset": 1, + "boxPos": { + "x": "0.5", + "y": "0.71" + }, + "prefix": "Steps: " + }, + "batt": { + "font": "4x6", + "fontSize": 2, + "outline": 1, + "color": "#0ff", + "outlineColor": "#00f", + "border": "#0f0", + "xPadding": -0.5, + "yPadding": -0.5, + "xOffset": 1, + "yOffset": 1, + "boxPos": { + "x": "0.87", + "y": "0.87" + }, + "suffix": "%" + }, + "bg": { + "img": "boxclk.space.img" + } +} diff --git a/apps/boxclk/boxclk-2.json b/apps/boxclk/boxclk-2.json new file mode 100644 index 000000000..f2c390e52 --- /dev/null +++ b/apps/boxclk/boxclk-2.json @@ -0,0 +1,85 @@ +{ + "time": { + "font": "6x8", + "fontSize": 5, + "outline": 3, + "color": "bgH", + "outlineColor": "fg", + "border": "#f0f", + "xPadding": -2, + "yPadding": -4.5, + "xOffset": 3, + "yOffset": 0, + "boxPos": { + "x": "0.5", + "y": "0.33" + } + }, + "dow": { + "font": "6x8", + "fontSize": 3, + "outline": 1, + "color": "#5ccd73", + "outlineColor": "fg", + "border": "#f0f", + "xPadding": -1, + "yPadding": 0.5, + "xOffset": 2, + "yOffset": 0, + "boxPos": { + "x": "0.5", + "y": "0.57" + }, + "short": false + }, + "date": { + "font": "6x8", + "fontSize": 2, + "outline": 1, + "color": "#5ccd73", + "outlineColor": "fg", + "border": "#f0f", + "xPadding": -0.5, + "yPadding": 0.5, + "xOffset": 1, + "yOffset": 0, + "boxPos": { + "x": "0.5", + "y": "0.75" + } + }, + "step": { + "font": "4x6", + "fontSize": 3, + "outline": 2, + "color": "bgH", + "outlineColor": "fg", + "border": "#f0f", + "xPadding": -1, + "yPadding": 0.5, + "xOffset": 2, + "yOffset": 1, + "boxPos": { + "x": "0.5", + "y": "0.92" + }, + "prefix": "Steps: " + }, + "batt": { + "font": "4x6", + "fontSize": 3, + "outline": 2, + "color": "bgH", + "outlineColor": "fg", + "border": "#f0f", + "xPadding": -1, + "yPadding": -1, + "xOffset": 2, + "yOffset": 2, + "boxPos": { + "x": "0.85", + "y": "0.08" + }, + "suffix": "%" + } +} diff --git a/apps/boxclk/boxclk.space.img b/apps/boxclk/boxclk.space.img new file mode 100644 index 0000000000000000000000000000000000000000..1708b5c24248a388661783f446bd86f5a2e4f715 GIT binary patch literal 30979 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 Date: Wed, 21 Jun 2023 11:15:40 -0500 Subject: [PATCH 020/139] Update screenshots and README to show new examples --- apps/boxclk/README.md | 23 +++++++++++++++++++---- apps/boxclk/metadata.json | 3 ++- apps/boxclk/screenshot-1.png | Bin 5798 -> 6017 bytes apps/boxclk/screenshot-2.png | Bin 0 -> 3599 bytes 4 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 apps/boxclk/screenshot-2.png diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index 1dc8ef98f..ca7b88779 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -51,9 +51,9 @@ __Breakdown of Parameters:__ * **Box Name:** The name of your text box. Box Clock includes functional support for "time", "date", "meridian" (AM/PM), "dow" (Day of Week), "batt" (Battery), and "step" (Step count). You can add additional custom boxes with unique titles. -* **string:** The text string to be displayed inside the box. +* **string:** The text string to be displayed inside the box. This is only required for custom Box Names. -* **font:** The font name given to g.setFont() +* **font:** The font name given to g.setFont(). * **fontSize:** The size of the font. @@ -83,9 +83,24 @@ __Breakdown of Parameters:__ ## Multiple Configurations -The app includes a settings menu that allows you to switch between different configurations. The selected configuration is stored in the default JSON file alongside the other configuration data using the selectedConfig property. +__Settings Menu:__ -If the selectedConfig property is not present or is set to 0, the app will use the default configuration. To create additional configurations, create separate JSON files with the naming convention boxclk-N.json, where N is the configuration number. The settings menu will list all available configurations. +The app includes a settings menu that allows you to switch between different configurations. The selected configuration is stored as a numner in the default `boxclk.josn` file using the selectedConfig property. + +If the selectedConfig property is not present or is set to 0, the app will use the default configuration. To create additional configurations, create separate JSON files with the naming convention `boxclk-N.json`, where `N` is the configuration number. The settings menu will list all available configurations. + +## Example Configs: + +To easily try out other configs, download and place the JSON configs and/or background images from below onto your Bangle.js storage. Then go to the Box Clock settings menu to select the new config number. You can also modify them to suit your personal preferences. + +### Space Theme: + +- **Config:** [boxclk-1.json](https://github.com/espruino/BangleApps/tree/master/apps/boxclk/boxclk-1.json) +- **Background:** boxclk.space.img ([Source](https://www.pixilart.com/art/fallin-from-outer-space-sr2e0c1a705749a)) + +### System Color Theme: + +- **Config:** [boxclk-2.json](https://github.com/espruino/BangleApps/tree/master/apps/boxclk/boxclk-2.json) ## Compatibility diff --git a/apps/boxclk/metadata.json b/apps/boxclk/metadata.json index 9b759def7..7ee6e1638 100644 --- a/apps/boxclk/metadata.json +++ b/apps/boxclk/metadata.json @@ -6,7 +6,8 @@ "icon": "app.png", "screenshots": [ {"url":"screenshot.png"}, - {"url":"screenshot-1.png"} + {"url":"screenshot-1.png"}, + {"url":"screenshot-2.png"} ], "type": "clock", "tags": "clock", diff --git a/apps/boxclk/screenshot-1.png b/apps/boxclk/screenshot-1.png index 18798bb30832743407fecba85c8d47431fd88260..c6e22d26297899f6f7d588db4559a71f85aacb1b 100644 GIT binary patch literal 6017 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 literal 5798 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 diff --git a/apps/boxclk/screenshot-2.png b/apps/boxclk/screenshot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6d49d82e3f3ec96543fb8af68d53fe389824a32a GIT binary patch literal 3599 zcmV+q4)F1bP)Px?$w@>(RCr$PU5j$#I1Fq5|D)4Mnuo1OB0y0O+t|68y=`QQ1R;o`9ryQkyWM{D zM+h7gfnO2$pqZ1~4+KPD5#i7Xh`@(VpPUzg#eqX3AOascef^yO{rxQ(&z<{g<6FG6 zdJH0P3%V!1Rs=qAa<35Do50&H>r<7h3S8>SZWTRa^MNTi*A{;%@DN zMPLwZ4GTv=1P+H(21g=LD;r8%eD&w7^C}@:_aPrm9@qDB>g#i3;o=%v7L+f53* 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 z Date: Wed, 21 Jun 2023 11:47:12 -0500 Subject: [PATCH 021/139] Update README.md - shorten width of text --- apps/boxclk/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index ca7b88779..a1ef41a33 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -37,8 +37,8 @@ Here's what an example configuration might look like: "boxPos": { "x": 0.5, "y": 0.5 }, "prefix": "", // Adds a string to the beginning of the main string "suffix": "", // Adds a string to the end of the main string - "disableSuffix": true, // Only used to remove the DayOfMonth suffix - "short": false // Gets long format value of time, meridian, date, or DoW + "disableSuffix": true, // Use to remove DayOfMonth suffix only + "short": false // Use long format of time, meridian, date, or DoW }, "bg": { // Can also be removed for no background From 810d6863e8c31c75a66a0999fd42921abf66e068 Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Wed, 21 Jun 2023 12:05:35 -0500 Subject: [PATCH 022/139] Update README.md - Reduce size of example names --- apps/boxclk/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index a1ef41a33..5a767eb0c 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -93,12 +93,12 @@ If the selectedConfig property is not present or is set to 0, the app will use t To easily try out other configs, download and place the JSON configs and/or background images from below onto your Bangle.js storage. Then go to the Box Clock settings menu to select the new config number. You can also modify them to suit your personal preferences. -### Space Theme: +__Space Theme:__ - **Config:** [boxclk-1.json](https://github.com/espruino/BangleApps/tree/master/apps/boxclk/boxclk-1.json) - **Background:** boxclk.space.img ([Source](https://www.pixilart.com/art/fallin-from-outer-space-sr2e0c1a705749a)) -### System Color Theme: +__System Color Theme:__ - **Config:** [boxclk-2.json](https://github.com/espruino/BangleApps/tree/master/apps/boxclk/boxclk-2.json) From 8eec69937003713acc40409ba65ea6706f3e77c3 Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Wed, 21 Jun 2023 12:15:07 -0500 Subject: [PATCH 023/139] Update README.md - Update links --- apps/boxclk/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index 5a767eb0c..8f5075dd0 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -96,7 +96,7 @@ To easily try out other configs, download and place the JSON configs and/or back __Space Theme:__ - **Config:** [boxclk-1.json](https://github.com/espruino/BangleApps/tree/master/apps/boxclk/boxclk-1.json) -- **Background:** boxclk.space.img ([Source](https://www.pixilart.com/art/fallin-from-outer-space-sr2e0c1a705749a)) +- **Background:** [boxclk.space.img](https://github.com/espruino/BangleApps/tree/master/apps/boxclk/boxclk.space.img) ([Original Source](https://www.pixilart.com/art/fallin-from-outer-space-sr2e0c1a705749a)) __System Color Theme:__ From ecb2013ac46f397fbded64fbde915a141e6f65fa Mon Sep 17 00:00:00 2001 From: stweedo Date: Wed, 21 Jun 2023 12:50:44 -0500 Subject: [PATCH 024/139] Show month short or long using "shortMonth" --- apps/boxclk/ChangeLog | 1 + apps/boxclk/README.md | 7 +++++-- apps/boxclk/app.js | 13 +++++++++---- apps/boxclk/metadata.json | 2 +- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/apps/boxclk/ChangeLog b/apps/boxclk/ChangeLog index ba46af04e..f35b35819 100644 --- a/apps/boxclk/ChangeLog +++ b/apps/boxclk/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! 0.02: New config options such as step, meridian, short/long formats, custom prefix/suffix +0.03: Allows showing the month in short or long format by setting `"shortMonth"` to true or false diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index 8f5075dd0..0bb2cdede 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -39,6 +39,7 @@ Here's what an example configuration might look like: "suffix": "", // Adds a string to the end of the main string "disableSuffix": true, // Use to remove DayOfMonth suffix only "short": false // Use long format of time, meridian, date, or DoW + "shortMonth": false // Use long format of month within date }, "bg": { // Can also be removed for no background @@ -75,9 +76,11 @@ __Breakdown of Parameters:__ * **suffix:** Adds a string to the end of the main string. For example, you can set "suffix": "%" to display "80%" for the battery percentage. -* **disableSuffix:** Applies only to the "date" box. Set to true to disable the DayOfMonth suffix. This is used to remove the "st","nd","rd", or "th" from the DayOfMonth number +* **disableSuffix:** Applies only to the "date" box. Set to true to disable the DayOfMonth suffix. This is used to remove the "st","nd","rd", or "th" from the DayOfMonth number. -* **short:** Set to false to get the long format value of time, meridian, date, or DayOfWeek. Short formats are used by default, +* **short:** Set to false to get the long format value of time, meridian, date, or DayOfWeek. Short formats are used by default if not specified. + +* **shortMonth:** Set to false to get the long format value of the month. Short format is used by default if not specified. * **bg:** This specifies a custom background image, with the img property defining the name of the image file on the Bangle.js storage. diff --git a/apps/boxclk/app.js b/apps/boxclk/app.js index 41636e1ef..0b0ca8e65 100644 --- a/apps/boxclk/app.js +++ b/apps/boxclk/app.js @@ -171,10 +171,10 @@ return typeof val !== 'undefined' ? Boolean(val) : defaultVal; }; - let getDate = function(short, disableSuffix) { + let getDate = function(short, shortMonth, disableSuffix) { const date = new Date(); const dayOfMonth = date.getDate(); - const month = short ? locale.month(date, 0) : locale.month(date, 1); + const month = shortMonth ? locale.month(date, 1) : locale.month(date, 0); const year = date.getFullYear(); let suffix; if ([1, 21, 31].includes(dayOfMonth)) { @@ -228,7 +228,12 @@ boxes.meridian.string = modString(boxes.meridian, locale.meridian(date, isBool(boxes.meridian.short, true))); } if (boxes.date) { - boxes.date.string = modString(boxes.date, getDate(isBool(boxes.date.short, true), isBool(boxes.date.disableSuffix, false))); + boxes.date.string = ( + modString(boxes.date, + getDate(isBool(boxes.date.short, true), + isBool(boxes.date.shortMonth, true), + isBool(boxes.date.disableSuffix, false) + ))); } if (boxes.dow) { boxes.dow.string = modString(boxes.dow, getDayOfWeek(date, isBool(boxes.dow.short, true))); @@ -395,4 +400,4 @@ widgets.swipeOn(); modSetColor(); setup(); -} +} \ No newline at end of file diff --git a/apps/boxclk/metadata.json b/apps/boxclk/metadata.json index 7ee6e1638..6717b79d8 100644 --- a/apps/boxclk/metadata.json +++ b/apps/boxclk/metadata.json @@ -1,7 +1,7 @@ { "id": "boxclk", "name": "Box Clock", - "version": "0.02", + "version": "0.03", "description": "A customizable clock with configurable text boxes that can be positioned to show your favorite background", "icon": "app.png", "screenshots": [ From e9b56bde18adcc6b69a4543cf766a876863d9380 Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Wed, 21 Jun 2023 12:55:49 -0500 Subject: [PATCH 025/139] Update README.md - missing comma in example --- apps/boxclk/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index 0bb2cdede..aa6331fe2 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -38,7 +38,7 @@ Here's what an example configuration might look like: "prefix": "", // Adds a string to the beginning of the main string "suffix": "", // Adds a string to the end of the main string "disableSuffix": true, // Use to remove DayOfMonth suffix only - "short": false // Use long format of time, meridian, date, or DoW + "short": false, // Use long format of time, meridian, date, or DoW "shortMonth": false // Use long format of month within date }, From b216ad91b1453673511cf1a67d18ff00ec0e3597 Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Wed, 21 Jun 2023 13:16:03 -0500 Subject: [PATCH 026/139] Update boxclk-2.json - change month to long --- apps/boxclk/boxclk-2.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/boxclk/boxclk-2.json b/apps/boxclk/boxclk-2.json index f2c390e52..1c6e28781 100644 --- a/apps/boxclk/boxclk-2.json +++ b/apps/boxclk/boxclk-2.json @@ -46,7 +46,8 @@ "boxPos": { "x": "0.5", "y": "0.75" - } + }, + "shortMonth": false }, "step": { "font": "4x6", From 40b07ade32f050aef3d7b8fea51550c8144b1c05 Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Wed, 21 Jun 2023 13:25:17 -0500 Subject: [PATCH 027/139] Update boxclk-2.json - disable DayOfMonth suffix --- apps/boxclk/boxclk-2.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/boxclk/boxclk-2.json b/apps/boxclk/boxclk-2.json index 1c6e28781..64b842f1c 100644 --- a/apps/boxclk/boxclk-2.json +++ b/apps/boxclk/boxclk-2.json @@ -47,7 +47,8 @@ "x": "0.5", "y": "0.75" }, - "shortMonth": false + "shortMonth": false, + "disableSuffix": true }, "step": { "font": "4x6", From b2fc4783880a240c0b19709ed58057ef5e27e305 Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Wed, 21 Jun 2023 13:28:05 -0500 Subject: [PATCH 028/139] Update screenshot-2 --- apps/boxclk/screenshot-2.png | Bin 3599 -> 3456 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/boxclk/screenshot-2.png b/apps/boxclk/screenshot-2.png index 6d49d82e3f3ec96543fb8af68d53fe389824a32a..b7a73d66ab5361e8aa9a828905ccf2e1b13fd2ff 100644 GIT binary patch literal 3456 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 delta 3584 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 Date: Wed, 21 Jun 2023 13:34:32 -0500 Subject: [PATCH 029/139] Update README.md --- apps/boxclk/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index aa6331fe2..07e847c16 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -80,7 +80,7 @@ __Breakdown of Parameters:__ * **short:** Set to false to get the long format value of time, meridian, date, or DayOfWeek. Short formats are used by default if not specified. -* **shortMonth:** Set to false to get the long format value of the month. Short format is used by default if not specified. +* **shortMonth:** Applies only to the "date" box. Set to false to get the long format value of the month. Short format is used by default if not specified. * **bg:** This specifies a custom background image, with the img property defining the name of the image file on the Bangle.js storage. @@ -88,7 +88,7 @@ __Breakdown of Parameters:__ __Settings Menu:__ -The app includes a settings menu that allows you to switch between different configurations. The selected configuration is stored as a numner in the default `boxclk.josn` file using the selectedConfig property. +The app includes a settings menu that allows you to switch between different configurations. The selected configuration is stored as a number in the default `boxclk.josn` file using the selectedConfig property. If the selectedConfig property is not present or is set to 0, the app will use the default configuration. To create additional configurations, create separate JSON files with the naming convention `boxclk-N.json`, where `N` is the configuration number. The settings menu will list all available configurations. From 633036efb23abe7faecb2bc6ad00cf8cee769ad1 Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Wed, 21 Jun 2023 14:45:50 -0500 Subject: [PATCH 030/139] Update README.md --- apps/boxclk/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index 07e847c16..c72d932a4 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -18,7 +18,7 @@ Each box can be customized extensively via a simple JSON configuration. You can ## Config File Structure -Here's what an example configuration might look like: +Here's an example of what a configuration might contain: ``` { @@ -88,7 +88,7 @@ __Breakdown of Parameters:__ __Settings Menu:__ -The app includes a settings menu that allows you to switch between different configurations. The selected configuration is stored as a number in the default `boxclk.josn` file using the selectedConfig property. +The app includes a settings menu that allows you to switch between different configurations. The selected configuration is stored as a number in the default `boxclk.json` file using the selectedConfig property. If the selectedConfig property is not present or is set to 0, the app will use the default configuration. To create additional configurations, create separate JSON files with the naming convention `boxclk-N.json`, where `N` is the configuration number. The settings menu will list all available configurations. From 4922e135e3865a5817d1f9c57e0c305c4c553bcd Mon Sep 17 00:00:00 2001 From: stweedo Date: Thu, 22 Jun 2023 00:36:02 -0500 Subject: [PATCH 031/139] Add new custom font library module --- apps/boxclk/ChangeLog | 2 +- apps/boxclk/README.md | 4 +-- apps/boxclk/app.js | 35 ++++++----------------- apps/boxclk/boxclk-1.json | 18 ++++++------ apps/boxclk/lib.js | 53 +++++++++++++++++++++++++++++++++++ apps/boxclk/metadata.json | 2 ++ apps/boxclk/screenshot-1.png | Bin 6017 -> 5782 bytes 7 files changed, 76 insertions(+), 38 deletions(-) create mode 100644 apps/boxclk/lib.js diff --git a/apps/boxclk/ChangeLog b/apps/boxclk/ChangeLog index f35b35819..105c8384c 100644 --- a/apps/boxclk/ChangeLog +++ b/apps/boxclk/ChangeLog @@ -1,3 +1,3 @@ 0.01: New App! 0.02: New config options such as step, meridian, short/long formats, custom prefix/suffix -0.03: Allows showing the month in short or long format by setting `"shortMonth"` to true or false +0.03: New Font Library Module! Also allows short or long month. diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index c72d932a4..5baa9c439 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -24,7 +24,7 @@ Here's an example of what a configuration might contain: { "customBox": { "string": "Your text here", - "font": "CustomFont", // Custom fonts must be removed in setUI + "font": "CustomFont", // Add custom fonts to "boxclk.lib" "fontSize": 1, "outline": 2, "color": "#FF9900", // Use 6 or 3 digit hex color codes @@ -54,7 +54,7 @@ __Breakdown of Parameters:__ * **string:** The text string to be displayed inside the box. This is only required for custom Box Names. -* **font:** The font name given to g.setFont(). +* **font:** The font name given to g.setFont(). To use a custom font, use the Espruino Font Converter and add it to "boxclk.lib" next to the other custom fonts. Use the font name beginning after "setFont" in your JSON config. * **fontSize:** The size of the font. diff --git a/apps/boxclk/app.js b/apps/boxclk/app.js index 0b0ca8e65..1d7d6c590 100644 --- a/apps/boxclk/app.js +++ b/apps/boxclk/app.js @@ -7,6 +7,7 @@ let storage = require("Storage"); let locale = require("locale"); let widgets = require("widget_utils"); + let customFonts = require("boxclk.lib"); let date = new Date(); let bgImage; let configNumber = (storage.readJSON("boxclk.json", 1) || {}).selectedConfig || 0; @@ -46,24 +47,7 @@ /** * --------------------------------------------------------------- - * 4. Font loading function - * --------------------------------------------------------------- - */ - let loadCustomFont = function() { - Graphics.prototype.setFontBrunoAce = function() { - // Actual height 23 (24 - 2) - return this.setFontCustom( - E.toString(require('heatshrink').decompress(atob('ABMHwADBh4DKg4bKgIPDAYUfAYV/AYX/AQMD/gmC+ADBn/AByE/GIU8AYUwLxcfAYX/8AnB//4JIP/FgMP4F+CQQBBjwJBFYRbBAd43DHoJpBh/g/xPEK4ZfDgEEORKDDAY8////wADLfZrTCgITBnhEBAYJMBAYMPw4DCM4QDjhwDCjwDBn0+AYMf/gDBh/4AYMH+ADBLpc4ToK/NGYZfnAYcfL4U/x5fBW4LvB/7vC+LvBgHAsBfIn76Cn4WBcYQDFEgJ+CQQYDyH4L/BAZbHLNYjjCAZc8ngDunycBZ4KkBa4KwBnEHY4UB+BfMgf/ZgMH/4XBc4cf4F/gE+ZgRjwAYcfj5jBM4U4M4RQBM4UA8BjIngDFEYJ8BAYUDAYQvCM4ZxBC4V+AYQvBnkBQ4M8gabBJQPAI4WAAYM/GYQaBAYJKCnqyCn5OCn4aBAYIaBAYJPCU4IABnBhIuDXCFAMD+Z/BY4IDBQwOPwEfv6TDAYUPAcwrDAYQ7BAYY/BI4cD8bLCK4RfEAA0BRYTeDcwIrFn0Pw43Bg4DugYDBjxBBU4SvDMYMH/5QBgP/LAQAP8EHN4UPwADHB4YAHA'))), - 46, - atob("CBEdChgYGhgaGBsaCQ=="), - 32|65536 - ); - }; - }; - - /** - * --------------------------------------------------------------- - * 5. Initial settings of boxes and their positions + * 4. Initial settings of boxes and their positions * --------------------------------------------------------------- */ for (let key in boxesConfig) { @@ -88,7 +72,7 @@ /** * --------------------------------------------------------------- - * 6. Text and drawing functions + * 5. Text and drawing functions * --------------------------------------------------------------- */ @@ -164,7 +148,7 @@ /** * --------------------------------------------------------------- - * 7. String forming helper functions + * 6. String forming helper functions * --------------------------------------------------------------- */ let isBool = function(val, defaultVal) { @@ -208,7 +192,7 @@ /** * --------------------------------------------------------------- - * 8. Main draw function + * 7. Main draw function * --------------------------------------------------------------- */ let draw = (function() { @@ -269,7 +253,7 @@ /** * --------------------------------------------------------------- - * 9. Helper function for touch event + * 8. Helper function for touch event * --------------------------------------------------------------- */ let touchInText = function(e, boxItem, boxKey) { @@ -293,7 +277,7 @@ /** * --------------------------------------------------------------- - * 10. Setup function to configure event handlers + * 9. Setup function to configure event handlers * --------------------------------------------------------------- */ let setup = function() { @@ -380,20 +364,19 @@ Bangle.removeListener('drag', dragHandler); if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = undefined; - delete Graphics.prototype.setFontBrunoAce; + unloadCustomBoxclkFonts(); // Remove custom fonts // Restore original drawString function (no outlines) g.drawString = g_drawString; restoreSetColor(); widgets.show(); } }); - loadCustomFont(); draw(boxes); }; /** * --------------------------------------------------------------- - * 11. Main execution part + * 10. Main execution part * --------------------------------------------------------------- */ Bangle.loadWidgets(); diff --git a/apps/boxclk/boxclk-1.json b/apps/boxclk/boxclk-1.json index 99e225f04..d4fe65b25 100644 --- a/apps/boxclk/boxclk-1.json +++ b/apps/boxclk/boxclk-1.json @@ -1,15 +1,15 @@ { "time": { - "font": "6x8", - "fontSize": 3, + "font": "Orbitron", + "fontSize": 1, "outline": 2, "color": "#0ff", "outlineColor": "#00f", "border": "#0f0", - "xPadding": -1, - "yPadding": -2.5, - "xOffset": 2, - "yOffset": 0, + "xPadding": 0, + "yPadding": -3.5, + "xOffset": 0, + "yOffset": 2, "boxPos": { "x": "0.33", "y": "0.29" @@ -35,7 +35,7 @@ "dow": { "font": "6x8", "fontSize": 2, - "outline": 1, + "outline": 2, "color": "#000", "outlineColor": "#fff", "border": "#0f0", @@ -45,13 +45,13 @@ "yOffset": 1, "boxPos": { "x": "0.5", - "y": "0.82" + "y": "0.83" } }, "step": { "font": "6x8", "fontSize": 2, - "outline": 1, + "outline": 2, "color": "#000", "outlineColor": "#fff", "border": "#0f0", diff --git a/apps/boxclk/lib.js b/apps/boxclk/lib.js new file mode 100644 index 000000000..fec5f95e8 --- /dev/null +++ b/apps/boxclk/lib.js @@ -0,0 +1,53 @@ +/************************************************* + * Name: boxclk.lib + * Type: Font Library + * Desc: Add your custom fonts for Box Clock below + *************************************************/ + +// Create an empty object for exporting module's functions +var exports={}; + +// Array to hold the names of the custom fonts +let fontNames = []; + +// Add custom fonts below. Each font is a function that's added to the Graphics.prototype +// Use the Espruino Font Converter tool to convert your font into the appropriate format +// Use the name beginning after "setFont", for example "BrunoAce" in your JSON config +// This module and the main app will automatically delete the custom fonts in setUI + +Graphics.prototype.setFontBrunoAce = function() { + // Actual height 23 (24 - 2) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('ABMHwADBh4DKg4bKgIPDAYUfAYV/AYX/AQMD/gmC+ADBn/AByE/GIU8AYUwLxcfAYX/8AnB//4JIP/FgMP4F+CQQBBjwJBFYRbBAd43DHoJpBh/g/xPEK4ZfDgEEORKDDAY8////wADLfZrTCgITBnhEBAYJMBAYMPw4DCM4QDjhwDCjwDBn0+AYMf/gDBh/4AYMH+ADBLpc4ToK/NGYZfnAYcfL4U/x5fBW4LvB/7vC+LvBgHAsBfIn76Cn4WBcYQDFEgJ+CQQYDyH4L/BAZbHLNYjjCAZc8ngDunycBZ4KkBa4KwBnEHY4UB+BfMgf/ZgMH/4XBc4cf4F/gE+ZgRjwAYcfj5jBM4U4M4RQBM4UA8BjIngDFEYJ8BAYUDAYQvCM4ZxBC4V+AYQvBnkBQ4M8gabBJQPAI4WAAYM/GYQaBAYJKCnqyCn5OCn4aBAYIaBAYJPCU4IABnBhIuDXCFAMD+Z/BY4IDBQwOPwEfv6TDAYUPAcwrDAYQ7BAYY/BI4cD8bLCK4RfEAA0BRYTeDcwIrFn0Pw43Bg4DugYDBjxBBU4SvDMYMH/5QBgP/LAQAP8EHN4UPwADHB4YAHA'))), + 46, + atob("CBEdChgYGhgaGBsaCQ=="), + 32|65536 + ); +}; + +Graphics.prototype.setFontOrbitron = function() { + // Actual height 24 (25 - 2) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('AA3AAQMBAYwLDAA8DBYUHwADBjwLCngDCvADC+AWJh4OCDQYWGgPgDQsPGI0cMBUf///wE/AYPAAYc4BoIDCnoDCvIDC+IDBgPhAYMDAYfBAYMHwIDBh6HBnEeAYU8AYV4AYX4AYXwAYM58ADBnfAAYM/wADCI4RTDh4DBMhNAYIqeEQ40+XIx7HAYb/SV4MBC4M+gYDCg6fCg5vCAfxnBAYMf/wDBh/8SIYAJgRrDToOAS4KhBAYKpBf4IvChwD5n5jCj7TCh4DBdoK/BMo3wAQMBAYUDAY0HAYUPuB4CAYU8AYV4AYXwAYMB8ADBQIIDBRoIDBh4DCj8AAYKTBAYK7BJ4IDHFAIrCAZgAFO4I1BAYR/CAYK/7AZDABAYMHYYM4YZAAJb4RrBR4xn/gADDNYT0BKYL8BNYs4AfybHU4XAKwJbCXa8HQYQD+M42AYQK7FAA8H/BrC/0BNYQjDM/5rdMoMA4AdBAIwLCC44A='))), + 46, + atob("BxEbDRsaFxsaFRsbBw=="), + 32|65536 + ); +}; + +// Extract the names of the custom fonts added to the Graphics.prototype +for (let prop in Graphics.prototype) { + if (prop.startsWith('setFont')) { + fontNames.push(prop.slice(7)); // remove 'setFont' from the start + } +} + +// Function to remove the custom fonts from the Graphics.prototype +function unloadCustomBoxClkFonts() { + for (let i = 0; i < fontNames.length; i++) { + delete Graphics.prototype[fontNames[i]]; + } +} + +// Export the unload function +exports.unloadCustomBoxClkFonts = unloadCustomBoxClkFonts; \ No newline at end of file diff --git a/apps/boxclk/metadata.json b/apps/boxclk/metadata.json index 6717b79d8..2d2507e8d 100644 --- a/apps/boxclk/metadata.json +++ b/apps/boxclk/metadata.json @@ -12,11 +12,13 @@ "type": "clock", "tags": "clock", "supports": ["BANGLEJS2"], + "provides_modules" : ["boxclk.lib"], "readme": "README.md", "allow_emulator": true, "storage": [ {"name":"boxclk.app.js","url":"app.js"}, {"name":"boxclk.settings.js","url":"settings.js"}, + {"name":"boxclk.lib","url":"lib.js"}, {"name":"boxclk.img","url":"icon.js","evaluate":true}, {"name":"boxclk.beachhouse.img","url":"beachhouse.js","evaluate":true} ], diff --git a/apps/boxclk/screenshot-1.png b/apps/boxclk/screenshot-1.png index c6e22d26297899f6f7d588db4559a71f85aacb1b..25b911aa86557ed990215a0404cd9f7105c4cab9 100644 GIT binary patch literal 5782 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 From a11792e31da0c0d2bd2b528d59c867fab956b91f Mon Sep 17 00:00:00 2001 From: stweedo Date: Thu, 22 Jun 2023 00:40:57 -0500 Subject: [PATCH 032/139] Update name --- apps/boxclk/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/boxclk/app.js b/apps/boxclk/app.js index 1d7d6c590..29c7a9594 100644 --- a/apps/boxclk/app.js +++ b/apps/boxclk/app.js @@ -364,7 +364,7 @@ Bangle.removeListener('drag', dragHandler); if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = undefined; - unloadCustomBoxclkFonts(); // Remove custom fonts + unloadCustomBoxClkFonts(); // Remove custom fonts // Restore original drawString function (no outlines) g.drawString = g_drawString; restoreSetColor(); From 83981d4a6c07901426e108f30775300d743ccd92 Mon Sep 17 00:00:00 2001 From: stweedo Date: Thu, 22 Jun 2023 01:45:38 -0500 Subject: [PATCH 033/139] Revert "Update name" This reverts commit a11792e31da0c0d2bd2b528d59c867fab956b91f. --- apps/boxclk/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/boxclk/app.js b/apps/boxclk/app.js index 29c7a9594..1d7d6c590 100644 --- a/apps/boxclk/app.js +++ b/apps/boxclk/app.js @@ -364,7 +364,7 @@ Bangle.removeListener('drag', dragHandler); if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = undefined; - unloadCustomBoxClkFonts(); // Remove custom fonts + unloadCustomBoxclkFonts(); // Remove custom fonts // Restore original drawString function (no outlines) g.drawString = g_drawString; restoreSetColor(); From e5e6b228103828fb29160b08a696b0e31a20c263 Mon Sep 17 00:00:00 2001 From: stweedo Date: Thu, 22 Jun 2023 01:47:02 -0500 Subject: [PATCH 034/139] Revert "Add new custom font library module" This reverts commit 4922e135e3865a5817d1f9c57e0c305c4c553bcd. --- apps/boxclk/ChangeLog | 2 +- apps/boxclk/README.md | 4 +-- apps/boxclk/app.js | 35 +++++++++++++++++------ apps/boxclk/boxclk-1.json | 18 ++++++------ apps/boxclk/lib.js | 53 ----------------------------------- apps/boxclk/metadata.json | 2 -- apps/boxclk/screenshot-1.png | Bin 5782 -> 6017 bytes 7 files changed, 38 insertions(+), 76 deletions(-) delete mode 100644 apps/boxclk/lib.js diff --git a/apps/boxclk/ChangeLog b/apps/boxclk/ChangeLog index 105c8384c..f35b35819 100644 --- a/apps/boxclk/ChangeLog +++ b/apps/boxclk/ChangeLog @@ -1,3 +1,3 @@ 0.01: New App! 0.02: New config options such as step, meridian, short/long formats, custom prefix/suffix -0.03: New Font Library Module! Also allows short or long month. +0.03: Allows showing the month in short or long format by setting `"shortMonth"` to true or false diff --git a/apps/boxclk/README.md b/apps/boxclk/README.md index 5baa9c439..c72d932a4 100644 --- a/apps/boxclk/README.md +++ b/apps/boxclk/README.md @@ -24,7 +24,7 @@ Here's an example of what a configuration might contain: { "customBox": { "string": "Your text here", - "font": "CustomFont", // Add custom fonts to "boxclk.lib" + "font": "CustomFont", // Custom fonts must be removed in setUI "fontSize": 1, "outline": 2, "color": "#FF9900", // Use 6 or 3 digit hex color codes @@ -54,7 +54,7 @@ __Breakdown of Parameters:__ * **string:** The text string to be displayed inside the box. This is only required for custom Box Names. -* **font:** The font name given to g.setFont(). To use a custom font, use the Espruino Font Converter and add it to "boxclk.lib" next to the other custom fonts. Use the font name beginning after "setFont" in your JSON config. +* **font:** The font name given to g.setFont(). * **fontSize:** The size of the font. diff --git a/apps/boxclk/app.js b/apps/boxclk/app.js index 1d7d6c590..0b0ca8e65 100644 --- a/apps/boxclk/app.js +++ b/apps/boxclk/app.js @@ -7,7 +7,6 @@ let storage = require("Storage"); let locale = require("locale"); let widgets = require("widget_utils"); - let customFonts = require("boxclk.lib"); let date = new Date(); let bgImage; let configNumber = (storage.readJSON("boxclk.json", 1) || {}).selectedConfig || 0; @@ -47,7 +46,24 @@ /** * --------------------------------------------------------------- - * 4. Initial settings of boxes and their positions + * 4. Font loading function + * --------------------------------------------------------------- + */ + let loadCustomFont = function() { + Graphics.prototype.setFontBrunoAce = function() { + // Actual height 23 (24 - 2) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('ABMHwADBh4DKg4bKgIPDAYUfAYV/AYX/AQMD/gmC+ADBn/AByE/GIU8AYUwLxcfAYX/8AnB//4JIP/FgMP4F+CQQBBjwJBFYRbBAd43DHoJpBh/g/xPEK4ZfDgEEORKDDAY8////wADLfZrTCgITBnhEBAYJMBAYMPw4DCM4QDjhwDCjwDBn0+AYMf/gDBh/4AYMH+ADBLpc4ToK/NGYZfnAYcfL4U/x5fBW4LvB/7vC+LvBgHAsBfIn76Cn4WBcYQDFEgJ+CQQYDyH4L/BAZbHLNYjjCAZc8ngDunycBZ4KkBa4KwBnEHY4UB+BfMgf/ZgMH/4XBc4cf4F/gE+ZgRjwAYcfj5jBM4U4M4RQBM4UA8BjIngDFEYJ8BAYUDAYQvCM4ZxBC4V+AYQvBnkBQ4M8gabBJQPAI4WAAYM/GYQaBAYJKCnqyCn5OCn4aBAYIaBAYJPCU4IABnBhIuDXCFAMD+Z/BY4IDBQwOPwEfv6TDAYUPAcwrDAYQ7BAYY/BI4cD8bLCK4RfEAA0BRYTeDcwIrFn0Pw43Bg4DugYDBjxBBU4SvDMYMH/5QBgP/LAQAP8EHN4UPwADHB4YAHA'))), + 46, + atob("CBEdChgYGhgaGBsaCQ=="), + 32|65536 + ); + }; + }; + + /** + * --------------------------------------------------------------- + * 5. Initial settings of boxes and their positions * --------------------------------------------------------------- */ for (let key in boxesConfig) { @@ -72,7 +88,7 @@ /** * --------------------------------------------------------------- - * 5. Text and drawing functions + * 6. Text and drawing functions * --------------------------------------------------------------- */ @@ -148,7 +164,7 @@ /** * --------------------------------------------------------------- - * 6. String forming helper functions + * 7. String forming helper functions * --------------------------------------------------------------- */ let isBool = function(val, defaultVal) { @@ -192,7 +208,7 @@ /** * --------------------------------------------------------------- - * 7. Main draw function + * 8. Main draw function * --------------------------------------------------------------- */ let draw = (function() { @@ -253,7 +269,7 @@ /** * --------------------------------------------------------------- - * 8. Helper function for touch event + * 9. Helper function for touch event * --------------------------------------------------------------- */ let touchInText = function(e, boxItem, boxKey) { @@ -277,7 +293,7 @@ /** * --------------------------------------------------------------- - * 9. Setup function to configure event handlers + * 10. Setup function to configure event handlers * --------------------------------------------------------------- */ let setup = function() { @@ -364,19 +380,20 @@ Bangle.removeListener('drag', dragHandler); if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = undefined; - unloadCustomBoxclkFonts(); // Remove custom fonts + delete Graphics.prototype.setFontBrunoAce; // Restore original drawString function (no outlines) g.drawString = g_drawString; restoreSetColor(); widgets.show(); } }); + loadCustomFont(); draw(boxes); }; /** * --------------------------------------------------------------- - * 10. Main execution part + * 11. Main execution part * --------------------------------------------------------------- */ Bangle.loadWidgets(); diff --git a/apps/boxclk/boxclk-1.json b/apps/boxclk/boxclk-1.json index d4fe65b25..99e225f04 100644 --- a/apps/boxclk/boxclk-1.json +++ b/apps/boxclk/boxclk-1.json @@ -1,15 +1,15 @@ { "time": { - "font": "Orbitron", - "fontSize": 1, + "font": "6x8", + "fontSize": 3, "outline": 2, "color": "#0ff", "outlineColor": "#00f", "border": "#0f0", - "xPadding": 0, - "yPadding": -3.5, - "xOffset": 0, - "yOffset": 2, + "xPadding": -1, + "yPadding": -2.5, + "xOffset": 2, + "yOffset": 0, "boxPos": { "x": "0.33", "y": "0.29" @@ -35,7 +35,7 @@ "dow": { "font": "6x8", "fontSize": 2, - "outline": 2, + "outline": 1, "color": "#000", "outlineColor": "#fff", "border": "#0f0", @@ -45,13 +45,13 @@ "yOffset": 1, "boxPos": { "x": "0.5", - "y": "0.83" + "y": "0.82" } }, "step": { "font": "6x8", "fontSize": 2, - "outline": 2, + "outline": 1, "color": "#000", "outlineColor": "#fff", "border": "#0f0", diff --git a/apps/boxclk/lib.js b/apps/boxclk/lib.js deleted file mode 100644 index fec5f95e8..000000000 --- a/apps/boxclk/lib.js +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************* - * Name: boxclk.lib - * Type: Font Library - * Desc: Add your custom fonts for Box Clock below - *************************************************/ - -// Create an empty object for exporting module's functions -var exports={}; - -// Array to hold the names of the custom fonts -let fontNames = []; - -// Add custom fonts below. Each font is a function that's added to the Graphics.prototype -// Use the Espruino Font Converter tool to convert your font into the appropriate format -// Use the name beginning after "setFont", for example "BrunoAce" in your JSON config -// This module and the main app will automatically delete the custom fonts in setUI - -Graphics.prototype.setFontBrunoAce = function() { - // Actual height 23 (24 - 2) - return this.setFontCustom( - E.toString(require('heatshrink').decompress(atob('ABMHwADBh4DKg4bKgIPDAYUfAYV/AYX/AQMD/gmC+ADBn/AByE/GIU8AYUwLxcfAYX/8AnB//4JIP/FgMP4F+CQQBBjwJBFYRbBAd43DHoJpBh/g/xPEK4ZfDgEEORKDDAY8////wADLfZrTCgITBnhEBAYJMBAYMPw4DCM4QDjhwDCjwDBn0+AYMf/gDBh/4AYMH+ADBLpc4ToK/NGYZfnAYcfL4U/x5fBW4LvB/7vC+LvBgHAsBfIn76Cn4WBcYQDFEgJ+CQQYDyH4L/BAZbHLNYjjCAZc8ngDunycBZ4KkBa4KwBnEHY4UB+BfMgf/ZgMH/4XBc4cf4F/gE+ZgRjwAYcfj5jBM4U4M4RQBM4UA8BjIngDFEYJ8BAYUDAYQvCM4ZxBC4V+AYQvBnkBQ4M8gabBJQPAI4WAAYM/GYQaBAYJKCnqyCn5OCn4aBAYIaBAYJPCU4IABnBhIuDXCFAMD+Z/BY4IDBQwOPwEfv6TDAYUPAcwrDAYQ7BAYY/BI4cD8bLCK4RfEAA0BRYTeDcwIrFn0Pw43Bg4DugYDBjxBBU4SvDMYMH/5QBgP/LAQAP8EHN4UPwADHB4YAHA'))), - 46, - atob("CBEdChgYGhgaGBsaCQ=="), - 32|65536 - ); -}; - -Graphics.prototype.setFontOrbitron = function() { - // Actual height 24 (25 - 2) - return this.setFontCustom( - E.toString(require('heatshrink').decompress(atob('AA3AAQMBAYwLDAA8DBYUHwADBjwLCngDCvADC+AWJh4OCDQYWGgPgDQsPGI0cMBUf///wE/AYPAAYc4BoIDCnoDCvIDC+IDBgPhAYMDAYfBAYMHwIDBh6HBnEeAYU8AYV4AYX4AYXwAYM58ADBnfAAYM/wADCI4RTDh4DBMhNAYIqeEQ40+XIx7HAYb/SV4MBC4M+gYDCg6fCg5vCAfxnBAYMf/wDBh/8SIYAJgRrDToOAS4KhBAYKpBf4IvChwD5n5jCj7TCh4DBdoK/BMo3wAQMBAYUDAY0HAYUPuB4CAYU8AYV4AYXwAYMB8ADBQIIDBRoIDBh4DCj8AAYKTBAYK7BJ4IDHFAIrCAZgAFO4I1BAYR/CAYK/7AZDABAYMHYYM4YZAAJb4RrBR4xn/gADDNYT0BKYL8BNYs4AfybHU4XAKwJbCXa8HQYQD+M42AYQK7FAA8H/BrC/0BNYQjDM/5rdMoMA4AdBAIwLCC44A='))), - 46, - atob("BxEbDRsaFxsaFRsbBw=="), - 32|65536 - ); -}; - -// Extract the names of the custom fonts added to the Graphics.prototype -for (let prop in Graphics.prototype) { - if (prop.startsWith('setFont')) { - fontNames.push(prop.slice(7)); // remove 'setFont' from the start - } -} - -// Function to remove the custom fonts from the Graphics.prototype -function unloadCustomBoxClkFonts() { - for (let i = 0; i < fontNames.length; i++) { - delete Graphics.prototype[fontNames[i]]; - } -} - -// Export the unload function -exports.unloadCustomBoxClkFonts = unloadCustomBoxClkFonts; \ No newline at end of file diff --git a/apps/boxclk/metadata.json b/apps/boxclk/metadata.json index 2d2507e8d..6717b79d8 100644 --- a/apps/boxclk/metadata.json +++ b/apps/boxclk/metadata.json @@ -12,13 +12,11 @@ "type": "clock", "tags": "clock", "supports": ["BANGLEJS2"], - "provides_modules" : ["boxclk.lib"], "readme": "README.md", "allow_emulator": true, "storage": [ {"name":"boxclk.app.js","url":"app.js"}, {"name":"boxclk.settings.js","url":"settings.js"}, - {"name":"boxclk.lib","url":"lib.js"}, {"name":"boxclk.img","url":"icon.js","evaluate":true}, {"name":"boxclk.beachhouse.img","url":"beachhouse.js","evaluate":true} ], diff --git a/apps/boxclk/screenshot-1.png b/apps/boxclk/screenshot-1.png index 25b911aa86557ed990215a0404cd9f7105c4cab9..c6e22d26297899f6f7d588db4559a71f85aacb1b 100644 GIT binary patch literal 6017 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 literal 5782 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 Date: Thu, 22 Jun 2023 08:46:53 +0100 Subject: [PATCH 035/139] Compass now uses falling edge for reset function so exiting app doesn't reset it - #2832 --- apps/compass/ChangeLog | 1 + apps/compass/compass.js | 2 +- apps/compass/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/compass/ChangeLog b/apps/compass/ChangeLog index cb1c6d463..1e7360018 100644 --- a/apps/compass/ChangeLog +++ b/apps/compass/ChangeLog @@ -6,3 +6,4 @@ 0.06: Add button for force compass calibration 0.07: Use 360-heading to output the correct heading value (fix #1866) 0.08: Added adjustment for Bangle.js magnetometer heading fix +0.09: use falling edge of button to reset compass (allows exit without compass reset) \ No newline at end of file diff --git a/apps/compass/compass.js b/apps/compass/compass.js index 9a7aec2fc..b7c8ebb71 100644 --- a/apps/compass/compass.js +++ b/apps/compass/compass.js @@ -68,7 +68,7 @@ g.clear(1); g.setFont("6x8").setFontAlign(0,0,3).drawString(/*LANG*/"RESET", g.getWidth()-5, g.getHeight()/2); setWatch(function() { Bangle.resetCompass(); -}, (process.env.HWVERSION==2) ? BTN1 : BTN2, {repeat:true}); +}, (process.env.HWVERSION==2) ? BTN1 : BTN2, {repeat:true, edge:"falling"}); Bangle.loadWidgets(); Bangle.drawWidgets(); diff --git a/apps/compass/metadata.json b/apps/compass/metadata.json index 1a614e1f8..9cc03d6c8 100644 --- a/apps/compass/metadata.json +++ b/apps/compass/metadata.json @@ -1,7 +1,7 @@ { "id": "compass", "name": "Compass", - "version": "0.08", + "version": "0.09", "description": "Simple compass that points North", "icon": "compass.png", "screenshots": [{"url":"screenshot_compass.png"}], From f680be51d5e0b6a4160145341f761fa38bcd6d22 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Thu, 22 Jun 2023 10:04:46 +0100 Subject: [PATCH 036/139] Navigation messages no longer launch the Maps view unless they're new --- apps/android/ChangeLog | 1 + apps/android/boot.js | 2 ++ apps/android/metadata.json | 2 +- apps/messagegui/ChangeLog | 3 ++- apps/messagegui/app.js | 2 ++ apps/messagegui/metadata.json | 2 +- 6 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/android/ChangeLog b/apps/android/ChangeLog index 2e98a1237..f2807ba11 100644 --- a/apps/android/ChangeLog +++ b/apps/android/ChangeLog @@ -26,3 +26,4 @@ 0.25: Added option to 'ignore' an app from the message 0.26: Change handling of GPS status to depend on GPS events instead of connection events 0.27: Issue newline before GB commands (solves issue with console.log and ignored commands) +0.28: Navigation messages no longer launch the Maps view unless they're new \ No newline at end of file diff --git a/apps/android/boot.js b/apps/android/boot.js index 8e2e64dd0..d790a078e 100644 --- a/apps/android/boot.js +++ b/apps/android/boot.js @@ -203,6 +203,8 @@ event.t="add"; event.src="maps"; // for the icon event.title="Navigation"; + if (require("messages").getMessages().find(m=>m.id=="nav")) + event.t = "modify"; } else { event.t="remove"; } diff --git a/apps/android/metadata.json b/apps/android/metadata.json index 30890f12a..ed55e1192 100644 --- a/apps/android/metadata.json +++ b/apps/android/metadata.json @@ -2,7 +2,7 @@ "id": "android", "name": "Android Integration", "shortName": "Android", - "version": "0.27", + "version": "0.28", "description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.", "icon": "app.png", "tags": "tool,system,messages,notifications,gadgetbridge", diff --git a/apps/messagegui/ChangeLog b/apps/messagegui/ChangeLog index 92c7f09a4..cedb0e680 100644 --- a/apps/messagegui/ChangeLog +++ b/apps/messagegui/ChangeLog @@ -97,4 +97,5 @@ 0.70: Handle nav messages from newer Gadgetbridge builds that output distance as a String If we receive a 'music' message and we're in the messages app (but not showing a message) show music (#2814) 0.71: Cancel buzzing when watch unlocked, or when different messages viewed - On 2v18.64+ firmware, 'No Messages' now has a 'back' button \ No newline at end of file + On 2v18.64+ firmware, 'No Messages' now has a 'back' button +0.72: Nav message updastes don't automatically launch navigation menu unless they're new \ No newline at end of file diff --git a/apps/messagegui/app.js b/apps/messagegui/app.js index 395b56a4d..dc7799036 100644 --- a/apps/messagegui/app.js +++ b/apps/messagegui/app.js @@ -70,6 +70,8 @@ var onMessagesModified = function(type,msg) { if (msg.state && msg.state!="play") openMusic = false; // no longer playing music to go back to if ((active!=undefined) && (active!="list") && (active!="music")) return; // don't open music over other screens (but do if we're in the main menu) } + if (msg && msg.id=="nav" && msg.t=="modify" && active!="map") + return; // don't show an updated nav message if we're just in the menu showMessage(msg&&msg.id); }; Bangle.on("message", onMessagesModified); diff --git a/apps/messagegui/metadata.json b/apps/messagegui/metadata.json index 9eb20a666..c71e5d542 100644 --- a/apps/messagegui/metadata.json +++ b/apps/messagegui/metadata.json @@ -2,7 +2,7 @@ "id": "messagegui", "name": "Message UI", "shortName": "Messages", - "version": "0.71", + "version": "0.72", "description": "Default app to display notifications from iOS and Gadgetbridge/Android", "icon": "app.png", "type": "app", From e5ebbf0ed46ccd02acd5c3d8f1bfcf2e15007f4a Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Thu, 22 Jun 2023 13:43:22 +0100 Subject: [PATCH 037/139] Automatically create new track if the filename is different --- apps/recorder/ChangeLog | 3 ++- apps/recorder/metadata.json | 2 +- apps/recorder/widget.js | 11 +++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/recorder/ChangeLog b/apps/recorder/ChangeLog index 94e2f28c2..cdb7352f3 100644 --- a/apps/recorder/ChangeLog +++ b/apps/recorder/ChangeLog @@ -32,4 +32,5 @@ 0.24: Can now specify `setRecording(true, {force:...` to not show a menu 0.25: Widget now has `isRecording()` for retrieving recording status. 0.26: Now record filename based on date -0.27: Fix first ever recorded filename being log0 (now all are dated) \ No newline at end of file +0.27: Fix first ever recorded filename being log0 (now all are dated) +0.28: Automatically create new track if the filename is different \ No newline at end of file diff --git a/apps/recorder/metadata.json b/apps/recorder/metadata.json index beb5648c8..2f682016f 100644 --- a/apps/recorder/metadata.json +++ b/apps/recorder/metadata.json @@ -2,7 +2,7 @@ "id": "recorder", "name": "Recorder", "shortName": "Recorder", - "version": "0.27", + "version": "0.28", "description": "Record GPS position, heart rate and more in the background, then download to your PC.", "icon": "app.png", "tags": "tool,outdoors,gps,widget", diff --git a/apps/recorder/widget.js b/apps/recorder/widget.js index 3c9afcf70..e34fecfbc 100644 --- a/apps/recorder/widget.js +++ b/apps/recorder/widget.js @@ -241,9 +241,12 @@ options = options||{}; if (isOn && !settings.recording) { var date=(new Date()).toISOString().substr(0,10).replace(/-/g,""), trackNo=10; - if (!settings.file) { // if no filename set - settings.file = "recorder.log" + date + trackNo.toString(36) + ".csv"; - } else if (require("Storage").list(settings.file).length){ // if file exists + function getTrackFilename() { return "recorder.log" + date + trackNo.toString(36) + ".csv"; } + if (!settings.file || !settings.file.startsWith("recorder.log" + date)) { + // if no filename set or date different, set up a new filename + settings.file = getTrackFilename(); + } + if (require("Storage").list(settings.file).length){ // if file exists if (!options.force) { // if not forced, ask the question g.reset(); // work around bug in 2v17 and earlier where bg color wasn't reset return E.showPrompt( @@ -266,7 +269,7 @@ // new file - use the current date var newFileName; do { // while a file exists, add one to the letter after the date - newFileName = "recorder.log" + date + trackNo.toString(36) + ".csv"; + newFileName = getTrackFilename(); trackNo++; } while (require("Storage").list(newFileName).length); settings.file = newFileName; From 78b98315ca54d2c971ea1d49793fb40d1a307560 Mon Sep 17 00:00:00 2001 From: Nick Breland Date: Fri, 23 Jun 2023 10:13:22 +0100 Subject: [PATCH 038/139] Cleanup metadata, indentation, and smaller icon --- apps/widswatchbeats/metadata.json | 28 ++++++++++++---------------- apps/widswatchbeats/widget-icon.js | 2 +- apps/widswatchbeats/widget-icon.png | Bin 0 -> 403 bytes apps/widswatchbeats/widget.js | 4 ++-- 4 files changed, 15 insertions(+), 19 deletions(-) create mode 100644 apps/widswatchbeats/widget-icon.png diff --git a/apps/widswatchbeats/metadata.json b/apps/widswatchbeats/metadata.json index 732db6a6d..c02d0b940 100644 --- a/apps/widswatchbeats/metadata.json +++ b/apps/widswatchbeats/metadata.json @@ -1,18 +1,14 @@ { - "id": "widswatchbeats", - "name": "Swatch Internet Time", - "icon": "widget.png", - "version": "0.01", - "description": "Displays the current .beat (Swatch Internet Time)", - "tags": "time,swatch,internet,beat,.beat,clock", - "storage": [{ - "name": "widswatchbeats.wid.js", - "url": "widget.js" - }, - { - "name": "widswatchbeats.img", - "url": "widget-icon.js", - "evaluate": true - } - ] + "id": "widswatchbeats", + "name": "Swatch Internet Time", + "icon": "widget-icon.png", + "type": "widget", + "version": "0.01", + "description": "Displays the current .beat (e.g. @500 for midday)", + "tags": "widget,time,swatch,internet,beat,.beat,clock", + "supports": ["BANGLEJS","BANGLEJS2"], + "storage": [ + {"name": "widswatchbeats.wid.js","url": "widget.js"}, + {"name": "widswatchbeats.img","url": "widget-icon.js","evaluate": true} + ] } diff --git a/apps/widswatchbeats/widget-icon.js b/apps/widswatchbeats/widget-icon.js index efc1c1393..727c8b969 100644 --- a/apps/widswatchbeats/widget-icon.js +++ b/apps/widswatchbeats/widget-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("7FUwcB/4A/AH4A/AH4A/AH4A/AH4A/AAWAgAACj5F/ABP8J4cAgZG/KH4AD+A5Eh5Q/KH5Q/KH5Q/KH5Q/KH5Q/KH5Q/KH5Q/KH5Q/KH5Q18BWNC4p6bKD34AwcBCxAOEAAV/CKAjG4AOGEZhQK/wbFn4VGBwxiKCJEAg4ONKCy/FFgoACwA+NCJkAj5QqgAULCK8DKEaAHPoYAB8AuKCKJQjHxwRRKBZBDKFB9DKBoRRgEPKF/4CRgvDCJpQrDonAKH5QVn//+BQOg4RGKEk/8BQOgI1HHwQROBBBQaGoWAPpoILKBAIJAAKtIABpQGMoRQRHwoIRKEwgIKH5QfdJBQrgYJCI5ApFMQRQ/KDQAIKH5Q/FgpQaEZBQ/AA4aFKGoAIKBXgCJZQ/EA5Q/KBKeGKH4+HTxBQ/Hw+AKH4+OEwpQ/HxSzSKHEAn5QJgPAKH5QG/AKGv5Q6v4lLI4gABBAxQ/KBCqCKH4AGDRBQX5MkyVJAQRQuHYZQ/KH5Q/KCYgCKBI+HKH5QQHZJQrEBBQ/Hw4gIcCJQ/KH4XGwBQWCJYIFKEqqJHxxHLIgpQLBYpQRgEHA4xQCa5BQOgE/YoxQLGQpQSDpRQFHwQyFWZAAIKFcDCYf4MR5Q/KBgRDKHUfFYhiQ4BQSMpBQTjhQZCIhQInBQvFQn/8BQKCAn4KF8fwAbFg5QFCgoRKKA8BBAs/Cgi2HKCnwDYopFAAIOGCJINGh5QLMo5QUX4rLFZxcPCAwmFgZEGMppQC/JQJ/7sEj4pFHw59IIIIAHEwxEFKAxlFKAYAT8AvEABJBDHAwAE4AONAH4A/AH4A/AH4A/AEH4IH5QQA=")) +require("heatshrink").decompress(atob("mEwhG0AH4A/AH4A/AH4A/ACW7AAwum4XQAA3CF8vJ64AG5Iv/F/4v/F/4v/F/4lb4XJAA/QF4/QCRHCFyG7EpAAT6G7F/4v/F/4v/F/4vf2nC5IAHHJHQCRHCFyAAK5IvH5IlbF/4v/F/4v/F/4v/ABPC6AAG4Qvl2m7AAwumAH4A/AH4A/AH4As")) diff --git a/apps/widswatchbeats/widget-icon.png b/apps/widswatchbeats/widget-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..726a57825680d492930734647df29322aa12a945 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)I6p}rHd>I(3)EF2VS{N990fib~ zFffz?6~0PfV6d9Oz#v{QXIG#NP(m)iC&cwX1H*q_-v3fk|BH+NKYjYYvGG3;G&KA_ zZ~#bG^n8;Bs$@*^c6Z_Ycys9+Acwug)7O>#Ih#0#rS5^?+1WrLKTj9O5R22v2@-h? zft(yH8$1klGc+=aab7b~;5eXkkZ+QP#3i9a51&4LDyq;~rm*;mfZoDMZA^38Rqdv1_o9J2JOLzKA~vH%}>cptHiD08()k)Bpeg literal 0 HcmV?d00001 diff --git a/apps/widswatchbeats/widget.js b/apps/widswatchbeats/widget.js index dfb57cce4..7f2427c74 100644 --- a/apps/widswatchbeats/widget.js +++ b/apps/widswatchbeats/widget.js @@ -1,7 +1,7 @@ (function() { const WIDTH = 50; const SEC_PER_BEAT = 86.4; - + let drawTimeout; function getSecondsSinceMidnight() { @@ -23,7 +23,7 @@ const seconds = now.getHours() * 3600 + now.getMinutes() * 60 + now.getSeconds(); const beats = Math.floor(seconds / SEC_PER_BEAT); const beatsString = '@' + beats.toString().padStart(3, '0'); - + g.reset(); g.setFontAlign(0, 0); g.clearRect(this.x, this.y, this.x + WIDTH, this.y+22); From 757649c427b243e6fb5fd39cf51b658eb7dafbc5 Mon Sep 17 00:00:00 2001 From: Nick Breland Date: Fri, 23 Jun 2023 10:15:53 +0100 Subject: [PATCH 039/139] Add 'Widget' to name --- apps/widswatchbeats/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widswatchbeats/metadata.json b/apps/widswatchbeats/metadata.json index c02d0b940..787199b8e 100644 --- a/apps/widswatchbeats/metadata.json +++ b/apps/widswatchbeats/metadata.json @@ -1,6 +1,6 @@ { "id": "widswatchbeats", - "name": "Swatch Internet Time", + "name": "Swatch Internet Time Widget", "icon": "widget-icon.png", "type": "widget", "version": "0.01", From 30fbf1e4c96e7e6c7e6b1f188db876b408784987 Mon Sep 17 00:00:00 2001 From: Nick Breland Date: Fri, 23 Jun 2023 15:09:34 +0100 Subject: [PATCH 040/139] Remove image line from metadata --- apps/widswatchbeats/metadata.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/widswatchbeats/metadata.json b/apps/widswatchbeats/metadata.json index 787199b8e..5c8229966 100644 --- a/apps/widswatchbeats/metadata.json +++ b/apps/widswatchbeats/metadata.json @@ -8,7 +8,6 @@ "tags": "widget,time,swatch,internet,beat,.beat,clock", "supports": ["BANGLEJS","BANGLEJS2"], "storage": [ - {"name": "widswatchbeats.wid.js","url": "widget.js"}, - {"name": "widswatchbeats.img","url": "widget-icon.js","evaluate": true} + {"name": "widswatchbeats.wid.js","url": "widget.js"} ] } From d869fd6ade26e1e3d112d9514cfbff6e61ee2b4d Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 23 Jun 2023 15:21:06 +0100 Subject: [PATCH 041/139] Delete widget-icon.js --- apps/widswatchbeats/widget-icon.js | 1 - 1 file changed, 1 deletion(-) delete mode 100644 apps/widswatchbeats/widget-icon.js diff --git a/apps/widswatchbeats/widget-icon.js b/apps/widswatchbeats/widget-icon.js deleted file mode 100644 index 727c8b969..000000000 --- a/apps/widswatchbeats/widget-icon.js +++ /dev/null @@ -1 +0,0 @@ -require("heatshrink").decompress(atob("mEwhG0AH4A/AH4A/AH4A/ACW7AAwum4XQAA3CF8vJ64AG5Iv/F/4v/F/4v/F/4lb4XJAA/QF4/QCRHCFyG7EpAAT6G7F/4v/F/4v/F/4vf2nC5IAHHJHQCRHCFyAAK5IvH5IlbF/4v/F/4v/F/4v/ABPC6AAG4Qvl2m7AAwumAH4A/AH4A/AH4As")) From b52220a070381af0cfd906e269d3071ab4f6c7ff Mon Sep 17 00:00:00 2001 From: stweedo Date: Sun, 25 Jun 2023 04:16:17 -0500 Subject: [PATCH 042/139] Only use drag handler if any box isDragging --- apps/boxclk/ChangeLog | 1 + apps/boxclk/app.js | 12 ++++++++++++ apps/boxclk/metadata.json | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/apps/boxclk/ChangeLog b/apps/boxclk/ChangeLog index f35b35819..794203d36 100644 --- a/apps/boxclk/ChangeLog +++ b/apps/boxclk/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: New config options such as step, meridian, short/long formats, custom prefix/suffix 0.03: Allows showing the month in short or long format by setting `"shortMonth"` to true or false +0.04: Improves touchscreen drag handling for background apps such as Pattern Launcher diff --git a/apps/boxclk/app.js b/apps/boxclk/app.js index 0b0ca8e65..6321be7c3 100644 --- a/apps/boxclk/app.js +++ b/apps/boxclk/app.js @@ -4,6 +4,7 @@ * 1. Module dependencies and initial configurations * --------------------------------------------------------------- */ + let storage = require("Storage"); let locale = require("locale"); let widgets = require("widget_utils"); @@ -30,6 +31,7 @@ * 2. Graphical and visual configurations * --------------------------------------------------------------- */ + let w = g.getWidth(); let h = g.getHeight(); let totalWidth, totalHeight; @@ -40,6 +42,7 @@ * 3. Touchscreen Handlers * --------------------------------------------------------------- */ + let touchHandler; let dragHandler; let movementDistance = 0; @@ -49,6 +52,7 @@ * 4. Font loading function * --------------------------------------------------------------- */ + let loadCustomFont = function() { Graphics.prototype.setFontBrunoAce = function() { // Actual height 23 (24 - 2) @@ -66,6 +70,7 @@ * 5. Initial settings of boxes and their positions * --------------------------------------------------------------- */ + for (let key in boxesConfig) { if (key === 'bg' && boxesConfig[key].img) { bgImage = storage.read(boxesConfig[key].img); @@ -167,6 +172,7 @@ * 7. String forming helper functions * --------------------------------------------------------------- */ + let isBool = function(val, defaultVal) { return typeof val !== 'undefined' ? Boolean(val) : defaultVal; }; @@ -211,6 +217,7 @@ * 8. Main draw function * --------------------------------------------------------------- */ + let draw = (function() { let updatePerMinute = true; // variable to track the state of time display @@ -272,6 +279,7 @@ * 9. Helper function for touch event * --------------------------------------------------------------- */ + let touchInText = function(e, boxItem, boxKey) { calcBoxSize(boxItem); const pos = calcBoxPos(boxKey); @@ -296,6 +304,7 @@ * 10. Setup function to configure event handlers * --------------------------------------------------------------- */ + let setup = function() { // ------------------------------------ // Define the touchHandler function @@ -343,6 +352,8 @@ // Define the dragHandler function // ------------------------------------ dragHandler = function(e) { + // Check if any box is being dragged + if (!Object.values(isDragging).some(Boolean)) return; // Calculate the movement distance movementDistance += Math.abs(e.dx) + Math.abs(e.dy); // Check if the movement distance exceeds a threshold @@ -396,6 +407,7 @@ * 11. Main execution part * --------------------------------------------------------------- */ + Bangle.loadWidgets(); widgets.swipeOn(); modSetColor(); diff --git a/apps/boxclk/metadata.json b/apps/boxclk/metadata.json index 6717b79d8..06db0b2fe 100644 --- a/apps/boxclk/metadata.json +++ b/apps/boxclk/metadata.json @@ -1,7 +1,7 @@ { "id": "boxclk", "name": "Box Clock", - "version": "0.03", + "version": "0.04", "description": "A customizable clock with configurable text boxes that can be positioned to show your favorite background", "icon": "app.png", "screenshots": [ From 99c3731ed4aca41f0ef0a8ffe9665b2288477374 Mon Sep 17 00:00:00 2001 From: Tom Wallroth Date: Sun, 25 Jun 2023 16:12:13 +0200 Subject: [PATCH 043/139] a half-life alyx style clock --- apps/alyxclock/ChangeLog | 1 + apps/alyxclock/README.md | 4 + apps/alyxclock/alyxclock.app.js | 174 ++++++++++++++++++++++++ apps/alyxclock/alyxclock.icon.js | 1 + apps/alyxclock/alyxclock.png | Bin 0 -> 854 bytes apps/alyxclock/metadata.json | 17 +++ apps/alyxclock/screenshot_alyxclock.png | Bin 0 -> 3559 bytes 7 files changed, 197 insertions(+) create mode 100644 apps/alyxclock/ChangeLog create mode 100644 apps/alyxclock/README.md create mode 100644 apps/alyxclock/alyxclock.app.js create mode 100644 apps/alyxclock/alyxclock.icon.js create mode 100644 apps/alyxclock/alyxclock.png create mode 100644 apps/alyxclock/metadata.json create mode 100644 apps/alyxclock/screenshot_alyxclock.png diff --git a/apps/alyxclock/ChangeLog b/apps/alyxclock/ChangeLog new file mode 100644 index 000000000..9db0e26c5 --- /dev/null +++ b/apps/alyxclock/ChangeLog @@ -0,0 +1 @@ +0.01: first release diff --git a/apps/alyxclock/README.md b/apps/alyxclock/README.md new file mode 100644 index 000000000..7765a878f --- /dev/null +++ b/apps/alyxclock/README.md @@ -0,0 +1,4 @@ +# Half-Life Alyx Style clock + +![](screenshot_alyxclock.png) + diff --git a/apps/alyxclock/alyxclock.app.js b/apps/alyxclock/alyxclock.app.js new file mode 100644 index 000000000..57b7d7f48 --- /dev/null +++ b/apps/alyxclock/alyxclock.app.js @@ -0,0 +1,174 @@ +const icoH = [ + [0,1,1,0,0,1,1,0], + [1,1,1,1,1,1,1,1], + [1,1,1,1,1,1,1,1], + [1,1,1,1,1,1,1,1], + [0,1,1,1,1,1,1,0], + [0,0,1,1,1,1,0,0], + [0,0,0,1,1,0,0,0], + [0,0,0,0,0,0,0,0], +] + +const icoR = [ + [0,0,0,0,1,1,1,1,0,0,0,0], + [0,0,1,1,0,0,0,0,1,1,0,0], + [0,1,1,1,1,0,0,1,1,0,1,0], + [0,1,1,0,0,0,0,0,0,0,1,0], + [1,1,1,1,1,1,1,1,0,0,0,1], + [1,1,0,0,1,0,0,0,0,0,0,1], + [1,1,1,1,1,1,1,0,1,1,0,1], + [1,1,1,1,1,1,0,0,0,0,1,1], + [0,1,1,1,1,1,1,1,1,1,1,0], + [0,1,1,1,1,1,1,1,1,1,1,0], + [0,0,1,1,1,1,1,1,1,1,0,0], + [0,0,0,0,1,1,1,1,0,0,0,0], +] + +let idTimeout = null; + +function icon (icon, x, y, size, gap) { + const color = g.getColor(); + for (let r=0; r5lJs`1^iK2F7m0LrPbiMF;ap?0WjO;&YmgNDUO3K|w8HZ&|o z(%Ye6F}4E=ojWUb?Pg$47h3DiR3!FNSkTH+?1NTMF9XRwXzi!SLF)iTe;!H$6wX2D z9C8^t43)tnT-SRP8bgd^p->oRWCRKWj5(udY0RbJ7+UdcnvS193n_+9o}x&hxq?q| z`pj7h8_g9N8plMMfypT}GkuO?BmtbKxPT@+n<9M?z!1fy3>up$QOu%Z?lOgih6+B# zm3aiNQd~nrMT+Y;AZ}8)x6r_XOK}^a?mHAY{NJEWakmHSauoe}0Ny>+yYDdIJV4b$ zmjUMy9xpCE=|in$pW>;9$TN!PFJ6*-g<3_5*As}nq2VoREVvZoFudzvEd3q^?*qlh z3{0PB$igsFVj%e$HAWp)mHZXNmRBjhpw3r@{BPg8VEFMPx# literal 0 HcmV?d00001 diff --git a/apps/alyxclock/metadata.json b/apps/alyxclock/metadata.json new file mode 100644 index 000000000..b188c48d8 --- /dev/null +++ b/apps/alyxclock/metadata.json @@ -0,0 +1,17 @@ +{ + "id": "alyxclock", + "name": "Alyx Clock", + "version": "0.01", + "description": "A clock in the style of half-life alyx gravity gloves", + "icon": "alyxclock.png", + "screenshots": [{"url":"screenshot_alyxclock.png"}], + "type": "clock", + "tags": "clock", + "supports": ["BANGLEJS2"], + "readme": "README.md", + "allow_emulator": true, + "storage": [ + {"name":"alyxclock.app.js","url":"alyxclock.app.js"}, + {"name":"alyxclock.img","url":"alyxclock.icon.js","evaluate":true} + ] +} diff --git a/apps/alyxclock/screenshot_alyxclock.png b/apps/alyxclock/screenshot_alyxclock.png new file mode 100644 index 0000000000000000000000000000000000000000..309ff972a78dfd6cb3cb180088505111d4da29c2 GIT binary patch literal 3559 zcmb7Hc{CK>`_|0FkTJ$G#$IDBLa3Cj82eIGma>ywP4=CU7-Y>>8kB_W%YMy72#AAA9tMN(Ga-91OKPOdd%VsO4> z{`RL!cg#G=zetZHpVL>o&%bLdXgOjQtP+iOIeOJ9jp zq~VMvq6s|Ir+*HJ>H^Qv{l?-%&F`0zYi0_y_VAmE!nURy0@F*3_oVJLP-8_w2N@Hf>(KolFxgO zVK^f-Aqp!*=QLu$VpUZJlq+EF3p#omn~Vp`x3I0ovAbF%iR(PDw#V#@Vxvp50sPkk z?WBXaeyOGm7lh23dw_`^wDCo;HclU8@zhiahtW*X{e*KgZQej0ho}`J(DJaR-$8X` z$zebs*GM8^SAc#~E$p%qX%5@BAgzu&jaK-QVF$NUoznlJ6pp39K@Xr*2*Cey-vm8VWdeWY{ zdIDw#a@yBMAkjv5E33kxSOT&EELLLMBo9SP@L~*HV1O+NS|&1SC4zY2dXM zA>tYce#|M^-ZquM?#6=^kGbs#nY2G_EB`47$Fw_GosBp>2RtsO2*J(?!G^F8_`jb=4IFHrcW&ad%k#jSq&cvk2|Vb`lqIM_co%<9_<*{=K}8 z^R(Ku>3QyTq`ET(-Vx-R+xI4QGP>xtG|BZN#mQ>Uzl9X?Ok7;-;latR-$x^Cwe(uh zd(sV-Uu}=?(Q9LkuNh#6FX}MF8SjjZanSGC7=>SBJvX2ZPCzLnzB>cZ6vFy)xPG92 zP(r_I;qr#F$hl{2qoiog5Wp8Q% zcuA(SRcD?2Zqf&kDN(B4@R0otrW|vm^?iOCs_beN=|wXD=42M-jaN{O@1Dv)LK#yMIJ9LL^5W<~F+5BIh2>#Ud?*t)skXC1KHB>$d!D zc-cc!L@B13Gjyx7srATfja<1iQyJ<5Q3S;C&6*WX+k$D#$nknvbUn|5O=BQSO9{gL zcSR=kVI(?$4rO`w@wtLBCUTw9g=n{V3iRPXWDAjvz)PdU)Rz z^gvrn`PksJIOHc0Hf*>})X36!k9TH9BO_BNrGiU>cDcBOse26lE2Wr5!<_o`6kJo1&lGvBloqykgenDWV~-OyD$f3t?daLv%gwoTOXV(0wKG&Avwof#FzTW0(2~*W!fzu8V)d2e&@9FZzde z##$X9+-`vwZ{RzEYzq0?OjO8%)@cBl<}JPGWs_(HIzLc2e^1l7#N)b%HeNGLd(jJ~ z0R(y)VBNtFQ^qM?XZynqk6S^K<_O1}TFWUDM)q3a%4!s|`SAs$7Cz>W!<_@EUFDwk zqhH-uVvKXlvzVkko~!D^Dpd_z&-9`37N+M~_+Ui+sZ)G

jgp5D44%zhuQre+)aRwU*=;!fQIB{33!EKl?hh zJo4D2vZMgYmXx~?e+c|dOt$tz-3lZ+eHq2$HXwYz|DR#`d3zGoDm3X4L~85s<+F(W z>Re12wKRydx)MK4tZWpukTVNv0AY&a{ogp+FX%3A@%((tfv18qGemRr385&TKZPv$ zq+X_8C;O4v``M!07rM~sBsJ%xRXAV$V8>qMTpqzzwy~gXl(0u@->{@8_|5Mz@v)gn zymr#vCoPw}c)i+UG?CQg61`mZZ>xiXgDr)N)$FuvG#i=@2+c|$CRf;*pw9^ zy?Tmw#som{lnB0NBKT#w7)gO!^GTNM@<36Y_3E$$a{C+u0ktr2$woY5Dtg@SZxlP0 z3jeMgTE?8^ROEB#lTvkD+7A}7BU)nX;81lb6_WAl{JT{sV@2xF5hF z+!(3&vK%^~|2EA-qB5ER%#Jbz=&CaCnGv*0x+QVbM+Xa<)5Cv)M58txnq#L}yA;-V zHEa9ti_YDb4w-}r6D=#Yj)XM&H6oHO*?{=dn%0wCXX{~Tm7a49sHv*q+PE^asmou z(_{wv9Xq&%YeG#KS>g&+P+Ncz`c*74uJNNuUIzd}b56pAu$$%VKJA@4JFS1vn6qC> z9=TqKFWATDj2l>+zO6n5Gkfi}in&@+CDt zNtcdyT=8v1Cfo?&!pLe{j9K&E{NsLkK)z5X!L2A5Wg~!+M~F*%9LNJ~ zJsc`OE1W!WMz;oJ$@<2JkP-fHnB5}3n(c3D>k88dGmpoc`b^8uz9|L!n7{2Bs%#?u z|Do<6xtSXVlwM)7`LW>#N^au>vdH`uA8hH| z29{7`6Pg<&&ZpAUKYr~>#|PdvX;FszIh>wK91)}|CFfgk-&gA2~suhSI_&Po8W5b1yV>vo+^rq3}8eWE^3r3J`R4 zo8Eimw?~>GbHtspx7J-CzQ8&Z9jpe<#l|UMcjdefZKiH%r^CB8EC$S90Wj<$C6;ec=72vePH@zT55z zZq5?Yl9}%ZhRD;dW^WfLrq;5qOMgNkYg*Hd+6LpSeer@0^bLyu{D3-pNO0?ZfLz1TkvqE_Kk%y`}5vFW*nV?LaMXp zfLcqA&qVoO3ErRkmrJu z8O3@lGGSEpfdb5aG=JYEfT$tlhfA=NO;z+uFG6amZN|)|=znBQ3ag||Sa!5*kJDv@ zjrG&A?K9_<@37tC3$H924{zhJD||)yHoX@MPuPq#12o6nY!A`8#)sgMZ Date: Sun, 25 Jun 2023 21:43:14 +0200 Subject: [PATCH 044/139] mylocation: Add option to set location from waypoint --- apps/mylocation/ChangeLog | 1 + apps/mylocation/README.md | 2 +- apps/mylocation/metadata.json | 5 +++-- apps/mylocation/settings.js | 34 ++++++++++++++++++++++++++++++---- 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/apps/mylocation/ChangeLog b/apps/mylocation/ChangeLog index afe1810e9..ea1c77bde 100644 --- a/apps/mylocation/ChangeLog +++ b/apps/mylocation/ChangeLog @@ -7,3 +7,4 @@ 0.07: Move mylocation app into 'Settings -> Apps' 0.08: Allow setting location from webinterface in the AppLoader 0.09: Fix web interface so app can be installed (replaced custom with interface html) +0.10: Add waypoints as location source diff --git a/apps/mylocation/README.md b/apps/mylocation/README.md index 11a644262..6e41dd04f 100644 --- a/apps/mylocation/README.md +++ b/apps/mylocation/README.md @@ -9,7 +9,7 @@ next to it - and you can choose your location on a map. **On Bangle.js** go to `Settings -> Apps -> My Location` -* Select one of the preset Cities, setup through the GPS or use the webinterface from the AppLoader +* Select one of the preset Cities, setup through the GPS, waypoints or use the webinterface from the AppLoader * Other Apps can read this information to do calculations based on location * When the City shows ??? it means the location has been set through the GPS diff --git a/apps/mylocation/metadata.json b/apps/mylocation/metadata.json index 1c2974030..02a6f6f10 100644 --- a/apps/mylocation/metadata.json +++ b/apps/mylocation/metadata.json @@ -4,12 +4,13 @@ "icon": "app.png", "type": "settings", "screenshots": [{"url":"screenshot_1.png"}], - "version":"0.09", - "description": "Sets and stores the latitude and longitude of your preferred City. It can be set from GPS or webinterface. `mylocation.json` can be used by other apps that need your main location. See README for details.", + "version":"0.10", + "description": "Sets and stores the latitude and longitude of your preferred City. It can be set from GPS, waypoints or webinterface. `mylocation.json` can be used by other apps that need your main location. See README for details.", "readme": "README.md", "tags": "tool,utility", "supports": ["BANGLEJS", "BANGLEJS2"], "interface": "interface.html", + "dependencies" : { "waypoints":"type" }, "storage": [ {"name":"mylocation.settings.js","url":"settings.js"} ], diff --git a/apps/mylocation/settings.js b/apps/mylocation/settings.js index 7033500fa..799baacfe 100644 --- a/apps/mylocation/settings.js +++ b/apps/mylocation/settings.js @@ -13,7 +13,7 @@ let s = { function loadSettings() { settings = require('Storage').readJSON(SETTINGS_FILE, 1) || {}; for (const key in settings) { - s[key] = settings[key] + s[key] = settings[key]; } } @@ -31,7 +31,7 @@ function setFromGPS() { //console.log("."); if (gps.fix === 0) return; //console.log("fix from GPS"); - s = {'lat': gps.lat, 'lon': gps.lon, 'location': '???' }; + s = {'lat': gps.lat, 'lon': gps.lon, 'location': 'GPS' }; Bangle.buzz(1500); // buzz on first position Bangle.setGPSPower(0, "mylocation"); saveSettings(); @@ -50,6 +50,25 @@ function setFromGPS() { Bangle.setUI("updown", undefined); } +function setFromWaypoint() { + wpmenu = { + '': { 'title': /*LANG*/'Waypoint' }, + '< Back': ()=>{ showMainMenu(); }, + }; + require("waypoints").load().forEach(wp => { + if (typeof(wp.lat) === 'number' && typeof(wp.lon) === 'number') { + wpmenu[wp.name] = ()=>{ + s.location = wp.name; + s.lat = parseFloat(wp.lat); + s.lon = parseFloat(wp.lon); + saveSettings(); + showMainMenu(); + }; + } + }); + return E.showMenu(wpmenu); +} + function showMainMenu() { //console.log("showMainMenu"); const mainmenu = { @@ -58,7 +77,13 @@ function showMainMenu() { /*LANG*/'City': { value: 0 | locations.indexOf(s.location), min: 0, max: locations.length - 1, - format: v => locations[v], + format: v => { + if (v === -1) { + return s.location; + } else { + return locations[v]; + } + }, onchange: v => { if (locations[v] !== "???") { s.location = locations[v]; @@ -68,7 +93,8 @@ function showMainMenu() { } } }, - /*LANG*/'Set From GPS': ()=>{ setFromGPS(); } + /*LANG*/'Set From GPS': ()=>{ setFromGPS(); }, + /*LANG*/'Set From Waypoint': ()=>{ setFromWaypoint(); }, }; return E.showMenu(mainmenu); } From ac448b5f36b8c992809c2e52717bb254590ee305 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 26 Jun 2023 02:47:46 +0200 Subject: [PATCH 045/139] podadrem: Issue newline before GB commands reference: https://github.com/espruino/BangleApps/commit/ba7a2f79968ed26d3caa8ac2821e07856369e60e --- apps/podadrem/ChangeLog | 1 + apps/podadrem/app.js | 3 +++ apps/podadrem/metadata.json | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/podadrem/ChangeLog b/apps/podadrem/ChangeLog index 3c68f15ac..cfdf9fcd9 100644 --- a/apps/podadrem/ChangeLog +++ b/apps/podadrem/ChangeLog @@ -7,3 +7,4 @@ Addict. 0.06: Add compatibility with Fastload Utils. 0.07: Remove just the specific listeners to not interfere with Quick Launch when fastloading. +0.08: Issue newline before GB commands (solves issue with console.log and ignored commands) diff --git a/apps/podadrem/app.js b/apps/podadrem/app.js index 9c9ed8b04..01ee74231 100644 --- a/apps/podadrem/app.js +++ b/apps/podadrem/app.js @@ -144,6 +144,7 @@ let simpleSearchTerm = function() { // input a simple search term without tags, let searchPlayWOTags = function() { //make a search and play using entered terms searchString = simpleSearch; + Bluetooth.println(""); Bluetooth.println(JSON.stringify({ t: "intent", action: "android.media.action.MEDIA_PLAY_FROM_SEARCH", @@ -157,6 +158,7 @@ let searchPlayWOTags = function() { //make a search and play using entered terms }; let gadgetbridgeWake = function() { + Bluetooth.println(""); Bluetooth.println(JSON.stringify({ t: "intent", target: "activity", @@ -174,6 +176,7 @@ let actFn = function(actName, activOrServ) { // Send the intent message to Gadgetbridge let btMsg = function(activOrServ, cls, actName, xtra) { + Bluetooth.println(""); Bluetooth.println(JSON.stringify({ t: "intent", action: actFn(actName, activOrServ), diff --git a/apps/podadrem/metadata.json b/apps/podadrem/metadata.json index c58b9241d..02e255ca4 100644 --- a/apps/podadrem/metadata.json +++ b/apps/podadrem/metadata.json @@ -2,7 +2,7 @@ "id": "podadrem", "name": "Podcast Addict Remote", "shortName": "PA Remote", - "version": "0.07", + "version": "0.08", "description": "Control Podcast Addict on your android device.", "readme": "README.md", "type": "app", From 330450516ff207c8d14962aeaa133e91759e4257 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 26 Jun 2023 08:51:09 +0100 Subject: [PATCH 046/139] add dependency on mylocation --- apps/clkinfosunrise/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/clkinfosunrise/metadata.json b/apps/clkinfosunrise/metadata.json index d130c6453..7bcbb289b 100644 --- a/apps/clkinfosunrise/metadata.json +++ b/apps/clkinfosunrise/metadata.json @@ -5,6 +5,7 @@ "icon": "app.png", "type": "clkinfo", "tags": "clkinfo,sunrise", + "dependencies": {"mylocation":"app"}, "supports" : ["BANGLEJS2"], "storage": [ {"name":"sunrise.clkinfo.js","url":"clkinfo.js"} From 712d31669ece07c8115d2b08c61f94f0e56ad267 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Mon, 26 Jun 2023 13:59:21 +0200 Subject: [PATCH 047/139] mylocation: drop dependency on waypoint --- apps/mylocation/README.md | 2 +- apps/mylocation/metadata.json | 1 - apps/mylocation/settings.js | 9 +++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/mylocation/README.md b/apps/mylocation/README.md index 6e41dd04f..7fecfdfcb 100644 --- a/apps/mylocation/README.md +++ b/apps/mylocation/README.md @@ -9,7 +9,7 @@ next to it - and you can choose your location on a map. **On Bangle.js** go to `Settings -> Apps -> My Location` -* Select one of the preset Cities, setup through the GPS, waypoints or use the webinterface from the AppLoader +* Select one of the preset Cities, setup through the GPS, waypoints (if installed) or use the webinterface from the AppLoader * Other Apps can read this information to do calculations based on location * When the City shows ??? it means the location has been set through the GPS diff --git a/apps/mylocation/metadata.json b/apps/mylocation/metadata.json index 02a6f6f10..7e0d16d16 100644 --- a/apps/mylocation/metadata.json +++ b/apps/mylocation/metadata.json @@ -10,7 +10,6 @@ "tags": "tool,utility", "supports": ["BANGLEJS", "BANGLEJS2"], "interface": "interface.html", - "dependencies" : { "waypoints":"type" }, "storage": [ {"name":"mylocation.settings.js","url":"settings.js"} ], diff --git a/apps/mylocation/settings.js b/apps/mylocation/settings.js index 799baacfe..fcae0389c 100644 --- a/apps/mylocation/settings.js +++ b/apps/mylocation/settings.js @@ -93,9 +93,14 @@ function showMainMenu() { } } }, - /*LANG*/'Set From GPS': ()=>{ setFromGPS(); }, - /*LANG*/'Set From Waypoint': ()=>{ setFromWaypoint(); }, + /*LANG*/'Set From GPS': ()=>{ setFromGPS(); } }; + try { + require("waypoints"); + mainmenu[/*LANG*/'Set From Waypoint'] = ()=>{ setFromWaypoint(); }; + } catch(err) { + // waypoints not installed, thats ok + } return E.showMenu(mainmenu); } From 4dd4a17511e9a1d7fb9b3d0c36f831cd36e6ef80 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Mon, 26 Jun 2023 21:26:42 +0200 Subject: [PATCH 048/139] waypoint_editor fixes: -Display waypoint name instead of its index in remove menu -fix icon --- apps/waypoint_editor/ChangeLog | 1 + apps/waypoint_editor/app-icon.js | 2 +- apps/waypoint_editor/app.js | 42 ++++++++++++++++-------------- apps/waypoint_editor/metadata.json | 2 +- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/apps/waypoint_editor/ChangeLog b/apps/waypoint_editor/ChangeLog index 5560f00bc..0ec5d2df8 100644 --- a/apps/waypoint_editor/ChangeLog +++ b/apps/waypoint_editor/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Display waypoint name instead of its index in remove menu and fix icon diff --git a/apps/waypoint_editor/app-icon.js b/apps/waypoint_editor/app-icon.js index 49232b838..6ab351afa 100644 --- a/apps/waypoint_editor/app-icon.js +++ b/apps/waypoint_editor/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("mEwwJC/AH4A/AH4AgA==")) +require("heatshrink").decompress(atob("mEwxH+AH4A/AA0QF1wABF94xrFwgvV63W5/PF1AsBAAQvBAAQviFggvHGRXWFwvWFigvKGQgPCFwwvMFxQvL54PDF9wuHF8wuIF7/OAYguFF7mBrtdFQWAvWA5+qvV6FxIvXrwfCGAQqBvXP0guLF6XV1awCmggCmgvB1Wk1QEBRpQvTJ4OAAgM6F4oAEFwulF66zBvXV62sMAM0M4IuKOYOlwGrF6nP0oXD54tGRpDLCO4TvXDwIAHXhB3BSQYvfdZPVSQIvsUILWBF8xeEX4OkF8wQFd7mlDgPP52q5wvDAYISF1elBAYvWwBNB54DBGYIAEO5YvSFAInB1asBQAQzBF5HQxGsF64rBvWlX4fO0nOSQgvD6E0TANeL65XCd4ySFCYWCe4ZhDF6GIxHQ6vVGgQAESQfOTwQvZnQWBmgXDF4qSC5+kGYOr62sR4U0R6WsI4eCF5AzETwYYBwWC6AvlX4gAIR553DR5Ivhd4OCFwYvpAAwv/F7wMBF6ouLF5APHF54sMF44SNF5IsPF4gUSGQQXVAH4A/AH4A/ADY")) diff --git a/apps/waypoint_editor/app.js b/apps/waypoint_editor/app.js index 34b3d8ef4..48a956d82 100644 --- a/apps/waypoint_editor/app.js +++ b/apps/waypoint_editor/app.js @@ -159,26 +159,28 @@ function removeCard() { "< Back" : mainMenu }; if (Object.keys(wp).length==0) Object.assign(menu, {"NO CARDS":""}); - else for (let c in wp) { - let card=c; - menu[c]=()=>{ - E.showMenu(); - var confirmRemove = new Layout ( - {type:"v", c: [ - {type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:"Delete"}, - {type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:card+"?"}, - {type:"h", c: [ - {type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: "YES", cb:l=>{ - delete wp[card]; - writeWP(); - mainMenu(); - }}, - {type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: " NO", cb:l=>{mainMenu();}} - ]} - ], lazy:true}); - g.clear(); - confirmRemove.render(); - }; + else { + wp.forEach((val, card) => { + const name = wp[card].name; + menu[name]=()=>{ + E.showMenu(); + var confirmRemove = new Layout ( + {type:"v", c: [ + {type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:"Delete"}, + {type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:name}, + {type:"h", c: [ + {type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: "YES", cb:l=>{ + wp.splice(card, 1); + writeWP(); + mainMenu(); + }}, + {type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: " NO", cb:l=>{mainMenu();}} + ]} + ], lazy:true}); + g.clear(); + confirmRemove.render(); + }; + }); } E.showMenu(menu); } diff --git a/apps/waypoint_editor/metadata.json b/apps/waypoint_editor/metadata.json index f48721732..12ff6e095 100644 --- a/apps/waypoint_editor/metadata.json +++ b/apps/waypoint_editor/metadata.json @@ -1,6 +1,6 @@ { "id": "waypoint_editor", "name": "Waypoint editor", - "version":"0.01", + "version":"0.02", "description": "Allows editing waypoints on device", "icon": "app.png", "readme": "README.md", From 2c9ec746b6a3595d182383820707e1f0e18668e7 Mon Sep 17 00:00:00 2001 From: stweedo Date: Tue, 27 Jun 2023 08:34:42 -0500 Subject: [PATCH 049/139] Use Bangle.getHealthStatus("day").steps) instead --- apps/boxclk/ChangeLog | 1 + apps/boxclk/app.js | 2 +- apps/boxclk/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/boxclk/ChangeLog b/apps/boxclk/ChangeLog index 794203d36..cc73fbc08 100644 --- a/apps/boxclk/ChangeLog +++ b/apps/boxclk/ChangeLog @@ -2,3 +2,4 @@ 0.02: New config options such as step, meridian, short/long formats, custom prefix/suffix 0.03: Allows showing the month in short or long format by setting `"shortMonth"` to true or false 0.04: Improves touchscreen drag handling for background apps such as Pattern Launcher +0.05: Fixes step count not resetting after a new day starts diff --git a/apps/boxclk/app.js b/apps/boxclk/app.js index 6321be7c3..12c69e789 100644 --- a/apps/boxclk/app.js +++ b/apps/boxclk/app.js @@ -249,7 +249,7 @@ boxes.batt.string = modString(boxes.batt, E.getBattery()); } if (boxes.step) { - boxes.step.string = modString(boxes.step, Bangle.getStepCount()); + boxes.step.string = modString(boxes.step, Bangle.getHealthStatus("day").steps); } boxKeys.forEach((boxKey) => { let boxItem = boxes[boxKey]; diff --git a/apps/boxclk/metadata.json b/apps/boxclk/metadata.json index 06db0b2fe..dd81ac436 100644 --- a/apps/boxclk/metadata.json +++ b/apps/boxclk/metadata.json @@ -1,7 +1,7 @@ { "id": "boxclk", "name": "Box Clock", - "version": "0.04", + "version": "0.05", "description": "A customizable clock with configurable text boxes that can be positioned to show your favorite background", "icon": "app.png", "screenshots": [ From 8f5d097120017dc28a6efe59b24116daaacb7e53 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Tue, 27 Jun 2023 23:52:45 +0200 Subject: [PATCH 050/139] swscroll: fix check boxes not behaving ... by more properly rebasing on latest E_showScroller_Q3.js from Espruino. --- apps/swscroll/ChangeLog | 2 +- apps/swscroll/boot.js | 70 ++++++++++++++++++------------------- apps/swscroll/metadata.json | 2 +- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/apps/swscroll/ChangeLog b/apps/swscroll/ChangeLog index 1adab01bb..9283a85da 100644 --- a/apps/swscroll/ChangeLog +++ b/apps/swscroll/ChangeLog @@ -2,4 +2,4 @@ 0.02: Rebasing on latest changes to showScroller_Q3 (https://github.com/espruino/Espruino/commit/2d3c34ef7c2b9fe2118e816aacd2e096adb99596). 0.03: Rebasing on latest changes to showScroller_Q3 (https://github.com/espruino/Espruino/commit/b6f8105b6348bb6f7cd03ac11efc1f3585c6ad79). Ensure that changing a menu item when half-scrolled off screen doesn't overwrite widgets. 0.04: Rebasing on latest changes to showScroller_Q3 (https://github.com/espruino/Espruino/commit/a0e2d9231df709849f81abf572a742b0fceab85b). Fixes missing `isActive` function that caused an error. - +0.05: Fix for the rebase in ver 0.04. Check boxes didn't behave but now they do. diff --git a/apps/swscroll/boot.js b/apps/swscroll/boot.js index 3c4b55817..1c5a84140 100644 --- a/apps/swscroll/boot.js +++ b/apps/swscroll/boot.js @@ -1,4 +1,4 @@ -E.showScroller = (function(options) { +E.showScroller = (function(options) { /* options = { h = height c = # of items @@ -19,20 +19,20 @@ E.showScroller = (function(options) { */ if (!options) return Bangle.setUI(); // remove existing handlers -var touchHandler = (_,e)=>{ - if (e.y=0) && i { + g.reset().clearRect(R).setClipRect(R.x,R.y,R.x2,R.y2); + var a = YtoIdx(R.y); + var b = Math.min(YtoIdx(R.y2),options.c-1); + for (var i=a;i<=b;i++) + options.draw(i, {x:R.x,y:idxToY(i),w:R.w,h:options.h}); + g.setClipRect(0,0,g.getWidth()-1,g.getHeight()-1); }; Bangle.setUI({ mode : "custom", back : options.back, remove : options.remove, + redraw : draw, swipe : (_,UD)=>{ pixels = 120; var dy = UD*pixels; @@ -45,13 +45,13 @@ Bangle.setUI({ rScroll = s.scroll &~1; dy = oldScroll-rScroll; if (!dy || options.c<=3) return; //options.c<=3 should maybe be dynamic, so 3 would be replaced by a variable dependent on R=Bangle.appRect. It's here so we don't try to scroll if all entries fit in the app rectangle. - g.reset().setClipRect(R.x,R.y,R.x2,R.y2); - g.scroll(0,dy); + g.reset().setClipRect(R.x,R.y,R.x2,R.y2).scroll(0,dy); var d = UD*pixels; if (d < 0) { - g.setClipRect(R.x,R.y2-(1-d),R.x2,R.y2); - let i = YtoIdx(R.y2-(1-d)); - let y = idxToY(i); + let y = Math.max(R.y2-(1-d), R.y); + g.setClipRect(R.x,y,R.x2,R.y2); + let i = YtoIdx(y); + y = idxToY(i); //print(i, options.c, options.c-i); //debugging info while (y < R.y2 - (options.h*((options.c-i)<=0)) ) { //- (options.h*((options.c-i)<=0)) makes sure we don't go beyond the menu entries in the menu object "options". This has to do with "dy = s.scroll - menuScrollMax-8" above. options.draw(i, {x:R.x,y:y,w:R.w,h:options.h}); @@ -59,10 +59,10 @@ Bangle.setUI({ y += options.h; } } else { // d>0 - g.setClipRect(R.x,R.y,R.x2,R.y+d); - let i = YtoIdx(R.y+d); - let y = idxToY(i); - //print(i, options.c, options.c-i); //debugging info + let y = Math.min(R.y+d, R.y2); + g.setClipRect(R.x,R.y,R.x2,y); + let i = YtoIdx(y); + y = idxToY(i); while (y > R.y-options.h) { options.draw(i, {x:R.x,y:y,w:R.w,h:options.h}); y -= options.h; @@ -70,7 +70,15 @@ Bangle.setUI({ } } g.setClipRect(0,0,g.getWidth()-1,g.getHeight()-1); - }, touch : touchHandler + }, touch : (_,e)=>{ + if (e.y=0) && i { - g.reset().clearRect(R.x,R.y,R.x2,R.y2); - g.setClipRect(R.x,R.y,R.x2,R.y2); - var a = YtoIdx(R.y); - var b = Math.min(YtoIdx(R.y2),options.c-1); - for (var i=a;i<=b;i++) - options.draw(i, {x:R.x,y:idxToY(i),w:R.w,h:options.h}); - g.setClipRect(0,0,g.getWidth()-1,g.getHeight()-1); -}, drawItem : i => { - var y = idxToY(i); - g.reset().setClipRect(R.x,Math.max(y,R.y),R.x2,Math.min(y+options.h,R.y2)); - options.draw(i, {x:R.x,y:y,w:R.w,h:options.h}); - g.setClipRect(0,0,g.getWidth()-1,g.getHeight()-1); - }, isActive : () => Bangle.touchHandler == touchHandler - }; + draw : draw, drawItem : i => { + var y = idxToY(i); + g.reset().setClipRect(R.x,Math.max(y,R.y),R.x2,Math.min(y+options.h,R.y2)); + options.draw(i, {x:R.x,y:y,w:R.w,h:options.h}); + g.setClipRect(0,0,g.getWidth()-1,g.getHeight()-1); + }, isActive : () => Bangle.uiRedraw == draw +}; var rScroll = s.scroll&~1; // rendered menu scroll (we only shift by 2 because of dither) s.draw(); // draw the full scroller g.flip(); // force an update now to make this snappier diff --git a/apps/swscroll/metadata.json b/apps/swscroll/metadata.json index 3258b9b21..3c0717d14 100644 --- a/apps/swscroll/metadata.json +++ b/apps/swscroll/metadata.json @@ -1,7 +1,7 @@ { "id": "swscroll", "name": "Swipe menus", - "version": "0.04", + "version": "0.05", "description": "Replace built in E.showScroller to act on swipe instead of drag. Navigate menus in discrete steps instead of a continuous motion.", "readme": "README.md", "icon": "app.png", From bf58db6a31ff77b796b05417a69bd1af072af45d Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Wed, 28 Jun 2023 11:08:19 +0200 Subject: [PATCH 051/139] openstmap: sort maps by scale desc This results in the map with the highest resolution (lowest scale) to be drawn last --- apps/openstmap/ChangeLog | 3 ++- apps/openstmap/interface.html | 2 +- apps/openstmap/metadata.json | 2 +- apps/openstmap/openstmap.js | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/openstmap/ChangeLog b/apps/openstmap/ChangeLog index d8ab55482..a991d92fd 100644 --- a/apps/openstmap/ChangeLog +++ b/apps/openstmap/ChangeLog @@ -18,4 +18,5 @@ 0.15: Make track drawing an option (default off) 0.16: Draw waypoints, too. 0.17: With new Recorder app allow track to be drawn in the background - Switch tile layer URL for faster/more reliable map tiles \ No newline at end of file + Switch tile layer URL for faster/more reliable map tiles +0.18: Prefer map with highest resolution diff --git a/apps/openstmap/interface.html b/apps/openstmap/interface.html index 618c5822e..a8ed3d285 100644 --- a/apps/openstmap/interface.html +++ b/apps/openstmap/interface.html @@ -183,7 +183,7 @@ TODO: }).addTo(map); let marker = new L.marker(latlon).addTo(map); map.fitBounds(latlon.toBounds(2000/*meters*/), {animation: false}); - }, 100); + }, 500); } resolve(); }); diff --git a/apps/openstmap/metadata.json b/apps/openstmap/metadata.json index 97bc7cc05..f4e0f2729 100644 --- a/apps/openstmap/metadata.json +++ b/apps/openstmap/metadata.json @@ -2,7 +2,7 @@ "id": "openstmap", "name": "OpenStreetMap", "shortName": "OpenStMap", - "version": "0.17", + "version": "0.18", "description": "Loads map tiles from OpenStreetMap onto your Bangle.js and displays a map of where you are. Once installed this also adds map functionality to `GPS Recorder` and `Recorder` apps", "readme": "README.md", "icon": "app.png", diff --git a/apps/openstmap/openstmap.js b/apps/openstmap/openstmap.js index 692344357..37f82a127 100644 --- a/apps/openstmap/openstmap.js +++ b/apps/openstmap/openstmap.js @@ -30,6 +30,7 @@ m.maps = require("Storage").list(/openstmap\.\d+\.json/).map(f=>{ map.center = Bangle.project({lat:map.lat,lon:map.lon}); return map; }); +m.maps.sort((a,b) => b.scale-a.scale); // sort by scale so highest resolution is drawn last // we base our start position on the middle of the first map m.map = m.maps[0]; m.scale = m.map.scale; // current scale (based on first map) From bb598bbb6ce0417870cb7e7821abb44919e55929 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Wed, 28 Jun 2023 12:15:20 +0200 Subject: [PATCH 052/139] recorder: set scale on OpenStMap plot When plotting with OpenStMap scale map to track width & height --- apps/recorder/ChangeLog | 3 ++- apps/recorder/app.js | 6 ++++++ apps/recorder/metadata.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/recorder/ChangeLog b/apps/recorder/ChangeLog index cdb7352f3..991b811cb 100644 --- a/apps/recorder/ChangeLog +++ b/apps/recorder/ChangeLog @@ -33,4 +33,5 @@ 0.25: Widget now has `isRecording()` for retrieving recording status. 0.26: Now record filename based on date 0.27: Fix first ever recorded filename being log0 (now all are dated) -0.28: Automatically create new track if the filename is different \ No newline at end of file +0.28: Automatically create new track if the filename is different +0.29: When plotting with OpenStMap scale map to track width & height diff --git a/apps/recorder/app.js b/apps/recorder/app.js index ca3eec525..a2218420a 100644 --- a/apps/recorder/app.js +++ b/apps/recorder/app.js @@ -224,6 +224,12 @@ function viewTrack(filename, info) { // Function to convert lat/lon to XY var getMapXY; if (info.qOSTM) { + // scale map to view full track + const max = Bangle.project({lat: info.maxLat, lon: info.maxLong}); + const min = Bangle.project({lat: info.minLat, lon: info.minLong}); + const scaleX = (max.x-min.x)/Bangle.appRect.w; + const scaleY = (max.y-min.y)/Bangle.appRect.h; + osm.scale = Math.ceil((scaleX > scaleY ? scaleX : scaleY)*1.1); // add 10% margin getMapXY = osm.latLonToXY.bind(osm); } else { getMapXY = function(lat, lon) { "ram" diff --git a/apps/recorder/metadata.json b/apps/recorder/metadata.json index 2f682016f..e714abf8d 100644 --- a/apps/recorder/metadata.json +++ b/apps/recorder/metadata.json @@ -2,7 +2,7 @@ "id": "recorder", "name": "Recorder", "shortName": "Recorder", - "version": "0.28", + "version": "0.29", "description": "Record GPS position, heart rate and more in the background, then download to your PC.", "icon": "app.png", "tags": "tool,outdoors,gps,widget", From 55429b2c67a993647f753331c459edd81091038e Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Wed, 28 Jun 2023 23:11:33 +0200 Subject: [PATCH 053/139] podadrem: Send GB wake command only once ...instead of twice like we did before. It should not be needed now we issue a newline before GB commands. --- apps/podadrem/ChangeLog | 2 ++ apps/podadrem/app.js | 1 - apps/podadrem/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/podadrem/ChangeLog b/apps/podadrem/ChangeLog index cfdf9fcd9..2f6fa8764 100644 --- a/apps/podadrem/ChangeLog +++ b/apps/podadrem/ChangeLog @@ -8,3 +8,5 @@ Addict. 0.07: Remove just the specific listeners to not interfere with Quick Launch when fastloading. 0.08: Issue newline before GB commands (solves issue with console.log and ignored commands) +0.09: Don't send the gadgetbridge wake command twice. Once should do since we + issue newline before GB commands. diff --git a/apps/podadrem/app.js b/apps/podadrem/app.js index 01ee74231..6f8721126 100644 --- a/apps/podadrem/app.js +++ b/apps/podadrem/app.js @@ -67,7 +67,6 @@ let touchHandler = function(_, xy) { } else if ((R.x-1 Date: Wed, 28 Jun 2023 23:24:35 +0200 Subject: [PATCH 054/139] spotrem: Send GB wake command only once ...instead of twice like we did before. It should not be needed now we issue a newline before GB commands. --- apps/spotrem/ChangeLog | 4 +++- apps/spotrem/app.js | 1 - apps/spotrem/metadata.json | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/spotrem/ChangeLog b/apps/spotrem/ChangeLog index 48b82b12a..56ded4e5c 100644 --- a/apps/spotrem/ChangeLog +++ b/apps/spotrem/ChangeLog @@ -6,4 +6,6 @@ 0.06: Make compatible with Fastload Utils app. 0.07: Remove just the specific listeners to not interfere with Quick Launch when fastloading. -0.08: Issue newline before GB commands (solves issue with console.log and ignored commands) \ No newline at end of file +0.08: Issue newline before GB commands (solves issue with console.log and ignored commands) +0.09: Don't send the gadgetbridge wake command twice. Once should do since we + issue newline before GB commands. diff --git a/apps/spotrem/app.js b/apps/spotrem/app.js index b3fa76f86..48274df44 100644 --- a/apps/spotrem/app.js +++ b/apps/spotrem/app.js @@ -64,7 +64,6 @@ let touchHandler = function(_, xy) { } else if ((R.x-1 Date: Sat, 25 Mar 2023 13:56:53 +0100 Subject: [PATCH 055/139] fastload: Add app history functionality Add app history functionality add semicolons that were missing according to Web IDE fix intendtation in if statement fewer storage manipulations, tweak some logic comment regarding resetting history undo `const SETTINGS` -> `let settings` describe app history in readme In settings, don't allow app history and load to launcher to be active at the same time change `launchedApps` -> `appHistory` (somewhat unstable commit) tweaking logic around loading `.bootcde` at system initiation to make the history and resetting of history work as expected add to comment re loading `.bootcde` an extra time on init Revert "add to comment re loading `.bootcde` an extra time on init" This reverts commit b4aaccf35c820a1c7e7a22040c3958b4fc92e5c6. Revert "(somewhat unstable commit) tweaking logic around loading `.bootcde` at system initiation to make the history and resetting of history work as expected" This reverts commit 51dddfc30ac65572891efee1daf6099f7a3b19f4. tweak when settings page is autoupdated Change description for app history. Add contributor. quicklaunch shall not be recorded in the history Add setting to exclude quicklaunch from history, if it is present remove print statements If long press HW button do reset history. Set some variables to null if app history is disabled. add info re long press HW button resets history remove check for 'fastload.5.boot.js'. it would show up in the app history during development because the web ide said to load the uploaded app. it should not be needed in normal operations of the app for users. fewer checks for if useAppHistory is true, by first declaring some variables and then defining them inside an if-statement add recommendation of 'Fast Reset' app in readme --- apps/fastload/ChangeLog | 1 + apps/fastload/README.md | 10 ++++++++ apps/fastload/boot.js | 42 +++++++++++++++++++++++++-------- apps/fastload/metadata.json | 2 +- apps/fastload/settings.js | 46 +++++++++++++++++++++++++++++-------- 5 files changed, 82 insertions(+), 19 deletions(-) diff --git a/apps/fastload/ChangeLog b/apps/fastload/ChangeLog index 53e3c2591..4e68ab2c7 100644 --- a/apps/fastload/ChangeLog +++ b/apps/fastload/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Allow redirection of loads to the launcher 0.03: Allow hiding the fastloading info screen +0.04: (WIP) Allow use of app history when going back (`load()` or `Bangle.load()` calls without specified app). diff --git a/apps/fastload/README.md b/apps/fastload/README.md index a1feedcf8..be4175f55 100644 --- a/apps/fastload/README.md +++ b/apps/fastload/README.md @@ -8,9 +8,16 @@ This allows fast loading of all apps with two conditions: ## Settings +* Activate app history and navigate back through recent apps instead of immediately loading the clock face +* If Quick Launch is installed it can be excluded from app history * Allows to redirect all loads usually loading the clock to the launcher instead * The "Fastloading..." screen can be switched off +## App history + +* Long press of hardware button clears the app history and loads the clock face +* Installing the 'Fast Reset' app allows doing fastloads directly to the clock face by pressing the hardware button for one second. Useful if there are many apps in the history and the user want to access the clock quickly. + ## Technical infos This is still experimental but it uses the same mechanism as `.bootcde` does. @@ -19,3 +26,6 @@ It checks the app to be loaded for widget use and stores the result of that and # Creator [halemmerich](https://github.com/halemmerich) + +# Contributors +[thyttan](https://github.com/thyttan) diff --git a/apps/fastload/boot.js b/apps/fastload/boot.js index c9271abbf..c7fc2fd86 100644 --- a/apps/fastload/boot.js +++ b/apps/fastload/boot.js @@ -1,5 +1,6 @@ { -const SETTINGS = require("Storage").readJSON("fastload.json") || {}; +const s = require("Storage"); +const SETTINGS = s.readJSON("fastload.json") || {}; let loadingScreen = function(){ g.reset(); @@ -16,26 +17,26 @@ let loadingScreen = function(){ g.flip(true); }; -let cache = require("Storage").readJSON("fastload.cache") || {}; +let cache = s.readJSON("fastload.cache") || {}; let checkApp = function(n){ // no widgets, no problem if (!global.WIDGETS) return true; - let app = require("Storage").read(n); + let app = s.read(n); if (cache[n] && E.CRC32(app) == cache[n].crc) - return cache[n].fast + return cache[n].fast; cache[n] = {}; cache[n].fast = app.includes("Bangle.loadWidgets"); cache[n].crc = E.CRC32(app); - require("Storage").writeJSON("fastload.cache", cache); + s.writeJSON("fastload.cache", cache); return cache[n].fast; -} +}; global._load = load; let slowload = function(n){ global._load(n); -} +}; let fastload = function(n){ if (!n || checkApp(n)){ @@ -50,17 +51,40 @@ let fastload = function(n){ }; global.load = fastload; +let appHistory, resetHistory, recordHistory; +if (SETTINGS.useAppHistory){ + appHistory = s.readJSON("fastload.history.json",true)||[]; + resetHistory = ()=>{appHistory=[];s.writeJSON("fastload.history.json",appHistory);}; + recordHistory = ()=>{s.writeJSON("fastload.history.json",appHistory);}; +} + Bangle.load = (o => (name) => { if (Bangle.uiRemove && !SETTINGS.hideLoading) loadingScreen(); + if (SETTINGS.useAppHistory){ + if (name && name!=".bootcde" && !(name=="quicklaunch.app.js" && SETTINGS.disregardQuicklaunch)) { + // store the name of the app to launch + appHistory.push(name); + } else if (name==".bootcde") { // when Bangle.showClock is called + resetHistory(); + } else if (name=="quicklaunch.app.js" && SETTINGS.disregardQuicklaunch) { + // do nothing with history + } else { + // go back in history + appHistory.pop(); + name = appHistory[appHistory.length-1]; + } + } if (SETTINGS.autoloadLauncher && !name){ let orig = Bangle.load; Bangle.load = (n)=>{ Bangle.load = orig; fastload(n); - } + }; Bangle.showLauncher(); Bangle.load = orig; - } else + } else o(name); })(Bangle.load); + +if (SETTINGS.useAppHistory) E.on('kill', ()=>{if (!BTN.read()) recordHistory(); else resetHistory();}); // Usually record history, but reset it if long press of HW button was used. } diff --git a/apps/fastload/metadata.json b/apps/fastload/metadata.json index 15adcb7e3..954a7d8b4 100644 --- a/apps/fastload/metadata.json +++ b/apps/fastload/metadata.json @@ -1,7 +1,7 @@ { "id": "fastload", "name": "Fastload Utils", "shortName" : "Fastload Utils", - "version": "0.03", + "version": "0.04", "icon": "icon.png", "description": "Enable experimental fastloading for more apps", "type":"bootloader", diff --git a/apps/fastload/settings.js b/apps/fastload/settings.js index 4904e057e..66c990df1 100644 --- a/apps/fastload/settings.js +++ b/apps/fastload/settings.js @@ -1,7 +1,8 @@ (function(back) { var FILE="fastload.json"; var settings; - + var isQuicklaunchPresent = !!require('Storage').read("quicklaunch.app.js", 0, 1); + function writeSettings(key, value) { var s = require('Storage').readJSON(FILE, true) || {}; s[key] = value; @@ -12,25 +13,52 @@ function readSettings(){ settings = require('Storage').readJSON(FILE, true) || {}; } - + readSettings(); function buildMainMenu(){ - var mainmenu = { - '': { 'title': 'Fastload', back: back }, - 'Force load to launcher': { + var mainmenu = {}; + + mainmenu[''] = { 'title': 'Fastload', back: back }; + + mainmenu['Activate app history'] = { + value: !!settings.useAppHistory, + onchange: v => { + writeSettings("useAppHistory",v); + if (v && settings.autoloadLauncher) { + writeSettings("autoloadLauncher",!v); // Don't use app history and load to launcher together. + setTimeout(()=>E.showMenu(buildMainMenu()), 0); // Update the menu so it can be seen if a value was automatically set to false (app history vs load launcher). + } + } + }; + + if (isQuicklaunchPresent) { + mainmenu['Exclude Quick Launch from history'] = { + value: !!settings.disregardQuicklaunch, + onchange: v => { + writeSettings("disregardQuicklaunch",v); + } + }; + } + + mainmenu['Force load to launcher'] = { value: !!settings.autoloadLauncher, onchange: v => { writeSettings("autoloadLauncher",v); + if (v && settings.useAppHistory) { + writeSettings("useAppHistory",!v); + setTimeout(()=>E.showMenu(buildMainMenu()), 0); // Update the menu so it can be seen if a value was automatically set to false (app history vs load launcher). + } // Don't use app history and load to launcher together. } - }, - 'Hide "Fastloading..."': { + }; + + mainmenu['Hide "Fastloading..."'] = { value: !!settings.hideLoading, onchange: v => { writeSettings("hideLoading",v); } - } - }; + }; + return mainmenu; } From 1c81d2dce5395d7fbdee418487e02c05c40d876c Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Fri, 7 Apr 2023 16:38:53 +0200 Subject: [PATCH 056/139] fastreset: add new app 'Fast Reset' add app 'Fast Reset' (boot code) use the more descriptive `Bangle.showClock` instead of `load(".bootcde")` fix scope of buzzTimeout id variable compact the code a little bit change metadata and readme to reflect a shortened timeout --- apps/fastreset/ChangeLog | 1 + apps/fastreset/README.md | 32 ++++++++++++++++++++++++++++++++ apps/fastreset/app.png | Bin 0 -> 343 bytes apps/fastreset/boot.js | 5 +++++ apps/fastreset/metadata.json | 14 ++++++++++++++ 5 files changed, 52 insertions(+) create mode 100644 apps/fastreset/ChangeLog create mode 100644 apps/fastreset/README.md create mode 100644 apps/fastreset/app.png create mode 100644 apps/fastreset/boot.js create mode 100644 apps/fastreset/metadata.json diff --git a/apps/fastreset/ChangeLog b/apps/fastreset/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/fastreset/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/fastreset/README.md b/apps/fastreset/README.md new file mode 100644 index 000000000..381d80cf5 --- /dev/null +++ b/apps/fastreset/README.md @@ -0,0 +1,32 @@ +# Fast Reset + +Reset the watch by holding the hardware button for half a second. If 'Fastload Utils' is installed this will typically be done with fastloading. A buzz acts as indicator. + +Fast Reset was developed with the app history feature of 'Fastload Utils' in mind. If many apps are in the history stack, the user may want a fast way to exit directly to the clock face without using the firmwares reset function. + +## Usage + +Just install and it will run as boot code. + +## Features + +If 'Fastload Utils' is installed fastloading will be used when possible. Otherwise a standard `load(.bootcde)` is used. + +If the hardware button is held for longer the standard reset functionality of the firmware is executed as well (total 1.5 seconds). And eventually the watchdog will be kicked. + +## Controls + +Hold the hardware button for half a second to feel the buzz, loading the clock face. + +## Requests + +Mention @[thyttan](https://github.com/thyttan) in an issue to the official [BangleApps repository](https://github.com/espruino/BangleApps/issues) for feature requests and bug reports. + +## Acknowledgements + +Rewind icon by Icons8 + +## Creator + +[thyttan](https://github.com/thyttan) + diff --git a/apps/fastreset/app.png b/apps/fastreset/app.png new file mode 100644 index 0000000000000000000000000000000000000000..79e0f310e0041932b6ef26aa355388c3d998a723 GIT binary patch literal 343 zcmV-d0jU0oP)mI+m04%~n%Fmdc#HP8Xp5%=iOw`yPnoMT*9{ud?zZD9GMunRwyv;jTfkWjox z|0hWS4PXJ>Qxq@4Pvl=f7ucjMT!f#BxPS^U3y(IF;(7T-L<8!;DnsGCd}E>kQ;Xtx z_{MnGK)vj*Q0YHnFOE@feq>&Z65b4RUX0U87m^e1{5LjF;PXm&0mhE~+%EMkpqA0K p_6K1Tug&+fh6o{q5JCtF;|bI}-_aXy+^zrs002ovPDHLkV1i&Ei#Y%Q literal 0 HcmV?d00001 diff --git a/apps/fastreset/boot.js b/apps/fastreset/boot.js new file mode 100644 index 000000000..681a5ddb7 --- /dev/null +++ b/apps/fastreset/boot.js @@ -0,0 +1,5 @@ +{let buzzTimeout; +setWatch((e)=>{ + if (e.state) buzzTimeout = setTimeout(()=>{Bangle.buzz(80,0.40);Bangle.showClock();}, 500); + if (!e.state && buzzTimeout) clearTimeout(buzzTimeout);}, +BTN,{repeat:true, edge:'both' });} diff --git a/apps/fastreset/metadata.json b/apps/fastreset/metadata.json new file mode 100644 index 000000000..098e0eeb1 --- /dev/null +++ b/apps/fastreset/metadata.json @@ -0,0 +1,14 @@ +{ "id": "fastreset", + "name": "Fast Reset", + "shortName":"Fast Reset", + "version":"0.01", + "description": "Reset the watch by holding the hardware button for half a second. If 'Fastload Utils' is installed this will typically be done with fastloading. A buzz acts as indicator.", + "icon": "app.png", + "type": "bootloader", + "tags": "system", + "supports" : ["BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"fastreset.boot.js","url":"boot.js"} + ] +} From 74091b6659f3fd3df84e64cab3f82e25dda7d3d5 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Fri, 31 Mar 2023 22:16:17 +0200 Subject: [PATCH 057/139] quicklaunch:compat w app history of Fastload Utils Compatibility with 'Fastload Utils' App History feature by checking the trace on launch remove some spaces correct logic for checking the trace at launch `!=` -> `==` --- apps/quicklaunch/ChangeLog | 1 + apps/quicklaunch/app.js | 2 +- apps/quicklaunch/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/quicklaunch/ChangeLog b/apps/quicklaunch/ChangeLog index 5d70e010b..383e6ee2c 100644 --- a/apps/quicklaunch/ChangeLog +++ b/apps/quicklaunch/ChangeLog @@ -15,3 +15,4 @@ new key names. 0.13: Touch and hold to pause the timeout to clock temporarily. 0.14: Extension: Don't go down a path if nothing waits at the end. Revisit the current intersection instead. +0.15: Extension: Compatibility with "Fastload Utils" app history feature. diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index 2fc4910ab..8a56d6c44 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -24,7 +24,7 @@ } }; - let trace = settings.trace; + let trace = (settings[settings.trace+"app"].src=="quicklaunch.app.js") ? settings.trace : settings.trace.substring(0, settings.trace.length-1); // If the stored trace leads beyond extension screens, walk back to the last extension screen. Compatibility with "Fastload Utils" App History feature. let touchHandler = (_,e) => { if (e.type == 2) return; diff --git a/apps/quicklaunch/metadata.json b/apps/quicklaunch/metadata.json index c2e3029f7..5fd06ba95 100644 --- a/apps/quicklaunch/metadata.json +++ b/apps/quicklaunch/metadata.json @@ -2,7 +2,7 @@ "id": "quicklaunch", "name": "Quick Launch", "icon": "app.png", - "version": "0.14", + "version": "0.15", "description": "Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. Configurations can be accessed through Settings->Apps.", "type": "bootloader", "tags": "tools, system", From 6d58a466b2b5e34eaac066fa9637056fecae0128 Mon Sep 17 00:00:00 2001 From: stweedo Date: Thu, 29 Jun 2023 08:43:45 -0500 Subject: [PATCH 058/139] [gassist] - New app for voice control --- apps/gassist/ChangeLog | 1 + apps/gassist/app.js | 11 +++++++++++ apps/gassist/app.png | Bin 0 -> 799 bytes apps/gassist/boot.js | 21 +++++++++++++++++++++ apps/gassist/gassist.json | 1 + apps/gassist/icon.js | 1 + apps/gassist/metadata.json | 18 ++++++++++++++++++ apps/gassist/settings.js | 32 ++++++++++++++++++++++++++++++++ 8 files changed, 85 insertions(+) create mode 100644 apps/gassist/ChangeLog create mode 100644 apps/gassist/app.js create mode 100644 apps/gassist/app.png create mode 100644 apps/gassist/boot.js create mode 100644 apps/gassist/gassist.json create mode 100644 apps/gassist/icon.js create mode 100644 apps/gassist/metadata.json create mode 100644 apps/gassist/settings.js diff --git a/apps/gassist/ChangeLog b/apps/gassist/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/gassist/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/gassist/app.js b/apps/gassist/app.js new file mode 100644 index 000000000..69e8001e3 --- /dev/null +++ b/apps/gassist/app.js @@ -0,0 +1,11 @@ +Bluetooth.println(""); +Bluetooth.println(JSON.stringify({ + t:"intent", + target:"activity", + action:"android.intent.action.VOICE_COMMAND", + flags:["FLAG_ACTIVITY_NEW_TASK"] +})); + +setTimeout(function() { + Bangle.showClock(); +}, 0); diff --git a/apps/gassist/app.png b/apps/gassist/app.png new file mode 100644 index 0000000000000000000000000000000000000000..8c190d3449e27cc6f84461dc0ea0c2a84fd25c45 GIT binary patch literal 799 zcmV+)1K|9LP)RCt{2S4(RXQ4~IC$;CflXB1nIuH5U!WUIC_k|4NsBNT*2 zK{J!?vJk;PAU=MANCI6HtgV@Be6(qkdlNTZTdlg%WTC4gXVSD|U|z}GW+L;!AtBH2 zJCE<43y>f|fpC&gbcK5G$0bQ>q~rZK9?? z-!Q~?)!_H&d*h}K%7ag{ipd*+h!2EarDA(#Y~-iS#wFDh--aQ7R1LnbEVnL>CG+a2 zXfw zzM^{{jP`CLRRI4TMu0}-D>>|kR>`h;enFN4IV$iulz>XM^N)aX?w5}Md#jW;0|ws= zBS5FN30Z+>a)($v2|WXq>>5=Gmym$SeS;c9T}+NWw;J; zJ&7-r+9?P5$Cv?hiAO_=urDuCD$u$;ka;)qy-0&T!Zs?lqa9vRhnp`?Is{k&1iT%- z3dQyeT}C2up8YfTTj!j=k7?-m3dn%BW%_|`QX`9Sxse4F@DoM_RbuG<$Po3x%pVFM zxAAYG4TuCKJfRetx5!0;x{ZB#@wkDJRR*Yl22p}6koNiBVaKA2SAn6Gx{Fro1J+pA4tic?d3q1x3|v2T z7A@Aq8bg<8&}SgNnfD}*ha%!w3A=6l$>TvRLEL~A`xsn6>OI5_SYw?K73jc33$WPe z3tiNh{1&RR{A3UDDlpq3gV<;r0xgE)Imo<4G-7*@^+DOi8e5`1KN#!|)>7~6*W#M_ d1PLI1_zPVw3^6G-%sBu6002ovPDHLkV1jq+Ys>%u literal 0 HcmV?d00001 diff --git a/apps/gassist/boot.js b/apps/gassist/boot.js new file mode 100644 index 000000000..eb2155796 --- /dev/null +++ b/apps/gassist/boot.js @@ -0,0 +1,21 @@ +// load settings +var settings = Object.assign({ + enableTap: true +}, require("Storage").readJSON("gassist.json", true) || {}); + +if (settings.enableTap) { + Bangle.on("tap", function(e) { + if (e.dir=="front" && e.double) { + Bluetooth.println(""); + Bluetooth.println(JSON.stringify({ + t:"intent", + target:"activity", + action:"android.intent.action.VOICE_COMMAND", + flags:["FLAG_ACTIVITY_NEW_TASK"] + })); + } + }); +} + +// clear variable +settings = undefined; \ No newline at end of file diff --git a/apps/gassist/gassist.json b/apps/gassist/gassist.json new file mode 100644 index 000000000..26c61fc04 --- /dev/null +++ b/apps/gassist/gassist.json @@ -0,0 +1 @@ +gassist.json \ No newline at end of file diff --git a/apps/gassist/icon.js b/apps/gassist/icon.js new file mode 100644 index 000000000..9e84990e3 --- /dev/null +++ b/apps/gassist/icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwxH+AH4A/AH4ALiAAFFtoxmFpQxjFxwwfFyAwdFyQwcF9wuUGDQvuFywwYF/4vUnAABF9YuCGBAv/F/6/PGC4bE3QACG5YvdFoYxSLzAvuFw4wjLxbCidhAvVGB4UFF7QxMCZAuaGJIRKF7oATFtoA/AEPMAAQttGNQuHGE4vuFxIwlF/4v/d/4vwGBAumGIwtpAH4A/AEIA==")) \ No newline at end of file diff --git a/apps/gassist/metadata.json b/apps/gassist/metadata.json new file mode 100644 index 000000000..995c44adb --- /dev/null +++ b/apps/gassist/metadata.json @@ -0,0 +1,18 @@ +{ + "id": "gassist", + "name": "Google Assist", + "version": "0.01", + "description": "A simple way to initiate Google Assistant on Android. Intents must be enabled in Gadgetbridge.", + "icon": "app.png", + "type": "app", + "tags": "tool, voice, tasker", + "supports": ["BANGLEJS","BANGLEJS2"], + "allow_emulator": false, + "storage": [ + {"name":"gassist.boot.js","url":"boot.js"}, + {"name":"gassist.app.js","url":"app.js"}, + {"name":"gassist.settings.js","url":"settings.js"}, + {"name":"gassist.img","url":"icon.js","evaluate":true} + ], + "data": [{"name":"gassist.json"}] +} \ No newline at end of file diff --git a/apps/gassist/settings.js b/apps/gassist/settings.js new file mode 100644 index 000000000..f264d99fa --- /dev/null +++ b/apps/gassist/settings.js @@ -0,0 +1,32 @@ +let storage = require('Storage'); + +(function (back) { + // Load and set default settings + let appSettings = Object.assign({ + enableTap : true + }, storage.readJSON("gassist.json", true) || {}); + + // Save settings to storage + function writeSettings() { + storage.writeJSON("gassist.json", appSettings); + } + + function showMenu() { + E.showMenu({ + "": { + "title": "Google Assist" + }, + "< Back": () => back(), + 'Front Tap:': { + value: (appSettings.enableTap === true), + format: v => v ? "On" : "Off", + onchange: v => { + appSettings.enableTap = v; + writeSettings(); + } + }, + }); + } + // Initially show the menu + showMenu(); +}); \ No newline at end of file From d8c41b56ed0adf879931c34b52f980d2822cf848 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Thu, 29 Jun 2023 15:02:35 +0100 Subject: [PATCH 059/139] messagegui 0.73: Add sharp left+right nav icons --- apps/messagegui/ChangeLog | 3 ++- apps/messagegui/app.js | 2 ++ apps/messagegui/metadata.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/messagegui/ChangeLog b/apps/messagegui/ChangeLog index cedb0e680..7fa45c496 100644 --- a/apps/messagegui/ChangeLog +++ b/apps/messagegui/ChangeLog @@ -98,4 +98,5 @@ If we receive a 'music' message and we're in the messages app (but not showing a message) show music (#2814) 0.71: Cancel buzzing when watch unlocked, or when different messages viewed On 2v18.64+ firmware, 'No Messages' now has a 'back' button -0.72: Nav message updastes don't automatically launch navigation menu unless they're new \ No newline at end of file +0.72: Nav message updastes don't automatically launch navigation menu unless they're new +0.73: Add sharp left+right nav icons \ No newline at end of file diff --git a/apps/messagegui/app.js b/apps/messagegui/app.js index dc7799036..2df9875a3 100644 --- a/apps/messagegui/app.js +++ b/apps/messagegui/app.js @@ -104,6 +104,8 @@ function showMapMessage(msg) { case "right": img = "GhcBAABgAAA8AAAPgAAB8AAAPgAAB8D///j///9///+/AAPPAAHjgAD44AB8OAA+DgAPA4ABAOAAADgAAA4AAAOAAADgAAA4AAAOAAAA";break; case "left_slight": img = "ERgB//B/+D/8H4AP4Af4A74Bz4Dj4HD4OD4cD4AD4ADwADwADgAHgAPAAOAAcAA4ABwADgAH";break; case "right_slight": img = "ERgBB/+D/8H/4APwA/gD/APuA+cD44Phw+Dj4HPgAeAB4ADgAPAAeAA4ABwADgAHAAOAAcAA";break; + case "left_sharp": img = "GBaBAAAA+AAB/AAH/gAPjgAeBwA8BwB4B+DwB+HgB+PAB+eAB+8AB+4AB/wAB/gAB//gB//gB//gBwAABwAABwAABwAABw=="; break; + case "right_sharp": img = "GBaBAB8AAD+AAH/gAHHwAOB4AOA8AOAeAOAPB+AHh+ADx+AB5+AA9+AAd+AAP+AAH+AH/+AH/+AH/+AAAOAAAOAAAOAAAA==";break; case "keep_left": img = "ERmBAACAAOAB+AD+AP+B/+H3+PO+8c8w4wBwADgAHgAPAAfAAfAAfAAfAAeAAeAAcAA8AA4ABwADgA==";break; case "keep_right": img = "ERmBAACAAOAA/AD+AP+A//D/fPueeceY4YBwADgAPAAeAB8AHwAfAB8ADwAPAAcAB4ADgAHAAOAAAA==";break; case "uturn_left": img = "GRiBAAAH4AAP/AAP/wAPj8APAfAPAHgHgB4DgA8BwAOA4AHAcADsOMB/HPA7zvgd9/gOf/gHH/gDh/gBwfgA4DgAcBgAOAAAHAAADgAABw==";break; diff --git a/apps/messagegui/metadata.json b/apps/messagegui/metadata.json index c71e5d542..31d7fe262 100644 --- a/apps/messagegui/metadata.json +++ b/apps/messagegui/metadata.json @@ -2,7 +2,7 @@ "id": "messagegui", "name": "Message UI", "shortName": "Messages", - "version": "0.72", + "version": "0.73", "description": "Default app to display notifications from iOS and Gadgetbridge/Android", "icon": "app.png", "type": "app", From 297d8b15acb55b34afd48fb350f60dbaa6412e58 Mon Sep 17 00:00:00 2001 From: stweedo Date: Thu, 29 Jun 2023 12:25:38 -0500 Subject: [PATCH 060/139] Fix scoping, add 'file' variable --- apps/gassist/gassist.json | 1 - apps/gassist/settings.js | 11 ++++++----- 2 files changed, 6 insertions(+), 6 deletions(-) delete mode 100644 apps/gassist/gassist.json diff --git a/apps/gassist/gassist.json b/apps/gassist/gassist.json deleted file mode 100644 index 26c61fc04..000000000 --- a/apps/gassist/gassist.json +++ /dev/null @@ -1 +0,0 @@ -gassist.json \ No newline at end of file diff --git a/apps/gassist/settings.js b/apps/gassist/settings.js index f264d99fa..987c3fdfc 100644 --- a/apps/gassist/settings.js +++ b/apps/gassist/settings.js @@ -1,14 +1,15 @@ -let storage = require('Storage'); - (function (back) { + let storage = require('Storage'); + let file = "gassist.json"; + // Load and set default settings let appSettings = Object.assign({ enableTap : true - }, storage.readJSON("gassist.json", true) || {}); + }, storage.readJSON(file, true) || {}); // Save settings to storage function writeSettings() { - storage.writeJSON("gassist.json", appSettings); + storage.writeJSON(file, appSettings); } function showMenu() { @@ -29,4 +30,4 @@ let storage = require('Storage'); } // Initially show the menu showMenu(); -}); \ No newline at end of file +}); From 3e8e2adb6088f7b3f1951d4b62904a572a28b190 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 29 Jun 2023 22:55:23 +0100 Subject: [PATCH 061/139] chimer: sleep between buzzes, instead of during --- apps/chimer/ChangeLog | 1 + apps/chimer/metadata.json | 2 +- apps/chimer/widget.js | 7 ++++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/chimer/ChangeLog b/apps/chimer/ChangeLog index 51842b5cd..6c6f5312e 100644 --- a/apps/chimer/ChangeLog +++ b/apps/chimer/ChangeLog @@ -1,3 +1,4 @@ 0.01: Initial Creation 0.02: Fixed some sleep bugs. Added a sleep mode toggle 0.03: Reduce busy-loop and code +0.04: Separate buzz-time and sleep-time diff --git a/apps/chimer/metadata.json b/apps/chimer/metadata.json index dfbabf405..cfa0da00f 100644 --- a/apps/chimer/metadata.json +++ b/apps/chimer/metadata.json @@ -1,7 +1,7 @@ { "id": "chimer", "name": "Chimer", - "version": "0.03", + "version": "0.04", "description": "A fork of Hour Chime that adds extra features such as: \n - Buzz or beep on every 60, 30 or 15 minutes. \n - Repeat Chime up to 3 times \n - Set hours to disable chime", "icon": "widget.png", "type": "widget", diff --git a/apps/chimer/widget.js b/apps/chimer/widget.js index a587b61de..3b7de9d7a 100644 --- a/apps/chimer/widget.js +++ b/apps/chimer/widget.js @@ -20,15 +20,16 @@ let count = settings.repeat; const chime1 = () => { + let p; if (settings.type === 1) { - Bangle.buzz(100); + p = Bangle.buzz(100); } else if (settings.type === 2) { - Bangle.beep(); + p = Bangle.beep(); } else { return; } if (--count > 0) - setTimeout(chime1, 150); + p.then(() => setTimeout(chime1, 150)); }; chime1(); From 557b426b632168fde6ed14d468656da4ba8e3bff Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 21 May 2023 22:20:41 +0100 Subject: [PATCH 062/139] typescript: remove `Layout_` naming hack --- typescript/types/layout.d.ts | 6 +++--- typescript/types/modules.d.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/typescript/types/layout.d.ts b/typescript/types/layout.d.ts index 8c5706d0b..3867efe46 100644 --- a/typescript/types/layout.d.ts +++ b/typescript/types/layout.d.ts @@ -1,6 +1,6 @@ type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; -type ExtractIds = +type ExtractIds = [Depth] extends [never] ? never : (T extends { id: infer Id extends string } @@ -8,12 +8,12 @@ type ExtractIds = : never) | ( - T extends { c: Array } + T extends { c: Array } ? ExtractIds : never ); -declare module Layout_ { +declare module Layout { type Layouter = ExtractIds & diff --git a/typescript/types/modules.d.ts b/typescript/types/modules.d.ts index 5c65548fc..ad3612117 100644 --- a/typescript/types/modules.d.ts +++ b/typescript/types/modules.d.ts @@ -4,4 +4,4 @@ declare function require(moduleName: "sched"): typeof Sched; declare function require(moduleName: "ClockFace"): typeof ClockFace_.ClockFace; declare function require(moduleName: "clock_info"): typeof ClockInfo; -declare function require(moduleName: "Layout"): typeof Layout_.Layout; +declare function require(moduleName: "Layout"): typeof Layout.Layout; From 9c72a8210d89b81caa31efa2ab506512979fcc79 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 25 May 2023 23:21:19 +0100 Subject: [PATCH 063/139] layout.d.ts: add rotation / l.r --- typescript/types/layout.d.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/typescript/types/layout.d.ts b/typescript/types/layout.d.ts index 3867efe46..10166f3e4 100644 --- a/typescript/types/layout.d.ts +++ b/typescript/types/layout.d.ts @@ -88,6 +88,13 @@ declare module Layout { type Align = -1 | 0 | 1; + const enum Rotation { + None = 0, + Deg90 = 1, + Deg180 = 2, + Deg270 = 3, + } + type HierarchyParts = { type: "v", @@ -108,16 +115,19 @@ declare module Layout { type: "btn", src: Image, cb: () => void, + r?: Rotation, } | { type: "btn", cb: () => void, label: string, font?: FontNameWithScaleFactor, scale?: number, + r?: Rotation, } ) | { type: "img", src: Image | (() => Image), + r?: Rotation, } | { type: "custom", render: (h: Hierarchy) => void, From 6a82fb72db627d4d3ff46a91fb690d1167dd22ae Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 29 Apr 2023 12:30:23 +0100 Subject: [PATCH 064/139] rep: initial WIP app --- apps/rep/app.ts | 95 ++++++++++++++++++++++++++++++++++++++++++ apps/rep/metadata.json | 0 2 files changed, 95 insertions(+) create mode 100644 apps/rep/app.ts create mode 100644 apps/rep/metadata.json diff --git a/apps/rep/app.ts b/apps/rep/app.ts new file mode 100644 index 000000000..90017450b --- /dev/null +++ b/apps/rep/app.ts @@ -0,0 +1,95 @@ +// TODO: buzz on stage change, better setTimeout() + +const entries: {dur: number, label: string}[] = [ + // 1 X 4 mins - 4 min jog recovery + // 2 X 2 mins - 2 min jog recoveries + // 4 X 1 min - 1 min jog recoveries (turn for home after the 2nd minute) + // 8 X 30 secs - 30 sec jog recoveries + // 3 min static recovery + // 1 X 4 mins to finish + + {dur:4, label:"jog"}, + {dur:4, label:"jog recovery"}, + + {dur:2, label:"jog"}, + {dur:2, label:"jog recovery"}, + {dur:2, label:"jog"}, + {dur:2, label:"jog recovery"}, + + {dur:1, label:"jog"}, + {dur:1, label:"jog recovery"}, + {dur:1, label:"jog"}, + {dur:1, label:"jog recovery"}, + {dur:1, label:"jog"}, + {dur:1, label:"jog recovery"}, + {dur:1, label:"jog"}, + {dur:1, label:"jog recovery"}, + + {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + + {dur:3, label:"static recovery"}, + {dur:4, label:"finish"}, +]; + +let index = 0; +let begin: Date | undefined; +let drawTimeout: number | undefined; + +const pad2 = (s: number) => ('0' + s.toFixed(0)).slice(-2); + +const drawNamespace = () => { + const x = g.getWidth() / 2; + const y = g.getHeight() / 2; + const now = new Date(); + + const elapsed = now.getDate() - begin!.getDate(); + + const sec = Math.round(elapsed / 1000) % 60; + const min = Math.round(sec / 60); + + const timeStr = min + ":" + pad2(sec); + let current; + let i; + let total = 0; + for(i = 0; entries[i]; i++){ + const ent = entries[i]!; + total += ent.dur; + if(total > elapsed) + break; + current = ent; + } + + g.reset() + .clearRect(Bangle.appRect) + .setFontAlign(0, 0) + .setFont("Vector", 55) + .drawString(timeStr, x, y) + .setFont("Vector", 33) + .drawString(current ? current.label + " for " + current.dur : "", x, y+48); + + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + drawNamespace(); + }, 1000 - (Date.now() % 1000)); +}; + +g.reset().clearRect(Bangle.appRect); +g.setFontAlign(0, 0).setFont("Vector", 55).drawString( + "Start", + g.getWidth() / 2, + g.getHeight() / 2 +); + +Bangle.on("touch", (_btn, _xy) => { + begin = new Date(); + index = 0; + drawNamespace(); +}); diff --git a/apps/rep/metadata.json b/apps/rep/metadata.json new file mode 100644 index 000000000..e69de29bb From 6a768768b6e3a6473e133c10ed7a81148cfb95c3 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 6 May 2023 17:57:37 +0100 Subject: [PATCH 065/139] rep metadata --- apps/rep/metadata.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/apps/rep/metadata.json b/apps/rep/metadata.json index e69de29bb..8820be486 100644 --- a/apps/rep/metadata.json +++ b/apps/rep/metadata.json @@ -0,0 +1,16 @@ +{ + "id": "rep", + "name": "Rep", + "version":"0.01", + "description": "Steps through reps, to aid in run schedules", + "icon": "app.png", // TODO + "tags": "run,running,fitness,outdoors", + "supports" : ["BANGLEJS2"], + "readme": "README.md", + "interface": "interface.html", + "storage": [ + {"name":"rep.app.js","url":"app.js"}, + {"name":"rep.img","url":"app-icon.js","evaluate":true} + ], + "data": [{"name":"rep.json"}] +} From b4e5e8e1df97f0e6061331a37c61867ff22e7867 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 17 May 2023 12:46:44 +0100 Subject: [PATCH 066/139] rep: initial WIP layout --- apps/rep/app.ts | 110 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 94 insertions(+), 16 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 90017450b..63426225e 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -1,6 +1,9 @@ // TODO: buzz on stage change, better setTimeout() +// TODO: fastload: scoping, unregister layout handlers etc -const entries: {dur: number, label: string}[] = [ +const Layout = require("Layout"); + +const entries /*: {dur: number, label: string}[]*/ = [ // 1 X 4 mins - 4 min jog recovery // 2 X 2 mins - 2 min jog recoveries // 4 X 1 min - 1 min jog recoveries (turn for home after the 2nd minute) @@ -38,18 +41,92 @@ const entries: {dur: number, label: string}[] = [ {dur:4, label:"finish"}, ]; +const repLayout = (id: string): (Layout_.Hierarchy & {type:"txt"})[] => [ + { + id: `${id}_name`, + type: "txt", + font: "Vector:30", + label: "Name PH", + pad: 4, + }, { + id: `${id}_dur`, + type: "txt", + font: "Vector:30", + label: "DURATION", + pad: 4, + } +]; + +// top: show current rep: name & duration +// middle: show time left on current rep +// bottom: show next rep +// ctrl: play/pause button. back & forward? +const layout = new Layout({ + type: "v", + c: [ + { + type: "h", + c: repLayout("cur"), + filly: 1, + }, + { + id: "cur_time", + type: "txt", + font: "Vector:40", // FIXME: bigger + label: "MM:SS", // TODO: empty strings + fillx: 1, + filly: 1, + }, + { + type: "h", + c: repLayout("next"), + filly: 1, + }, + { + type: "h", + c: [{ + type: "btn", + label: "Play", // TODO: change + cb: () => { + console.log("cb()"); + }, + filly: 1, + }] + } + ] +}, {lazy: true}); + let index = 0; let begin: Date | undefined; let drawTimeout: number | undefined; +let paused = true; +let positioned = false; const pad2 = (s: number) => ('0' + s.toFixed(0)).slice(-2); -const drawNamespace = () => { +const drawRep = () => { + // TODO: layout.clear(layout.next_name); layout.render(layout.next_name) + + layout["next_name"]!.label = "next"; + layout["next_dur"]!.label = `${30}`; + layout["cur_name"]!.label = "next"; + layout["cur_dur"]!.label = `${30}`; + + layout["cur_time"]!.label = "1:23"; + + if(!positioned){ + positioned = true; + layout.update(); // position + } + + layout.render(); + + /* const x = g.getWidth() / 2; const y = g.getHeight() / 2; const now = new Date(); - const elapsed = now.getDate() - begin!.getDate(); + const elapsed = now.getDate() - begin.getDate(); const sec = Math.round(elapsed / 1000) % 60; const min = Math.round(sec / 60); @@ -59,7 +136,7 @@ const drawNamespace = () => { let i; let total = 0; for(i = 0; entries[i]; i++){ - const ent = entries[i]!; + const ent = entries[i]; total += ent.dur; if(total > elapsed) break; @@ -77,19 +154,20 @@ const drawNamespace = () => { if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(function() { drawTimeout = undefined; - drawNamespace(); + drawRep(); }, 1000 - (Date.now() % 1000)); + + if(paused){ + g.reset() + .clearRect(Bangle.appRect) + .setFontAlign(0, 0) + .setFont("Vector", 55) + .drawString("Start", g.getWidth() / 2, g.getHeight() / 2); + } + */ }; -g.reset().clearRect(Bangle.appRect); -g.setFontAlign(0, 0).setFont("Vector", 55).drawString( - "Start", - g.getWidth() / 2, - g.getHeight() / 2 -); +g.clear(); +drawRep(); -Bangle.on("touch", (_btn, _xy) => { - begin = new Date(); - index = 0; - drawNamespace(); -}); +// TODO: widgets From 223fc5087b9725fcf210bb2650371fb8040e0c17 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 18 May 2023 22:39:11 +0100 Subject: [PATCH 067/139] rep: incrementing counter --- apps/rep/app.ts | 168 ++++++++++++++++++++++++++++++------------------ 1 file changed, 104 insertions(+), 64 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 63426225e..6d3565992 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -1,57 +1,70 @@ // TODO: buzz on stage change, better setTimeout() // TODO: fastload: scoping, unregister layout handlers etc +// TODO: spaces vs tabs +// TODO: const colfg=g.theme.fg, colbg=g.theme.bg; const Layout = require("Layout"); -const entries /*: {dur: number, label: string}[]*/ = [ - // 1 X 4 mins - 4 min jog recovery - // 2 X 2 mins - 2 min jog recoveries - // 4 X 1 min - 1 min jog recoveries (turn for home after the 2nd minute) - // 8 X 30 secs - 30 sec jog recoveries +type Rep = { + dur: number, + label: string, +}; + +const reps: Rep[] = [ + // 1 X 4 mins - 4 min recovery + // 2 X 2 mins - 2 min recoveries + // 4 X 1 min - 1 min recoveries (turn for home after the 2nd minute) + // 8 X 30 secs - 30 sec recoveries // 3 min static recovery // 1 X 4 mins to finish + {dur:1/60, label:"1st-sec"}, + {dur:5/60, label:"5-sec"}, + {dur:4, label:"jog"}, - {dur:4, label:"jog recovery"}, + {dur:4, label:"recovery"}, {dur:2, label:"jog"}, - {dur:2, label:"jog recovery"}, + {dur:2, label:"recovery"}, {dur:2, label:"jog"}, - {dur:2, label:"jog recovery"}, + {dur:2, label:"recovery"}, {dur:1, label:"jog"}, - {dur:1, label:"jog recovery"}, + {dur:1, label:"recovery"}, {dur:1, label:"jog"}, - {dur:1, label:"jog recovery"}, + {dur:1, label:"recovery"}, {dur:1, label:"jog"}, - {dur:1, label:"jog recovery"}, + {dur:1, label:"recovery"}, {dur:1, label:"jog"}, - {dur:1, label:"jog recovery"}, + {dur:1, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"jog recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, {dur:3, label:"static recovery"}, {dur:4, label:"finish"}, ]; +const fontSzMain = 64; +const fontSzRep = 20; + const repLayout = (id: string): (Layout_.Hierarchy & {type:"txt"})[] => [ { id: `${id}_name`, type: "txt", - font: "Vector:30", + font: `Vector:${fontSzRep}`, label: "Name PH", pad: 4, }, { id: `${id}_dur`, type: "txt", - font: "Vector:30", + font: `Vector:${fontSzRep}`, label: "DURATION", pad: 4, } @@ -65,16 +78,16 @@ const layout = new Layout({ type: "v", c: [ { - type: "h", - c: repLayout("cur"), + id: "cur_time", + type: "txt", + font: `Vector:${fontSzMain}` as FontNameWithScaleFactor, // modified in draw + label: "MM:SS", // TODO: empty strings + fillx: 1, filly: 1, }, { - id: "cur_time", - type: "txt", - font: "Vector:40", // FIXME: bigger - label: "MM:SS", // TODO: empty strings - fillx: 1, + type: "h", + c: repLayout("cur"), filly: 1, }, { @@ -85,8 +98,10 @@ const layout = new Layout({ { type: "h", c: [{ + id: "play", type: "btn", label: "Play", // TODO: change + fillx: 1, cb: () => { console.log("cb()"); }, @@ -97,22 +112,72 @@ const layout = new Layout({ }, {lazy: true}); let index = 0; -let begin: Date | undefined; +let begin: number | undefined = Date.now(); // TODO: start null let drawTimeout: number | undefined; -let paused = true; +let paused = false; let positioned = false; const pad2 = (s: number) => ('0' + s.toFixed(0)).slice(-2); +const currentRepIndex = (elapsedMs: number) => { + let total = 0; + let ent; + for(let i = 0; ent = reps[i]; i++){ + total += ent.dur * 60 * 1000; + if(elapsedMs < total) + return i; + } + return null; +}; + +const repToLabel = (i: number, id: string) => { + const rep = reps[i]; + if(rep){ + layout[`${id}_name`]!.label = `${i+1}: ${rep.label}`; + layout[`${id}_dur`]!.label = `${rep.dur}m`; + }else{ + emptyLabel(id); + } +}; + +const emptyLabel = (id: string) => { + layout[`${id}_name`]!.label = ""; + layout[`${id}_dur`]!.label = `0m`; +}; + const drawRep = () => { + if(paused || !begin){ // TODO: separate case for paused + layout.clear(); + layout["cur_time"]!.label = "Ready"; + + if(!positioned){ + positioned = true; + layout.update(); // position + } + + layout.render(layout["play"]); + layout.render(layout["cur_time"]); + return; + } + // TODO: layout.clear(layout.next_name); layout.render(layout.next_name) - layout["next_name"]!.label = "next"; - layout["next_dur"]!.label = `${30}`; - layout["cur_name"]!.label = "next"; - layout["cur_dur"]!.label = `${30}`; + const now = Date.now(); - layout["cur_time"]!.label = "1:23"; + const elapsed = now - begin; + const sec = Math.round(elapsed / 1000); + const min = Math.round(sec / 60); + const timeStr = min.toFixed(0) + ":" + pad2(sec % 60); + layout["cur_time"]!.label = timeStr; + + const i = currentRepIndex(elapsed); + if(i !== null){ + repToLabel(i, "cur"); + repToLabel(i+1, "next"); + }else{ + emptyLabel("cur"); + emptyLabel("next"); + } if(!positioned){ positioned = true; @@ -121,28 +186,8 @@ const drawRep = () => { layout.render(); + /* - const x = g.getWidth() / 2; - const y = g.getHeight() / 2; - const now = new Date(); - - const elapsed = now.getDate() - begin.getDate(); - - const sec = Math.round(elapsed / 1000) % 60; - const min = Math.round(sec / 60); - - const timeStr = min + ":" + pad2(sec); - let current; - let i; - let total = 0; - for(i = 0; entries[i]; i++){ - const ent = entries[i]; - total += ent.dur; - if(total > elapsed) - break; - current = ent; - } - g.reset() .clearRect(Bangle.appRect) .setFontAlign(0, 0) @@ -151,23 +196,18 @@ const drawRep = () => { .setFont("Vector", 33) .drawString(current ? current.label + " for " + current.dur : "", x, y+48); + // TODO: figure out next rep change time? or every 5s, then countdown from 10-->0 if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(function() { drawTimeout = undefined; drawRep(); }, 1000 - (Date.now() % 1000)); - if(paused){ - g.reset() - .clearRect(Bangle.appRect) - .setFontAlign(0, 0) - .setFont("Vector", 55) - .drawString("Start", g.getWidth() / 2, g.getHeight() / 2); - } */ }; g.clear(); +var drawInterval = setInterval(drawRep, 1000); drawRep(); // TODO: widgets From efd1891ff53dbfc6f1123b46ae1a4fb1ea6826b7 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 18 May 2023 22:39:44 +0100 Subject: [PATCH 068/139] layout.d.ts: render(), layout(), debug() and clear() accept any layout hierarchy --- typescript/types/layout.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/typescript/types/layout.d.ts b/typescript/types/layout.d.ts index 10166f3e4..cbd769c70 100644 --- a/typescript/types/layout.d.ts +++ b/typescript/types/layout.d.ts @@ -19,12 +19,12 @@ declare module Layout { & { // these actually change T - render(l?: T): void; - layout(l: T): void; + render(l?: Hierarchy): void; + layout(l: Hierarchy): void; - debug(l?: T, c?: ColorResolvable): void; + debug(l?: Hierarchy, c?: ColorResolvable): void; update(): void; // changes layoutObject into a RenderedHierarchy - clear(obj?: T): void; + clear(obj?: Hierarchy): void; forgetLazyState(): void; From 739ddb731fb806b08d39d674cc984399e217892f Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 18 May 2023 22:40:01 +0100 Subject: [PATCH 069/139] layout.d.ts: Layout's fill can be any proportion --- typescript/types/layout.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typescript/types/layout.d.ts b/typescript/types/layout.d.ts index cbd769c70..59ff44e72 100644 --- a/typescript/types/layout.d.ts +++ b/typescript/types/layout.d.ts @@ -51,7 +51,7 @@ declare module Layout { type Image = string; - type Fill = 0 | 1 | 2; // 0=no, 1=yes, 2=2x more space + type Fill = number; // fill a proportion of space, relative to sibling `filly`s type RenderedHierarchy = Hierarchy & { From 553d363f909575a153beb6c9a500cae6dea9be3d Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 20 May 2023 08:52:55 +0100 Subject: [PATCH 070/139] layout.d.ts: alignment fixes --- typescript/types/layout.d.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/typescript/types/layout.d.ts b/typescript/types/layout.d.ts index 59ff44e72..0e88fe21c 100644 --- a/typescript/types/layout.d.ts +++ b/typescript/types/layout.d.ts @@ -78,6 +78,10 @@ declare module Layout { filly?: Fill, width?: number, height?: number, + + // technically only on children of a h/v + halign?: Align, // children of a v + valign?: Align, // children of a h } & ( { r?: number, // 0: 0°, 1: 90°, 2: 180°, 3: 270°. @@ -86,7 +90,13 @@ declare module Layout { } ); - type Align = -1 | 0 | 1; + const enum Align { + Left = -1, + Top = -1, + Center = 0, + Right = 1, + Bottom = -1, + } const enum Rotation { None = 0, @@ -99,11 +109,9 @@ declare module Layout { { type: "v", c: Hierarchy[], - halign?: Align, } | { type: "h" c: Hierarchy[], - valign?: Align, } | { type: "txt", label: string, From 38bccb540d34dc1b5d9f2fe4d5daa11458742020 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 18 Jun 2023 22:38:47 +0100 Subject: [PATCH 071/139] Layout.md: separate the docs for `options` --- modules/Layout.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/Layout.md b/modules/Layout.md index 95bf116dc..6a59948a2 100644 --- a/modules/Layout.md +++ b/modules/Layout.md @@ -54,6 +54,9 @@ layout.render(); - A `fillx` int to choose if the object should fill available space in x. 0=no, 1=yes, 2=2x more space - A `filly` int to choose if the object should fill available space in y. 0=no, 1=yes, 2=2x more space - `width` and `height` fields to optionally specify minimum size options is an object containing: + +`options` has: + - `lazy` - a boolean specifying whether to enable automatic lazy rendering - `btns` - array of objects containing: - `label` - the text on the button From 8036509b1873d128f58902a33df2bce3e1920886 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 18 Jun 2023 22:38:54 +0100 Subject: [PATCH 072/139] layout.d.ts: add btnBorder --- typescript/types/layout.d.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/typescript/types/layout.d.ts b/typescript/types/layout.d.ts index 0e88fe21c..ac4b0015c 100644 --- a/typescript/types/layout.d.ts +++ b/typescript/types/layout.d.ts @@ -124,6 +124,7 @@ declare module Layout { src: Image, cb: () => void, r?: Rotation, + btnBorder?: ColorResolvable, } | { type: "btn", cb: () => void, @@ -131,6 +132,7 @@ declare module Layout { font?: FontNameWithScaleFactor, scale?: number, r?: Rotation, + btnBorder?: ColorResolvable, } ) | { type: "img", From fabe88034fe007bc0ad1d1ef35be29e759cbe8e1 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 20 May 2023 08:53:16 +0100 Subject: [PATCH 073/139] rep: alignment tweaks --- apps/rep/app.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 6d3565992..1103e4da1 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -54,19 +54,21 @@ const reps: Rep[] = [ const fontSzMain = 64; const fontSzRep = 20; +// FIXME: `Layout_` name const repLayout = (id: string): (Layout_.Hierarchy & {type:"txt"})[] => [ { id: `${id}_name`, type: "txt", font: `Vector:${fontSzRep}`, label: "Name PH", - pad: 4, + //pad: 4, + fillx: 1, }, { id: `${id}_dur`, type: "txt", font: `Vector:${fontSzRep}`, label: "DURATION", - pad: 4, + halign: Layout_.Align.Right, } ]; From a783ee643598cde3602827a8fc4576f9ee97bb09 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 20 May 2023 08:53:25 +0100 Subject: [PATCH 074/139] rep: trim duration --- apps/rep/app.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 1103e4da1..635baf378 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -136,7 +136,8 @@ const repToLabel = (i: number, id: string) => { const rep = reps[i]; if(rep){ layout[`${id}_name`]!.label = `${i+1}: ${rep.label}`; - layout[`${id}_dur`]!.label = `${rep.dur}m`; + // FIXME: display time, i.e. hh:mm + layout[`${id}_dur`]!.label = `${rep.dur.toFixed(0)}m`; }else{ emptyLabel(id); } From ef26eae665df6606bbead4053735a82a0912e968 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 21 May 2023 15:13:18 +0100 Subject: [PATCH 075/139] rep: more layout/design tweaks --- apps/rep/app.ts | 315 +++++++++++++++++++++++++++++------------------- 1 file changed, 194 insertions(+), 121 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 635baf378..fa6337153 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -18,59 +18,44 @@ const reps: Rep[] = [ // 3 min static recovery // 1 X 4 mins to finish - {dur:1/60, label:"1st-sec"}, + {dur:3/60, label:"1st-sec"}, {dur:5/60, label:"5-sec"}, - {dur:4, label:"jog"}, - {dur:4, label:"recovery"}, + // {dur:4, label:"jog"}, + // {dur:4, label:"recovery"}, - {dur:2, label:"jog"}, - {dur:2, label:"recovery"}, - {dur:2, label:"jog"}, - {dur:2, label:"recovery"}, + // {dur:2, label:"jog"}, + // {dur:2, label:"recovery"}, + // {dur:2, label:"jog"}, + // {dur:2, label:"recovery"}, - {dur:1, label:"jog"}, - {dur:1, label:"recovery"}, - {dur:1, label:"jog"}, - {dur:1, label:"recovery"}, - {dur:1, label:"jog"}, - {dur:1, label:"recovery"}, - {dur:1, label:"jog"}, - {dur:1, label:"recovery"}, + // {dur:1, label:"jog"}, + // {dur:1, label:"recovery"}, + // {dur:1, label:"jog"}, + // {dur:1, label:"recovery"}, + // {dur:1, label:"jog"}, + // {dur:1, label:"recovery"}, + // {dur:1, label:"jog"}, + // {dur:1, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, + // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - {dur:3, label:"static recovery"}, - {dur:4, label:"finish"}, + // {dur:3, label:"static recovery"}, + // {dur:4, label:"finish"}, ]; const fontSzMain = 64; const fontSzRep = 20; +const fontSzRepDesc = 12; -// FIXME: `Layout_` name -const repLayout = (id: string): (Layout_.Hierarchy & {type:"txt"})[] => [ - { - id: `${id}_name`, - type: "txt", - font: `Vector:${fontSzRep}`, - label: "Name PH", - //pad: 4, - fillx: 1, - }, { - id: `${id}_dur`, - type: "txt", - font: `Vector:${fontSzRep}`, - label: "DURATION", - halign: Layout_.Align.Right, - } -]; +// FIXME: `Layout_` name, e.g. Layout_.Align.Right // top: show current rep: name & duration // middle: show time left on current rep @@ -80,53 +65,159 @@ const layout = new Layout({ type: "v", c: [ { - id: "cur_time", - type: "txt", + id: "duration", + lazyBuster: 1, + type: "custom", font: `Vector:${fontSzMain}` as FontNameWithScaleFactor, // modified in draw - label: "MM:SS", // TODO: empty strings fillx: 1, filly: 1, + render: (l: Layout_.RenderedHierarchy) => { + let lbl; + + g.clearRect(l.x, l.y, l.x+l.w, l.y+l.h); + + if(state){ + const elapsed = getElapsed(state); + const i = currentRepIndex(elapsed); + + if(i == null){ + // FIXME: dodgy end-of-rep handling + lbl = msToHM(elapsed); + }else{ + const thisDur = repDuration(reps[i]!); + const remaining = thisDur - elapsed; + lbl = msToHM(remaining); + + const fract = elapsed / thisDur; + g.setColor("#00f") + .fillRect( + l.x, + l.y, + l.x + fract * l.w, + l.y+l.h + ); + } + }else{ + lbl = "RDY"; + } + + g.setColor(l.col || g.theme.fg) + .setFont(l.font!) + .setFontAlign(0, 0) + .drawString( + lbl, + l.x+(l.w>>1), + l.y+(l.h>>1) + ); + }, + }, + { + type: "txt", + font: `Vector:${fontSzRepDesc}`, + label: "Activity / Duration", + }, + { + id: `cur_name`, + type: "txt", + font: `Vector:${fontSzRep}`, + label: "", + //pad: 4, + fillx: 1, + }, + { + type: "txt", + font: `Vector:${fontSzRepDesc}`, + label: "Next / Duration", + }, + { + id: `next_name`, + type: "txt", + font: `Vector:${fontSzRep}`, + label: "", + //pad: 4, + fillx: 1, }, { type: "h", - c: repLayout("cur"), - filly: 1, - }, - { - type: "h", - c: repLayout("next"), - filly: 1, - }, - { - type: "h", - c: [{ - id: "play", - type: "btn", - label: "Play", // TODO: change - fillx: 1, - cb: () => { - console.log("cb()"); + c: [ + { + id: "prev", + type: "btn", + label: "<", + fillx: 1, + cb: () => onPrev(), }, - filly: 1, - }] + { + id: "play", + type: "btn", + label: "Play", // TODO: change + fillx: 1, + cb: () => onToggle(), + }, + { + id: "next", + type: "btn", + label: ">", + fillx: 1, + cb: () => onNext(), + } + ] } ] }, {lazy: true}); -let index = 0; -let begin: number | undefined = Date.now(); // TODO: start null -let drawTimeout: number | undefined; -let paused = false; -let positioned = false; +const onToggle = () => { + if(!state){ + state = { + begin: Date.now(), + accumulated: 0, + }; + play(true, state); + }else{ + play(paused, state); + } -const pad2 = (s: number) => ('0' + s.toFixed(0)).slice(-2); + drawRep(); +}; + +const onPrev = () => { +}; + +const onNext = () => { +}; + +const play = (p: boolean, state: State) => { + if(p){ + layout["play"]!.label = "Pause"; + + state.begin = Date.now(); + + drawInterval = setInterval(drawRep, 1000); + }else{ + layout["play"]!.label = "Play"; + + const diff = Date.now() - state.begin; + state.accumulated += diff; + + clearInterval(drawInterval!); + } + + paused = !p; +} + +type State = { begin: number, accumulated: number }; + +let state: State | undefined; +//let drawTimeout: number | undefined; +let paused = false; // TODO: ditch this, used drawInterval +let drawInterval: IntervalId | undefined; const currentRepIndex = (elapsedMs: number) => { let total = 0; let ent; for(let i = 0; ent = reps[i]; i++){ - total += ent.dur * 60 * 1000; - if(elapsedMs < total) + total += repDuration(ent); + if(elapsedMs <= total) return i; } return null; @@ -135,82 +226,64 @@ const currentRepIndex = (elapsedMs: number) => { const repToLabel = (i: number, id: string) => { const rep = reps[i]; if(rep){ - layout[`${id}_name`]!.label = `${i+1}: ${rep.label}`; + layout[`${id}_name`]!.label = `${i+1}: ${rep.label} / ${rep.dur.toFixed(0)}m`; // FIXME: display time, i.e. hh:mm - layout[`${id}_dur`]!.label = `${rep.dur.toFixed(0)}m`; + //layout[`${id}_dur`]!.label = ``; }else{ emptyLabel(id); } }; const emptyLabel = (id: string) => { - layout[`${id}_name`]!.label = ""; - layout[`${id}_dur`]!.label = `0m`; + layout[`${id}_name`]!.label = " / 0m"; +}; + +const pad2 = (s: number) => ('0' + s.toFixed(0)).slice(-2); + +const repDuration = (rep: Rep) => rep.dur * 60 * 1000; + +const getElapsed = (state: State) => + Date.now() - state.begin + state.accumulated; + +const msToHM = (ms: number) => { + const sec = Math.round(ms / 1000); + const min = Math.round(sec / 60); + return min.toFixed(0) + ":" + pad2(sec % 60); }; const drawRep = () => { - if(paused || !begin){ // TODO: separate case for paused - layout.clear(); - layout["cur_time"]!.label = "Ready"; + (layout["duration"] as any).lazyBuster ^= 1; - if(!positioned){ - positioned = true; - layout.update(); // position + if(state){ + // TODO: layout.clear(layout.next_name); layout.render(layout.next_name) + + const elapsed = getElapsed(state); + const i = currentRepIndex(elapsed); + if(i !== null){ + repToLabel(i, "cur"); + repToLabel(i+1, "next"); + }else{ + emptyLabel("cur"); + emptyLabel("next"); } - - layout.render(layout["play"]); - layout.render(layout["cur_time"]); - return; - } - - // TODO: layout.clear(layout.next_name); layout.render(layout.next_name) - - const now = Date.now(); - - const elapsed = now - begin; - const sec = Math.round(elapsed / 1000); - const min = Math.round(sec / 60); - const timeStr = min.toFixed(0) + ":" + pad2(sec % 60); - layout["cur_time"]!.label = timeStr; - - const i = currentRepIndex(elapsed); - if(i !== null){ - repToLabel(i, "cur"); - repToLabel(i+1, "next"); - }else{ - emptyLabel("cur"); - emptyLabel("next"); - } - - if(!positioned){ - positioned = true; - layout.update(); // position } layout.render(); - /* - g.reset() - .clearRect(Bangle.appRect) - .setFontAlign(0, 0) - .setFont("Vector", 55) - .drawString(timeStr, x, y) - .setFont("Vector", 33) - .drawString(current ? current.label + " for " + current.dur : "", x, y+48); - // TODO: figure out next rep change time? or every 5s, then countdown from 10-->0 if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(function() { drawTimeout = undefined; drawRep(); }, 1000 - (Date.now() % 1000)); - */ }; g.clear(); -var drawInterval = setInterval(drawRep, 1000); drawRep(); +// TODO: swipe handlers +//Bangle.setUI + // TODO: widgets From 057ee7df036a72ca57b2b653d72c853a80d7947b Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 21 May 2023 20:44:00 +0100 Subject: [PATCH 076/139] rep: working display, fixed unit problems with reps etc --- apps/rep/app.ts | 138 +++++++++++++++++++++++++++--------------------- 1 file changed, 77 insertions(+), 61 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index fa6337153..149926922 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -8,6 +8,7 @@ const Layout = require("Layout"); type Rep = { dur: number, label: string, + accDur: number, }; const reps: Rep[] = [ @@ -21,8 +22,8 @@ const reps: Rep[] = [ {dur:3/60, label:"1st-sec"}, {dur:5/60, label:"5-sec"}, - // {dur:4, label:"jog"}, - // {dur:4, label:"recovery"}, + {dur:4/60, label:"jog"}, + {dur:4/60, label:"recovery"}, // {dur:2, label:"jog"}, // {dur:2, label:"recovery"}, @@ -49,7 +50,17 @@ const reps: Rep[] = [ // {dur:3, label:"static recovery"}, // {dur:4, label:"finish"}, -]; +].map(((r: Rep, i: number, a: Rep[]): Rep => { + const r2 = r as Rep; + + r2.dur = r2.dur * 60 * 1000; + + r2.accDur = i > 0 + ? a[i-1]!.accDur + r.dur + : r.dur; + + return r as Rep; +}) as any); const fontSzMain = 64; const fontSzRep = 20; @@ -64,11 +75,17 @@ const fontSzRepDesc = 12; const layout = new Layout({ type: "v", c: [ + { + id: "repIdx", + type: "txt", + label: "Rep 1", // TODO: update in render + font: `Vector:${fontSzRepDesc}`, + }, { id: "duration", lazyBuster: 1, type: "custom", - font: `Vector:${fontSzMain}` as FontNameWithScaleFactor, // modified in draw + font: `Vector:${fontSzMain}` as FontNameWithScaleFactor, fillx: 1, filly: 1, render: (l: Layout_.RenderedHierarchy) => { @@ -77,25 +94,26 @@ const layout = new Layout({ g.clearRect(l.x, l.y, l.x+l.w, l.y+l.h); if(state){ - const elapsed = getElapsed(state); - const i = currentRepIndex(elapsed); + // TODO: inefficient + const i = state.currentRepIndex(); + const repElapsed = state.getElapsedForRep(); - if(i == null){ - // FIXME: dodgy end-of-rep handling - lbl = msToHM(elapsed); - }else{ - const thisDur = repDuration(reps[i]!); - const remaining = thisDur - elapsed; - lbl = msToHM(remaining); + if(i !== null){ + let thisDur = reps[i]!.dur; - const fract = elapsed / thisDur; - g.setColor("#00f") + const remaining = thisDur - repElapsed; + lbl = msToMinSec(remaining); + + const fract = repElapsed / thisDur; + g.setColor("#86caf7") .fillRect( l.x, l.y, l.x + fract * l.w, - l.y+l.h + l.y + l.h ); + }else{ + lbl = msToMinSec(repElapsed); } }else{ lbl = "RDY"; @@ -167,16 +185,9 @@ const layout = new Layout({ }, {lazy: true}); const onToggle = () => { - if(!state){ - state = { - begin: Date.now(), - accumulated: 0, - }; - play(true, state); - }else{ - play(paused, state); - } - + if(!state) + state = new State(); + state.toggle(); drawRep(); }; @@ -186,47 +197,55 @@ const onPrev = () => { const onNext = () => { }; -const play = (p: boolean, state: State) => { - if(p){ - layout["play"]!.label = "Pause"; +class State { + paused: boolean = true; + begin: number = Date.now(); // only valid if !paused + accumulated: number = 0; - state.begin = Date.now(); + toggle() { + if(this.paused){ + this.begin = Date.now(); - drawInterval = setInterval(drawRep, 1000); - }else{ - layout["play"]!.label = "Play"; + // TODO: move draw out + drawInterval = setInterval(drawRep, 1000); + }else{ + const diff = Date.now() - this.begin; + this.accumulated += diff; - const diff = Date.now() - state.begin; - state.accumulated += diff; + clearInterval(drawInterval!); + } - clearInterval(drawInterval!); + this.paused = !this.paused; } - paused = !p; + getElapsedTotal() { + return (this.paused ? 0 : Date.now() - this.begin) + this.accumulated; + } + + getElapsedForRep() { + const elapsed = this.getElapsedTotal(); + const i = this.currentRepIndex(); + + return elapsed - (i! > 0 ? reps[i!-1]!.accDur : 0); + } + + currentRepIndex() { + const elapsed = this.getElapsedTotal(); + let ent; + for(let i = 0; ent = reps[i]; i++) + if(elapsed < ent.accDur) + return i; + return null; + } } -type State = { begin: number, accumulated: number }; - let state: State | undefined; -//let drawTimeout: number | undefined; -let paused = false; // TODO: ditch this, used drawInterval let drawInterval: IntervalId | undefined; -const currentRepIndex = (elapsedMs: number) => { - let total = 0; - let ent; - for(let i = 0; ent = reps[i]; i++){ - total += repDuration(ent); - if(elapsedMs <= total) - return i; - } - return null; -}; - const repToLabel = (i: number, id: string) => { const rep = reps[i]; if(rep){ - layout[`${id}_name`]!.label = `${i+1}: ${rep.label} / ${rep.dur.toFixed(0)}m`; + layout[`${id}_name`]!.label = `${rep.label} / ${msToMinSec(rep.dur)}`; // FIXME: display time, i.e. hh:mm //layout[`${id}_dur`]!.label = ``; }else{ @@ -240,12 +259,7 @@ const emptyLabel = (id: string) => { const pad2 = (s: number) => ('0' + s.toFixed(0)).slice(-2); -const repDuration = (rep: Rep) => rep.dur * 60 * 1000; - -const getElapsed = (state: State) => - Date.now() - state.begin + state.accumulated; - -const msToHM = (ms: number) => { +const msToMinSec = (ms: number) => { const sec = Math.round(ms / 1000); const min = Math.round(sec / 60); return min.toFixed(0) + ":" + pad2(sec % 60); @@ -257,8 +271,9 @@ const drawRep = () => { if(state){ // TODO: layout.clear(layout.next_name); layout.render(layout.next_name) - const elapsed = getElapsed(state); - const i = currentRepIndex(elapsed); + layout["play"]!.label = state.paused ? "Play" : "Pause"; + + const i = state.currentRepIndex(); if(i !== null){ repToLabel(i, "cur"); repToLabel(i+1, "next"); @@ -272,6 +287,7 @@ const drawRep = () => { /* // TODO: figure out next rep change time? or every 5s, then countdown from 10-->0 + // TODO: and then use that to Bangle.buzz() on next rep if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(function() { drawTimeout = undefined; From 444a909c5b608aad9256b1adeb56eef923c26fc3 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 18 Jun 2023 22:26:11 +0100 Subject: [PATCH 077/139] rep: UI & colour tweaks, and README --- apps/rep/README.md | 12 ++++ apps/rep/app.ts | 138 +++++++++++++++++++++-------------------- apps/rep/metadata.json | 4 +- 3 files changed, 85 insertions(+), 69 deletions(-) create mode 100644 apps/rep/README.md diff --git a/apps/rep/README.md b/apps/rep/README.md new file mode 100644 index 000000000..9da08942c --- /dev/null +++ b/apps/rep/README.md @@ -0,0 +1,12 @@ +# Description + +A running/activity repetition app. Program your reps using the web interface, and then run through them with the app. The time left for the current rep is shown, along with the rep's description and total duration, and the next rep's description and duration. + +You can rewind, fast-forward and play/pause with the control buttons. + + +# Todo + +- [ ] Loading of reps, web interface +- [ ] Fastload: scoping, unregister layout handlers etc +- [ ] Swipe handlers as well as "<<" / ">>" buttons diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 149926922..1a516fdb9 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -1,8 +1,4 @@ -// TODO: buzz on stage change, better setTimeout() -// TODO: fastload: scoping, unregister layout handlers etc -// TODO: spaces vs tabs -// TODO: const colfg=g.theme.fg, colbg=g.theme.bg; - +{ const Layout = require("Layout"); type Rep = { @@ -65,20 +61,20 @@ const reps: Rep[] = [ const fontSzMain = 64; const fontSzRep = 20; const fontSzRepDesc = 12; +const blue = "#86caf7"; +const step = 5 * 1000; -// FIXME: `Layout_` name, e.g. Layout_.Align.Right +let state: State | undefined; +let drawInterval: IntervalId | undefined; +let lastRepIndex: number | null = null; -// top: show current rep: name & duration -// middle: show time left on current rep -// bottom: show next rep -// ctrl: play/pause button. back & forward? const layout = new Layout({ type: "v", c: [ { id: "repIdx", type: "txt", - label: "Rep 1", // TODO: update in render + label: "Begin", font: `Vector:${fontSzRepDesc}`, }, { @@ -88,15 +84,13 @@ const layout = new Layout({ font: `Vector:${fontSzMain}` as FontNameWithScaleFactor, fillx: 1, filly: 1, - render: (l: Layout_.RenderedHierarchy) => { + render: (l: Layout.RenderedHierarchy) => { let lbl; g.clearRect(l.x, l.y, l.x+l.w, l.y+l.h); if(state){ - // TODO: inefficient - const i = state.currentRepIndex(); - const repElapsed = state.getElapsedForRep(); + const [i, repElapsed] = state.currentRepPair(); if(i !== null){ let thisDur = reps[i]!.dur; @@ -105,7 +99,7 @@ const layout = new Layout({ lbl = msToMinSec(remaining); const fract = repElapsed / thisDur; - g.setColor("#86caf7") + g.setColor(blue) .fillRect( l.x, l.y, @@ -135,10 +129,11 @@ const layout = new Layout({ label: "Activity / Duration", }, { - id: `cur_name`, + id: "cur_name", type: "txt", font: `Vector:${fontSzRep}`, label: "", + col: blue, //pad: 4, fillx: 1, }, @@ -148,7 +143,7 @@ const layout = new Layout({ label: "Next / Duration", }, { - id: `next_name`, + id: "next_name", type: "txt", font: `Vector:${fontSzRep}`, label: "", @@ -161,42 +156,50 @@ const layout = new Layout({ { id: "prev", type: "btn", - label: "<", + label: "<<", fillx: 1, - cb: () => onPrev(), + cb: () => { + buzzInteraction(); + state?.rewind(); + }, }, { id: "play", type: "btn", - label: "Play", // TODO: change + label: "Play", fillx: 1, - cb: () => onToggle(), + cb: () => { + buzzInteraction(); + if(!state) + state = new State(); + + state.toggle(); + + if(state.paused){ + clearInterval(drawInterval!); + drawInterval = undefined; + }else{ + drawInterval = setInterval(drawRep, 1000); + } + + drawRep(); + }, }, { id: "next", type: "btn", - label: ">", + label: ">>", fillx: 1, - cb: () => onNext(), + cb: () => { + buzzInteraction(); + state?.forward(); + }, } ] } ] }, {lazy: true}); -const onToggle = () => { - if(!state) - state = new State(); - state.toggle(); - drawRep(); -}; - -const onPrev = () => { -}; - -const onNext = () => { -}; - class State { paused: boolean = true; begin: number = Date.now(); // only valid if !paused @@ -205,14 +208,9 @@ class State { toggle() { if(this.paused){ this.begin = Date.now(); - - // TODO: move draw out - drawInterval = setInterval(drawRep, 1000); }else{ const diff = Date.now() - this.begin; this.accumulated += diff; - - clearInterval(drawInterval!); } this.paused = !this.paused; @@ -223,10 +221,15 @@ class State { } getElapsedForRep() { + return this.currentRepPair()[1]; + } + + currentRepPair(): [number | null, number] { const elapsed = this.getElapsedTotal(); const i = this.currentRepIndex(); + const repElapsed = elapsed - (i! > 0 ? reps[i!-1]!.accDur : 0); - return elapsed - (i! > 0 ? reps[i!-1]!.accDur : 0); + return [i, repElapsed]; } currentRepIndex() { @@ -237,20 +240,22 @@ class State { return i; return null; } -} -let state: State | undefined; -let drawInterval: IntervalId | undefined; + forward() { + this.accumulated += step; + } + + rewind() { + this.accumulated -= step; + } +} const repToLabel = (i: number, id: string) => { const rep = reps[i]; - if(rep){ + if(rep) layout[`${id}_name`]!.label = `${rep.label} / ${msToMinSec(rep.dur)}`; - // FIXME: display time, i.e. hh:mm - //layout[`${id}_dur`]!.label = ``; - }else{ + else emptyLabel(id); - } }; const emptyLabel = (id: string) => { @@ -269,37 +274,36 @@ const drawRep = () => { (layout["duration"] as any).lazyBuster ^= 1; if(state){ - // TODO: layout.clear(layout.next_name); layout.render(layout.next_name) + const i = state.currentRepIndex(); + + if(i !== lastRepIndex){ + buzzNewRep(); + lastRepIndex = i; + } layout["play"]!.label = state.paused ? "Play" : "Pause"; - const i = state.currentRepIndex(); if(i !== null){ + layout["repIdx"]!.label = `Rep ${i+1}`; repToLabel(i, "cur"); repToLabel(i+1, "next"); }else{ + layout["repIdx"]!.label = "Done"; emptyLabel("cur"); emptyLabel("next"); } } layout.render(); - - /* - // TODO: figure out next rep change time? or every 5s, then countdown from 10-->0 - // TODO: and then use that to Bangle.buzz() on next rep - if (drawTimeout) clearTimeout(drawTimeout); - drawTimeout = setTimeout(function() { - drawTimeout = undefined; - drawRep(); - }, 1000 - (Date.now() % 1000)); - */ }; +const buzzInteraction = () => Bangle.buzz(20); +const buzzNewRep = () => Bangle.buzz(500); + +Bangle.loadWidgets(); + g.clear(); drawRep(); -// TODO: swipe handlers -//Bangle.setUI - -// TODO: widgets +Bangle.drawWidgets(); +} diff --git a/apps/rep/metadata.json b/apps/rep/metadata.json index 8820be486..a62d5e7e5 100644 --- a/apps/rep/metadata.json +++ b/apps/rep/metadata.json @@ -3,11 +3,11 @@ "name": "Rep", "version":"0.01", "description": "Steps through reps, to aid in run schedules", - "icon": "app.png", // TODO + "icon": "app.png", "tags": "run,running,fitness,outdoors", "supports" : ["BANGLEJS2"], "readme": "README.md", - "interface": "interface.html", + "interface": "interface.html", "storage": [ {"name":"rep.app.js","url":"app.js"}, {"name":"rep.img","url":"app-icon.js","evaluate":true} From cefc0eb054c85412dc11cd91f6a8772b4bac4b89 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 21 May 2023 22:42:15 +0100 Subject: [PATCH 078/139] rep TODO --- apps/rep/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/rep/README.md b/apps/rep/README.md index 9da08942c..0fa0a6e1d 100644 --- a/apps/rep/README.md +++ b/apps/rep/README.md @@ -8,5 +8,8 @@ You can rewind, fast-forward and play/pause with the control buttons. # Todo - [ ] Loading of reps, web interface +- [ ] Fix widget drawing +- [ ] Check/tweak UI for real watch - [ ] Fastload: scoping, unregister layout handlers etc + - [ ] Swipe handlers as well as "<<" / ">>" buttons From 75c6972f3fad36d1967d6407c534078ef204de3d Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 25 May 2023 23:18:18 +0100 Subject: [PATCH 079/139] rep: move reps to JSON file --- apps/rep/app.ts | 57 +++++++++---------------------------------------- 1 file changed, 10 insertions(+), 47 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 1a516fdb9..8dad2f1ed 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -7,56 +7,19 @@ type Rep = { accDur: number, }; -const reps: Rep[] = [ - // 1 X 4 mins - 4 min recovery - // 2 X 2 mins - 2 min recoveries - // 4 X 1 min - 1 min recoveries (turn for home after the 2nd minute) - // 8 X 30 secs - 30 sec recoveries - // 3 min static recovery - // 1 X 4 mins to finish +const reps: Rep[] = (require("Storage") + .readJSON("rep.json") as Rep[] | undefined /* TODO */) + .map(((r: Rep, i: number, a: Rep[]): Rep => { + const r2 = r as Rep; - {dur:3/60, label:"1st-sec"}, - {dur:5/60, label:"5-sec"}, + r2.dur = r2.dur * 60 * 1000; - {dur:4/60, label:"jog"}, - {dur:4/60, label:"recovery"}, + r2.accDur = i > 0 + ? a[i-1]!.accDur + r.dur + : r.dur; - // {dur:2, label:"jog"}, - // {dur:2, label:"recovery"}, - // {dur:2, label:"jog"}, - // {dur:2, label:"recovery"}, - - // {dur:1, label:"jog"}, - // {dur:1, label:"recovery"}, - // {dur:1, label:"jog"}, - // {dur:1, label:"recovery"}, - // {dur:1, label:"jog"}, - // {dur:1, label:"recovery"}, - // {dur:1, label:"jog"}, - // {dur:1, label:"recovery"}, - - // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - // {dur:0.5, label:"jog"}, {dur:0.5, label:"recovery"}, - - // {dur:3, label:"static recovery"}, - // {dur:4, label:"finish"}, -].map(((r: Rep, i: number, a: Rep[]): Rep => { - const r2 = r as Rep; - - r2.dur = r2.dur * 60 * 1000; - - r2.accDur = i > 0 - ? a[i-1]!.accDur + r.dur - : r.dur; - - return r as Rep; -}) as any); + return r as Rep; + }) as any); const fontSzMain = 64; const fontSzRep = 20; From e83b582928615277fbbff15265dc0f88841ad3a1 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 25 May 2023 23:19:15 +0100 Subject: [PATCH 080/139] rep: pull out renderDuration() --- apps/rep/app.ts | 78 +++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 38 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 8dad2f1ed..896a2d8cd 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -31,6 +31,45 @@ let state: State | undefined; let drawInterval: IntervalId | undefined; let lastRepIndex: number | null = null; +const renderDuration = (l: Layout.RenderedHierarchy) => { + let lbl; + + g.clearRect(l.x, l.y, l.x+l.w, l.y+l.h); + + if(state){ + const [i, repElapsed] = state.currentRepPair(); + + if(i !== null){ + let thisDur = reps[i]!.dur; + + const remaining = thisDur - repElapsed; + lbl = msToMinSec(remaining); + + const fract = repElapsed / thisDur; + g.setColor(blue) + .fillRect( + l.x, + l.y, + l.x + fract * l.w, + l.y + l.h + ); + }else{ + lbl = msToMinSec(repElapsed); + } + }else{ + lbl = "RDY"; + } + + g.setColor(l.col || g.theme.fg) + .setFont(l.font!) + .setFontAlign(0, 0) + .drawString( + lbl, + l.x+(l.w>>1), + l.y+(l.h>>1) + ); +}; + const layout = new Layout({ type: "v", c: [ @@ -47,44 +86,7 @@ const layout = new Layout({ font: `Vector:${fontSzMain}` as FontNameWithScaleFactor, fillx: 1, filly: 1, - render: (l: Layout.RenderedHierarchy) => { - let lbl; - - g.clearRect(l.x, l.y, l.x+l.w, l.y+l.h); - - if(state){ - const [i, repElapsed] = state.currentRepPair(); - - if(i !== null){ - let thisDur = reps[i]!.dur; - - const remaining = thisDur - repElapsed; - lbl = msToMinSec(remaining); - - const fract = repElapsed / thisDur; - g.setColor(blue) - .fillRect( - l.x, - l.y, - l.x + fract * l.w, - l.y + l.h - ); - }else{ - lbl = msToMinSec(repElapsed); - } - }else{ - lbl = "RDY"; - } - - g.setColor(l.col || g.theme.fg) - .setFont(l.font!) - .setFontAlign(0, 0) - .drawString( - lbl, - l.x+(l.w>>1), - l.y+(l.h>>1) - ); - }, + render: renderDuration, }, { type: "txt", From 2440613de1c86f04911edc7f4720b9ab5c6653f1 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 25 May 2023 23:19:30 +0100 Subject: [PATCH 081/139] rep: handle setFont(undefined) --- apps/rep/app.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 896a2d8cd..02c8dd9a0 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -60,8 +60,9 @@ const renderDuration = (l: Layout.RenderedHierarchy) => { lbl = "RDY"; } + g.setFont(l.font!); // don't chain - might be undefined (TODO: typings) + g.setColor(l.col || g.theme.fg) - .setFont(l.font!) .setFontAlign(0, 0) .drawString( lbl, From d913368ff138128a60f268b75832e5786aa337a2 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 25 May 2023 23:21:04 +0100 Subject: [PATCH 082/139] rep: rotated idx label --- apps/rep/app.ts | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 02c8dd9a0..dd08a0b7e 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -75,19 +75,24 @@ const layout = new Layout({ type: "v", c: [ { - id: "repIdx", - type: "txt", - label: "Begin", - font: `Vector:${fontSzRepDesc}`, - }, - { - id: "duration", - lazyBuster: 1, - type: "custom", - font: `Vector:${fontSzMain}` as FontNameWithScaleFactor, - fillx: 1, - filly: 1, - render: renderDuration, + type: "h", + c: [ + { + id: "duration", + lazyBuster: 1, + type: "custom", + font: `Vector:${fontSzMain}` as FontNameWithScaleFactor, + fillx: 1, + filly: 1, + render: renderDuration, + }, + { + id: "repIdx", + type: "txt", + font: "6x8", + r: Rotation.Deg90, + }, + ] }, { type: "txt", From 9f9a33d963fb3743189134323c61ea1248f83590 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 26 May 2023 08:00:53 +0100 Subject: [PATCH 083/139] rep: rename Layout for access to enum --- apps/rep/app.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index dd08a0b7e..4e5a00f12 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -1,5 +1,5 @@ { -const Layout = require("Layout"); +const L = require("Layout"); type Rep = { dur: number, @@ -71,7 +71,7 @@ const renderDuration = (l: Layout.RenderedHierarchy) => { ); }; -const layout = new Layout({ +const layout = new L({ type: "v", c: [ { @@ -90,7 +90,8 @@ const layout = new Layout({ id: "repIdx", type: "txt", font: "6x8", - r: Rotation.Deg90, + label: "---", + r: Layout.Rotation.Deg90, }, ] }, From 1fb88b505970047b3f424a7e729c503b140b8a0c Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 26 May 2023 08:01:28 +0100 Subject: [PATCH 084/139] rep: better drawing of rep index --- apps/rep/app.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 4e5a00f12..5ae4f5aa2 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -21,7 +21,8 @@ const reps: Rep[] = (require("Storage") return r as Rep; }) as any); -const fontSzMain = 64; +const fontSzMain = 54; +const fontScaleRep = 2; const fontSzRep = 20; const fontSzRepDesc = 12; const blue = "#86caf7"; @@ -89,7 +90,7 @@ const layout = new L({ { id: "repIdx", type: "txt", - font: "6x8", + font: `6x8:${fontScaleRep}`, label: "---", r: Layout.Rotation.Deg90, }, From 2d27ef4c2c0cc5a691dffd83f724b35e1933b0c3 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 26 May 2023 08:01:47 +0100 Subject: [PATCH 085/139] rep: work around index drawing bug --- apps/rep/app.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 5ae4f5aa2..16094f5ed 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -252,16 +252,21 @@ const drawRep = () => { if(i !== lastRepIndex){ buzzNewRep(); lastRepIndex = i; + + const repIdx = layout["repIdx"]!; + repIdx.label = i !== null ? `Rep ${i+1}` : "Done"; + + // work around a bug in clearing a rotated txt(?) + layout.forgetLazyState(); + layout.clear(); } layout["play"]!.label = state.paused ? "Play" : "Pause"; if(i !== null){ - layout["repIdx"]!.label = `Rep ${i+1}`; repToLabel(i, "cur"); repToLabel(i+1, "next"); }else{ - layout["repIdx"]!.label = "Done"; emptyLabel("cur"); emptyLabel("next"); } From c446f0962ffc6bb63c4edc4469f1f866fe1c677f Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 26 May 2023 08:01:58 +0100 Subject: [PATCH 086/139] rep: rename step --- apps/rep/app.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 16094f5ed..a63eda6ba 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -26,7 +26,7 @@ const fontScaleRep = 2; const fontSzRep = 20; const fontSzRepDesc = 12; const blue = "#86caf7"; -const step = 5 * 1000; +const ffStep = 5 * 1000; let state: State | undefined; let drawInterval: IntervalId | undefined; @@ -215,11 +215,11 @@ class State { } forward() { - this.accumulated += step; + this.accumulated += ffStep; } rewind() { - this.accumulated -= step; + this.accumulated -= ffStep; } } From d956fc917e97f226156e917a40a7a07fc4c162b2 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 26 May 2023 08:02:06 +0100 Subject: [PATCH 087/139] rep: better background blue --- apps/rep/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index a63eda6ba..a92910fd3 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -25,7 +25,7 @@ const fontSzMain = 54; const fontScaleRep = 2; const fontSzRep = 20; const fontSzRepDesc = 12; -const blue = "#86caf7"; +const blue = "#205af7"; const ffStep = 5 * 1000; let state: State | undefined; From f7533cc11881166ac38c50a89898e7c3d9ce9825 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 26 May 2023 08:02:27 +0100 Subject: [PATCH 088/139] rep: update README --- apps/rep/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/rep/README.md b/apps/rep/README.md index 0fa0a6e1d..0bda6bbd9 100644 --- a/apps/rep/README.md +++ b/apps/rep/README.md @@ -8,8 +8,7 @@ You can rewind, fast-forward and play/pause with the control buttons. # Todo - [ ] Loading of reps, web interface -- [ ] Fix widget drawing -- [ ] Check/tweak UI for real watch -- [ ] Fastload: scoping, unregister layout handlers etc +- [ ] Check colours on light theme +- [ ] Fastload: scoping, unregister layout handlers etc - [ ] Swipe handlers as well as "<<" / ">>" buttons From 17ff3fdd00292d72d7df05e95ac80fea666fc6df Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 18 Jun 2023 21:41:36 +0100 Subject: [PATCH 089/139] rep: guard against undefined font --- apps/rep/app.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index a92910fd3..dce8909b7 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -61,7 +61,8 @@ const renderDuration = (l: Layout.RenderedHierarchy) => { lbl = "RDY"; } - g.setFont(l.font!); // don't chain - might be undefined (TODO: typings) + if(l.font) + g.setFont(l.font); // don't chain - might be undefined g.setColor(l.col || g.theme.fg) .setFontAlign(0, 0) From 517ff7c405c88e72301a97caab509f2da30342cf Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 18 Jun 2023 22:26:28 +0100 Subject: [PATCH 090/139] rep: interface.html --- apps/rep/README.md | 1 - apps/rep/interface.html | 154 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 apps/rep/interface.html diff --git a/apps/rep/README.md b/apps/rep/README.md index 0bda6bbd9..96e09fcbf 100644 --- a/apps/rep/README.md +++ b/apps/rep/README.md @@ -7,7 +7,6 @@ You can rewind, fast-forward and play/pause with the control buttons. # Todo -- [ ] Loading of reps, web interface - [ ] Check colours on light theme - [ ] Fastload: scoping, unregister layout handlers etc diff --git a/apps/rep/interface.html b/apps/rep/interface.html new file mode 100644 index 000000000..fa137bdb2 --- /dev/null +++ b/apps/rep/interface.html @@ -0,0 +1,154 @@ + + + + + + + + + + +

Reps

+ +
+ +
+ + + + + + + + + + + +
DescriptionDuration
+ +
+ + + + + From 1c76e03751721d407be5676278fe0f45bb792658 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 18 Jun 2023 22:18:42 +0100 Subject: [PATCH 091/139] rep: handle missing storage --- apps/rep/app.ts | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index dce8909b7..0471febf9 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -1,25 +1,35 @@ { const L = require("Layout"); -type Rep = { +type StoreRep = { + /// duration in ms dur: number, + /// label of this rep label: string, +}; + +type Rep = StoreRep & { + /// cumulative duration (ms) accDur: number, }; -const reps: Rep[] = (require("Storage") - .readJSON("rep.json") as Rep[] | undefined /* TODO */) - .map(((r: Rep, i: number, a: Rep[]): Rep => { - const r2 = r as Rep; +const storeReps = require("Storage") + .readJSON("rep.json") as Rep[] | undefined; - r2.dur = r2.dur * 60 * 1000; +if(storeReps == null){ + E.showAlert("No reps in storage\nLoad them on with the app loader") + .then(() => load()); - r2.accDur = i > 0 - ? a[i-1]!.accDur + r.dur - : r.dur; + throw new Error("no storage"); +} - return r as Rep; - }) as any); +const reps = storeReps.map((r: StoreRep, i: number, a: Rep[]): Rep => { + const r2 = r as Rep; + r2.accDur = i > 0 + ? a[i-1]!.accDur + r.dur + : r.dur; + return r2; +}); const fontSzMain = 54; const fontScaleRep = 2; From 69d6ae58280a8f14054e681e5f65cee815e9c8a1 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 30 Jun 2023 10:15:34 +0100 Subject: [PATCH 092/139] Allow readme link to be copyable, and ensure id=...&readme in the URL puts the readme file up --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index f922941a1..e1ccf487a 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit f922941a17cfdc3c37bf3e832961c0ca958e27d3 +Subproject commit e1ccf487abc3dd74735eefcfdf8dddb48f4f8951 From 0ac8ac3ec662f92f42bbb32e2caf293aefed2b74 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 30 Jun 2023 11:28:43 +0100 Subject: [PATCH 093/139] Support for http request xpath return format --- apps/android/ChangeLog | 3 ++- apps/android/boot.js | 1 + apps/android/metadata.json | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/android/ChangeLog b/apps/android/ChangeLog index f2807ba11..d966c1440 100644 --- a/apps/android/ChangeLog +++ b/apps/android/ChangeLog @@ -26,4 +26,5 @@ 0.25: Added option to 'ignore' an app from the message 0.26: Change handling of GPS status to depend on GPS events instead of connection events 0.27: Issue newline before GB commands (solves issue with console.log and ignored commands) -0.28: Navigation messages no longer launch the Maps view unless they're new \ No newline at end of file +0.28: Navigation messages no longer launch the Maps view unless they're new +0.29: Support for http request xpath return format \ No newline at end of file diff --git a/apps/android/boot.js b/apps/android/boot.js index d790a078e..7988c378f 100644 --- a/apps/android/boot.js +++ b/apps/android/boot.js @@ -231,6 +231,7 @@ //send the request var req = {t: "http", url:url, id:options.id}; if (options.xpath) req.xpath = options.xpath; + if (options.return) req.return = options.return; // for xpath if (options.method) req.method = options.method; if (options.body) req.body = options.body; if (options.headers) req.headers = options.headers; diff --git a/apps/android/metadata.json b/apps/android/metadata.json index ed55e1192..8489570f7 100644 --- a/apps/android/metadata.json +++ b/apps/android/metadata.json @@ -2,7 +2,7 @@ "id": "android", "name": "Android Integration", "shortName": "Android", - "version": "0.28", + "version": "0.29", "description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.", "icon": "app.png", "tags": "tool,system,messages,notifications,gadgetbridge", From b61ede2ba86ece92fbb80bd9e356c5c59ca6d332 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 12:20:00 +0100 Subject: [PATCH 094/139] multitimer: remove unused code --- apps/multitimer/app.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index c3b9aa629..251ef8d90 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -596,8 +596,6 @@ function editAlarm(idx, a) { var menu = { "": { "title": "Alarm" }, "< Back": () => { - if (a.data.hm) a.js = "(require('Storage').read('multitimer.alarm.js') !== undefined) ? load('multitimer.alarm.js') : load('sched.js')"; - else if (a.js) delete a.js; if (idx >= 0) alarms[alarmIdx[idx]] = a; else alarms.push(a); require("sched").setAlarms(alarms); From 01992960b97162ca6c1fc19473245469fb38f589 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 12:20:14 +0100 Subject: [PATCH 095/139] multitimer: update hardmode --- apps/multitimer/app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index 251ef8d90..adf85f05a 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -303,6 +303,7 @@ function editTimer(idx, a) { a.triggercheck = triggercheck; else delete a.triggercheck; + a.data.hm = v; }, }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), @@ -635,6 +636,7 @@ function editAlarm(idx, a) { a.triggercheck = triggercheck; else delete a.triggercheck; + a.data.hm = v; }, }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), From b47c3a6c8308e18171d9c17c1e4632e4c93f7695 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 12:20:29 +0100 Subject: [PATCH 096/139] multitimer: update menu title for `del` --- apps/multitimer/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index adf85f05a..73b1dec2e 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -307,7 +307,7 @@ function editTimer(idx, a) { }, }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), - "Oneshot": { + "Delete After Expiration": { value: !!a.del, onchange: v => a.del = v }, @@ -640,7 +640,7 @@ function editAlarm(idx, a) { }, }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), - "Oneshot": { + "Delete After Expiration": { value: !!a.del, onchange: v => a.del = v }, From 77ff7fa58b0f50f87c33454fe7d2bb7f5184541b Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 29 Jun 2023 21:16:25 +0100 Subject: [PATCH 097/139] btadv: localise definitions (for typescript) Typescript treats all TS files as sharing the same global namespace, so this prevents name collision errors. --- apps/btadv/app.js | 818 +++++++++++++++++++++++----------------------- apps/btadv/app.ts | 4 +- 2 files changed, 413 insertions(+), 409 deletions(-) diff --git a/apps/btadv/app.js b/apps/btadv/app.js index 67899370e..670691fb9 100644 --- a/apps/btadv/app.js +++ b/apps/btadv/app.js @@ -1,411 +1,413 @@ -var __assign = Object.assign; -var Layout = require("Layout"); -Bangle.loadWidgets(); -Bangle.drawWidgets(); -var HRM_MIN_CONFIDENCE = 75; -var services = ["0x180d", "0x181a", "0x1819"]; -var acc; -var bar; -var gps; -var hrm; -var hrmAny; -var mag; -var btnsShown = false; -var prevBtnsShown = undefined; -var hrmAnyClear; -var settings = { - bar: false, - gps: false, - hrm: false, - mag: false, -}; -var idToName = { - acc: "Acceleration", - bar: "Barometer", - gps: "GPS", - hrm: "HRM", - mag: "Magnetometer", -}; -var infoFont = "6x8:2"; -var colour = { - on: "#0f0", - off: "#fff", -}; -var makeToggle = function (id) { return function () { - settings[id] = !settings[id]; - var entry = btnLayout[id]; - var col = settings[id] ? colour.on : colour.off; - entry.btnBorder = entry.col = col; - btnLayout.update(); - btnLayout.render(); - enableSensors(); -}; }; -var btnStyle = { - font: "Vector:14", - fillx: 1, - filly: 1, - col: g.theme.fg, - bgCol: g.theme.bg, - btnBorder: "#fff", -}; -var btnLayout = new Layout({ - type: "v", - c: [ - { - type: "h", - c: [ - __assign({ type: "btn", label: idToName.bar, id: "bar", cb: makeToggle('bar') }, btnStyle), - __assign({ type: "btn", label: idToName.gps, id: "gps", cb: makeToggle('gps') }, btnStyle), - ] - }, - { - type: "h", - c: [ - __assign({ type: "btn", label: idToName.hrm, id: "hrm", cb: makeToggle('hrm') }, btnStyle), - __assign({ type: "btn", label: idToName.mag, id: "mag", cb: makeToggle('mag') }, btnStyle), - ] - }, - { - type: "h", - c: [ - __assign(__assign({ type: "btn", label: idToName.acc, id: "acc", cb: function () { } }, btnStyle), { col: colour.on, btnBorder: colour.on }), - __assign({ type: "btn", label: "Back", cb: function () { - setBtnsShown(false); - } }, btnStyle), - ] - } - ] -}, { - lazy: true, - back: function () { - setBtnsShown(false); - }, -}); -var setBtnsShown = function (b) { - btnsShown = b; - hook(!btnsShown); - setIntervals(); - redraw(); -}; -var drawInfo = function (force) { - var _a = Bangle.appRect, y = _a.y, x = _a.x, w = _a.w; - var mid = x + w / 2; - var drawn = false; - if (!force && !bar && !gps && !hrm && !mag) - return; - g.reset() - .clearRect(Bangle.appRect) - .setFont(infoFont) - .setFontAlign(0, -1); - if (bar) { - g.drawString("".concat(bar.altitude.toFixed(1), "m"), mid, y); - y += g.getFontHeight(); - g.drawString("".concat(bar.pressure.toFixed(1), " hPa"), mid, y); - y += g.getFontHeight(); - g.drawString("".concat(bar.temperature.toFixed(1), "C"), mid, y); - y += g.getFontHeight(); - drawn = true; - } - if (gps) { - g.drawString("".concat(gps.lat.toFixed(4), " lat, ").concat(gps.lon.toFixed(4), " lon"), mid, y); - y += g.getFontHeight(); - g.drawString("".concat(gps.alt, "m (").concat(gps.satellites, " sat)"), mid, y); - y += g.getFontHeight(); - drawn = true; - } - if (hrm) { - g.drawString("".concat(hrm.bpm, " BPM (").concat(hrm.confidence, "%)"), mid, y); - y += g.getFontHeight(); - drawn = true; - } - else if (hrmAny) { - g.drawString("~".concat(hrmAny.bpm, " BPM (").concat(hrmAny.confidence, "%)"), mid, y); - y += g.getFontHeight(); - drawn = true; - if (!settings.hrm && !hrmAnyClear) { - hrmAnyClear = setTimeout(function () { - hrmAny = undefined; - hrmAnyClear = undefined; - }, 10000); - } - } - if (mag) { - g.drawString("".concat(mag.x, " ").concat(mag.y, " ").concat(mag.z), mid, y); - y += g.getFontHeight(); - g.drawString("heading: ".concat(mag.heading.toFixed(1)), mid, y); - y += g.getFontHeight(); - drawn = true; - } - if (!drawn) { - if (!force || Object.values(settings).every(function (x) { return !x; })) { - g.drawString("swipe to enable", mid, y); - } - else { - g.drawString("events pending", mid, y); - } - y += g.getFontHeight(); - } -}; -var onTap = function () { - setBtnsShown(true); -}; -var redraw = function () { - if (btnsShown) { - if (!prevBtnsShown) { - prevBtnsShown = btnsShown; - Bangle.removeListener("swipe", onTap); - btnLayout.setUI(); - btnLayout.forgetLazyState(); - g.clearRect(Bangle.appRect); - } - btnLayout.render(); - } - else { - if (prevBtnsShown) { - prevBtnsShown = btnsShown; - Bangle.setUI(); - Bangle.on("swipe", onTap); - drawInfo(true); - } - else { - drawInfo(); - } - } -}; -var encodeHrm = function (hrm) { - return [0, hrm.bpm]; -}; -encodeHrm.maxLen = 2; -var encodePressure = function (data) { - return toByteArray(Math.round(data.pressure * 10), 4, false); -}; -encodePressure.maxLen = 4; -var encodeElevation = function (data) { - return toByteArray(Math.round(data.altitude * 100), 3, true); -}; -encodeElevation.maxLen = 3; -var encodeTemp = function (data) { - return toByteArray(Math.round(data.temperature * 10), 2, true); -}; -encodeTemp.maxLen = 2; -var encodeGps = function (data) { - var speed = toByteArray(Math.round(1000 * data.speed / 36), 2, false); - var lat = toByteArray(Math.round(data.lat * 10000000), 4, true); - var lon = toByteArray(Math.round(data.lon * 10000000), 4, true); - var elevation = toByteArray(Math.round(data.alt * 100), 3, true); - var heading = toByteArray(Math.round(data.course * 100), 2, false); - return [ - 157, - 2, - speed[0], speed[1], - lat[0], lat[1], lat[2], lat[3], - lon[0], lon[1], lon[2], lon[3], - elevation[0], elevation[1], elevation[2], - heading[0], heading[1] - ]; -}; -encodeGps.maxLen = 17; -var encodeGpsHeadingOnly = function (data) { - var heading = toByteArray(Math.round(data.heading * 100), 2, false); - return [ - 16, - 16, - heading[0], heading[1] - ]; -}; -encodeGpsHeadingOnly.maxLen = 17; -var encodeMag = function (data) { - var x = toByteArray(data.x, 2, true); - var y = toByteArray(data.y, 2, true); - var z = toByteArray(data.z, 2, true); - return [x[0], x[1], y[0], y[1], z[0], z[1]]; -}; -encodeMag.maxLen = 6; -var toByteArray = function (value, numberOfBytes, isSigned) { - var byteArray = new Array(numberOfBytes); - if (isSigned && (value < 0)) { - value += 1 << (numberOfBytes * 8); - } - for (var index = 0; index < numberOfBytes; index++) { - byteArray[index] = (value >> (index * 8)) & 0xff; - } - return byteArray; -}; -var enableSensors = function () { - Bangle.setBarometerPower(settings.bar, "btadv"); - if (!settings.bar) - bar = undefined; - Bangle.setGPSPower(settings.gps, "btadv"); - if (!settings.gps) - gps = undefined; - Bangle.setHRMPower(settings.hrm, "btadv"); - if (!settings.hrm) - hrm = hrmAny = undefined; - Bangle.setCompassPower(settings.mag, "btadv"); - if (!settings.mag) - mag = undefined; -}; -var haveServiceData = function (serv) { - switch (serv) { - case "0x180d": return !!hrm; - case "0x181a": return !!(bar || mag); - case "0x1819": return !!(gps && gps.lat && gps.lon || mag); - } -}; -var serviceToAdvert = function (serv, initial) { - var _a, _b, _c; - if (initial === void 0) { initial = false; } - switch (serv) { - case "0x180d": - if (hrm || initial) { - var o = { - maxLen: encodeHrm.maxLen, - readable: true, - notify: true, - }; - if (hrm) { - o.value = encodeHrm(hrm); - hrm = undefined; - } - return _a = {}, _a["0x2a37"] = o, _a; - } - return {}; - case "0x1819": - if (gps || initial) { - var o = { - maxLen: encodeGps.maxLen, - readable: true, - notify: true, - }; - if (gps) { - o.value = encodeGps(gps); - gps = undefined; - } - return _b = {}, _b["0x2a67"] = o, _b; - } - else if (mag) { - var o = { - maxLen: encodeGpsHeadingOnly.maxLen, - readable: true, - notify: true, - value: encodeGpsHeadingOnly(mag), - }; - return _c = {}, _c["0x2a67"] = o, _c; - } - return {}; - case "0x181a": { - var o = {}; - if (bar || initial) { - o["0x2a6c"] = { - maxLen: encodeElevation.maxLen, - readable: true, - notify: true, - }; - o["0x2A1F"] = { - maxLen: encodeTemp.maxLen, - readable: true, - notify: true, - }; - o["0x2a6d"] = { - maxLen: encodePressure.maxLen, - readable: true, - notify: true, - }; - if (bar) { - o["0x2a6c"].value = encodeElevation(bar); - o["0x2A1F"].value = encodeTemp(bar); - o["0x2a6d"].value = encodePressure(bar); - bar = undefined; - } - } - if (mag || initial) { - o["0x2aa1"] = { - maxLen: encodeMag.maxLen, - readable: true, - notify: true, - }; - if (mag) { - o["0x2aa1"].value = encodeMag(mag); - } - } - return o; - } - } -}; -var getBleAdvert = function (map, all) { - if (all === void 0) { all = false; } - var advert = {}; - for (var _i = 0, services_1 = services; _i < services_1.length; _i++) { - var serv = services_1[_i]; - if (all || haveServiceData(serv)) { - advert[serv] = map(serv); - } - } - mag = undefined; - return advert; -}; -var updateServices = function () { - var newAdvert = getBleAdvert(serviceToAdvert); - NRF.updateServices(newAdvert); -}; -var onAccel = function (newAcc) { return acc = newAcc; }; -var onPressure = function (newBar) { return bar = newBar; }; -var onGPS = function (newGps) { return gps = newGps; }; -var onHRM = function (newHrm) { - if (newHrm.confidence >= HRM_MIN_CONFIDENCE) - hrm = newHrm; - hrmAny = newHrm; -}; -var onMag = function (newMag) { return mag = newMag; }; -var hook = function (enable) { - if (enable) { - Bangle.on("accel", onAccel); - Bangle.on("pressure", onPressure); - Bangle.on("GPS", onGPS); - Bangle.on("HRM", onHRM); - Bangle.on("mag", onMag); - } - else { - Bangle.removeListener("accel", onAccel); - Bangle.removeListener("pressure", onPressure); - Bangle.removeListener("GPS", onGPS); - Bangle.removeListener("HRM", onHRM); - Bangle.removeListener("mag", onMag); - } -}; -var setIntervals = function (locked, connected) { - if (locked === void 0) { locked = Bangle.isLocked(); } - if (connected === void 0) { connected = NRF.getSecurityStatus().connected; } - changeInterval(redrawInterval, locked ? 15000 : 5000); - if (connected) { - var interval = btnsShown ? 5000 : 1000; - if (bleInterval) { - changeInterval(bleInterval, interval); - } - else { - bleInterval = setInterval(updateServices, interval); - } - } - else if (bleInterval) { - clearInterval(bleInterval); - bleInterval = undefined; - } -}; -var redrawInterval = setInterval(redraw, 1000); -Bangle.on("lock", function (locked) { return setIntervals(locked); }); -var bleInterval; -NRF.on("connect", function () { return setIntervals(undefined, true); }); -NRF.on("disconnect", function () { return setIntervals(undefined, false); }); -setIntervals(); -setBtnsShown(true); -enableSensors(); { - var ad = getBleAdvert(function (serv) { return serviceToAdvert(serv, true); }, true); - var adServices = Object - .keys(ad) - .map(function (k) { return k.replace("0x", ""); }); - NRF.setServices(ad, { - advertise: adServices, - uart: false, + var __assign = Object.assign; + var Layout_1 = require("Layout"); + Bangle.loadWidgets(); + Bangle.drawWidgets(); + var HRM_MIN_CONFIDENCE_1 = 75; + var services_1 = ["0x180d", "0x181a", "0x1819"]; + var acc_1; + var bar_1; + var gps_1; + var hrm_1; + var hrmAny_1; + var mag_1; + var btnsShown_1 = false; + var prevBtnsShown_1 = undefined; + var hrmAnyClear_1; + var settings_1 = { + bar: false, + gps: false, + hrm: false, + mag: false, + }; + var idToName = { + acc: "Acceleration", + bar: "Barometer", + gps: "GPS", + hrm: "HRM", + mag: "Magnetometer", + }; + var infoFont_1 = "6x8:2"; + var colour_1 = { + on: "#0f0", + off: "#fff", + }; + var makeToggle = function (id) { return function () { + settings_1[id] = !settings_1[id]; + var entry = btnLayout_1[id]; + var col = settings_1[id] ? colour_1.on : colour_1.off; + entry.btnBorder = entry.col = col; + btnLayout_1.update(); + btnLayout_1.render(); + enableSensors_1(); + }; }; + var btnStyle = { + font: "Vector:14", + fillx: 1, + filly: 1, + col: g.theme.fg, + bgCol: g.theme.bg, + btnBorder: "#fff", + }; + var btnLayout_1 = new Layout_1({ + type: "v", + c: [ + { + type: "h", + c: [ + __assign({ type: "btn", label: idToName.bar, id: "bar", cb: makeToggle('bar') }, btnStyle), + __assign({ type: "btn", label: idToName.gps, id: "gps", cb: makeToggle('gps') }, btnStyle), + ] + }, + { + type: "h", + c: [ + __assign({ type: "btn", label: idToName.hrm, id: "hrm", cb: makeToggle('hrm') }, btnStyle), + __assign({ type: "btn", label: idToName.mag, id: "mag", cb: makeToggle('mag') }, btnStyle), + ] + }, + { + type: "h", + c: [ + __assign(__assign({ type: "btn", label: idToName.acc, id: "acc", cb: function () { } }, btnStyle), { col: colour_1.on, btnBorder: colour_1.on }), + __assign({ type: "btn", label: "Back", cb: function () { + setBtnsShown_1(false); + } }, btnStyle), + ] + } + ] + }, { + lazy: true, + back: function () { + setBtnsShown_1(false); + }, }); + var setBtnsShown_1 = function (b) { + btnsShown_1 = b; + hook_1(!btnsShown_1); + setIntervals_1(); + redraw_1(); + }; + var drawInfo_1 = function (force) { + var _a = Bangle.appRect, y = _a.y, x = _a.x, w = _a.w; + var mid = x + w / 2; + var drawn = false; + if (!force && !bar_1 && !gps_1 && !hrm_1 && !mag_1) + return; + g.reset() + .clearRect(Bangle.appRect) + .setFont(infoFont_1) + .setFontAlign(0, -1); + if (bar_1) { + g.drawString("".concat(bar_1.altitude.toFixed(1), "m"), mid, y); + y += g.getFontHeight(); + g.drawString("".concat(bar_1.pressure.toFixed(1), " hPa"), mid, y); + y += g.getFontHeight(); + g.drawString("".concat(bar_1.temperature.toFixed(1), "C"), mid, y); + y += g.getFontHeight(); + drawn = true; + } + if (gps_1) { + g.drawString("".concat(gps_1.lat.toFixed(4), " lat, ").concat(gps_1.lon.toFixed(4), " lon"), mid, y); + y += g.getFontHeight(); + g.drawString("".concat(gps_1.alt, "m (").concat(gps_1.satellites, " sat)"), mid, y); + y += g.getFontHeight(); + drawn = true; + } + if (hrm_1) { + g.drawString("".concat(hrm_1.bpm, " BPM (").concat(hrm_1.confidence, "%)"), mid, y); + y += g.getFontHeight(); + drawn = true; + } + else if (hrmAny_1) { + g.drawString("~".concat(hrmAny_1.bpm, " BPM (").concat(hrmAny_1.confidence, "%)"), mid, y); + y += g.getFontHeight(); + drawn = true; + if (!settings_1.hrm && !hrmAnyClear_1) { + hrmAnyClear_1 = setTimeout(function () { + hrmAny_1 = undefined; + hrmAnyClear_1 = undefined; + }, 10000); + } + } + if (mag_1) { + g.drawString("".concat(mag_1.x, " ").concat(mag_1.y, " ").concat(mag_1.z), mid, y); + y += g.getFontHeight(); + g.drawString("heading: ".concat(mag_1.heading.toFixed(1)), mid, y); + y += g.getFontHeight(); + drawn = true; + } + if (!drawn) { + if (!force || Object.values(settings_1).every(function (x) { return !x; })) { + g.drawString("swipe to enable", mid, y); + } + else { + g.drawString("events pending", mid, y); + } + y += g.getFontHeight(); + } + }; + var onTap_1 = function () { + setBtnsShown_1(true); + }; + var redraw_1 = function () { + if (btnsShown_1) { + if (!prevBtnsShown_1) { + prevBtnsShown_1 = btnsShown_1; + Bangle.removeListener("swipe", onTap_1); + btnLayout_1.setUI(); + btnLayout_1.forgetLazyState(); + g.clearRect(Bangle.appRect); + } + btnLayout_1.render(); + } + else { + if (prevBtnsShown_1) { + prevBtnsShown_1 = btnsShown_1; + Bangle.setUI(); + Bangle.on("swipe", onTap_1); + drawInfo_1(true); + } + else { + drawInfo_1(); + } + } + }; + var encodeHrm_1 = function (hrm) { + return [0, hrm.bpm]; + }; + encodeHrm_1.maxLen = 2; + var encodePressure_1 = function (data) { + return toByteArray_1(Math.round(data.pressure * 10), 4, false); + }; + encodePressure_1.maxLen = 4; + var encodeElevation_1 = function (data) { + return toByteArray_1(Math.round(data.altitude * 100), 3, true); + }; + encodeElevation_1.maxLen = 3; + var encodeTemp_1 = function (data) { + return toByteArray_1(Math.round(data.temperature * 10), 2, true); + }; + encodeTemp_1.maxLen = 2; + var encodeGps_1 = function (data) { + var speed = toByteArray_1(Math.round(1000 * data.speed / 36), 2, false); + var lat = toByteArray_1(Math.round(data.lat * 10000000), 4, true); + var lon = toByteArray_1(Math.round(data.lon * 10000000), 4, true); + var elevation = toByteArray_1(Math.round(data.alt * 100), 3, true); + var heading = toByteArray_1(Math.round(data.course * 100), 2, false); + return [ + 157, + 2, + speed[0], speed[1], + lat[0], lat[1], lat[2], lat[3], + lon[0], lon[1], lon[2], lon[3], + elevation[0], elevation[1], elevation[2], + heading[0], heading[1] + ]; + }; + encodeGps_1.maxLen = 17; + var encodeGpsHeadingOnly_1 = function (data) { + var heading = toByteArray_1(Math.round(data.heading * 100), 2, false); + return [ + 16, + 16, + heading[0], heading[1] + ]; + }; + encodeGpsHeadingOnly_1.maxLen = 17; + var encodeMag_1 = function (data) { + var x = toByteArray_1(data.x, 2, true); + var y = toByteArray_1(data.y, 2, true); + var z = toByteArray_1(data.z, 2, true); + return [x[0], x[1], y[0], y[1], z[0], z[1]]; + }; + encodeMag_1.maxLen = 6; + var toByteArray_1 = function (value, numberOfBytes, isSigned) { + var byteArray = new Array(numberOfBytes); + if (isSigned && (value < 0)) { + value += 1 << (numberOfBytes * 8); + } + for (var index = 0; index < numberOfBytes; index++) { + byteArray[index] = (value >> (index * 8)) & 0xff; + } + return byteArray; + }; + var enableSensors_1 = function () { + Bangle.setBarometerPower(settings_1.bar, "btadv"); + if (!settings_1.bar) + bar_1 = undefined; + Bangle.setGPSPower(settings_1.gps, "btadv"); + if (!settings_1.gps) + gps_1 = undefined; + Bangle.setHRMPower(settings_1.hrm, "btadv"); + if (!settings_1.hrm) + hrm_1 = hrmAny_1 = undefined; + Bangle.setCompassPower(settings_1.mag, "btadv"); + if (!settings_1.mag) + mag_1 = undefined; + }; + var haveServiceData_1 = function (serv) { + switch (serv) { + case "0x180d": return !!hrm_1; + case "0x181a": return !!(bar_1 || mag_1); + case "0x1819": return !!(gps_1 && gps_1.lat && gps_1.lon || mag_1); + } + }; + var serviceToAdvert_1 = function (serv, initial) { + var _a, _b, _c; + if (initial === void 0) { initial = false; } + switch (serv) { + case "0x180d": + if (hrm_1 || initial) { + var o = { + maxLen: encodeHrm_1.maxLen, + readable: true, + notify: true, + }; + if (hrm_1) { + o.value = encodeHrm_1(hrm_1); + hrm_1 = undefined; + } + return _a = {}, _a["0x2a37"] = o, _a; + } + return {}; + case "0x1819": + if (gps_1 || initial) { + var o = { + maxLen: encodeGps_1.maxLen, + readable: true, + notify: true, + }; + if (gps_1) { + o.value = encodeGps_1(gps_1); + gps_1 = undefined; + } + return _b = {}, _b["0x2a67"] = o, _b; + } + else if (mag_1) { + var o = { + maxLen: encodeGpsHeadingOnly_1.maxLen, + readable: true, + notify: true, + value: encodeGpsHeadingOnly_1(mag_1), + }; + return _c = {}, _c["0x2a67"] = o, _c; + } + return {}; + case "0x181a": { + var o = {}; + if (bar_1 || initial) { + o["0x2a6c"] = { + maxLen: encodeElevation_1.maxLen, + readable: true, + notify: true, + }; + o["0x2A1F"] = { + maxLen: encodeTemp_1.maxLen, + readable: true, + notify: true, + }; + o["0x2a6d"] = { + maxLen: encodePressure_1.maxLen, + readable: true, + notify: true, + }; + if (bar_1) { + o["0x2a6c"].value = encodeElevation_1(bar_1); + o["0x2A1F"].value = encodeTemp_1(bar_1); + o["0x2a6d"].value = encodePressure_1(bar_1); + bar_1 = undefined; + } + } + if (mag_1 || initial) { + o["0x2aa1"] = { + maxLen: encodeMag_1.maxLen, + readable: true, + notify: true, + }; + if (mag_1) { + o["0x2aa1"].value = encodeMag_1(mag_1); + } + } + return o; + } + } + }; + var getBleAdvert_1 = function (map, all) { + if (all === void 0) { all = false; } + var advert = {}; + for (var _i = 0, services_2 = services_1; _i < services_2.length; _i++) { + var serv = services_2[_i]; + if (all || haveServiceData_1(serv)) { + advert[serv] = map(serv); + } + } + mag_1 = undefined; + return advert; + }; + var updateServices_1 = function () { + var newAdvert = getBleAdvert_1(serviceToAdvert_1); + NRF.updateServices(newAdvert); + }; + var onAccel_1 = function (newAcc) { return acc_1 = newAcc; }; + var onPressure_1 = function (newBar) { return bar_1 = newBar; }; + var onGPS_1 = function (newGps) { return gps_1 = newGps; }; + var onHRM_1 = function (newHrm) { + if (newHrm.confidence >= HRM_MIN_CONFIDENCE_1) + hrm_1 = newHrm; + hrmAny_1 = newHrm; + }; + var onMag_1 = function (newMag) { return mag_1 = newMag; }; + var hook_1 = function (enable) { + if (enable) { + Bangle.on("accel", onAccel_1); + Bangle.on("pressure", onPressure_1); + Bangle.on("GPS", onGPS_1); + Bangle.on("HRM", onHRM_1); + Bangle.on("mag", onMag_1); + } + else { + Bangle.removeListener("accel", onAccel_1); + Bangle.removeListener("pressure", onPressure_1); + Bangle.removeListener("GPS", onGPS_1); + Bangle.removeListener("HRM", onHRM_1); + Bangle.removeListener("mag", onMag_1); + } + }; + var setIntervals_1 = function (locked, connected) { + if (locked === void 0) { locked = Bangle.isLocked(); } + if (connected === void 0) { connected = NRF.getSecurityStatus().connected; } + changeInterval(redrawInterval_1, locked ? 15000 : 5000); + if (connected) { + var interval = btnsShown_1 ? 5000 : 1000; + if (bleInterval_1) { + changeInterval(bleInterval_1, interval); + } + else { + bleInterval_1 = setInterval(updateServices_1, interval); + } + } + else if (bleInterval_1) { + clearInterval(bleInterval_1); + bleInterval_1 = undefined; + } + }; + var redrawInterval_1 = setInterval(redraw_1, 1000); + Bangle.on("lock", function (locked) { return setIntervals_1(locked); }); + var bleInterval_1; + NRF.on("connect", function () { return setIntervals_1(undefined, true); }); + NRF.on("disconnect", function () { return setIntervals_1(undefined, false); }); + setIntervals_1(); + setBtnsShown_1(true); + enableSensors_1(); + { + var ad = getBleAdvert_1(function (serv) { return serviceToAdvert_1(serv, true); }, true); + var adServices = Object + .keys(ad) + .map(function (k) { return k.replace("0x", ""); }); + NRF.setServices(ad, { + advertise: adServices, + uart: false, + }); + } } diff --git a/apps/btadv/app.ts b/apps/btadv/app.ts index 85fd3a5d3..5e4930865 100644 --- a/apps/btadv/app.ts +++ b/apps/btadv/app.ts @@ -1,4 +1,5 @@ -// ts helpers: +{ +// @ts-ignore helper const __assign = Object.assign; const Layout = require("Layout"); @@ -713,3 +714,4 @@ enableSensors(); }, ); } +} From 76a60d6ae304b28e66ffa8a9d4d37975d1b761b0 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 29 Jun 2023 21:17:18 +0100 Subject: [PATCH 098/139] layout.d.ts: correct render() type --- typescript/types/layout.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typescript/types/layout.d.ts b/typescript/types/layout.d.ts index ac4b0015c..167ede29d 100644 --- a/typescript/types/layout.d.ts +++ b/typescript/types/layout.d.ts @@ -140,6 +140,6 @@ declare module Layout { r?: Rotation, } | { type: "custom", - render: (h: Hierarchy) => void, + render: (h: RenderedHierarchy) => void, }; } From 08dc1caa9387a5aea94d1bef2ed37be4882f5bd9 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 29 Jun 2023 21:19:49 +0100 Subject: [PATCH 099/139] rep: fix duration rounding --- apps/rep/app.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 0471febf9..91ffbd010 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -249,8 +249,8 @@ const emptyLabel = (id: string) => { const pad2 = (s: number) => ('0' + s.toFixed(0)).slice(-2); const msToMinSec = (ms: number) => { - const sec = Math.round(ms / 1000); - const min = Math.round(sec / 60); + const sec = Math.floor(ms / 1000); + const min = Math.floor(sec / 60); return min.toFixed(0) + ":" + pad2(sec % 60); }; From 3a149e227fed67775fe3038527bcab810b478250 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 29 Jun 2023 22:54:38 +0100 Subject: [PATCH 100/139] rep: longer buzzes on rep change ... to increase chance of the user feeling the buzz --- apps/rep/app.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 91ffbd010..ed84bb48f 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -287,7 +287,17 @@ const drawRep = () => { }; const buzzInteraction = () => Bangle.buzz(20); -const buzzNewRep = () => Bangle.buzz(500); +const buzzNewRep = () => { + let n = 3; + const buzz = () => { + Bangle.buzz(1000).then(() => { + if (--n <= 0) + return; + setTimeout(buzz, 250); + }); + }; + buzz(); +}; Bangle.loadWidgets(); From 869093f3a4b1a7f948df33b6ee4e63a70bcba9d4 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 08:53:28 +0100 Subject: [PATCH 101/139] rep: add app image --- apps/rep/app.png | Bin 0 -> 8375 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/rep/app.png diff --git a/apps/rep/app.png b/apps/rep/app.png new file mode 100644 index 0000000000000000000000000000000000000000..3b38ddbf76b5c527c3065c8522356e28add57492 GIT binary patch literal 8375 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 literal 0 HcmV?d00001 From 08cd679f38eb4b70ac0e6ca06cb2d7eecfa738e3 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 08:55:19 +0100 Subject: [PATCH 102/139] rep: add app icon --- apps/rep/app-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/rep/app-icon.js diff --git a/apps/rep/app-icon.js b/apps/rep/app-icon.js new file mode 100644 index 000000000..87bad2960 --- /dev/null +++ b/apps/rep/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("k8wxH+ABwUBkgACAoIXPEZlJumYzGe4XCzwFBulJFK8Ap4gB4YABEgIoBAwfCp4oTJIOeDQVzOANJAAUkktzGQWYKKMAC4WYp50CJQZ1COgNPzARBugnJstlEoYTCIgIiDEIQrBFQeYktJHIQnDxgmHEoIeBkhPCOgQcBAAUlBgyHBE4hxHug2BpIpBC4MlJAhKDuidCTgQUBO5K9BRgMkCAOYIQQhBzFzJgNzBgIzDJYRPBeBMAS4VzLwRPCHYMwmNbrcxmBfCCAgzBDYImGXwV0p5PFpNbw2G2AACAoNbN4RLEuh2HkgwBkpPCCwUAwGMEgYADxmAJYQ2BDQkkEwiRBR4LCCBwMrJIgAHw0rHYaiBAQRzF4clAQlzrZLIJ4lbV4UlAQh1DQARYBJgWYgxMMJwUGJAJOCDgK2BEwQgBulJaIXDttVH4MGg0AAAwJBLYNVtvDpJRBpL0BpImDEYILFbwIaBABRcBwwaBIIYdBp4mCp4FBEwRcCEwWFABQmCRgYmBEAQmDI4LoBEwOYkiMCExuwkgVBSQKPB4QmDgFJgEkAQMlAQImRDQMlAQMkEARNpPQK/BTYW8Eye8TYTFCE34m/E34mH4VJuYCBfQImTCoNJ4VzAQImDgFJgEkAQMlAQImRDQMlAQMkEARNpTYNPuabC4UlwwmPw0l4SbCuYgCEwlzEwV0KAImCrYAKEwS/EDoQmDKYILDAQNtquMDQIAKreMqttHwJBFEwUkzxvBLgQCBRgQAMLgKJBRgfCz0kdIeY4clAQlzH4IlLLYJJBzElAQjpD/znBzACCJwPClZOMw0rCIJMCuYCCEoZ1BBwJYBCIQ1CwBPIxlcMoQ7DDQRzDOoV0aANPQAQWDrbeBJImGrY2DWwVPDgRzEE4RLCQ4Q+CegMAmExrdbmMwBYPCCAlzJ4QlGEwJLFz0lUQPDDgIZBGYIMBGINzkueJ4lJEwXDOw5vBJYQZBuhFCAATRBugzDCgRfCJgwnDJYUkC4IABuckkpMBAAMlBgxPCEpQnDT4UlJQZICKQgHBGAITBEpp3DCYVPpIhBRgIiCzwrBpNPHIVzEpwnCTgadCOoYECGoSaCEovN5ooMeAK/DJQJQDGQVPJQ4lMKIh0BOoIACAoJ0BN6ApMgEkAAQFBC54=")) From 0bb1fb3ffe6a84462273db9cdacf0f05b61336ad Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 12:18:41 +0100 Subject: [PATCH 103/139] rep: redraw instantly on interaction --- apps/rep/app.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index ed84bb48f..152db3eb3 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -145,6 +145,7 @@ const layout = new L({ cb: () => { buzzInteraction(); state?.rewind(); + drawRep(); }, }, { @@ -177,6 +178,7 @@ const layout = new L({ cb: () => { buzzInteraction(); state?.forward(); + drawRep(); }, } ] From 1126105ea228b4b53e2595165f3a764955710cc9 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 12:20:49 +0100 Subject: [PATCH 104/139] rep: change interaction buzz & buzz once initially --- apps/rep/app.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 152db3eb3..976dafd14 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -41,6 +41,7 @@ const ffStep = 5 * 1000; let state: State | undefined; let drawInterval: IntervalId | undefined; let lastRepIndex: number | null = null; +let firstTime = true; const renderDuration = (l: Layout.RenderedHierarchy) => { let lbl; @@ -288,9 +289,10 @@ const drawRep = () => { layout.render(); }; -const buzzInteraction = () => Bangle.buzz(20); +const buzzInteraction = () => Bangle.buzz(250); const buzzNewRep = () => { - let n = 3; + let n = firstTime ? 1 : 3; + firstTime = false; const buzz = () => { Bangle.buzz(1000).then(() => { if (--n <= 0) From d51171d8ac8ab5e3331a69e9910eb338aad49b9c Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 12:21:17 +0100 Subject: [PATCH 105/139] rep: v1 README --- apps/rep/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/rep/README.md b/apps/rep/README.md index 96e09fcbf..85d41956d 100644 --- a/apps/rep/README.md +++ b/apps/rep/README.md @@ -7,7 +7,6 @@ You can rewind, fast-forward and play/pause with the control buttons. # Todo -- [ ] Check colours on light theme - +- [ ] Recorder functionality - [ ] Fastload: scoping, unregister layout handlers etc - [ ] Swipe handlers as well as "<<" / ">>" buttons From 02999eeb7a7a0c7a1f8f0e3e80c09f3a1c68c204 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 18 Jun 2023 22:19:00 +0100 Subject: [PATCH 106/139] rep: generate JS --- apps/rep/app.js | 252 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 apps/rep/app.js diff --git a/apps/rep/app.js b/apps/rep/app.js new file mode 100644 index 000000000..0313f5af2 --- /dev/null +++ b/apps/rep/app.js @@ -0,0 +1,252 @@ +{ + var L = require("Layout"); + var storeReps = require("Storage") + .readJSON("rep.json"); + if (storeReps == null) { + E.showAlert("No reps in storage\nLoad them on with the app loader") + .then(function () { return load(); }); + throw new Error("no storage"); + } + var reps_1 = storeReps.map(function (r, i, a) { + var r2 = r; + r2.accDur = i > 0 + ? a[i - 1].accDur + r.dur + : r.dur; + return r2; + }); + var fontSzMain = 54; + var fontScaleRep = 2; + var fontSzRep = 20; + var fontSzRepDesc = 12; + var blue_1 = "#205af7"; + var ffStep_1 = 5 * 1000; + var state_1; + var drawInterval_1; + var lastRepIndex_1 = null; + var firstTime_1 = true; + var renderDuration = function (l) { + var lbl; + g.clearRect(l.x, l.y, l.x + l.w, l.y + l.h); + if (state_1) { + var _a = state_1.currentRepPair(), i = _a[0], repElapsed = _a[1]; + if (i !== null) { + var thisDur = reps_1[i].dur; + var remaining = thisDur - repElapsed; + lbl = msToMinSec_1(remaining); + var fract = repElapsed / thisDur; + g.setColor(blue_1) + .fillRect(l.x, l.y, l.x + fract * l.w, l.y + l.h); + } + else { + lbl = msToMinSec_1(repElapsed); + } + } + else { + lbl = "RDY"; + } + if (l.font) + g.setFont(l.font); + g.setColor(l.col || g.theme.fg) + .setFontAlign(0, 0) + .drawString(lbl, l.x + (l.w >> 1), l.y + (l.h >> 1)); + }; + var layout_1 = new L({ + type: "v", + c: [ + { + type: "h", + c: [ + { + id: "duration", + lazyBuster: 1, + type: "custom", + font: "Vector:".concat(fontSzMain), + fillx: 1, + filly: 1, + render: renderDuration, + }, + { + id: "repIdx", + type: "txt", + font: "6x8:".concat(fontScaleRep), + label: "---", + r: 1, + }, + ] + }, + { + type: "txt", + font: "Vector:".concat(fontSzRepDesc), + label: "Activity / Duration", + }, + { + id: "cur_name", + type: "txt", + font: "Vector:".concat(fontSzRep), + label: "", + col: blue_1, + fillx: 1, + }, + { + type: "txt", + font: "Vector:".concat(fontSzRepDesc), + label: "Next / Duration", + }, + { + id: "next_name", + type: "txt", + font: "Vector:".concat(fontSzRep), + label: "", + fillx: 1, + }, + { + type: "h", + c: [ + { + id: "prev", + type: "btn", + label: "<<", + fillx: 1, + cb: function () { + buzzInteraction_1(); + state_1 === null || state_1 === void 0 ? void 0 : state_1.rewind(); + drawRep_1(); + }, + }, + { + id: "play", + type: "btn", + label: "Play", + fillx: 1, + cb: function () { + buzzInteraction_1(); + if (!state_1) + state_1 = new State_1(); + state_1.toggle(); + if (state_1.paused) { + clearInterval(drawInterval_1); + drawInterval_1 = undefined; + } + else { + drawInterval_1 = setInterval(drawRep_1, 1000); + } + drawRep_1(); + }, + }, + { + id: "next", + type: "btn", + label: ">>", + fillx: 1, + cb: function () { + buzzInteraction_1(); + state_1 === null || state_1 === void 0 ? void 0 : state_1.forward(); + drawRep_1(); + }, + } + ] + } + ] + }, { lazy: true }); + var State_1 = (function () { + function State() { + this.paused = true; + this.begin = Date.now(); + this.accumulated = 0; + } + State.prototype.toggle = function () { + if (this.paused) { + this.begin = Date.now(); + } + else { + var diff = Date.now() - this.begin; + this.accumulated += diff; + } + this.paused = !this.paused; + }; + State.prototype.getElapsedTotal = function () { + return (this.paused ? 0 : Date.now() - this.begin) + this.accumulated; + }; + State.prototype.getElapsedForRep = function () { + return this.currentRepPair()[1]; + }; + State.prototype.currentRepPair = function () { + var elapsed = this.getElapsedTotal(); + var i = this.currentRepIndex(); + var repElapsed = elapsed - (i > 0 ? reps_1[i - 1].accDur : 0); + return [i, repElapsed]; + }; + State.prototype.currentRepIndex = function () { + var elapsed = this.getElapsedTotal(); + var ent; + for (var i = 0; ent = reps_1[i]; i++) + if (elapsed < ent.accDur) + return i; + return null; + }; + State.prototype.forward = function () { + this.accumulated += ffStep_1; + }; + State.prototype.rewind = function () { + this.accumulated -= ffStep_1; + }; + return State; + }()); + var repToLabel_1 = function (i, id) { + var rep = reps_1[i]; + if (rep) + layout_1["".concat(id, "_name")].label = "".concat(rep.label, " / ").concat(msToMinSec_1(rep.dur)); + else + emptyLabel_1(id); + }; + var emptyLabel_1 = function (id) { + layout_1["".concat(id, "_name")].label = " / 0m"; + }; + var pad2_1 = function (s) { return ('0' + s.toFixed(0)).slice(-2); }; + var msToMinSec_1 = function (ms) { + var sec = Math.floor(ms / 1000); + var min = Math.floor(sec / 60); + return min.toFixed(0) + ":" + pad2_1(sec % 60); + }; + var drawRep_1 = function () { + layout_1["duration"].lazyBuster ^= 1; + if (state_1) { + var i = state_1.currentRepIndex(); + if (i !== lastRepIndex_1) { + buzzNewRep_1(); + lastRepIndex_1 = i; + var repIdx = layout_1["repIdx"]; + repIdx.label = i !== null ? "Rep ".concat(i + 1) : "Done"; + layout_1.forgetLazyState(); + layout_1.clear(); + } + layout_1["play"].label = state_1.paused ? "Play" : "Pause"; + if (i !== null) { + repToLabel_1(i, "cur"); + repToLabel_1(i + 1, "next"); + } + else { + emptyLabel_1("cur"); + emptyLabel_1("next"); + } + } + layout_1.render(); + }; + var buzzInteraction_1 = function () { return Bangle.buzz(250); }; + var buzzNewRep_1 = function () { + var n = firstTime_1 ? 1 : 3; + firstTime_1 = false; + var buzz = function () { + Bangle.buzz(1000).then(function () { + if (--n <= 0) + return; + setTimeout(buzz, 250); + }); + }; + buzz(); + }; + Bangle.loadWidgets(); + g.clear(); + drawRep_1(); + Bangle.drawWidgets(); +} From ee77b7e117c90b307a4c55f4a242c11d359eb9c6 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 12:50:01 +0100 Subject: [PATCH 107/139] rep: metadata description update --- apps/rep/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rep/metadata.json b/apps/rep/metadata.json index a62d5e7e5..faf3a636d 100644 --- a/apps/rep/metadata.json +++ b/apps/rep/metadata.json @@ -2,7 +2,7 @@ "id": "rep", "name": "Rep", "version":"0.01", - "description": "Steps through reps, to aid in run schedules", + "description": "Time running reps, using a rep schedule/program uploaded via the app loader", "icon": "app.png", "tags": "run,running,fitness,outdoors", "supports" : ["BANGLEJS2"], From a59957be1e3fc8a912aa59b035d92ede675f4d8c Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 30 Jun 2023 13:30:23 +0100 Subject: [PATCH 108/139] When >1 clockinfo, swiping one back tries to ensure they don't display the same thing --- apps/clock_info/ChangeLog | 3 ++- apps/clock_info/lib.js | 29 ++++++++++++++++++++--------- apps/clock_info/metadata.json | 2 +- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/apps/clock_info/ChangeLog b/apps/clock_info/ChangeLog index ae33f6f26..e12b30692 100644 --- a/apps/clock_info/ChangeLog +++ b/apps/clock_info/ChangeLog @@ -3,4 +3,5 @@ 0.03: Reported image for battery now reflects charge level 0.04: On 2v18+ firmware, we can now stop swipe events from being handled by other apps eg. when a clockinfo is selected, swipes won't affect swipe-down widgets -0.05: Reported image for battery is now transparent (2v18+) \ No newline at end of file +0.05: Reported image for battery is now transparent (2v18+) +0.06: When >1 clockinfo, swiping one back tries to ensure they don't display the same thing \ No newline at end of file diff --git a/apps/clock_info/lib.js b/apps/clock_info/lib.js index 206022272..9dd975f1e 100644 --- a/apps/clock_info/lib.js +++ b/apps/clock_info/lib.js @@ -10,7 +10,12 @@ if (stepGoal == undefined) { stepGoal = d != undefined && d.settings != undefined ? d.settings.goal : 10000; } -// Load the settings, with defaults +/// How many times has addInteractive been called? +exports.loadCount = 0; +/// A list of all the instances returned by addInteractive +exports.clockInfos = []; + +/// Load the settings, with defaults exports.loadSettings = function() { return Object.assign({ hrmOn : 0, // 0(Always), 1(Tap) @@ -22,6 +27,7 @@ exports.loadSettings = function() { ); }; +/// Load a list of ClockInfos - this does not cache and reloads each time exports.load = function() { var settings = exports.loadSettings(); delete settings.apps; // keep just the basic settings in memory @@ -63,7 +69,7 @@ exports.load = function() { } else img=atob("GBiBAAABgAADwAAHwAAPgACfAAHOAAPkBgHwDwP4Hwf8Pg/+fB//OD//kD//wD//4D//8D//4B//QB/+AD/8AH/4APnwAHAAACAAAA=="); return { text : v + "%", v : v, min:0, max:100, img : img - } + }; }, show : function() { this.interval = setInterval(()=>this.emit('redraw'), 60000); Bangle.on("charging", batteryUpdateHandler); batteryUpdateHandler(); }, hide : function() { clearInterval(this.interval); delete this.interval; Bangle.removeListener("charging", batteryUpdateHandler); }, @@ -73,7 +79,7 @@ exports.load = function() { get : () => { let v = Bangle.getHealthStatus("day").steps; return { text : v, v : v, min : 0, max : stepGoal, img : atob("GBiBAAcAAA+AAA/AAA/AAB/AAB/gAA/g4A/h8A/j8A/D8A/D+AfH+AAH8AHn8APj8APj8AHj4AHg4AADAAAHwAAHwAAHgAAHgAADAA==") - }}, + };}, show : function() { Bangle.on("step", stepUpdateHandler); stepUpdateHandler(); }, hide : function() { Bangle.removeListener("step", stepUpdateHandler); }, }, @@ -82,7 +88,7 @@ exports.load = function() { get : () => { return { text : (hrm||"--") + " bpm", v : hrm, min : 40, max : 200, img : atob("GBiBAAAAAAAAAAAAAAAAAAAAAADAAADAAAHAAAHjAAHjgAPngH9n/n82/gA+AAA8AAA8AAAcAAAYAAAYAAAAAAAAAAAAAAAAAAAAAA==") - }}, + };}, run : function() { Bangle.setHRMPower(1,"clkinfo"); if (settings.hrmOn==1/*Tap*/) { @@ -131,11 +137,11 @@ exports.load = function() { require("Storage").list(/clkinfo.js$/).forEach(fn => { try{ var a = eval(require("Storage").read(fn))(); - var b = menu.find(x => x.name === a.name) + var b = menu.find(x => x.name === a.name); if(b) b.items = b.items.concat(a.items); else menu = menu.concat(a); } catch(e){ - console.log("Could not load clock info "+E.toJS(fn)) + console.log("Could not load clock info "+E.toJS(fn)); } }); @@ -204,11 +210,12 @@ exports.addInteractive = function(menu, options) { if ("function" == typeof options) options = {draw:options}; // backwards compatibility options.index = 0|exports.loadCount; exports.loadCount = options.index+1; + exports.clockInfos[options.index] = options; options.focus = options.index==0 && options.x===undefined; // focus if we're the first one loaded and no position has been defined const appName = (options.app||"default")+":"+options.index; // load the currently showing clock_infos - let settings = exports.loadSettings() + let settings = exports.loadSettings(); if (settings.apps[appName]) { let a = settings.apps[appName].a|0; let b = settings.apps[appName].b|0; @@ -259,6 +266,10 @@ exports.addInteractive = function(menu, options) { //can happen for dynamic ones (alarms, events) //in the worst case we come back to 0 } while(menu[options.menuA].items.length==0); + // When we change, ensure we don't display the same thing as another clockinfo if we can avoid it + while ((options.menuB < menu[options.menuA].items.length) && + exports.clockInfos.some(m => (m!=options) && m.menuA==options.menuA && m.menuB==options.menuB)) + options.menuB++; } if (oldMenuItem) { menuHideItem(oldMenuItem); @@ -319,6 +330,7 @@ exports.addInteractive = function(menu, options) { delete Bangle.CLKINFO_FOCUS; menuHideItem(menu[options.menuA].items[options.menuB]); exports.loadCount--; + delete exports.clockInfos[options.index]; }; options.redraw = function() { drawItem(menu[options.menuA].items[options.menuB]); @@ -339,8 +351,7 @@ exports.addInteractive = function(menu, options) { menuShowItem(menu[options.menuA].items[options.menuB]); return true; - } - + }; delete settings; // don't keep settings in RAM - save space return options; }; diff --git a/apps/clock_info/metadata.json b/apps/clock_info/metadata.json index a45741253..ef9a3effa 100644 --- a/apps/clock_info/metadata.json +++ b/apps/clock_info/metadata.json @@ -1,7 +1,7 @@ { "id": "clock_info", "name": "Clock Info Module", "shortName": "Clock Info", - "version":"0.05", + "version":"0.06", "description": "A library used by clocks to provide extra information on the clock face (Altitude, BPM, etc)", "icon": "app.png", "type": "module", From 3fc452272287880b1cec1029cd59b6272d195e48 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 30 Jun 2023 13:30:29 +0100 Subject: [PATCH 109/139] fix docs --- modules/Layout.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/Layout.md b/modules/Layout.md index 95bf116dc..96790a41a 100644 --- a/modules/Layout.md +++ b/modules/Layout.md @@ -30,7 +30,7 @@ g.clear(); layout.render(); ``` -`layoutObject` has: +`layoutObject` (first argument) has: - A `type` field of: - `undefined` - blank, can be used for padding @@ -53,7 +53,12 @@ layout.render(); - A `pad` integer field to set pixels padding - A `fillx` int to choose if the object should fill available space in x. 0=no, 1=yes, 2=2x more space - A `filly` int to choose if the object should fill available space in y. 0=no, 1=yes, 2=2x more space -- `width` and `height` fields to optionally specify minimum size options is an object containing: +- `width` and `height` fields to optionally specify minimum size + + + `options` (second argument) is an object containing: + + - `lazy` - a boolean specifying whether to enable automatic lazy rendering - `btns` - array of objects containing: - `label` - the text on the button From ded2107f61b2c366a81a272c695cd1817f3a6b41 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 30 Jun 2023 16:41:58 +0100 Subject: [PATCH 110/139] Improved OpenStMap image processing with sharpening - we now have a separate test file so we can try different setups more easily --- apps/openstmap/imagefilter.js | 106 ++++++++++++++++++++++++++++ apps/openstmap/interface.html | 29 ++------ apps/openstmap/test/index.html | 116 +++++++++++++++++++++++++++++++ apps/openstmap/test/osm-test.png | Bin 0 -> 1406712 bytes 4 files changed, 228 insertions(+), 23 deletions(-) create mode 100644 apps/openstmap/imagefilter.js create mode 100644 apps/openstmap/test/index.html create mode 100644 apps/openstmap/test/osm-test.png diff --git a/apps/openstmap/imagefilter.js b/apps/openstmap/imagefilter.js new file mode 100644 index 000000000..61d14bb53 --- /dev/null +++ b/apps/openstmap/imagefilter.js @@ -0,0 +1,106 @@ +/* Image filtering code that helps to transform the OSM tile +into something that's usable on a 3bpp screen. + +Stick this in a file so we can +*/ + + +function imageFilterFor3BPP(srcData, dstData, options) { + options = options || {}; + if (options.colLo === undefined) + options.colLo = 115; // when adding contrast/saturation, this is the max saturaton we add + if (options.colHi === undefined) + options.colHi = 250; + if (options.sharpen === undefined) + options.sharpen = true; + if (options.dither === undefined) + options.dither = false; + + const width = srcData.width; + const height = srcData.height; + var rgbaSrc = srcData.data; + var rgbaDst = dstData.data; + function getPixel(x,y) { + if (x<0) x=0; + if (y<0) y=0; + if (x>=width) x=width-1; + if (y>=height) y=height-1; + var i = (x + y*width)*4; + return [ + rgbaSrc[i+0], rgbaSrc[i+1], rgbaSrc[i+2] + ]; + } + function dmul(a, mul) { return a.map(a => a.map(n=>n*mul)); }; + const KS = 5; // kernel size + const KO = 2; // kernel offset + const K = dmul([ // 5x5 sharpening kernel + [ 1,4,6,4,1 ], + [4,16,24,16,4], + [6,24,-476,24,6], + [4,16,24,16,4], + [ 1,4,6,4,1 ], + ], -1/256); + /*const KS = 7; // kernel size + const KO = 3; // kernel offset + const K = dmul([ // 7x7 sharpening (gaussian - 2x middle pixel) + [ 0, 0, 1, 2, 1, 0, 0 ], + [ 0, 3,13,22,13, 3, 0 ], + [ 1,13,59,97,59,13, 1 ], + [ 2,22,97,159-2006,97,22,2 ], + [ 1,13,59,97,59,13, 1 ], + [ 0, 3,13,22,13, 3, 0 ], + [ 0, 0, 1, 2, 1, 0, 0 ], + ], -1/1003);*/ + const DITHERM = 3; // dither width -1 (dither must be power 2) + const DITHER = dmul([ // dithering matrix + [ 0,1,2,3 ], + [ 1,2,3,0 ], + [ 2,3,2,1 ], + [ 3,2,1,0 ], + ], 256/4); + + + var idx=0; + for (var y=0;y255) col[n]=255; + } + } else { // if not sharpening, just get pixel + col = getPixel(x,y); + } + // increase saturation / contrast + var min = Math.min(col[0], col[1], col[2]); + var max = Math.max(col[0], col[1], col[2]); + var d = max-min; + if (min>options.colLo) min=options.colLo; + if (max DITHER[x&DITHERM][y&DITHERM]) // dither + col[n] = 255; + else + col[n] = 0; + } + rgbaDst[idx+n] = col[n]; + } + rgbaDst[idx+3] = 255; + idx+=4; + } + } +} \ No newline at end of file diff --git a/apps/openstmap/interface.html b/apps/openstmap/interface.html index a8ed3d285..0d9ef3152 100644 --- a/apps/openstmap/interface.html +++ b/apps/openstmap/interface.html @@ -69,7 +69,7 @@ - + + + + + + diff --git a/apps/openstmap/test/osm-test.png b/apps/openstmap/test/osm-test.png new file mode 100644 index 0000000000000000000000000000000000000000..af22331f5af4ab15a4fc75fdb948c8dcad306f49 GIT binary patch literal 1406712 zcmXt91xy`X(_XAVaf-XUJ4K4S!!1y}xVt;WwYU{`x8m*&rMO|I7uF601!43L!&)$sUr(&?E-EbYnq z>;}5oF#qB_mF^qQRWQS{{H@c_a~P?YCoKzItOXIBj2H2zu8fmx7i}x}E}qb>g$fFJ zh{>p#+|Xtmr^!_NscXvOmeYLiq~xyr>}eQ3PO8CDij#6&)-R4k$h@thqP!hky{l>e zqR+DGAG(7MsDO#)?;>=aRb<-~Qf20hB>NS0xL_b*GT)QG+fopqdv1FQ1AO{jhQu}5 zpg)hfn7=LTo=2!GtSHGp0vgwTayN{nJs=USZ|XB}pl!)))(p7SFFf+w=>Az$GN?B~ z(=2UI!*QRQ5CMg8MEHLJ6xa-VGdm@XB5Wj41N{skl?2gzp{xws4ozBk^mw7kjpo7&%anL7=tABu0)RE|GJ!~g(6wASoF5VEt$;Zdu|wM(n7uf8#*mE8_*c4ki) z7Bw7@M39sYJMP9_GDJYf%~4y;=znQ!A5|LpI?%z9T6nMOn>8s2Xnlg@J)fAevM05- zeKf|=B27|Tb6h>iOfoM8n}{}IUNc#{=-+6&L@zcmGfAnOm&tXW{W&U&;htbV%YLoz zIgT~u2f|0h3cAN3L;(7|%Ac?IuQqj*-_!b?Ys9tm#rc-+Y!gul&z3?QO*!`@G9Q+0 z^g*WChO@ARZD@hm^H!o|Cf1M^+{bE7g$T?X;ox4%7-MLB z@jqgi+xjLhetk2)AW$S*uxntDh1*M+C+yUD7Wy|?UidkQrp(8&#f6Vbidz45LOzF- z<<9@n)nDB)GTHhDGJ*RMK#v)K7BjTI3N1q<3TCpBC_(_(j_yfd0#ZYBSeHX8bmy(% zjmm~@*U{b{rxB%JFJrrL`MW-orNa@0)xB5n=fsE6e)z^P*Xiz-^ z&lr8UW8ym9t*7Je&$B;>(I%P?7-29>t`pBipBOreT95mB9$l>w{T-iwj_;#pudA!p zZy@9J8RvbqI}2|z2r2){o+fLzao7;0s zTcm}|85`XE5u0G);Dky5SYpvEO|lIui$pSBKuv3m5~RUvO&X)9$>cHB@6!6#U98u< zCN>yd@=qMTO}%l3%n43-@ed{y70u7D3LdLtAkMNh7SkSMF8vg7`Jl85-)UpNERhO@ zC5ORp$>pveyizxfCJ-|i1~D5$oQkyQ0Fj$FiE@@q{PKg;>-Grd~ng@!QUC3U!<{Npjo#FwnhF-szGdnPj^|3yi9jg@m_QJ{YeD! z8vT-@&V;0~9@23wDT)H0N1>ga*Xp6^Pg{TNEi{tsqv!wBa+R!74h$qNTSeV}W^fm* zTxAUBs0lN^tf-)B50C#xl0MEgbvq>dYYK1crsR|!g}Arg;kB}%GO)~JY+e&Pn9kEX zx>41`t(=cHftc)^0iXd2v8Ea0*2zq1R8$4Ql$ExPC(lGW9)Z?$sVyE_uu2kLNNht5 z>R_fM{9awYLJ)shf}P^O60vfd6_)qB918jfv?R5T+_e~`p?xZfSCUH(($5oy2kL4y zN|Rvg4#c{3eDUNLj5VTPryj$ZsImoBMDQZ2Ah#5yi8uWkpZKPpQa^9A1}sBmDHViS zhqX@|Fd9IfD+4774b1Ym++ilH!%y^{h;P)Psch99PYh*$DlBi$Y1%dl-CN1>bYrMV zrOfLgnq?*8j6VTHjGDSEJuVW81{k)oE9JjJxYj$utu?fNrO{+DN{R&@acoIM*AT}h zo~R?vWkgX z7+`oSzW`bbAR`wNrQD%vw*_%jl6n|MV_(6ox|v9#et^L<9$IqvoTxy}=9fJDEFYMQ zHS$Hh(&`T1{{!Y;Z=UcV?CEZr1@z1sdVVdWpZs)VW4M2fBx>#|sFsvPU>Nm%+a zycPV7@pA0b{%a?>%AGr}znr@q+!M$9oxKGa05A$c;C2ZHXyuM=bjiWbEz<6Frrqnm&SUv&hrbad|J)MS8+mm5E-cs@G~;d;?5kQiq$obl3NH9a`SMJu zdKIlDTF=j>?EoU~rNxa?LI&ArZmGl1_^W*uEXRxph;Y_6Eac*j->UJQp>w9{Eq>N% zde+O$6YrRax?_}63GB5j%eu)%mW&&7Yd!~F?qu(`%!nMGodW181p5|(v0zff7~iU5 z&pIgg0~w~$U=7dw9rHXbD4^dhvJDX^v-oL<3e;2g*Agp=Ca5_)^ZN<_WEXkBvKo_9 z@o9NE(cDi80qi#Lew?x?XDYNHstN)@^nEEuryKCFI=&@6YtAZCmCgIU4WPN-3B8RHzE)c7`Q$L;jG_WYj+MBzW`5@oie+ir zj=dNIt)w(je z4_=>fE+=A_xNvJX6n^796S5^dlu_KdFLUvlOI8HvlE)BsOc+#OP=I2)$b7@2sPl1u zX0q}shE)~-eE>93!Ns9lT_s@9a$i@%WvM;DqLE$RR;M%fI9~GQM!NgaLV2qL{#B&x z{2R@(ss4J$_wm~~#o71z5)g5*-IHw^zu=fa3{0g?>1X;lmg!2t#w`1LuDuQp*88Vx z9{*76K6s4TCAeehe)2zkc9|MsI#UYSlkt|ev3-A>3x()HYbq0nc%>8|G6&&RddVxl zo807`O$h7{A|hz>={pq6@{&hUX0x-1xuPatHsn0l6%c*mREJIG9-;_^&DbH2{>!fg zvtMX}bax9d`sV#5enya`rbE;oLs&^)_sIoN00GiY-@(*{j{OL=0~OiCtDVO+mz=WJTzV;=#*6?8+UuW4@c=&{oU{ zO$H7KGeBlBgii(`DrxLZlnllZE&op6qhc>|;~R@J@d-6Een$OX1N@MYxA7=9$a+jv zglT3BX5P{O5a`q>2)Jzb74CXQXU)-wghdhf9iB~OYnE6zBfpA(h)UR482Ub)&c!21 z&4^i4&ejum^WbbF8f7boD=QPnxBcZgyUY^{H(k+lBB#WJ1=_?_>pd-V#*uqEOwxxW z5;`Nl=c&+X)(S3@PnEWmHQF~b@N@E#$<93B?6*jk@O=Nh@I6egcUK()RfhFU==s_C zOrEt3{;r`nyG3920(LxqQ*64$a~fJw>7&>ZuERqUa|kgpb*H&1(J2O|gk6YzjXXnU zZIR0OVXrf05ius_V3TBjq7H5bJ}G^w{)3;PL{fhL{_V-rnSqj^&I~-} znAVG{%%qTx!8gsKY{_UWFE5r<1hGF(!(Ldi#U+aUMrv(uGz5tHzU3|y!51mUl*Y3p z6OKDnPi=fzA@9RPoW1EQ9{6Y(=96-AjIc5$R6xIk`tiQjr*Ztuv7!FF%h(==uw_`< zUYBYU0evQ%(Uj-}JJ|%2rP#^mpA79umgUii20Ta*HTNwGXrPar8S_?f&A5MN{78d| zMWgDh&OGcchxw)dPT6n*B7tH>oPY%n2xckQ(S-s%RW)@b&hJa4}|vah6HvqaX!r7#Drz=v;$KNrj=} z24~4ggkH(@up93742m$*2n2x=18515>UK?Zk7&#WCwwisBW^b; z+uxHoyX?Zp?r(v*M4ntF+AfP@;B;r-qCy2T3_!7GGKpOTs|-EQqLt=)pYf5aX?S5M zSzc;N5Hsj|%cK37doQJtWTCNSq4?hXQG83n0K)l^=UI*Y<9HfT4PTKY)iTs3w!0hN zye(JOVrE6^t?!HN@mH{ecEZa@;P89BJj+&Q{kl$*e}Dx4*I4H!v)`)Vo*?%tE`t8g z0aD-T8taQ=f@<#fS|cdcAG3&*;PrhG_u~7-3Bo5M7p$X9l&r(e*F-d7|$bEiLRflTyu*tIRsOvpkreK zv-ubyJmj=cL?F~Cl+vjGK5n!@-G9QeUYIVH0HPAz@jbXGLo}tl&G&ulSS{MWyTK$A zwTidivK-;(L@;~+snA7C8WAbet!}0d7ckPXQpye1@*W>MF#X)FGkcE(ri>_V0~Ox)woiN_WGp@kzB^pGNZpVxR& zKRud2tNP0Ul)Qx&twj<&Ztnh4HAv%dm!Nz^0~r>rK+_u4NGkroBS{6edbh`YMEBBb z9V^LWhBUDREPS3gB|NFnL+6;>cKsGEomU-TX@Su zdf&Ux9QZBn^NrXTWa(t!QNv^I;r0dmc#V?tOMW{f0Kw^Ic;v#u`k1bbH44Y!l=xklDtoVcoGZ|x{e5J7<0oK za!6ieI#fXI?+nNf>h);YRk^RJJJ?K_l5;qFtDwW%pG!)7{7hABYleeaG50@Zpq;-{ zS?ns9@o7g$z+pOBIIau~wV49IVkwURAQGZf)Abo+e`+S)X5%*tsvB=r^cbSb!|nu1 z`(|3x?79F~l2TmB7W#c}2d`3F(3Oc2d_V(Sfsj6D^0~eh7E;Ke0cX$eWXCi@ z)S9-}t?tBrdcfh=U!O9HeuAy0st>^E4l`r3$PGjc5g@}vmA01S=Jt^(ha-bK#-sSP zGv#8An>Qj`bnsN)%Qc8aByIqEY0(Eqty>ex{yw0^LIL>!x?^;SAjco4XjALz9%mMI zJI9$ch2lBCK_@Vy$jt|hA=T3;(tNaEqbJVDu=LXqp+oDBv#hN=J| zknqthM*eID@+)$qq%3Cp!B0QILQpuhG3TRDStKuXfRTV8X^>`%)2t$-rR)fb01*z) z72j1)PJPC($)qKzI3F4a)@aSe#b;Cz?5+tI9x(D;{UXq?vGf<3l3b6@Z@YJ>Mksyi zsM_*zI)|w9tu5Cy<~tZ_6Drrld&fEyHZBJHS4AlYy{uyv*r9TB*~Vs>GPM3}u-Z*Vo(jE+9`7Uy`}FOU*Z=;e`OAH^s2_XU8QZTqyu4igGo@mUCGuEHCRkX%-H+00c2pT4#ly4q zrmV019Nf9=9^Y}R3NpQHUfXPD?*1Tq`%WE>H^03`m<#hdy*AIJ*dqDR<9+I`HoBhD ziEJHZjL$v?9hjiqF)%%@7^(_^kE?V`vl<8ounWrZ`d{u3=m{701qRF^Qy_3_D0Lq;*}fX8B=ZJe@7Rung9tRebH_GwHG!&<2i@B z`stpd`K@{@=VE=>E8oz`8#dFxt0$F2vc%L##~m&yYDDk3;Du}a4tx}Dv7+GME9*>M zdMBCUM^a%=lkp+jX1n&C!I$>8)64U>EdgQJKXzJ0d2-tRD8mTV1#6t|gLwB7Epc6ANrQCMS3kv5v(-AV*PD*GoCEc;iej{Wo-d5BM zy=CTmLme{Yk?G4M-)(e8-H?(O-b*X6|XQE6MQN zXI=0s57dSKg$4vsb(nUZqNO?FV2FkhB?_{+qrPaU=!V7z^94SJZkh2LKze`ibdm*^ zXP?CCw3$(_utvrIP8ih^uwU{iwpP$Gb2UFUbZcQrro-*e7kT{fh)Tqd2-MT@RUdnj z0Hu*c6}`PnD(yMn=p;+TeK#xn^yskoNegOW?nm-3u}0b+O7JVX0$1T%l; zs<7R=EX0NEdp}4Z_#kL?RFv3{7tdQ+z>@_~SHJV+W%R8f631E#5do(+c5?PanATNjhnaqal#HR6~c!q88V z>Hw}w+Y*`Z2}nlc`9nv#-SV|Sv1?sZ0v;g;9N-|>9a^~m7n;oVI3xiLNZa`~IBR3} z*N38Z=^Ha0-6ew%+^nT9M!v=>#aOgv5i{oQkh)ZbEIts9=V}3yCUJ!W1H|K+eAZEs z$VR(eabB9_AtWNfLq0C-lI3N z$E1&x-fVFK6+v6xDvRqc3o4DuwEWHFiAoe&Auju)#L$7O>-`bH)u-EtNx=&7G$8w^KA1{~duc zoz0@BD55Y<|9Cbx4LR-+ln2s66%av#bs9SmAp=)?ze7e~2C7GHviIq>itRI)3<_V9 z6ETo$NBD*7eQ{jzcMw_d;386Wr@x~*(kl4NE z^vieCRR-?d!X&D`XLJ4M;h51zBW_`pgRdU0j_=yRg|ER~YrZ5D8J$xvVn0y9QUBI{ z-sbm|nV*{Jcj9|k(zPy*=9X$e2C2~S^TG=L0(QI*c6Et?PN zH_i{m~AOo$pTycS3;j zQB258Ahrimw8s?Nkf3H`%w5mxersd7-FxJDyhM+)qf`cWx;SY>^6G z!swITMC|$BUxBk*9Uhks`xk3gZV#vZkN&mpOn3c09$4OK)_Z$o^?mY>`^T~VqL;Z~ zH>L5xC!i(6=jg!z>^a-n|B%P(v(qp zNEC^)S$usIr0TM#;5c5~Nb!Y-y8U$Tw3mzlOK?wuRrkR2s1+A~ccDsuePN}(zMzqZ ze<3{8wcnu~$SwGk!?)g9DOB(13rTlA9QNO z2h`REXU!kit^nLM7{n z)AC|rH^E)RPqnnCOI$>Z_oRm9CuQI|?K}W^dG4Xx)+a_`{NWN^F;Iz`dO9}BMq+#> z4vKjQbXYf?*_(13tjsZ|2*drNfi?IgZ+C=`mh0wDh ze;!c5ap;B6=Uxqz8r&e(@3ze|qqt`8gBbSen-&~AhH?>v-T&^#O}l)ZKk{?sdm1+2 ze`}@XXjj^Y+Fb4*Ecg-Vu!%`5t|}LORKr*Ez?EkEDxE35BZ!MAWKDU9J*?3i_~G-GJJe z@KaJsnbWiLF8lG=cKf%iRkt<2qq!{=ix9nQH=%aMOcEjYqqVX7Z$jp~91mdOH=jBa zGpVqzzZ>NxgxpR%!l}L`Fozo9R6zqa%Poovg`E3JX(OP98j&3D(=KIi6f zLfvot5+TVEDDZcrkEf97c5LNoZ6kU?KEXdLb4Oo063yE+Fk9F=AcMI2pB)_R&7J!5 z6Hh=~R>t0BUUDwFpNGn$iSEz5tHH0u4!@0V$L~&GaY(HVC=!TSVtm_*cqDKXwmZ0< zpG(<&1icH}U6@1LMbdKp-?WqUyHjLu9V=HJhRxW89JW)DR4qxn7hJ9_Zx)2WgmgCw z3HqaW;+neKT#_DsZd?Lb6{ljG6F|@j~e>l(;>36)XP228Pj~IAm00_92Uu=f{$`^QTE=Xo`1f zq30*kczoRRo-(Px<%_b->mSNHe`<4+$0%GJ%_{G@9!m0RDtpToV?CFb4we%Zx6DsX zsCVg>zVReCYVT;?dyY`aT<{1E2CDy;;Tt41Hr}(5e9nu_`Dlx@^XU+2TDIeAs?i>w z9&O6b=2Nm&@zD~{!xR%iHiG-u?sqZZ{$^3FI^;nEyRmwsI(7lH z-!_dS_rSaH)YDG-*!f9M+O^?o4}Rli3;Z+^^2!oHcWTRM(EPH{yzy>R`i=&ac6jCO zi#dxk-mINvv&?dAy!>eg-`&0~%&$^o6t(8p3euIIXG+f6Pf=bD zyME%Gwf+GS*1Q}Q7cwRJ^RcPXJD zAKOo}PIcMaiprrgwYx>uXaDxQmm8S7&hw!v`wpAO!0T53*9BU{VRERjzQ1zo#B^;> z%wLMHZlF=2M7Z!+S0$s&biZLbk~36|5`_60(j4C~Gt&JgXQjw3+(FU22Ae-ak zL}RAoM2v?59K}Q|m<853lvcQSt2!F%->{-WuTAsHO7uUCAeTp^eFWMpzc}0}1-C>N zQ66B!UT@2n5E2qpgKOn*Lc|7P18Qm1KctxMMp1KbwqRWb;UT(GeOHq`$KmcU)oCDu z1$vsCD3`@|s925IQ$@8B!c(S1`Yy3tQ4qk+s+FQX z<|t0<4ka>v3(p8i(#e~v4Pt-m%?kKQB~_iav!`17olh|R&O~HWJeUpu5b$+P>kwFv zQg!zph-kl0{kEjSLT689#s>l(6b7MW6X=-8r(-?QfQ;39hXDbvfhyU}*r^9$B8hN` z^#p8X$4j2owgKhkdWdL5jZ%V;AZ46FxY+I_?RbZN+tPuA$~pE0`?d>95y(SWJail_ znvT~V7G{s))9>(~h4(XkOC>A#!%CO$9NTepcuhmPIp_3_j*(eAM~fHm5pV>h4L&mo zRA9gXu;eE#yZmim2%C1)ibv>&iN=?2ryrX}KgFuaCIqPQ;xP&M`KR~IF}ERwnLfbZ z&7AVGoIXm^wLF9M>G)YRIo9pZkG%GoZSU-2Zp@-B02o606ltg)a^s4#iMt9vBcko` zW_u{0Va=7A10NEM=8>dh%!vd@M6dM8xT0zA&REZg9(>_qvFbpl(_$NS)lr{wt@w(J z64%7FXbF|)A(?1FT5D?V?lyGxt^0W`{N;dC{Cr895bZJN#q#s-h9;IjDl<<|0J#yC zZTV1NFA=Z$Ga}G~AkK}z(8ILCl&JFeK{pQpU2b3Q7ay(pEdzqe7zU8m9)O$xvf{LzwDVNk#cM8%G!VY$!%XwK!?<_jrVT1DP-}nJJg}#eYU?|VIbStR zBNW13Y^=^u*(Zi;d0Xh7nuQ6pWY2;G)$@`YAyft_s0g2;5#6u&5GYt>Y7i6Fjkz{j zEZ6n?@s(T+6>unse`LQVlg46Ua`F@t4Qr=uZ-ub)O%P zd6tsK3I&3)Tr@awD5%JT+w4GYG-^qz3FC!ATA>E#C6*Xx^?(6XMsjjVOdUdL=xT%3 zax8oTbMjdAS;#g<=C{VJlyCxt9H#XSQzYPeMJUJb%(bRwd9t{XXA_`zT-HrGChKEG_c-W zT_bq6D&E0hOX9~0n>2O4cCAb0BNbUNS`3kkkh}GEXb~e8MlVdM%~G-4-Y*X5Rj$i--a4}D-;u+Ma-yU%ug1WLoz^_hM8hr5OLuFpfU#Ei$KFSvx9(DUKCQK$WqAC$AjxcCBoPY=+F5aiXXLGJUVEnS zO8$CIVZa0l4u)BB@kUuJ^hoN@Wlhth)cyJB?8@@)KN+&^OE*62eVJ-=RZI5oR(O@b zxDP1iiO?{_Y&sQ$2<;hM=_90|94C9?@=nSTib1O`x)a9xECg!O;ep5)p;Lq!sLr^O zp+1NJJ-03C!JEV-CY4qLcEkXkoLsJGKT(%eAT_g}>%6!&cDP}OF7v!&)D2Wug&~Yc zprm<9tu!2xW{z?&uhAZBw%QN1ALx>T;Pd9WqlG`Z!d#MABCvY~9G@JX{r0gbf8&CX zQd=z&0*hw#DO%GYKg%{94S!euk~e=H&LqU!>AH^!%sD-@Rk%29WHJ!c9b;oqiAm^7f~Ta)3+Tym;! zQf@R~Gd+>t)z=Sz@TRBsiQzk?mCxJ}w6}66^9#jLr%R@l-?DLfFrC=ZkGo>4cgtkG zV}B@n8VbHRlQlKi7KJbm>h_v+ZK1Z#YoV5S{3btx>bsq8Os5LnBDFDGf#DPFdk^X@ zezg#O>h6Ali~78p;(BHQe&scI`X^rFFV9D0Wvit+SzdAXKAib=)2^_1z=-=!cXm`1 z)tT;=gQVf_OY=SVDgsaiPW3wJ`i= zddI7)4Dj0;L3=f1p?X46_T{eK?kb{Oj_PvoF|n}&W1vxu1bsfv*AYw?Qp?_SJbch^ z`)l8lTs2CFqcJlmlKelPUn98nkz2H0bL;ch{&Iox?ivrzT(9%im0UZ;eiZU|?0#^Q z`nf$OtsfF8=BSMq8egtRJ^&})d#&=B2oXONKSt7NxdTU+D0}_pS3zsP{O{jC(8m)1uAkpc)0vN$TP94S)c$3sq%GgZy#$h0D_4fbMV z0>T-$RV-)v+|xr_D@{EW%E%q_)abM5U5QDBcD2&`09u{EY0~GCtuYIO*7L`e7=cVX z=zyPC_zX7&nRA@OTLI`6C@kI3p`9P4vflM%;iebmp}2!7L7xVke2p%;7U-wP-nu_!5bds~^J)8B)Geh<#@J-D$VCw@GHq%l*+KD$0EkvUnjf{%IG zF81C!VMfVZ@o~WvW@Ue77iSk*6yk%F&pqqAnxFudYge$(%Tz*g%{)Q7*A&4NuIDZW|6dzv;klyR9QkHln-ybV0O(h1470F=jynqpg!%CPJ`bh# zbESle={NkVF!LD&NC;l6w3MQv!Kf~Dw+=pDKoK*$-gm9S0qsa`eDWkhy-*9_Ts;;- zjp~XdA2E&_CZ9@$VgUfoafzhTef8;KCqN%bPyoidl?SP#P=0i(WtOzW9nneR>Ujz)A?Lf5uab5suR*@<7Y(AF5{WOI0_vt|{ZK{mqDR%9cry$K6mG}6^IScosmKu0u1p9S=8?id=%9Gwc=S?-e?Oe5lx;({pYZDZCa_XoQ0n znbk=>tz6bQZr+(CWkHP!O(iIRblHbWy!_iwS;ffD)9suM`$TLuU+E1dsJCT-5!0)V9vBfStW(mHD)|MSSkJw+2yVtj=b#!L z>QzVRpug*jvnzk(h#N|}txa`k8(rlj*SXX#L-%jL^y@CxBFBB&abn}lz#lDI)zR!S z-aoIGEW)A{_1bmK@rt7P)&G2< zJrpub?0W@BQ>hg!{3ZBB6wz#uBQ@k(7l5A6G6;*2Z5UK4kJ!z(Qu07e=s?l;v{gzP z`?bgz2Q^bqRuGQ_k)uW;c_4BDdzMCKWHk7f4}U|mVa!A}NUMAlk01aEpjTvw##*TA zY>{C9MSS&O9sZ9Sne*!>I6ynOfwEPioJJsnSjk*M6+xPX^;JN6E+k`^GPm5v(d5$N z%#e)i`!1T_gZcS4$e)y@A#*SHb7fK+L~fWKvv#B172fLVLla2??#D=YxYm z6jmR5A4MQyOUkHQ#t-V)(qMvBHIyJP2N!S$kI{QOip(#|{HDT~JRY8FLZ!-(D!=PQ z)nPGI8;&5)9a;Li`7iG6<_~4u+TCEA%J|#L!(nASe)WVa`7qmLIb&z#*z$}ng?1wG zBuWWqK3ynfD#q_W5~rIX;vs5A(|M_(e_>c$R|!%``CUsZ&N~jjd83^z*EF3t7mHh)=fcAfnS)Dk~kEcaJ@Tl_^Lq(NwNt=nGGtz#zr;mlw8R@pXm0oBS;b z6KTuTW=bPqUHjcn3HsoMcg`o_>FBsUHB8yMV~n>DP(%LAP*$HmY>jXg;0MEk$`S?X zpY4?$83oeAJBPfQ$v6Br_pu!7_PD2D@vWKMHTn~w10=O=OBbBIpx$Y(Sg+a3j&DAL z>IBZZ)><|=N)2Oqj23jYS_aJFw0skjEnzbd-PKW;VbAf@OBl*$ks+N0sc^CM#zJwa zLc6mH05FWT{x_|Jd^R?Kjh_e;kUIe1;XM2GN8)0UA}oNR{b%h*gXa8Qy1c7aQ(uMr zBP^m=IEQm_OU($HQ8b2hJ+(N7XS7Lw7IS%8A8q_%ajG>%ugUTzH-D(=AFeEZDREO4 zhUBF`KQ$R1ibTQnzMT`HAGG<#iqzzfw~gAp#09lTk$ewv`}b$}NH-E~!tv??czzi( zb5A(RN3OVapjQrcSj2q~ykV5%xcDbuTA7JB=$7Ks&I>GE#rA%L1AfT4 zT1WGD#wIS#h5lGxv0_>a7-_x=`!&8y9!BjclR9-*`&h^s77k5d30vu=hqvl|=9!&6 zY}TthKV`oj<)E;sOUjocF09bs1R=_b;%M)^kG~GjXOJ3H(J-YFqL8J?$b7@y_6gxc z!n&F;2M~on041SbYJmeD9ka5v>C-+ADsT4JAKU0g_v3VwzRqW4FTGS` z3D^-&n)%<4pLcIf!GD;A8I-GQtV;G$VoBWLyKaKtxI85lc3MQa`*rq3l|}QL7_r{V zzJ~02+hei$ozVQkpA@;d+gtZkh9YL`=JzSkpyqVxkJjuOr$?R&ef9a;^A7{zVuqtw z6y7hF6LIbv4#z(Yh>lJ-HtKFlreFT4cRy)XmFBaaA)+xvBq2`PcGYSl9^J(wR65?i<3q_XuCwg?CQI#QnGODEjKZTe=pOb2==fMBU5a%2;@qa#)lYR*<5;5BO^f2 z5yZ$^E-p%dpX^~zK0DAu;w{Cui1LuQ{Bs_ z%bH%rq_cUeR;fI9rEXoD)<|P>)rpPH`d6@tgPnLj zKIH6bA^BHW0=FyUx79GI4~g6ndnP)|Rg;-4Kq<89Gty-5cyLzxhb{KUgNXC$@G7bv z=E0ws5X`>5gZf(uioj9E=QwTtxz1@sjgJp~3Lg$1Do;|>Xv=tVanhUA84)MUak`ou|A2EVTes4syeH(k(X4! zK6mehPqs$>qrm@r0r-Az>%j;L7_m>;OZX{ZXHa7@9#@N)#8PfX5J}L)Cxpa*Sg&1h zXKB{^2y~%o;ThFfIQ}01wLnV0R38O{j70}ccSKgAvQ(of4KKcMy1y@b>eR^{+qaf0 zg;OVbo0{X@-NWr2Ei-vx^ISbo2xXoo3*nIG3kCqlQrvgI^Zns$i6>a(NyW?{E)b|| z>@&uOu<-!4^Ow=gx^_SraQ~OR_l}d}xUa;&T~(dCC#TH`*abi=5&V{a2z+1|6ip~kyzFl6_NX-% zdpHdaCq&%Ap)^Kl|KU@*X>Q%Pju(;T%||BA1i=!^Dt2eH3(ksjZ9(9>wBW-81sedc zzm@@|qMMEfhG8&FfH5oaGKWIWY=c;T6oM^o4rkQ8S;Wy;Wvz^KKTEjW=xT9IbQgO*k-2&-#;&Ol(<`MRjIsV(*7(Q<2oZ%l@tIaY1U zaH>%BJfpzwESeqw$Q)_m2RK#+0ES`A4b8eab_wRj&LsM~V#Ke$yxLp*HI|0}m8qAm z7#7d5Cwu!huV15Ej?9N=Z8BX5MQRMVHHlE2?^yu^jdA{_tx1H~uRk&P8&@V8GLp=c zbYl=9ZWwk}rjwJ^!Nuf42h=5eSlxfxS-;kD@(Y$1g*IJxhDOfD2`VZRX$~UNa>l*p zV%uvB_+r-JF`VPMwr%^K@A)2Pu`Dlkt^mt;gz@`b1P~amo)I&IA?=CA8p&?hj_dp9 z5$=xb+HTc!dZvGogu3T?PHpepNSJbM_LT<$7UcVWey{I)(Qxd>D{ej3do&%-$YFuS z{Mbk~6|ZlpZ!;|ek)WZz5ji|!@DndQW?JT+E!RBt%Hx-JUm*xW|6qSQo{pze)b$>D z?%_~K*|K))Lr?$g(D4IZZC&Yjx}&MPqk3c-`|aK6Az8*QgQs%Rm0&v#&nI zN_=ao<6_LO=K;d_blG)$N}v00SFYQbNY5ws@jUyPhyNpU`R}YA$&N5NP;hFoE(9@q z>cU*G9NzGF@$k{&tD05t7g2lDfR-Jt?3U|Rp_?}kYIZRQA;{DR8@k_!Bzq0i_u>uR zx;8qn|A!5m?-T@O@wY2sIsCuBJ{jc(>7+knKqVoiccgX;_#9fTWK13|9v&$7*!~JP z*f^dy3|%W}2r-dpL@Slmkcu!u2-WzqmD-R??Pj%grPfvhLWDsW0I25%D;)%b?nc8Qs_)FV14X6x^_C?~?jg&3jwp<~2%Wc~tYmpRMPSWEt zuneA>MOWU&G zgn}S24O3B9#)N8CEaU!9NNJf5k5#h*EB?a`_tZ(LNh51}OLi1l(*4gcXy(IPwo9Tc zN+D4Si4LO=X?=!UDH-`xG6`Hjv8OxvNqtOJlnH&r54?(9s(mh6d0AHS=2%Y85)P%3 ziSg=)>)U0!B+H5v5)lvM)j?hqYK6mUcv2tDR)-~7io`-=l|jwQB@%ImF|dG63?D00 zCOsNdAU}~CSE9mTsh46`B8n6d0mTN+=vq@)FYP}Wi`8@D%FJ`RG(ZTyIR5)@e-p*jH=hWfw>Y%s?to#j~y7n0c(d({HKb1#4S z`9q(-dGEWsH(aw|;bLk0yFdPWh1+=Zwf96qjpzNB002S^IuqB$FlVnlL9*j`hGW-^ zWeR0e7I}dqBF_Op5K!G6sWFc>45;V|f_agEM?*PdCM5(i+a$9Mnsdtb&gs9+8h=^? zLY(y6A!ltvMt7%rT!aY? zk4$#7HM^d#TdpbzWh3XqFaT2I7FDU!Er&&RzIdeebz~?PN~KO7?{90%G&CiS9Ugr4 z`4_Lde%C;M|KpDx1pwc30Z`4o=R9zPDeF~HAOMz6jqrU>+k37?8G(XHFeU^=6k)Pd zWpON&t~-6EZ7FkvDZF7w_8KaAC(wqD?E75T^&bi~uU)EThh^nRa}&Mc3ILGBI<3+- z>-hu#Oq)e6j2S6c(o3b$s&06$)85vaE9r7*2^K~)Z~*{U4Nq9b%9Ll;dX6B8A||Zo z2LK*RxOhkc0Nu`4y<5`g)v=UAsBH0 zz&-MWbIn%E&I5oPj^}!Ee&Ec!$!$92c3q2E(;e@Xe60eV>PkgLu1zXBl_%{vuH#bS z`4q7WC+Sh@RP`Z_4NFo60F)>9lkSeH#ICr93@!Q$@!Ca)c@0u$3}Br zPu6_*)$!5sqNuDtT(AIuAZAMx7&^5ldQ-&EhcAJNe*kzq==7)s05V4ev=vamMQ) zBb`y9PJhT2$~AL#0N}ZxVw_XgnQrm7-+Y&2Yo*Fa?Uy6P{wp?Z+q>&c0N_)1u++1m zYaIae6;BY%Zrifm_xw|nukOA22H*3C%Dn|T-kItA^auY00CL9Y?KjscJl|nxKl-$#`)sBJkNf7-xoTr`NMSQ^{cltr}dy_77qYB>cV`mWIDC4e0sDx zWGsalsUc^KKQsDxXLNn?l1v7l_GAZupuX{qOS0GCI#%~hf82WcyCf+LOYv$CisRsU zxd?0L&nfSpYZWwUjt^A&D^6)v|DTHoLdhM zt<0@!%}cZ~3>JtG=40Kli*nRmtFGlScVRMWLQ2ncj2Y3MToc(moq+1OMt`X%;9p0k zF_!=e7rOF_UEe+V`LF--n_rNAe*4pJ1%S3lOOu-Z)Q(Taq?AXUs;z5wVez_p1iCGO)-*&GWY2 z9_?Bwr)=MIe%$lp>sxOM6ZvH2)PfP9=V6gf<*x@Mr1W5UtX`qp>b7i7Up7*{L|L!r zxwHp?f1!(%OP!o?j+cmeX5`Ow_36*k3(mYuE_G(LrJDY6=6|PGC4|_~k+J#)761yB zT%mHd*SsOJDXYt8;=2TW;z(m_hZ4O+!%i!R2TwnGW9wdt@T+0Y9t18koVBEIeZyJD zm{TWDwA42U65FPBKneihc=532YNl(Pm#{(uf1uKrTA^u$wY<|U-BNZli7L1X=P0>%1z!5xce;F9=gzla-%U1YC zhQR=U7*1mA{2=gX1pow+3i0g-5dp_tU-yGWT_KJOb0&2gk~TA^cfo3dXEq8XCi1Ld zJF$=?3p@Z6Du&3j$%taR9!oI6sA}5f3Se#m065e*&>v`Jqb`$CB++p_QLuFXC_-E^ zwzaQEJFvf}FljV3CkYX>0?Cc*xm>ZWH8s#bMrm;3_z;VQ4O?0W_F3LcMB@X46ZNSm zMU`1k0)t(QWQNbOBC9_7V!#r8?bf1J#uyWf2u1)XEc0&Q4xqT{`T)Qa)D{?8VHu7h zuO(;@@M_GQJX9P!*wB5`GW+3tLVhe11b+B|N4$90Ov#2h!7vyDH+lMnM9VfTaML%r%XJnl7XaF#a@qD~4z*#1 zSr;cs|3$~_z4#f3giF@+>;j8pXkd|5jZbaItzgV!iuj&k+R=^>x$ur!Hh8hA*I8da z69up(={uEkM9RLnwPqSKk0A^ztr@6F0Du{$k?mRh?gfEQ1E1v;`K4pt#toKToa;Pu zIEImk7@~+g01!qH*)&IDnBk{A!~$1j*)%~60Jy$i)-6dAqpHL(fzR~PWyM^Zm0)7R zw`~Xluq-B%Sw)^5A+FY{bKEkEoa;AtJor-aEjuDS9im{5`CF>4FLR_LrY2teiE!k! z)6wX;deyi@DNjOp$Fahc{&!QX>X=K5ulO}CF?=_yifULEPo5q~Boi1R4=*;iSyh@| zIAL6MnexrYa#w9o*0+R;73V*noakB;s7!TZy`-C?lsXLGmNhW|q!mFhpJXn0cmu$M z$ta}BG2*~-v(bwsoBd2=FfPSC*jsGHNXd2_R8n&k5@+wr&2JB51e|SG1QQdlcsBqRQht&G0n;|43pwh z)c00N$zFp6+{t4PtQ~n^`<3sVr`V+-*(W^i@Wj+h=dxrdMV8iU7_1H+D;&z|Bg=La zajBcPa)IwINtwG0AWX=37CrNLu%-(D-smKI4M9NVPznHC#~OO|flzWS!eoAVHNu3k z&3uf_68k&>b=53qE2AxuwlRI=Xz|s91N%oOMqJP1dA>F$do?gEz?@Z{xl-@~uW?25 z02l@_rLo|#eQ4{h6{#*x6pzi?ViZ|9BE;54y4FWGrdMJ(D$GXWVxr`foHG*?7zW4G zt7baJh>seUJaeGk$VlWzWFUgLVTn-(iRotuJ7IZTTP% z_*mi9rJD1UN?IrqLI`1k%jHTU5jU!arj;?m;c#dLO@uBIHIn_K`#u>GLK_lYD?+j_ z{{BBt(taUk-v7Su7Yn6QvE)&oW7*X^hjZ2c>F`w(x(5J+VM5#~QRddv&z?W=dIn~N zk396T-`n!R?)dr@H;o~jNFKPCG4#l`vq62u@d?AWqS15O@Ch;1C^xr;I#ezK45ook z16mWgJH9OvQRPAxvnQ_SKJxrOp6I>*U3Y%ErD?;0?~s z!wICJCUtjcsbW|dVOiuO;@X_Ke~~IbV^aqJfd1Mr!VzI36NGpcLoKt^r!1ka=T{9| zk@%dZ1AxeLp6>$yAqW64Z9aY492^;A2`QB{fkz=(sn{n0AR6vE@Jb&5?7d-=a&0RYFUvxlrgw=%=ZP}5BS z2+Ja7c%F-}BwW+BbG%?#7B7ncfC+0mMs`w*sJzdf@)ltOeIa}oWwV}M4FDK|nQDcO zOau+7Rhc!SNR2LAANYaDCJbp`@M(0@_j*(uDWw=I?=T)wTU1E0Mw`3Vr}0(`n_)-{oWt$ z`s6iDyYt4RIh*qj!(f$DV^ZqTfhRuy(w9nh;r-or6T}saiJBs~KGJmm!`~atj!L2g z02|-&VIE5|t9X>RK{QafJ&B zM09++Y?o@0x4m=yohzkeU;O=lo}~RkyneD|o1@)>rKuXVIYM%Uu}-ud-e|8Ngs|tB?^^$k zTRYxFFD6!gj+F<6Ni;Ix-SO_}A3fLV9Ukaf(>m8uDKS-3uTPj0qxxXgshXZXQ0c9c zmp^89qW6*K5B%Hi9kq%oRoCCV>;CJ=_T*1gVxc83ev8 z#3Wt?0EWRVQcZ7RHj3lI2(bX*xaCW)XXkK&Kzdrp&k|Iq80D%Za4f@6&!?v4#={E1 z$h6%;*&rARta|)peq?L{04SxhB(^ox`H(lY$f$%=*Fe2Sw<$E!}))QF~g`^K)ja=R$8)vD!r9sn=^^$j#&2j`J> z^UTI_Sr9mhXIYO@jF9bk5k(Yvj$yIc6h?t!n6@NvrtO%vN2wp6h23xGfoEr2k5Woi zMJ9+bY^S7E1%dOi2T;}B;}^5?8hmP_AS1HG_KWklw99N0$Fy7EGP6+aNL8EClcm-W z1f3m3W8d6fiJ6#b?dK@V-3L2n&uiIt^lpIz}|M1Gqh(@ycSmK zi`LXAYQ^>@oOnYd={t+H%b)W|&!mZlMOO6Y97>r3f#a4DA{YyiA3u%+g-K=>6CpSc z1R>GuZki_9Hzo zek6ip38aRYP?(t*f%=A(7b&nb;LyO)jZxE@V6ocotxYQ| zPne`ABDdE`$Q5hYbr&$)SV6eTHA7_=00?3_l@Zro-PHA8WAS+5IX96+gfIYr{ia|> z-micgb;}+d8*ivjstV`OvAI`s4kR(tRoC#<#|Fnr&XY&W(U6jk$qd2=`;6`FWLin> z@vW040)T`>c=v3b#u7Emt&`X=OR!coJjYf;Atx9QV5%V}^3mv%M}0yp!Jc0X;n|sx zA{{@~n@na{zB0Xr*ARs9?ONigAZJL(?>Xd&XFR|vmg2C|J;1X-^ZF)aeq9-K08{e zrT#`mZexr`3)xJUjLBo#vEI_j5q(H^tNzN_i3AW-opR2aTv^d^4QK6Qnp*r&=vRqk zuYvj=Cx$a?uFendA3Aj3q8|Yui57ZAeD+*G#bel3X&of z3dMLLju6A~e6d(uJ>Tt16QoH4-=)q9=k5l8qzLs~JTZ49CIvF(~Z^)Yn05Xb@uRh;`*S5Bv_1HOZ_&|}r*e=5x0;QrBi$_CD zA|6S8>KA`_>Sep+2maRjE8f@r9tLp5u5Qh2 zR=AMFD-1Bx*6l3fLVPSCCv49WS^4<*;pRx|Utjy@U9t9}nX6fln})Ti`NkjZ`{wW7 z{a-seuUprWCIV|#?31T^nv-p2$zIpIv0Bwaa-`=}Uwy0zkZ=1|o!a=&V?V#~ni~zb z5)%^-KmEvcyY>pa02VoUx+hHHZJ9QK70rSdkH!TeNlb)#ZdayzbZlf`U@*+aI~qEZ zN?mE9(l^lGUbj}SI%AW=3nprY_{g5jH9TG!`wj+S+tPpMp$~uMmVe%!-Zid|4wieD z;d*}wociZN?SWPKFoz`$a|mGu7|dYIV4esPE314sCZ$-!Nu2u6zx@2>^rlbk_~=As z)DK>h*U2CVVRbLMC0pa)MSxh7=&42Z|n6E zyV&#;gm7&s2!i?b@0b;QjH>Img`#KWEc*}aZ*OhDXkihM%*q+5zFBQ0MDVC1a*BYK z?671R+D{(;W8FS}`z;@9s9V^U?a1+GfA;WKH?IAyJ(quounX5A#G$2}{?gg+h-Vm7 z7oVc%5n`r413)}11Ay&-%6CXyeZ?7=wp`ckL4|KAmR(6;rwrVEg)kv6DC^#kKw#&!rNdMjthut;!B9i>4K(0tj9sS-k{E*=g7YB`=Fini;s zgw{0Ugb<#?svI0Uq2=>uRi9(y6Ol+%jh_SnLZpIL4yz%@DXB{H>669bkv>Y{wzt%` zx77{yWLw(nisci#_jKhaGyv#Y*HSTh0F>U7lhLRcj)@az*37aYo(mH)-SP9R8S!LM z001BWNklgk})u+RqGo9<5_*p z<#!c_4h4qCW>iOnU9gq!k9HrX`;Q&CDo2HH0OC^vbL95z9AcVuRX;}c^dYGRn3j{*41$p=gl))SmP4!v04%{(d(6idC1wWzp2dh^ zB8q?!W7y7Q(TJ#`Q&xGTd63_W`K9?uLbJPOX zPW$Y60hmaU8`NXt4FdzEoofvv%W)xMy1qgHpkfToylS3ja8d*S&>5BlW5IE!_K;@) z04ytqt%tWn*Jr)fk+KN@eh~B-(GDSTk=kJ&*qUz|kCr(Ts-|JDUb#8+vuCNW6Vgpp zePl6b_(E`Oc*MWFXikkDZA=o-9=&i?HfgVM3NlB0Yhcz@No@L9WlGn>2NTOMXK~z$ z1Q}%6M34~TE_~2TH_MVRW>CPLeXHfmhRBm?M`Hj0poFsk!kDmS-QqY**~8vN7?&#w z>DlU?sl9?x!mvi6#xKrN60~) z#~<;=Oy;(04X0c&#+cPm_Rh6?V&mb`)V;Abiml3$!x(;z)r04OATT^?RE4^VVfkk~ z$FRRP5)v>Yzl;!K2tIQc%WM?%g-Lqee_k;4x!aP9#F? zV6o!_s|~~iG+2Tugv?k5WlP@d&ujtmF*$zTk2PU?W!~VEtj`*A*KY|ajcgtOB0{n* z+;HsFvCg*6(aJzmcqAWhajkOlr}zEj&p-M%&ksDjY&YAB z!GZfeefiFJ2;zJ~p64F@Qs?!5rlwX)++D+|vS<4g0C>MYqDS}HTiS{jv;aNV!vqnQV1hjNoTXOPcwq(g$n&Fg!MMUjf>IAW zpwwd?zMrHT=#94`!U6#G+;hq-0xoqGE)?aX>!R}oHmo?hW1AG3NX6#?M0SKQOq*xILA9t{A%zaVz2=2*=l?#|9z z6g~_9AO6|zhgtRdrmJ^1Ul|djJmvn&AV%Nygls*ENFbBufP8X`@VC-m2bNL7xy}zv!P@2eLs7Eu%x?dlO%E3g26DD zXQgtr?As8=DZ_Abg~|F@%hA&Zrxtwd-kYzx`Ld2p-~8@B{MKC`5P0#~7oJVUGj^5! z{PBI)T(x(yklnEMvWK32a4b90-qi7}d%ymP4}3CvsDJ*aFCrv&q^_8!z>>fqj0qimSc(J|B7-nnC* z#^LK3PY?e5f4=mk@7?~b`HLZh0RR#1bn(Pj5B=w({f~X|=6_wESU;Bv9wF?zdb#S& zv}GUa@2^WISh8?n-b}Q}%`Hn$S#Uk~SkHs|kACBpn|`|?vu45a#nSkLKmTep+Wp?! zzq|N7oPD}|Uen`Yxnfv|VdQh;7bp!3%N2Q!Fmjk*Qw7%WvH(!~8&z9tI&=WwSvFuA z%g#~PE1TYgNKy)eT+CA4IMakyrP?1H+K(@j8&@DO10{Go@JS=6$k?3c}7TTK9E1n zajk}xYi-V~-`M=@Qzr)c`@1^V{cPW3>o@MyDt#0AmpMTNfbo0}041c-(terapod*^6|HsiA7x zEFrSU2SMO^zAP{SQ?`Rs7f^hN5P@S=NekF)$?R^MvD=1a=e>Dt_yRm;*djRXz#f^4 zHP))9F_RUfn0`*j7AbN=Z74{)Yj1@XcrGjt6vS71N_SjW)rTl`d=~)#W+?zr>I6P# zl(KUC{EX)FU{{Z|Do#sg{j=FB02ED!3-5C6$7VIIStQCXsqyR*UjDRk!yKofL~z&M zfFMG6MQ&II)y}e^G1xVxPf_CQ7;xei1#P+1IDIcxumQaWFTi z(IGk)G!Ark2+q{uCQe9PhA?8y$Or&n#znD%Q&qSq zGMvMvH8i0U$5x(a_o!8$h#w!e0AOpo3IO-M;M~5WzNqy?!)pql0@y_+!`|5KR$sKN z+-ljr&V~SRj@eifj>#O6-2=Z09=*RRa6L?^bNB$?(I%=HRuOIc%y?x~jd)&AGIRiV z;pKx(4QVMHa02mAz__8XoD9G<+*ty*B`Nu{=c{kq87ovrzWQ(u0B*e^zOmu5-dw+7 zgGU#x1AP+#54Il&0=0r;c8y;?^Ds(c3IMcgxA;`2`g}bB4zJ}U5dd7zRYlQWVH<4Af^Za;Ln?`X;8N4&Uf|*=8p9r1Av`d zcI9)0uYK<;fBfOk)JIyLedS5Zv^v{5TcVvFbu_b3b;=Bb(@H&0M2|WXl~Dj_4YwVd zII^>O590;`;c~|4Ytqp@^wU4@Xzom;=M(-MdgUjPb$6_)T?_!|zz>wBXvZt+!sLQE zj(x@Bqh=N(>`=$`omHjRXTtWZ)1_mETV4^uk>vztbQpg6qu{Rh{tA=qHPnu-Vg1dC z)}8$?e-{voF`0SD2orMhM5QoX^%EBw{#d5Pb36d>9B-MHBuQnh914fZT3NWjp!tmm zYb896&I6?$LL_+a?*>ml3e`!7)B^zd<#UWybZ@*B5f;G|^FBY}epTIdE52`wL`P!d zPY0*Qo6E)i^>v#FJJlSut?J3iBQF1jWVn_JSEp-J>%M>dzAqj8+P!yuLyCxf!~Ld| ztds^tDQd#(ew(%ENZqZ*rQ|1eeEgx)4}b2!SN{8RpMCj#kNB>6`w!mN5p924=WTa( z-cq$S%_^Sv-f4;L9MuKn^Z~#>eBomN@Ui!P>IeJ2bN8LU9gT)cTG8=r02rMZ`Pki` zKw>ab9(1XraG}xMAOPI|i+cf}R4LV`8aS5y!M^W&=sh37JOIFno)cTw?9LS?6VZfW zm-`0$c5c}-I61%)c0=1nmSD{&Kl9>KAASFSdF9Z{O?6GyLetz6QhIA*`^BH<8W@B% zPk+bvZvEWN|8`lt%X7?S#Gk%aNJwejx9@r8vj@fxX7%x14OeWd+cH`m|K{Oum#k9G z$Zt(={^D)_memVCI(}b9NqzM4-@U3~r%N4UiK)4(fw|mcUME?y_2Je5jRo)lpgqbC z7LJDbm=YBfctgH})+DBLGlK{+vb-P=-MWF*Q|tUelwhq;Rba!`4W1 z!^<)Zt8mR#(_sk_I3lu9o5pP~Uvc_49L5YEQ6vCR`Bp!$EpKABjROF9p6)iZ;)+F( zxTNE`NN}i;2_hDNX*mEO*6co}c8LN&Lo&j#EQ`-Fut!b}>ESV|21B0xHmj-5U=*3#O#WlM+exd;(TotZw!o@Y$te_8u1 ziRqdFv~aASW>VFS&Aw+iPT6rQJmXIk1UZ!Tan7gU&|!me1X4~g%7=H1Oine(>H<@D z+;k>wc~r|yIW~wQ&+(#GTEZ(K9Ekv7!E=4rs_OH#_R^WODoYjJ7|%|*8ML&uu?Qyf z#U*X=Jh%>HTOl>Z001Ep$A)J$kDdpVI)*h733V!8`L=h>)wsRIrw$gPjm_bT(c^kn zG%mEXnwG_kXMJ9r&-WRVDs>|Oph&zdu%1r=Y(?aGmeox=%!#3go;9z%9@4FrSFBho zxh8beB)i$&W*AwPh=fQ~Fe*3hG>oimTH5dw6%uQs z0N{C6b!_m+zJJ;Nu6q#XD0N)791&RE@c^LY1BVliKPAD?s(r+F+M}C#i#h-t)0_?B z2F>{8GEO4^AjBDGg!3F27t;o}tQ-glfsX?KAyQarJ5RR1;GSsg?y=HYlAYC`q_Yvy zNW83=cK`r0jO3k|t3_GzV*oY)q$TVc%e1ngf$ugXsURTCz`WjFj-PYP900_{O$3EX zx@N;UF}%7vH2=Wr#UK(vk;n?OCxVa=*yz@d@K0VUnht&U)$xOUdPpD)6GYUO05$2h z4FLLvO)5Qh$qd=2!7JO26sD@*wPD-RF7*!l8uNf>k^qC{vVQDD@9=Q8E)^qcAP9^? zx_zGz!W=z*%61(=P-K-z3UlODJCg42Zfs;2#6knWEIc~{Sa)2BhbInIx37_+3jeLg z#yab@-?%QRX{RcBetMWk_op;{GCrqfu6V~RP6sUw`pie}DH#*{9)FN!*}Yf3Ng!fUt$X#zkylS1Xl-iUyX#H5 zRUWDiz4+oQ$A5XEyK_q>(@?f%X-W}hg-0CE!|4~kCIwo{nzzhTW}xSJg9&fi`P-|y zCjfA=G}Yy6iO4e8WBQ2Z6er6QEYI4$?NOHobaZ5F^~A;Vz@y$!WuWTn+fzFiE>96dElI)TbH@yUerF=)_1OnuvxY zr9$zu|Nb|>|DiuDj*ol3yYI1|wl{U`z4FGM+>yDCj$v@4+_)~b!Vk`G-v65b(4{ul z_{WLr@`O!iaS3L|Fbu8>HL-}}s1p?Ksu0JNwpA5d{=K&hW% z8vqwFPcP#eU(cyBnylq#P zY4-D?SJ4OjIl{FO;$*2=87d*erXksGN>-wv8)J^E`P2pod?@g|?otiYW?4*&BoTNi zmH?0HkD4*prvT6p68-E@Jed?kN#HrNqWb{_fQF`KK@@?ozHQM(BnXEik@4)n3T&_I7GD3 z-o6*Uom#WY^R1;0tNPStIhCri`20cW-bRtnz4#pe%a_=S&$P7iLM)L;a!BcDkBBl4 z0F?T(8iBdA$}x4WM@`EG@T-Q)bF3=ymg53|Vw>pD0q3e4eOoJVQsoB6 zgZ2*FnQ#8759Nr|NCaZLi}f^AX?wYjw{vDD_xY5nt^SP7XrHTHDd)Peq?b5W4kMN@T z#2g$w%AxL>>v~&+N9HTDt_>k>+@CVIZ;@^4EOQnGArh0!(2(T$=3;8#u+qUX2|uta z?*8R%aoI>DS8_g}A~jZ=#vi|E$vnP&cT3NR_U$Jphw{$*uWO@0CGz7ZkXyrv3~JW!wd`GihXEW**r_xM$w=nw5JNmaV6o)T3lc#PN=NIy{7AMrE<{z_k+%14ia&O^ zOfVmlHQ%eADaC2fRvV;DN&$23vrnnxxaITe7KAu~3q_wiYPV)gx42+Baa3Ff0L7wa zdzE-pn%}AX5`zNr7m@3Vn1E;O`CZf{#HgqsvT4Me9cwRCEzh_7VD`M0k_Sb9feN3) zlCArOS&c?xhff@8s%s9Z^6>aD!!YYRHvQ9=|Mt$C-x&$1Km6JE-@50H=U;jD=;wgRj`O6NuiAzW;+g8+YAs^-cf&pZ|8%71v+^Sr^pI3a74yId~0~iG#gQeQx)) zzco*p-1zC^JqIp-`{!0^AEu!N-0}R>ouA}J_fI@GZj6;3&0{>rxBbAc+2vgVbK7}f zc}7+r6^SUb$}$$O8Ii-8Iq(0MknA-C0j>Gb=Z0QEoWim~5Kx3k5YTaZylCfh#w?K} znpW0zqf)8rxhGY{+yNadJSh6c7a+-N`!S#65HC$cc)kd|`p@tEQ8Ppus`Yq46&~rQ? zrAyvA%k$$BdG`7Hw|DQzT79G10Cu^jUw-1It8UH~MjpHW%kO;qM_xU3h-FEpE;%jt zPRN<3UwC?b*E)--62u-n`qJ9=b@6EIk!OE#(^WUCLioOi?|s|#cl8XO41jLx+V;rP zzo;73n|9r1dqzjoTHUPV^W$M9qE$=pfBOfU>RS+lhqZoHJx2jhtN$4WH-wtkM=x8U zlMMhsIPv2TfAZzA{Xc)_eF7^(5F9ETELj&7z;+2BvT{1?358SFMK@fUt*-`xAgEL7*GAgCz~7wS+*3UE_`s9jKJmlPzw(85 zt$%0PE&abw{?*&p-TC=j|M~qJ-%mZq_ng|Rq&>dAw>a>Vo(HznZJTbra0~}5Ygmqr zNVxuNWA)U@6Akr=#n`eh6|U#@^gsT{bN_!&-vjOKEpNWz{hb{<6nRmpA&)%yt%FBi zz5T|&>S)=!yse+@LJ&rlxs2{)9Zz#WLr9#KIMvXUj?Vnbvs2453{r(U*Qk0y0RVJ& zNR*P(%d$w7NXGE8UQj66$3@c4As!*drvdVt0L?k}XuDcXA1bghs3}HQ4I!@6r{H;I z79*Sb4ao>XOit5H%ZaFB#jsRK;8>Ptv1vQH5=+O`h%@x&Tec1KmTbrD-cT=vg;M$C{90_54aq_p8%aaViY&-#SP&%uuuMa*XaFFqVO5rTPWQF6 zv|6SSjzl8SD2w3!{Rh@<+@#8q6^Ur2QaY0cfU;IH&80Pf2+I!-8SxOx_wVn2F5J5N zu4TB#l(Z9(_AXzQ5Oz7D+FQH4T#Cz|^`&h-ejEU*S8WD94wME!eM$km8c9)m*-+ob zxL6A~_Iw{ya6NyrR82&~q9EE;gI=}8v+asC7QlQ)=ZgeF9Kj+HM=T^o6NKcm+^I2R z`vw5uPY(eA)7lOI0GuBUX?N}QL>7F{51g4cCI;fvt(^=e3;-e0{QPNAvk14?IjWMF z7K*m|$P3zCdo4SUFe_<6=x2|X-+Hwn)9L3|i5b;WL5ak)(Y)N|QtBwNCc?>-x)^h= z3jiR31|S1K(Q@m#^LwXu^+ZZ)u34-Uf@Mww+^$JGKOKx^xz z7fS%3$PJ6RGr7nWuS`t6ei}kT$a!)u`*L3C8abn4j-tW29vfEbC>EyHfW3ib_sgk2 zMg6122_%J}&JXOe-M8EgzQzd7Fm&N?`@ej*e^;maANxk$b*26B+d6B%TTU+U{nDH7 z8Y1DG;Q>Hh^@U3u(#@enp5I<9P2C2K!k|_CzhXA@8wj<@a5WG@R9Ov4tD7Cb-jB5Sot(-+%MroR5t1AJ=FTZ;Kf4yq&2j(ebncB-Q{9xB_{%Do< zVHyaN;}cV@mzIb;P<-N&dBQ9ehNmCNA8H7-tPOQ8X+eYu8P77ukI=n0|H|9N%nH}B zSWYXgVnH(nTZR{VGttT`|c*3 zxS(~+YXXGGNO`LJ##UW<&D6vN&ovGV9dv}(KB;>eEaJjK)bVW^P=ScED#RDF2Fo+6 z&e=h6g$oHpbg2EN4cA=J)}70bGqT;FG=}8e1816xGOI08iY&6SVtT|G^&?RmQ96fU zNMvP(Y^&6K)kJ9`Kb}Y?j*X85fiI~-eX8MKzy8l{&26!c9bq9cG&a!M)?T&G%IqXw znaGc?Y3)2UaaiJ&)BOXt?R}eJm#^P-!{2@39ss!difcKA)Tiq2-S>lu{6s3A>T2&Q z>Ds@1Z1GykIQQf_lwSGi3jNe(|S0#nXRt?O$51F`h%e&mm9^7fj6J3RdeO4ZT&mPB3sbji_?5rN~EYRkSLX8Ob2 z^_KTb;u7QzBiWvx{o-p|H~iK$x8AXE>A67wfG2U0WOy857!(A2**OXTj-QuEl3@_f zvItG}TY`X2l&ZoIL$4vC ziniuFp>KPlE5Wiq}@NYS+-wXWDkWV;=4? z03esTLx~2$k&$9rm@uLSPDYR;Q&=Pr);G7~(E=a@0Fj?RM;28l5s`1a41fm!;ms}p zP}jEt043!Bz$8Mh5T;mY2t{zF+jA9bSv?Wj;3+N;r{}~pndGR1VN#BbqG2fN8ONVN zKZr19G3GJJk%-2c<+5xrB=Na@IA65ts{p`voznIzL^|S|J^;`p0n4^K=BTPpv2o9{ zY*(SlC;%X0mMdDtBzxJD-HtobA6}&q3IMQ7BK-Jc>W&SX;Asg-Z4k2^JRqZ0YzS)fB(J4%s2^+^&$E7xZ# z3sW&;+j5BlZ|5cg00U-cOKN4rRflq7a7xBFx&~f5Tc0?Ng4YyDQSl9dl7butazz(LSU0$d`HVK-_Sny zX77#VA%vlg0^WD0BGv$D`XfF9>oAav1CU= z6kz2-E5@JIr5zDIOPIqh<@>X<8ztvxGP;#KC4-&8oPFl_({Xsd%~F)EYa_XlKfLj- z(dYfM|uN@KBbR09V9qHOeF_TbUZV-4x%k}fwlwyB2fdzPwe z5jNUWIHN}j(an*Td4xe#h>j<}wsyl+Gi0ASj`{4bzP0}C4^TpQx;6`iVG|W}3ji=8 zT({$bCD{Ymp4D6IG#q_hywX%yL}HS}M8{#jx$XCpWDnrFPU}VQ=y>j%g`tjc)iR>% zr0=?g2qR1V=X+@94U1$QGc!=McJ@Z+2}O?#ay~;0#Y`Xv3%R`MFLi_nM+wW5Ye-a9 zBATvoV)W2BnO+xZ9vm8MOtyw1;;V1&UDLkuSoRPA)JK|A;^{p+RO}m8rk3fn##eOo zoLJMg=IF?QfC&vVQ5)a`Pkek&?Z)?R{g~(5qtZyNP}3CO)>$|`UCiX3uJ9{Fn0RWi z5SEJoy?M&;+NNL$qijm#FB&KDS>%1{!=Ei^*UTriv%J8z;&$qw|&xe zEZ=hh;KGkT73pw7NWcHFkCbfX-)?>Y5!8tC-}@>$olE<9L`2w>E7$V+EW{QP0Yq3OzFzxo!2nme!iF3X>*-4KqlTfxILB6~*)P3bsC#T1A3 zJj--)BhCu|fQdMR1%a+b1Wgc#q3}5E9uZiAC>LVH#Hen!70pfnusq3hB}_&FpLdLe z2vhzqA6&&g;rXQy)8_fJOdJ)pPZS!|%Qq2*NyoyA#IsXmq@)|F?v8WiffGHA2}~lX zq({ZDZkA<>1c3#X3P|=%>)Tb`bsVQA8I}|yTU3(~0b|6H;F445^gYkgD&Uk6qIs@P z=pFMI+pbIbo>Nk1_jbKv1`xid{IjKM*W6XN?kWOdo~?3Ry>dJ30G?;5`j99z#QyVnW!oyRK6L8W z838~DVVvf$B_Tu?Z`w&}24PKeDcSo1mX$DtwYS|)(6;Uw^uSTXbFP=f5TQte^V%rH zsdgVibevlS02~J0v?xS_vy7&Drz9e2D#EczdZ=J0BY-jg>Jj#6xBRx9PCNtv%Fa!` z>)5Vhl)637!ES^N8-2r)$kQByNlX=rfN?dPWhRR;PczAIPrdCjcl6HdZC>MvaWmT;;il2Py=(EX!9_(AjS6^JRuYeGZLfiJ|@OZ65nrBkpYj4G$UVtbTj8rPt z+}IEg3lt^|%b~ypfPF_!#AA`oYua_wQjGja;h3TOjteYH008o00B~vs!WLmN&kg{F zk+m#&*SeOASJ(gGH)HK}+_D;abfheyLWmwS%jWC}M)j;&&V7Vvjw%-^s`_AsH&B*B zdBy1IAKbiQo$Gg0xKEZ04B=S*?1~uEouv?kAt?YG08C5anR3G(FMFY#h< zgo!`9_nBWm|I4r#27vdy<3kK)8DLGvusw@s#Gn82(fdF6sgqqN4|W__wk)VZhLl+Q zmtXy4@R1d*?bq$PwrJ)7fI?KsDg{g;M+qcB@=W-_M}D&T{=W;}jIt@!D!%`TPqajv z?%MeN5oJKPRfJGrn;y7oFdUgHJvYOc34&xX%aAGY>%c-8y>MZZMvl(-BdCTr-X}zQ}Mp8d&Yu*<_tTY&rq}HXqjdax6}cE zXDwEOvt=@gFeh?$P|;A*4AXW20Fwv^l4EJxaed#TFb>{4)X_DT%P((hQ*{>r^0HQw z3@0PPP_C%zCdbeuC8_7&CJ+)D_`S#Y?xEtf(|X064IgyXJ_$AepfUQIa?y%NDMN-~ zj&K~~xSpaKWT8-%u9XUfXe=fb%8{g%D9Txu?mTf^*Y&^n^k)*$&}TpUS%zVL^Q$Mm z`-2~sR4p7$w6AP`>BZ+;n;V*%n*l%+*fr}n{^*B4yzP$LS&SeWO{dcUkgl#C86JA= zwO6-YatX^a=aPvkNl;T)4FG@;&sEREJ;re~O&iA7ZXWGc?^Z!A(1;f} zhGS>|NJa#JRaxWpiT*7J(L7hp7!dy1GXPM!a+|}1w5_YvEh}8la?G6LXpUn{JSu!B zWhI+J9so#1B^nW9QBTrOOxz|-hZ!89WX&&?AQEMYfaq|HZZJtJFyNlFO#pCwnPM}J zH?5pGAlXAN9K`ve)w0bnbDnGSd|CTolGdajMLO=MTbD-whPw`l(KrBrjG0(;;Mh|m zov&}c;eG%F;5m*~&68c00{}9fBA%P{a{$!iaw$f?_hHDu1*Nle)lLWCog=}f2 z+2{Na)Z&N{uq^DtaPm$gc@%Auxfq9wC56Wwo6YfRSz0D;EXJ~Z7D zB~3-LYWeETLGfI~6^>)r@fxeXiXbsUbmi+aY0Y(e{Z21CY&meEGh;7 z00{%5PA(^HShq^iO@=mH@5Dwf6sfuihM$vAZO#y!uHipN+s z`LP>YCBxGuBmrW69BK#SwV=&B~fC>PtU!KF2oTCiA6#xp7fy1X0O(X}3-t60%1lMIh3N;Vw!>T2lu4%dF)AC!lms+MxKJkcq z-7OcUX-r-(lRmWqtLvvZ3SD37y#xR(#btWC-*fv1TAG_3-@ycqL9{!QsY|EFbrKvI z=^f29H?|nI4gee_WDD73JoSn9-fy}FCNKabsX73V3evjfEhn;vtHnA1$PG(boK414 znkfT7lCKt-$X`73nT^#OzOeIC1uYw4;&qWNsj$#lG=dpph@tB0*kNTdsY)T5qj;KR zSc=1l27sE5?nvih02sXeZEiG{kH$>YpcF@Rt^6E!nqklTG1aSObf&3f&>?mCghNhDgze?)jK7^Ow{)5k3RW{FYWx?=9-P8%D~y~I=@R; zf-Kpy(HL7ds;2|;EzZ#c(r*EPAjp-=mW#33+0NfpAcFYfy8CKRNLt_#lqNr&xQotnXc|HIjghZw>;MoDdaIykb-ghj;V!TE& zPOH2vZ^Wu#mO{Yd2G`JJ(z1Np^&~})hee7+dD%2Aw>l9~b;H&amS!kSI%^ z(#Y^|GL;5^kiftE^2@j1amPz9ztq^=1^@%SJ(yw{hRJkiwr|_Ya{SZJJk#FZZklG> z@@0Mf{f|8S$XCDi)xy}+d14j9alJy0jVH82PyV0QOKzdX`MAeec2N^qI-UXmo=^Ll zKc)J(Y|B1AlbEoM;+T|NB;sM#1yiyS$NIWy0)T}wo@>#F4Ka<{DIYz@v5K0{&=?UY zs0(pCV*}rHj>ylRQg>`H+v z4FKTrjC}F-l9wl3BIHFv4?k17{<5=4b^s9TL6P$Ds+1V79qu|LHgJ*J`tDaBw6x;L zk!P|SuEs1I^vjb500966(}|tcHQ|hrMB4Rz)Ab0Z7ApANPkF_h@;B$`R<6&K7Rz=+ zQ3uG?Erh9K2SlO4vLwSSjQ@fG$sUxw1Hk$evZPn1+z!S(;?_uRyeDr3^V-G`7^P_y z;sjG`svZC^BtrH%TBUogZv_DWnB=Uv)Qd1QO2@+hAge}Y?(U0%;USO4d_(nv6M`J1#6%c{)vX+Vnc?&Yf z{O#MCEX(yhRdEj|xb+0VkOZ9>9L*PdhK9QVAR@#f5rL&608lKEJfGI=@@3oyk|ue} z)d+9_z%a79QJ^ueOyI|JUTq*|uNGND?V9=c^nv84Soo=*=Wg9?nw70nvQ?fAVSzm; z6#<~6s6E{Tw7`W%wafS*-}bKV-0_lC zYOHGegX?a~MayQ2<;(kGlk5O+;PEeP*>(rU)25*e_a8EBckQ-6Uc51k1Civ>Y+20S93@VU z{dcN-M+8c6$(h>(Bs+`_zeTbK2yEE_z;zvpB=h>%659mvSZD~hHj0e^kUFJ}9a0Cf zW;Ux0JLg6{V}$3i1xzlfz}&HP)Y$=W%Tjh)AvC}x(}p08j5tGPX&Tznv!7u$da~!l zUANyO8xjCun|0jst#{BmM39?s=ta?GP%>wVickid^Jmzb7E^cx+9$f9XDPE06Hd>^~?2i z(lI255dlEc6v>fo&zh29$B1Z)I-{kRCOXAW36U;4iOt$_BGO_5OL2K^bUZq>ax5yz z4gg^$metBtHE-q*T*$O_n2GAP_MXT8^rG|@o)HF%nG4+CX0AA2l6DHwn4~B~A%aST zR(It|$9Dh#6GVg_>{V3&2+^UYhUNwD+IDP1>M1$pvnhnbG#5ckbiw`2&mErczyH$z z0RW2YTAou|cbZZ+bmj1oqpi(#^B(p&`ooN4VEE*|H-9Bb#mg`HVr}&TS7c(>H%TH8 z+uDki(VZ~>2r;c3SyhlNK{$Qj>Ta*#B{32V%c3y{0I6vC(kW{?OVcckF~P;T^?ChG z04SMV3>n2p@O=-HBsu{Lng?qP6HJ_|MYh;K`3Z#Mm}p2ebS)YZEmf{OgOp{N zqenaLx##YI!9iU&F^LkXPiva)#)^a@zBtaVVK|i=YLtfaybA99Mv~4 z2mn8O@S!{3ai^hcwdwS?zx|yX-gYAZShLk`&kDn^iZZs8!H!>lbHg8e#;2xc$!CV9 zk03;2%;T|w5KbvmsgGv>MG_26n(mm3dI5vtKv}@+0RUKDKkZi8L~k%NamnL?&{!yu z6sAKWT__rYP`*6}enD(ObrJvouE?vDZj`3A;hqH7SAjZ6l1U#@h#qr%nPrmmC<-gXsZ^ko2GnVA2FSB-Ch>FgI?IAEs}`qtG>tN{QlOR^o^ww1Fg zDiF`5g8TpgP&chmjUj@-JfFs${bpN}Ne1DolM#ubyp*%7c)Thl@|cg5_CNe3qm*yo z{obLY&yE~@wf^GW!Omy=(Lk}DRn6t0t!1X;6bvIDW~qRu_Hk(DJ%cfCa+e;+pZ1Dr zjWTiX^%+cB76M*L>w`@z2oeJTMT!(JnoiL$vXe;mwJB^%Po4dFhHEf!Ymdeha#nCg z0{}@7ymM@ZlU5_@g5~t2K%aYdv}MV`3Jpz%E595?!vscQ)AbF*2n%fK{OO;vSo zd|@meO9k)nJQImVi;`30gotP#4jV%L&&{TAkdx`tTiiDB3Ci<%Y> z^BxcYu;X%ybU2cBed;g($O?{zsmGsw830sW2LMbGRF!1FVcT6pk&)_H*zxFbo;?<7 z)%<9!K*FE@VE_1t|!uZ%wu%cgWT-LTkf0swTr^1TF)lhtk0H8Awzp##6Z=-vOe zsKXdXujaVE4*&vOaxe-1PSA z?|I?%=LbhK92xoX&wljj5BwD$V!M00n_F51N_@QUS6_VoZ-08*4-#xNAlWAkCM~iN zTJ6leGX74KO(k)-{`I3n>sFcq27r7dRoGPx0G4NF>O!Wg8ER(Srp9q?fsQOo?wpcg z&nibxW@q;vsgE>Uil=J^$Fs>;I#W19bQnnTN6u1MbCf`N+>5Wgxckywb3NZFM7Kre z7CJpA_?{c%swqU}jY1f)rgJ_^TV_U-O_{zOknCUF`RS3;!0#BzzVsjnGQlO=!pp;S z1ONy`_UgppF*!IpFhR7&-OjOtLE{>+K`9twY>K-4IYG*G9?d-6)%UvR%Ltno@zH1` z8mR#Q(^Pb$q#LSfIF45)uRMnV0GcL&2nkG-qBxEYQIseM35E^ z=vvP3EK8RhuVmV;HQ}W5d>vC~TuD8Lp=nZJ8)zBJ_P)Q_ z{^i!X*75fPlD&Od^E~!O*&n9!X8^G6qHA`}%O3^+G+lY)&0lvMe=VKdysrHd3(l|y zz?wA_Vw(F#3ejkBoCN1_4M8BD^?f+w!lzjM5oUQ{9picaxKaDKnT+GQ#S#$}%hL6r zeO}gimf{#%U>fJjvpbFo0Cac1RTD=%wctEEg~F;~3M>^B*+NMf$tw&^R>i}4SqXwq zB}L~LK#1t>={`Ht%{6zL;tqL@7(*$D!X03oI}r%g+H z(Nu(ItAs-tX8+Or-Pb#wqv`W;&f>Z16H0l`k#N*W#2CjhfoV)pk|NP)Rk}9tYOiF= zEXOyuG&i-h^mKOvfa7`q@P~hN*Ej#^f8Tt|A8;&dn&wqkU(=K6dFa6h@45Rf!!U|c z;a&IM`-AU)KbLKL_j~SbU%uQh%w!^=l%(sgzhR(v_LR0+;kcek?Bvsbb@=iB zz3!I#{5i7Z0Tgv05^AA32l-sVzy6X+4DrWdm_$_MWc$Rl4cwF7gvd1)^#ba30SpCz zgrWfeh-Kp}lMvqQV)h@E{_rXb6Pi9SkE7jkv$M0Lp#T6N07*naR1T6^CdSj{>jgD5 zYS*Ozz;QH{QEg>tys@T_7>FiGma;g6XlSc<<6$x{`xFHL+`(?KAZZt`_98XD>$tw< zd6wt9h#)Ca#6zNGb$BrEVW0ARM&JC3HP184FSh@#3>Jh58JCv1x191iV& z_-_HAZO1#)%Pt!}_Wa1nXIi%31TY5R`Q{)))|jqmx}L>GVe(Jv@f2Cm0RViMiDzfH zhCyfbQ0_EOy*}xpK5rXRnq!cCPvdyHZv@|a6rE4@^IDGqs4gP)JeBCg`xP= zBuB09Tuf8KR{AK>&j1sbHt6uWc_qBu=J_q zQ!aSfylh$?LnDE+;XLu|lH^&I4`AhTMF5D$QasP3s%wgpl*x3jS-ldI2w?^QI0h&( zk}0zHT-G3n+Q)BR`K>38f9kgCrg(NmO{`En##8A75)Qup@))U=mXzsMPpzHQg&9@t zSu!2{TbLg>njOm(hI2Aa;TXlsnn9zaC6&-9NJF(!+pvND&U*>u{W zuv;<*V_b+J5Jv2{dkl%$U;MVTKT}*@%WrB)t!r*#u&?QZrdbTwcAaVu$j1;v5&G*h zk1!Ck1AtSXH1)v>zZXM`05CL~4YVh=V*`Lv^2ZcC8vSoj6+5Q{)Jc#WC^(CF%LoF> z{`J83AK3T3x39YGBU|2As6fOQW}+3Eea{=keD}z~|G4VLnH*zYef~%5ZvHY&E_(JU z0GI@GG+W*+^&$V{*!d6Ht`L=w>@dNW9sM3>pPmiRbtsyRq?UI)|ILkee{)P3S{mCH zM4;BlOc8dQk{3NY@ay>vhC*~xxV0tRHmDEJiTsLlspU%^tcPjNyC8Y?QLQ|xILDiM zk!MfWBDt=*#5}t|N4onn%bJ$oeD$pW&|JOjjpH4?*&NUDcU=1pO!=LCCvUp)7Re}v z#jxW$0i(?`VrQo3(;xUNTEqZg`Rd8R!Fz7~W6hLDvct7i&D}%C8ta-!)^mJE(MlVe z*FD|$+^3)Z{1>+Wd5nz=$bF~9yj~Wd4gf+7r5i7d$z|mkh3M)~t*AR~5B*YYZU{(r z!`AZ=O}90>F!}IH^3@{O=J=5T*_=1SUfw5^*e9QO@R6Uq=k^bztI}z)0g(s*3R;#z zRDw?(KGw0OePvhvxIjmEhWFg^gGP5xmuZ;*kQN&Z$1q(j!o&d}r;W^Tz7Pc28f#w+ zPxgsuiL?~&%K<>;M%7D^{IaeIYRx#80R9FAAlH609ZdlQ_b?44M znd?S0T`^77vUSIGG)=awtZsB0ran?o0Dxgcmf<)d6ppbx--1a@Qyjwx75c6eq!G<1 z4Gnib{o`>2hHA#N|hPx+{?0H%4K5=ZWB)jd{UA@np=zgl~ z4|CH;=jRUt0EatXe0Bd5n5^Eo^0s&0eE*`>0btecbA2Xw^RB zwrV(|A*PuG1^`A1a!q1#3@awdSV+Jm83dmi&M1RpiAeeI(sVyeua>PNm5&c08UU1? zo19qKDUQzfYfg)yF+CpUvyvJOaj9rT5OKsBiL*&G=Xg}OjAYP6>H z6?KMPm|2J#?2{=;SO+(njt2l35oY0xB@Izv6IC_ib}_-fRq5K?=#Zk$PRQj(hwixJ z_T1=cmNqvww*9i5yLasZfVzgp(cwYY^6t93T(x01UXZ-{;g5bSc!%Y90Ql~=|M|V| z|DaSTIPSs}e(Ji(agB}F+}HcduOI%!zpT081DfZ|ouT$hY9CzO9{%-f;-Owx+gL1h zSI8;?Kvq&IVcL7Gf^ z0P3a{rc*SEC#L*5o@aTUHC_aOFpX5+(MF$XiB)qg+ut5a0P?!unliuaUPO!*P0>=m=1 zsi!j|h(5OLlGBuM!$g3ZG4~GvcZ)y&;fJ2OtR|9b&7g ztfwD#iZiVtQGDA_zWikwfAriRLp{&(T}OEJ5NutGqilsMShiF2oKQ5xMFg&7O}qZI z*ccfq?^x5e#>NT=;p+6tq9jQLDH@4sni-8nTU#3c`X~ECJaO~IY)rs=yYsu(v8jj! z04$v>6gm{G9{@_iT2n3C0rO7BQfgNwn#P1kZDt+rTeuJ)as^$keI--B8MVk zLCZRx73ZsDMXpQNYo>g>>)6hVcaP);6R|MQgb#PVDJwFf>5u>BQy<;(p*_p59+LYf z(u?C3@Vf1UNCW_m>LnA^Q7#4mKA@9VTwbcC#-=h45$SMJNMkZxw1li?ju`$#|CxC( z>;Z;K{b3wg*0j8(xp{bW*h6-2-+&|+uDjxfLQ(p`Lq7xnUSKybyW&Xaf!BIo-?s76 z-m#wT%eKBW^m21cD?{;JhYsx6a=Gam&%O9809?6a&(V?n)7>KLh5E)t%LAVX*RcSA zKE>iA85wG_q9C zG>_*IElhsj$i@-RSEm+by)hQ8jzM)@df7!AuLXdDG}4*b|H#unvn+RI+x07!Ul-w$ za!FA&Yxjz`jelycBzsZM9zXF!SKlukPg~ZqdDqUXV$pN*hZ!CjSiS7F+xL8D;(Ea1 z0Rw>HjE~N(f|v%Qh!$~Nw@^}2(FjMS zC-LkQ73SF#JyfvkcmOb2JgbTsyNM{*j!Dw@y@K9jd1pAoV51MCRgUL7p3g-XW3+sa zJWaAsxIqR~d!niaDxlgG)tJ=AalK-8Y?5StWO!uCPl*EClgWJh+uvEaa^+>0?+iro z3k6*_MPdE&EB^Szv)>y!_*(sjOXnm=58!!LN$n%9x)=ZmghZi9QF|((+C4PJGSSM} zFVbryNGTxS5uydICi3{pK7~uyTw;-yrjE?7Xai$jU~8~$M}GEeV|9y{j5>~HTE#gT z=}bs}9YKhuSA;R?22Xx=Itl=USzb<1H?7djF><9v zJtZFO+52errD}~Nl{^gz4(os18~|aCThQID)aGTI!8E;rZ@&!b?N@B*Vf&!T^WEI z_6VW|#n&btU>Ng`aOwW6JHE#R8aIZ3caE8QUnLdfzhUSr0cnD)yvXR`rh4D90&U|x{fB>n0THt^MpDOv&SBOF2859iRW;4kWH!U zgw#}D+tSj+QmEwY4NYUua^67`wgY%l8ft|Js8ga6c7A?HhZm|GKsP z=AvGhXe=`wqHJp7^WGxi=x@Hdy!{d}oSLqIB9HYB_g-?>mlk^@0ZfAFFP60|jbZ2b z=;E4(IJPr7I#yMc!W8yAzmU(Hrp5DoBoZdj9LkC+B-sIgBr$sGN$<*Q-M2{gv*5W- zyl#C}%OxjY{lD8+Up0ycE9a)?4W6D|F1IqaHm7IjG#Cc6%OfjmgtGUGNQWylpFsp_ z5SuIS=-h!YHy6#EZmXIp zFKb%OLz&)8ZB?^k2IlNScP0Y>|N7Gh0O0Cfdj_@M+NwIu zlo^Vb6*(D8k_`O#XFnp*f4H8ptZ6ypp>JIG_wDhvGnDKA01(g)0N{8&!*B0;>L<04 zRB?Z1hw}2tcin3uFYA_MIR}s=i4os-1D!j@wT>Uj>uzT;_?3+_w>eLSJpfOI4h zZftRU=f!F_?6_uRY~%OP{DpTzFz^3=Op8Y$lWFN<(O4=zz*G8IGOsFC%`OIsB zvgwq&Yl(>~Lxk_0(R*MlldOwY(nUe;d*Rh@Wu+r+Eo<7AZ`iZvGc&iB#=K0A+uTG( zQ)u|4Ha2XvZ4T4I8HeKVNo{OcYFSyecruZRh()U}+IVfixgYL$@rkECVOj3VhC6oe z`M`LayetnLJJ!CUdDg8B4!?1z>o-HgFGV8J)hjN&ZR7ma>y!LpuHCUH{xH)4pZyk1 zBaWm2z_1*aN|wyiHS#P~H7Y5Iun>^x0TN+hoMbmF$8}wSV+aDdc8sMR!x>b}UdnG4 zI3|c%jj-)SV_`U;bA+MCFxZl!13)S&=$12-l|uqs6%SJ+0s!5#Iy(Eua`~3#7J@+O zWL#qPWHP2Gh9ngfRZqs4fR1MvU(!3qw=7W0Fe>{oVUkQm&t5Y@JeT4XGW3gQoUmxu zr3^DStDiDLbV67eXyge3abz73#zfn9%^t26HwG$TS4=wt$1ueJ07ry0eo!&xQ}Wiw{-S1MWa8{+m$BkYxtnmX9A(|9eqK!jj*fX=9Z##|=>|UNr5hOO&EVI(l zlGZn2pQ8}p(DCdKm7$|s@A^9cSb4=g#^&ounxz=gvLwebEW0$`-gJs>m))&oGZ^z2 z^Nyo2{%8<(TF|Ym5W#MPL!SOQ7_xjnGhLFOFl>ZqENtl3V&jreJc5s<@a0K;9O6@Ss@Ay81q^MXG$jHl86dL1e(SGz;Ob{ z^5C05l-G~LAug7z)@&u}z)_nyWAmH{9vw(lzlfkY_A z(UkVmQa)?)LhE5AGHx1UXhUzA#$5PNbickP-CSS$nsdamOqQmxcg9knSi&@X znCQ|zo`9Om=1kLK1uhZ_k>q(+q9yt2BcsRu^64*pa{I>}&#FYm4$~V(FDy!<2h5>Y zn)ZBfhBhxe^RHX)S|VF^m>_1a7TF=`g~jg9&<%#64c!naQ7+0PiPJT4xhNNlax_+{ z461UH9g&#mItio0@Rpc;8n~{rY{z>?fAs#*gO4|?y!=@H;9~cf=4vWwRwdTXNnbya zWCwud;T8RIcO_}4aW2&oo;E3A!GRD40J5>o+qliUApJ3hN@ej!6;A=UrlC<(`Ks>N zn(1q<>y8YMR;Q~-l5|~HDoCbjaXc3eFUs}bbgg&Xd{-eBT9@WFdOB>UQ>+b-o9@x5=C8W`?As zlGNBxXSq{Q7GWm3l%*a~HkwnHx?o~D5Cj>bLn0fc5bb*Q{ZD;nd;PY5yy`0e@W%1I ziDdlL@n1AelM}e`1u*|va4Ztles=BPs6)LuA~}9pw6QrIslxWW!?|Uv_|nV&zf?MQ z_3l5KQ<7(#vV%Op#tnRW8Gm+z#tnSq1|GoL|C${z^79>)>(^aKL6;Mq&&ab8FP5UOs*Fh7wN$B3(r(UUhpk^oTB43VRK-}6o# zdGT=A^%)OT!x=>=1yCk9C~}tE!bu=Y8q+-_udZmiGbe}~MPX9p7)3V$AQ=%LA^?En zx+4WS%(H#NgMIz|n>MU-JzvpH$MK>ePAch*waMyaC@&kP?PAknX{_0Oj$f8D2vmbe zpRV#KX$Hqo6IUh>qC-LhfiNizSSwnUwT-IUSBX{>6XAel55O@rm`#?OpU7v$C~W`` z0OYOHKW~TbdoU)i)B~Rta<8-)ScxLK06#o)3o6b z7Zx6W(Z2Iqnu=7$eOJ^ACPd884)zqyB%u+r!x;1G+GbeWtm*^vuGk2a?4e)29FW~I zl5BO(VX!kJu$KVo+H@45z%V7t1e zOd&(CEIHn^KHjt*0B9=YIGU*(T@kN4nsWf)P)^$!UoloX&9lok4*17$!W{q@an-QX zG>|jK7jKu|D`pZV8pPjl*Lx0*Nms6|RY_&M0YWqqE$F#NtAx2>gt zV@Ta}Irh~2;}prx^9&AE|HI?QuUePhx-50oI{Dw9$$#X=>Xi-n%lEX}wytRzhol** zX4pwuZu!FADoW;TjvNaJUT8h6wyIY7**i()&9_Wr{yTtUecJ+AGZ04o{loS3019wt z@^XrOf~BI4jR^u05n;o+_Sg5ldF}4)jzf%3$~@2444Y$UlAsO8`PMInbjw@UDD>xT z4kLoAbv#wmC!6UZf0k39qhdfo@rsR=II|Z_j41*DETD2lpW#%5vsrC`Bo=-?wy<3k#EAdZa?|I>D&N4R}jOZrfKP#G(to;5*{8Ju8?O(1ga8hD6hPO!eY2dj| zG_`E??vJrTA{}2bsPvSq#XSs)R$(F`J{^{aSLC#j3I~G-boMrB#LUXGFR^0`03b{O zfVb<~3)7h$A)M99Q?fWqf#(7Mrpog@+jap!S9OM=byXL`qAZsXNmi$;WVs~ErC6*Y zo#~vADIDi0p?|nD_*1vlgTt@0m<51+1HA-6vY6EiDurkO2v${fTRky)2$SVoRbiy; z_-cFBh&sq(R@YR5AnU>n{aWUxhi}`{y!%f>wIij$vq|>q=$;574F=&UHjHo z_z(TXU~$aoKOTynHdJvue`4bR7!gUHiO{O!4rkTj{(Sk6CJ1ug3}%>(p6oesZ}Qy$ zAS?2QWg9e8&h%&Q+^~Hx-xDbJgO;JN=sMQ1u48xJ_($DC#{fVoNxZ(&n zZ|2S$|A-gaOkr}=A4dsGV5Bw?NiH#@F1(xZoIntyKnVgJCQ1BM=GmX0c>Jd2*I(Ou z^@F$lkR%AIm&;^{#g|H{Ld7Vfot`lx z$<3*DRD?5mc4^EDwlnGVL|E$Sja%w0y-e3Rpnls007!=5J$HWw05n}GDcNjpP&eKj z=y^ge#Ecl`A$~wd>Ydt#W2Y;1AO^kfB3$>$ly%wQAeBZ0#H|17gt!-9Wt zRx*=OMz`kRB;a{AVVHDxKe@JP-d}P$&GlP8tL(7*f zcRin>$v}J>;#sMr0|3u5Ma5J!lc7k>9n$R67k!RO69keJ9T9$5;7!}5DGE=Z*+W7D zn;9`%>&(`=k|k*sE3bWIIi3MNMIwSAkmvb^Q=IJY?2iFd13*qQo5SG>V@}7BsH*wS z0}trB4ghV-m+juQOV_9Vy+Q*2$M1gc1K;@$00^P*NPn+k7){MB(OB$9Km6e}SML!8 zmf=DVKKRhx_uQjQV-ypO#qPiFzR!I2vk1s@B<38~Q&fY@A(qR%@$a8scKJJ!ZJXyp z3zlKoMV({ayRQd?c(2NF^@U2`b$pq{p6xgQKrt4kVgLXL8D=gZ*`w@Q0I=Nb#KUQ3 zAViBo1F7gf%LIz@1_@og zS&pLxK?O7&)$}m{Pq6n3^hVWkT;D%#)6HUAQRxH#jCtvlfRlrwbw+k*dEyvI!a3uW z^Wqf~V3I+6DiK{B0@JSt07An6z_Q6a+R~LX$M;Wbl!<$<8>KlL^cTEF022VxA;#3_ zeAv$b)ff_mhR`ox);G1ALU>M2L<I~F+W2nt0Z|x54p*BETGr9Gh^PfVl^(TyFs#QLhH>O;(xOb^Ke+%aX+bzl}fe_+2A(QDXsT#&4!#QFC5@C{M z%Lh@(7?R}(0Eiq@mr4v*rv?Uxn;Yv4XSrgZa6FyGY$75^iXIUd*BZG0mYC!72Qykh zWk2`h-ufi7zAdtAW$kEoFG93tk3Rs;ciN#``=OKg=5dxaa)fKKk zH0x*2I|8abFpyygXV|4=xfBQ+Bcag9@F-04oXPrgAeF{7lH(fri3-Z;J{4x75iW)i zy6=)dt&n6V2(n(NuaLAoM;!arUvAlU2gXylM+O+~Kh$Fo>o?r$xl6S8ccf63(^iXY zuk_qvcjwp+i4mqSiIHQUL4cx)T>`3v+I8`Yoa+&ZZOfo&mL#!ViAmh=D{RYX-gs;9 zx*@*o$nYDB+MQ$;Dr^~LVwLmkXTQl{Zf571^WYeRCZq*ic+TtqP;imsmD9g@a3;+N zRow&tP16&pcy25&hDBY|gZ2z~I{*M607*naRLgQW92yxOT@arAY>m8P$P=&szVGUG z`IjAkJ*jTV_N*x@nS%C#waasTFMayy&wpUeZTD{Z;K*5(Pm@UYw8+M}(xtTxFaG4= z4b{yjpZfKf={HRv*(V__vJ8emx;`e4ob3)1D23-iwMW^MX=`CI%#o4Kk%P&2%Ct3} z31{zLNRR;$dMW z?G&O{L|2XfNg%SLrTYh8Iv5hekjlKg@Bg$4mtVQ=^UaNC zaOe}cbuj_)WLbMY4CkA*a%GG{sMRJ!PB54gAE{)3vF5JUl1zoLHS| zK8No#1ppm2Iiuv*sZF10<2y)zs19_TI!)7c& z>Gt48v8su1kj}X#RNr@=w$C0v51nA?&2nOOZ$B??Y}B*Yx7V{zUHf)T9av~mu2P}J zpn+mgN6_cnvOfT`3kbi%UWsrpRZ!IkhF*w10lGe;EtnG|h(UP>!O6_R2@3~%CLd1I z?3sG*oNULUV5L*P526M_oiP~X#)_zkj^vy10bARLam~78V>Pzuisyd}-M{B zh`NAFmXO3pUHi>0UxTNaRG{bJ9*LitBSlKQEJ#zbM0buaoFsYVky@|#86HktJmHwj z_Jn`q?Ju)`tNCrYD?ZoT$>oq%C{)18lNT_2;1uE`h#iZ_4-bT*aLARYkjE?bAS6wX zP(b&?sl~IG&5@y>g>;~xV&=wBh|(?58~W}9Ujej1TRza$8x5&mg{k>6m;;kkYU zQyTR_0B%9_uVY4m3$*hkgP%EP^z%2d#puyE)QMsE{rayl(NF<zwar zjubXUb~dJF9VVgtKKY=f>Bpynx8LP$Rn3{miRm(6{T^29DTVh+$LB0rigNr9YI4mF zk=_zK04@XFw586^J@!$k?6SBzDqss&Jk6Ikm!iuRLZ&v$c%*}-E0SZf8OaDmk{ES6 zgzU5?M*=*O3lWL)a480iWyhwam|j4e;(8Ck7-COtdsmIDA`$y_F|%?i3%4B`nqs$~ zobka(p)Ds`w~xb3uCt;k)vKQXWQ^RJ@NGkAFnzu|OFk`5CQodWObH9Ig8SJt^_E}*ApbYhk9 zR^b?D>Z>brQnC48EUi2%>3FPI7IwKAnP-$$kFxvZF>7Y6v=Kk?;rbt8+0X$Fw(9&L zR@T4HJA>!(=VwFTM=<_@>R z4tjUlO;BKsc22qVD;}$-wCOTgr5m~utHMc%!W%b$Z00Q?KEsH@2*gbm(H9_&anTnf zGk4sr8g$>x*)96aog=-he||TYyIv_?!J^oeE0$QOUW)sv;mEL=HC^XWdVV>e=&S(+Jl{lhkkN9; zF)u#)V~dfMlm0R@bMemp3-DAt3J$W}j+DvHEgr z1K*3UfTi7kAJ+`6&{4;z;&O_hoR^zRn_r#kN@~Ev#CN~z3;!2~DL!ximt6^{tx3Lf zODj7@?5o(fhiPNM-PH|F#FB6oYTHcq+7 zhJDLn;9K+i`X6P?c}ws=vX+B7wnHokFoyXRt(eZz#<)OnmE$0GQtdu0b<}jch)?uOto%;vo~kAy36T*LG=VCxj1%EMNNO` z@F}}wE37P}dH4KbLg^2~pfww-B`|yj6oE74X1)J^3-TF`{6gnCwObSt)dck zK0!wswJ*%G;0rd#lNxnR+fP|mDHN&sKM)FhmkT8763CAK)eh2C%9?6VcD%e4Sz5(J z!T_RS45I9n;lkBvfyyJbj83jLa$O+yAX-dh60Qen?|-*<)6dm9-Ywp+0EOtwe0Cm^ zcKGq444AD@lkKS8(m#~NPUR*njJc(28tG`7dukk?AeD?L)|r#M4i2FFp^0mKDv)L8 z=>ai$80S07qN08(@EDNF(u3#wcdO3oA@ATdOSI z6g2#);jt^tAX}=Obx}{Kt=TExBE~f*rQ3yRtFiZz$Zx7yzq;ft!S70p+U05gyiUCr z*KUTK8$6Gb!%mUj8dmz-=u73BQDbt3ld`(B-_sEw%RUY`h*xsN+-chqlsW-fkN@Go zLV#0vy!w!Sf~FUy`0UpkJNobK9d`-WyT@T4RTR*X`|(9r zW6TuTmT5CTq3mP8%Ug2WPVtcA=$`dwYA{xg1dfjUYOK7=9`~_WGul>fw^{dl5xs{A zFw2126rW{%t|LVJK2dV^G_IJJdRgOtRrU*7*y8R&pm|*;Hu~i0n((~)pZP>wJ3IB+ z`vnY`l&|otX^z2_WRcU8S*gp|DR7jXd~D7!C_yed!*_mh=WkvIa_`Ph3P*H_LZf58 z=M4|;*7MsyZm6wr9U@9erk*E!m|MX?je{yEfSFJe$7&D_&lr-LUmaL_Grt_lE^@~O zt9=1lPCcc$Dl#tnixq5K_N|@+FvQ)!)Ng$M{pL!)KunPBIl>TLnih9a2L;q1lNUtE zXRl=b?}fLaV4kg=BKe#&lEJDg>p3tJrKWH|+t1;5dDWR}&{0rrjs?t3%~VCsjsIyK z-Ai2Wd=5+0YxUV^Fk5BF@%~A}O@%7K4m)nv8EKe&1jV59n#2ko$IWof`)Cn%F z{0S(c&la1FIw>uxi7}Rep&TEL2ZZ)=?-QKm)GEE5>)i!HOm^pMaWB38igAwj{vCz&@{^ z)x;2eP*ov!L=G@@P-kb5Tjb~`L5wJ-k%LqmHVLKk&G@;P+2BjCBk%o{iRfWJ3i>^R zDYp|*oCsn=Br{NEF}0cu#`tHVy#}m!Ku|a7x_|OK2m~f8h6$vQU?Bpl5Qm;T{!*f8 z?AgRxi~88kU<6@kVdbWLP?^s42JcrQL6?@!&eyzi-zj2*HSbN|vz*O`eQtfP$35;1 zAMf3Lq%NOL-<;PI3-w>xk0T1c`**Qx#k70dyi=Zlp#voKjjjT{y!>qC@gHTXK6vym zk=J3)+hv|VY`~Q7opbEV!%(~1=}P1E-uYX7Y2 zln($u0aQcD!H+}}-b2=6Y)UrG`n)!V7(njwzpu`FH5}W|+%>Pck-?B?l^raY9Y1s| z%JQTFN9lT7g8r2tt_1zLlna#os$9NtNrXZ==GAassV13NsDMk6#u6juk~n)znpqiC zf_0t%jo%T#uDZA2`5~my%p4?%VHx^>C2A7Yy_2`u@T+Wl6GYnSYFk754Z0@~t*)rA zpcGGu$N?DgNj;TG2R;R|d>ZnNX4N|yWL*&?-&+|93B)oPKud=Wh)*EePQ8A*&X#YM zRBn`uFxMmyMHc;~Gb@f7BTAILpu%3ncx~`@ks64oMp;XV7`zpL`H^~SIO8nS};TC^r-1s-v z(c)>IvW?A11__i0hH3!)FD&xjX@rm$F9Bgz4>d_}NMBxF@3tbyWpt5=17Z*DVVQhf zt-K#TxlS}ozuX`D%zy7+c_teENB7h1jM_}(Q2h}22cvTXE$)YY@b}NXgimtuu{TPf zDjjwYdQABoEaNEOBTm4tJo;qL0OHEE}n3P3-JQZ3$z&5oj{; zwj>T%aXuQX|>zp1l7%-xs_2E;`2c z{uJFUz}$624(XW6UV=cAGuI=x?io#Xe4(dHzK`-lwH*xxOmtISm&ZEaI~Wt%0=TtrSjpyX0-Yvpq z82FsJdw)JvQsqI9^79xX)Ys1NqwD+jZbA0-{aMGlG2+*koQ`QU-b~H}V^2lmYnDi^ zWvH!zb${31{W0A{-)!FL$H~jd<}mT6{xLW(trT?08BryEsnFL<5(l%%U}29ya@%oH zK8pQAJS7Gxy)%gM;Xp{uwWY1RHqUK6A~c$PeikpQPb@0V0!*WPVv>lqnM_`@3YNvjMXxO*ad^#YE0o5j&S%7)xwAQJYV5% zSQ#16J_K}>Mm?Xzm_$YlvU7-}eMk|la2d*7h;v9nm5)yT)~q(7x$i(@bc1dgV#SwW zUkBBlo&8BCLkl@@Wp(wu_v`LH{_U8vxjEA`Qv(I4 zSL>3eQa}pq!i;dml!&}f!dHb}dbj^tN?{tjtRww*hh%%~SP-||Vyn%Q$T&{SGOG7-p3=q!sx&@ zOf8PQGZJd`SoF*vRh#1pB%n)<#a0(Mi@L>ro=;o=aVj^0lZhH*n_W06^_Gc|`gx9+ zL!WFcVj)YuhLS2h*{A|Tbp2xJI}j=lMfD$s)yBS8WGnsKw}4ob2+77QxF!R7LOp4M zND~tYq`lacSPO;OvaJ~t&8*_p_K929o#l&VDB&bH0iU2TtYsL&{oB<&)(X8vLV!h% z-5_mQ)D-vZP_e0~ub%VkoEUj*=fXPV_ExqKv^iTR$srG0#<+od&-B%HqlIqg z9#5T=z1@HmpS=8IDA890u^0XrnvWrr1)DXPAJtfJf6x}%8>Uv>!hU#ZS3t?>W=p}4 zlba>%(c9HYly89Dm0$w_H~aIqc@u6&jU(+Oh=IcV2moMRW+HgtEX80#qe4y#{8VEq zW0_u7d$(NSkOM$PI-|xa%!6$L8Wtwf;`;Ge;9{tN;v?Ea+?2ls*}r8ve>uRuHfy|? zeVv%JbBp^K;f!SwinaT1Y4Uvjw+;V>mP|&(z})K4hVY`G{xRhwG6&rD!(057r{-P( z-<5@>m6BOLG!P0Gwhn*2NG9t>K%F^C2h?mL)lVrjnWl+{_KkHjaYxJ~#s*=BDP-9_9(yd%Y6hzg(AJj5aygsN@m>xCze_VL7TOTCCp& z;=G-QEY=WYygm^MAOn!1Y(U|8CH5>L*!XCN<~)4E^Lo8bodT_~+A)y|+z{q)Z>DAb zJZ;jbb_+|UBVu!>{?x%V1ldZxH#7Qu1Y&i05QO<@Dro;HQ)fPyEM z+~;SH**cE(2D>pwN#>ykkCi$?IqnbHN5oR6>;Aue!zm6tCz)faq@7DJ>L}AKhE3Hu z2+f=l^bEh?@}CG&U54+WqwUT8(Z3|DE}p&i8tqubsE9u0R|f z;pCoEykf2i@@XH7t)PJ-XJca{XUtNuh$M1vBh2n6FmHHoG(?|c((a`~0OSLBV z>;48*$ye~!u?;yb_g&up4?l?8@E?b>+^h9F|0%rPRJ^}##zq%Im?m5v7O$6Pr>1)A zTeZC6&pUB3lMi9Hwpc6r{od%_EG``O8( znB=>4NUd5^5R{8T4x#EqjY<`G=;Gs`@CQupZ>!bQEx)+0<$E(!EnA1P7? z7Fi@C1kxzss2&d4;`gZwF50!7eK91xAk=BrA{WtLX!G%dnzRdE6r z72Qw)Z4-R5D%eH6%jTR65;!l8db9~G@P<#^#`N0Y>!Eca5Z6AL^v%qwT^@a`xhwzz zqj{G5Z1*{Ia%*f%N04aqyPNTRL(KTR_rZ=KVF8;=@<=Shz#YVFnJ7QkVI8&5P#QYj zLv2>3hmpE+@FyHAWfuSx&?YmHNK$Cj#^QAw&n26iinRn};@tq9B)ChIi7kLV?e{;r zh?!tDJ03Tt)EwoFh+WIxWB7odR_8qN+;SB`g<4J$6fC10G5Zybqr)+ zhoG|$*O16tzxz>HOFkM3cy`bTH*f@;GTYE+iu?&EwQds+D8K^(8v4Z1T&a2$ z&#l7i;w`l|%D*-EJ5c<+wH~CUGh2Q@5R2b}l^yFvbx_sSm~G2iIBl?m?hj_x(Yar1 zfAszp;djw@*v+44Tm9D(I>W~teI}#vZA?${xR;@E*?>|S!=}%2s|YRzZT0{%j{ z2PQBv``eOoDs?v2?Y|mKlOmRqK5*SRloOy1+#8+lSVl=5(p^`c7J> zlm$CmQC%Y~{7KEztLS_Ak%A{7#bw5M4@~VATuw4MOWbX7y&t$# z2vvbxM7NFvI*AKXE+6vvS~ zaw_`#Pu{0XxCI=ZcEBZZHmoTRuuDwTq+-J(@9&ayCz+$j*)e!(FSI-tGlX^ z7VIKJ(3wwsx>}p$emc-E{YK);5n5R8^1U7a6w#`pzU2$NPR*+=3SD2R`2O(Cm|9g% zEX5mY*LeDu?e&J^_kF9Nd2Ke!Y6>Tzx8_&rJ|7=1jL2cnr8|~b*TI5<3yRCj)nfM_ z*VlYToO$>a)Z;Yp{aNV5ZYRm4ZP8b`^)Z5)+t4K9lcFS2^1}{52PG_d^oAyom zQPJye>Qj(t=Xwr%mQ!~#C&Qd`jb);M#)<##x_{eyfj^IXJx11f$IHsp`r%Vp_47#eg~@?|vStHZsnqd3#q*{<)g?a4N;;`mnVz`{yiX8tB!>?QAVY9rJo!G*%q#+cC3 zW;KAEh(IAf?}h&_B(azbwQqI?_c)Ynk_R%@f7^u>{fO|eElY}aX@a{`D!oiVTMk1i zFN|OnDzyU=!Ie>AkXvrrHspeyITc@u*#$Kjk8{fkWT1YvZd})JUig0&fR!ArK1)n{ zCSm&P7AU}goq-^kKFeH&O>QSYKOXjL;=_gI+qWUa=1wE9-g>`{`lH&!r$^9GEoVP8 z&>c1sSw0mh$F=NP2kxh5L8b*y&LkZVmmn!CZmoGD^fO7`p)%Lq7*hEkqZD#Y5AERc zR=F@dC8q1S#j&mX89?P2<%;X6a*}Fr`J~3 z^)xi#0g9mPv$KT-_1U_1@9g8#vo}b1^V-Uadcvr9M$syR%=u>bd4+**4aEp@|B2u3 zY4`itCe~H!!n}?9*&5cTkhk4!i8II(LX4@be6)rDXtBMIY|?8vI2HKb(bdiyk1Ka) zEIrCGr`(ik^n)TOYANr)yVa0c zkBy?jI#@SPapc-M;{ho+US6$^uWG24&zwq_Cf?rx?P!7t=zeCZYI8ylU{pSnbCtPSU}(`l`Oa%Wx44Ld;;4`t3IQ#tn2^A2pSqkIp<<5 zI*ot_fPO@P;}zd=nFJ(G=(}xT!`+!<+IcoKT>4$@LMMz81sFU?L4vd3`2xUdM#Q;g zRk1>Sb)fR!erqt};gSU)hvCb?slw&1!om{`Gt;*G%pZKoLSquV(3Zbh1xeeEVR)R- zxFw0{CaY~m;UTNlwU$AB!S#P3c?5b1&qlK!k>df>i$+WB>awn-=`1*)`Gg{nC3XuQ zh$+DHA7I|Z)7INvUc>Y>wJ;b(%+@&8W4CmP8V-9_Mw?=Znbz{sIoBjy2T3#|h{{XE zE~uJ(nZbPaZVgU!p)(Qc^2P+X79JPohANDc^37El3rfwXlicB;j3I&dHfp`%YW!Zj zF@FWJK1qo)qu3>14xe$~|FW~&vD!~UdS>X@6lF^f!npF3yeb@!EeFTI(b;!{3Wv+U zERP4o`eqrLy>#OJ2M1RYdP{9~$5=~wP_`j^pp;!?z6xKHVfdEd2Xr zx)_??PoF&6Tq-;+%7j+^9tE5mcxvvCTwd*xel?Ctp!vP+N9S5G;RZB$P%8znv|%>3^rjFeV+9Y4vEe@s zHh|d3M-9WBSYMZAnSPl+{qFiQHK!eUUVP7hiK;NcK?4(jiZMY)n|<@UWt3g(%B2pK z%yu=n|GD8==<@*`L?%Wh8~lZgRd^&~!ZDi{9-fh5CdICnsppsF@|u&9o6|k0#cJSt z%UoUBeiF;{KoA{IzB9gCmM(ku#)9KqdveNct1ww`HAKsq&M6e~?Hm?c7u(fy&jdQr z26Ax`sdo3Zg9xG^R=8NT*JQI zT1;ikf%Wyf(BoSpj=}k@xBty=NYKdfI!bQ}eD{6PXMKMi3S9RJ(f7mfFr6R{cb=b&r|`-c4^j?aXL29LK6jwyaPMFR z1yS>7eDKe=Ij@c3Zin-BV3PILHpV~ez0~@(54~r1-T1h4k#wLI=D;2U+t=ao$mO{2 z8j+V|TnGzR_%?be41LM3#fbNszcHke9AUo0a0)86$Kqfw0T)28_aq_$!Uz~3@#c>* zVfkCZIH=|-!IX@CaFw}4{S%E)y@@z#*`#t~T(Yz0Ml=Z=aw^jkXW3@~Qx$k#c{C6i z1Dud~@A=~~q3_S|m@{A)xED~$gE8ht!#_Sfk4rLCOF3_N*hws?x32@V#&uHLide4 zIyR~Ja;wej%XT!WP1ggv@29>JoS6syw`9P}z>l07tm&ym=$_H&9PQRil@A3;Q+tKV zP}J!wk=@|6_Z)Hwzk%o1u5$eS>SS$(;rU}GzL&K;-FG7@be(TsRe`wV!t%YJKx7|l zaQJYc!?)yWe&SR$*=ZJG!_~mMN;M^!gxru$bw7%hW*wW#8Tv1btAl8LijQH%8nA^3 zW!CI0YNi8sSDE=oDW{SVVCHoFnCQCafrvL3O4tD2G@_@eQGDW6P0+nQ9_V-+@E zAk@xH5G&&N4)_Eh`F5=~+%qr)}|3x8z$b@PAbY6;ma!@eBnFSR;-5K~yIVk{PCfA(e=G^0fLD1b6d_`Tk zXTFB#)x?^Ee#OV>)z$JZWE&!7NPsPk`&WeEz}7ju<9nAjF%!8qc@>HoLX2g&tq8LM zO$L|zlFjqaAG5LY9gWWze-0uBaDI^Dl3P6xDD$OqM6|ziqQ;`h#9NfWojFz zpoDKpv4|H9=gSyVFBd%p9~j?rxL;J{i6G=L2PAi9BUIb3Jj=ap{%y@&{a1T}kp^(&~r%7tp8Pa zzDB7_U_fB}!I3Uv9G2Se+Xp`H{m-`3h+fG3^c`x%_-+1TBlKT}8AsTVg)1*J}6 z4Kq%%V=Pw#K58B2hK0W@a*vMw z2h1H?p#lE;>7-h;0@p9^uD07xGF|u=>da;m78(fK(n{*LC{>I4@ufd+0x_Ew=aq

jtMC>2UN)XHb7P8A4t%Rf+ZZKk`luzKPY0pm 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

tU4P|`w~ih@%q;M|%(79fh5^82Lpr4ZAf)ud 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�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

0AQUULCr@-AP@5Z{p4#S-UY;<2nui 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

$?~e^=3}tttk|vJvDD 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

4t6Qwv%Wb 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%0AyqPhpIDoB_2%yJA(NbkR2)u_5WPlje+GV$7 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�ilGKtEeoF@APo+Qm~B7Cg-Q4 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%0Dgz}a%T0}tfcWhm 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 literal 0 HcmV?d00001 From 1dad92ae0bcba93d87356d08bcc932762113cdfe Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 30 Jun 2023 16:46:50 +0100 Subject: [PATCH 111/139] fix lint error --- apps/openstmap/imagefilter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/openstmap/imagefilter.js b/apps/openstmap/imagefilter.js index 61d14bb53..07ff1acc8 100644 --- a/apps/openstmap/imagefilter.js +++ b/apps/openstmap/imagefilter.js @@ -30,7 +30,7 @@ function imageFilterFor3BPP(srcData, dstData, options) { rgbaSrc[i+0], rgbaSrc[i+1], rgbaSrc[i+2] ]; } - function dmul(a, mul) { return a.map(a => a.map(n=>n*mul)); }; + function dmul(a, mul) { return a.map(a => a.map(n=>n*mul)); } const KS = 5; // kernel size const KO = 2; // kernel offset const K = dmul([ // 5x5 sharpening kernel From 0662bb44f5dae9e5fa1babbb456a0521e684033a Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 30 Jun 2023 16:58:02 +0100 Subject: [PATCH 112/139] darken dithered osm images --- apps/openstmap/imagefilter.js | 4 ++-- apps/openstmap/test/index.html | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/openstmap/imagefilter.js b/apps/openstmap/imagefilter.js index 07ff1acc8..aa976dc0f 100644 --- a/apps/openstmap/imagefilter.js +++ b/apps/openstmap/imagefilter.js @@ -8,7 +8,7 @@ Stick this in a file so we can function imageFilterFor3BPP(srcData, dstData, options) { options = options || {}; if (options.colLo === undefined) - options.colLo = 115; // when adding contrast/saturation, this is the max saturaton we add + options.colLo = 140; // when adding contrast/saturation, this is the max saturaton we add if (options.colHi === undefined) options.colHi = 250; if (options.sharpen === undefined) @@ -103,4 +103,4 @@ function imageFilterFor3BPP(srcData, dstData, options) { idx+=4; } } -} \ No newline at end of file +} diff --git a/apps/openstmap/test/index.html b/apps/openstmap/test/index.html index 654bd0d21..f17761b9c 100644 --- a/apps/openstmap/test/index.html +++ b/apps/openstmap/test/index.html @@ -17,7 +17,7 @@ Final dither (Bangle.js preview)
Sharpen Line Dither
- Lo threshold
+ Lo threshold
Hi threshold
@@ -104,8 +104,8 @@ } document.getElementById("getmap").addEventListener("click", update); - document.getElementById("slider_lo").addEventListener("mouseup",update); - document.getElementById("slider_hi").addEventListener("mouseup",update); + document.getElementById("slider_lo").addEventListener("change",update); + document.getElementById("slider_hi").addEventListener("change",update); document.getElementById("finaldither").addEventListener("click",update); document.getElementById("sharpen").addEventListener("click",update); document.getElementById("dither").addEventListener("click",update); From 27d905d8f1631f8640ab011bdfbdbdfe2d43af11 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 18:00:24 +0100 Subject: [PATCH 113/139] rep: icon size tweaks --- apps/rep/app-icon.js | 2 +- apps/rep/app.png | Bin 8375 -> 8617 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rep/app-icon.js b/apps/rep/app-icon.js index 87bad2960..6ad60b46f 100644 --- a/apps/rep/app-icon.js +++ b/apps/rep/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("k8wxH+ABwUBkgACAoIXPEZlJumYzGe4XCzwFBulJFK8Ap4gB4YABEgIoBAwfCp4oTJIOeDQVzOANJAAUkktzGQWYKKMAC4WYp50CJQZ1COgNPzARBugnJstlEoYTCIgIiDEIQrBFQeYktJHIQnDxgmHEoIeBkhPCOgQcBAAUlBgyHBE4hxHug2BpIpBC4MlJAhKDuidCTgQUBO5K9BRgMkCAOYIQQhBzFzJgNzBgIzDJYRPBeBMAS4VzLwRPCHYMwmNbrcxmBfCCAgzBDYImGXwV0p5PFpNbw2G2AACAoNbN4RLEuh2HkgwBkpPCCwUAwGMEgYADxmAJYQ2BDQkkEwiRBR4LCCBwMrJIgAHw0rHYaiBAQRzF4clAQlzrZLIJ4lbV4UlAQh1DQARYBJgWYgxMMJwUGJAJOCDgK2BEwQgBulJaIXDttVH4MGg0AAAwJBLYNVtvDpJRBpL0BpImDEYILFbwIaBABRcBwwaBIIYdBp4mCp4FBEwRcCEwWFABQmCRgYmBEAQmDI4LoBEwOYkiMCExuwkgVBSQKPB4QmDgFJgEkAQMlAQImRDQMlAQMkEARNpPQK/BTYW8Eye8TYTFCE34m/E34mH4VJuYCBfQImTCoNJ4VzAQImDgFJgEkAQMlAQImRDQMlAQMkEARNpTYNPuabC4UlwwmPw0l4SbCuYgCEwlzEwV0KAImCrYAKEwS/EDoQmDKYILDAQNtquMDQIAKreMqttHwJBFEwUkzxvBLgQCBRgQAMLgKJBRgfCz0kdIeY4clAQlzH4IlLLYJJBzElAQjpD/znBzACCJwPClZOMw0rCIJMCuYCCEoZ1BBwJYBCIQ1CwBPIxlcMoQ7DDQRzDOoV0aANPQAQWDrbeBJImGrY2DWwVPDgRzEE4RLCQ4Q+CegMAmExrdbmMwBYPCCAlzJ4QlGEwJLFz0lUQPDDgIZBGYIMBGINzkueJ4lJEwXDOw5vBJYQZBuhFCAATRBugzDCgRfCJgwnDJYUkC4IABuckkpMBAAMlBgxPCEpQnDT4UlJQZICKQgHBGAITBEpp3DCYVPpIhBRgIiCzwrBpNPHIVzEpwnCTgadCOoYECGoSaCEovN5ooMeAK/DJQJQDGQVPJQ4lMKIh0BOoIACAoJ0BN6ApMgEkAAQFBC54=")) +require("heatshrink").decompress(atob("mEwxH+r/+ACIZBkgACAoIaSFiVJumYzwAEzF0p4yggFP4XC4YAB4QtBAwnCGLpbBzwjCuclklJAAUkkt0HYWepIxZgAgCzFPR4ZcCMQKPBpNPzARBugwSstlFwYcCKwIrDFQQ0CGYYPBIQQwDxgvQFwInBklzDwKPBRwiQCBgo3BGAiMSJoIyBXoRaBdYYJBMgMlGIIsBaYSSSgFPFwMkMIQiDEYNzLoNzBgI8DLoRhB4VPGCEAXYV0FwKUCcAUxmNbrYDBOISKCLoTDCF54bCuhhFP4Nbw2G2AACAoNbT4RdEJAKRPkhCBkphCD4UAwAtEGImANwQ/BDQkkF5q1BWYICBDQUrFpAxElZEDYwICCRxpHBkoCEudbxgvLxlbuZgBkoCESBikCOYJeCzEGLxhgCgxaBpIcDbQIvLFIN0pJbBAQNtqpRBgwABgAAEBARtBqtt4dJMYNJug1BF5dPFgIUFwxQBrYAKNwOGIgJKDDoNPF5tPF4R6BkovCwoAKF4SnDF4IgCF5hZBuYCBzGYkiwCF5uwkgVBVoKqB4QvMgFJgEkAQMlAQIvRDQMlAQMkEARf7TwV0X4WeF6eeX4V0X54v/F/4v/F9/CpNzAQOYzAvTCoNJ4VzAQIvMgFJgEkAQMlAQIvRDQMlAQMkEARf7TwVzX4XCkuGF5+GkvCX4Vzd6FzF4V0MQIvCrYAKF4TsCF4QdBF5huBCgYCBttVxgjBABVbxlVtpHBJQovLkmeRQPCzw1BzCwCABhuBUgNJDgkkF5cAzHDkoCEuZRBFxZtBLYOYkoCEgAvL/1zLQICCMAPClZgMw0rCINJMINzAQQuMSAIXBOYIaCI4WAGJGGrh3CIgYaCRxiQCunDulPUgQfDreGGIgFBrY/DbQVPDgSONGARdCCwOeKAXCDYMxmNbrYDBIYPCNwWeFYJhCFx4vBLouekrGB4YlBudJpKzBA4K1BkouBMIgvC4aRQzx/CEQV0boIqBFgWYug8DT4IuBRqAwELoUkEAIABuckkpeBAAMlBgphDFyYwDYYQeBLgWeLQJkBE4JiBTwK7CFyySDDgVPewIqBGYQrBGgNJp5CCRigwGVYInBEAKJBR4aVBHwTTCFwvN5oxVp4jCLgZiDAwVPLg4uVMYiPCAAiPCRTIyMgEkAAQFBDSVfA")) diff --git a/apps/rep/app.png b/apps/rep/app.png index 3b38ddbf76b5c527c3065c8522356e28add57492..795cd94b4451587e23988d3f8f8f77633a797cef 100644 GIT binary patch delta 4955 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 KMNUMnLSTZ$4L6_w From c930936b39d0c157cada21c55d622c377e11ddd5 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 18:09:11 +0100 Subject: [PATCH 114/139] sched: drop alarm index guard --- apps/sched/sched.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/sched/sched.js b/apps/sched/sched.js index 9b5bb149c..eac91c1c3 100644 --- a/apps/sched/sched.js +++ b/apps/sched/sched.js @@ -51,7 +51,7 @@ function showAlarm(alarm) { } else { let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; if (del) { - if (alarmIndex >= 0) alarms.splice(alarmIndex, 1); + alarms.splice(alarmIndex, 1); } else { if (alarm.date && alarm.rp) { setNextRepeatDate(alarm); From 27bf21466ac97452beb0ab61358744da6a206ab1 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 18:47:20 +0100 Subject: [PATCH 115/139] multitimer: revert triggercheck, tailcall sched after hardmode alarms --- apps/multitimer/{ext.js => alarm.js} | 21 ++++++- apps/multitimer/app.js | 28 ++++------ apps/multitimer/metadata.json | 2 +- apps/sched/sched.js | 82 ++++++++++++---------------- 4 files changed, 68 insertions(+), 65 deletions(-) rename apps/multitimer/{ext.js => alarm.js} (72%) diff --git a/apps/multitimer/ext.js b/apps/multitimer/alarm.js similarity index 72% rename from apps/multitimer/ext.js rename to apps/multitimer/alarm.js index 6e29e737d..1fbcc7955 100644 --- a/apps/multitimer/ext.js +++ b/apps/multitimer/alarm.js @@ -1,4 +1,4 @@ -// called by alarm.triggercheck +// called by getActiveAlarms(...)[0].js function hardMode(tries, max) { var R = Bangle.appRect; @@ -62,3 +62,22 @@ function startHM() { //between 5-8 random swipes hardMode(0, Math.abs(E.hwRand()%4)+5); } + +function buzz() { + let buzzCount = 3 * require("sched").getSettings().buzzCount; + + require("buzz").pattern(alarm.vibrate === undefined ? "::" : alarm.vibrate).then(() => { + if (buzzCount--) { + setTimeout(buzz, settings.buzzIntervalMillis); + } else if (alarm.as) { // auto-snooze + buzzCount = settings.buzzCount; + setTimeout(buzz, settings.defaultSnoozeMillis); + } + }); +} + +let alarms = require("sched").getAlarms(); +let active = require("sched").getActiveAlarms(alarms); +// active[0] is a HM alarm (otherwise we'd have triggered sched.js instead of this file) +startHM(); +buzz(); diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index 73b1dec2e..d5173a8ef 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -63,6 +63,14 @@ function clearInt() { timerInt2 = []; } +function setHM(alarm, on) { + if (on) + alarm.js = "(require('Storage').read('multitimer.alarm.js') !== undefined) ? load('multitimer.alarm.js') : load('sched.js')"; + else + delete alarm.js; + alarm.data.hm = on; +} + function drawTimers() { layer = 0; var timers = require("sched").getAlarms().filter(a => a.timer && a.appid == "multitimer"); @@ -297,14 +305,8 @@ function editTimer(idx, a) { } }, "Hard Mode": { - value: !!a.triggercheck, - onchange: v => { - if (v) - a.triggercheck = triggercheck; - else - delete a.triggercheck; - a.data.hm = v; - }, + value: a.data.hm, + onchange: v => setHM(a, v), }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), "Delete After Expiration": { @@ -630,14 +632,8 @@ function editAlarm(idx, a) { onchange: () => editDOW(a.dow, d=>{a.dow=d;editAlarm(idx,a);}) }, "Hard Mode": { - value: !!a.triggercheck, - onchange: v => { - if (v) - a.triggercheck = triggercheck; - else - delete a.triggercheck; - a.data.hm = v; - }, + value: a.data.hm, + onchange: v => setHM(a, v), }, "Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v), "Delete After Expiration": { diff --git a/apps/multitimer/metadata.json b/apps/multitimer/metadata.json index 6ae92fbdc..7a23052c9 100644 --- a/apps/multitimer/metadata.json +++ b/apps/multitimer/metadata.json @@ -15,7 +15,7 @@ "storage": [ {"name":"multitimer.app.js","url":"app.js"}, {"name":"multitimer.boot.js","url":"boot.js"}, - {"name":"multitimer.ext.js","url":"ext.js"}, + {"name":"multitimer.alarm.js","url":"alarm.js"}, {"name":"multitimer.img","url":"app-icon.js","evaluate":true} ], "data": [{"name":"multitimer.json"}], diff --git a/apps/sched/sched.js b/apps/sched/sched.js index eac91c1c3..bd84c3e47 100644 --- a/apps/sched/sched.js +++ b/apps/sched/sched.js @@ -24,57 +24,45 @@ function showAlarm(alarm) { Bangle.drawWidgets(); let buzzCount = settings.buzzCount; - let showPrompt = true; - if (alarm.triggercheck) { - try { - const action = eval(alarm.triggercheck); - if (action === "skipPrompt") - showPrompt = false; - } catch (e) { - // ignore errors, continue - } - } - if (showPrompt) { - E.showPrompt(message, { - title: alarm.timer ? /*LANG*/"TIMER!" : /*LANG*/"ALARM!", - buttons: { /*LANG*/"Snooze": true, /*LANG*/"Stop": false } // default is sleep so it'll come back in some mins - }).then(function (sleep) { - buzzCount = 0; + E.showPrompt(message, { + title: alarm.timer ? /*LANG*/"TIMER!" : /*LANG*/"ALARM!", + buttons: { /*LANG*/"Snooze": true, /*LANG*/"Stop": false } // default is sleep so it'll come back in some mins + }).then(function (sleep) { + buzzCount = 0; - if (sleep) { - if (alarm.ot === undefined) { - alarm.ot = alarm.t; - } - alarm.t += settings.defaultSnoozeMillis; - Bangle.emit("alarmSnooze", alarm); - } else { - let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; - if (del) { - alarms.splice(alarmIndex, 1); - } else { - if (alarm.date && alarm.rp) { - setNextRepeatDate(alarm); - } else if (!alarm.timer) { - alarm.last = new Date().getDate(); - } - if (alarm.ot !== undefined) { - alarm.t = alarm.ot; - delete alarm.ot; - } - if (!alarm.rp) { - alarm.on = false; - } - } - Bangle.emit("alarmDismiss", alarm); + if (sleep) { + if (alarm.ot === undefined) { + alarm.ot = alarm.t; } + alarm.t += settings.defaultSnoozeMillis; + Bangle.emit("alarmSnooze", alarm); + } else { + let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; + if (del) { + alarms.splice(alarmIndex, 1); + } else { + if (alarm.date && alarm.rp) { + setNextRepeatDate(alarm); + } else if (!alarm.timer) { + alarm.last = new Date().getDate(); + } + if (alarm.ot !== undefined) { + alarm.t = alarm.ot; + delete alarm.ot; + } + if (!alarm.rp) { + alarm.on = false; + } + } + Bangle.emit("alarmDismiss", alarm); + } - // The updated alarm is still a member of 'alarms' - // so writing to array writes changes back directly - require("sched").setAlarms(alarms); - load(); - }); - } + // The updated alarm is still a member of 'alarms' + // so writing to array writes changes back directly + require("sched").setAlarms(alarms); + load(); + }); function buzz() { if (settings.unlockAtBuzz) { From 887acfe346a732263ba2954be007999e836d0c0e Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 21:03:34 +0100 Subject: [PATCH 116/139] multitimer: changelog update --- apps/multitimer/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/multitimer/ChangeLog b/apps/multitimer/ChangeLog index 252d8a227..842384c8d 100644 --- a/apps/multitimer/ChangeLog +++ b/apps/multitimer/ChangeLog @@ -1,4 +1,4 @@ 0.01: Initial version 0.02: Update for time_utils module 0.03: Use default Bangle formatter for booleans -0.04: Use sched's triggercheck to run hardmode, and listeners for timer reset +0.04: Remove copied sched alarm.js & import newer features (oneshot alarms) From 56401ea1831888e106681a4f1414852ad1738fb7 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 21:04:20 +0100 Subject: [PATCH 117/139] multitimer: fix `settings` & `alarm` scope --- apps/multitimer/alarm.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/multitimer/alarm.js b/apps/multitimer/alarm.js index 1fbcc7955..389f8a873 100644 --- a/apps/multitimer/alarm.js +++ b/apps/multitimer/alarm.js @@ -64,7 +64,8 @@ function startHM() { } function buzz() { - let buzzCount = 3 * require("sched").getSettings().buzzCount; + const settings = require("sched").getSettings(); + let buzzCount = 3 * settings.buzzCount; require("buzz").pattern(alarm.vibrate === undefined ? "::" : alarm.vibrate).then(() => { if (buzzCount--) { @@ -78,6 +79,7 @@ function buzz() { let alarms = require("sched").getAlarms(); let active = require("sched").getActiveAlarms(alarms); +let alarm = active[0]; // active[0] is a HM alarm (otherwise we'd have triggered sched.js instead of this file) startHM(); buzz(); From 03a0c5264dbd0b1acd7a7adb81266f2c27f5068d Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 21:04:31 +0100 Subject: [PATCH 118/139] multitimer: disable sched on load --- apps/multitimer/alarm.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/multitimer/alarm.js b/apps/multitimer/alarm.js index 389f8a873..b202ae662 100644 --- a/apps/multitimer/alarm.js +++ b/apps/multitimer/alarm.js @@ -1,4 +1,8 @@ // called by getActiveAlarms(...)[0].js +if (Bangle.SCHED) { + clearInterval(Bangle.SCHED); + delete Bangle.SCHED; +} function hardMode(tries, max) { var R = Bangle.appRect; From 8cf0782d936c81e086760124a007ef9483d8aee9 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 21:05:32 +0100 Subject: [PATCH 119/139] multitimer: reset alarm's last sounding time when enabling --- apps/multitimer/app.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index d5173a8ef..e133820b0 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -281,7 +281,10 @@ function editTimer(idx, a) { }, "Enabled": { value: a.on, - onchange: v => a.on = v + onchange: v => { + delete a.last; + a.on = v; + } }, "Hours": { value: t.hrs, min: 0, max: 23, wrap: true, @@ -607,7 +610,10 @@ function editAlarm(idx, a) { }, "Enabled": { value: a.on, - onchange: v => a.on = v + onchange: v => { + delete a.last; + a.on = v; + } }, "Hours": { value: t.hrs, min: 0, max: 23, wrap: true, From b2e74d91e3bdbd5555a0b70d3cab5ce19566e522 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Fri, 30 Jun 2023 21:13:31 +0100 Subject: [PATCH 120/139] multitimer: readme update, remove dead code, restore sched --- apps/multitimer/README.md | 2 +- apps/multitimer/app.js | 7 ------- apps/multitimer/boot.js | 10 +++++----- apps/sched/ChangeLog | 1 - apps/sched/metadata.json | 2 +- typescript/types/sched.d.ts | 4 ---- 6 files changed, 7 insertions(+), 19 deletions(-) diff --git a/apps/multitimer/README.md b/apps/multitimer/README.md index cbbe5c92c..04bdf4a6e 100644 --- a/apps/multitimer/README.md +++ b/apps/multitimer/README.md @@ -2,7 +2,7 @@ With this app, you can set timers and chronographs (stopwatches) and watch them count down/up in real time. You can also set alarms - swipe left or right to switch between the three functions. "Hard mode" is also available for timers and alarms. It will double the number of buzz counts and you will have to swipe the screen five to eight times correctly - make a mistake, and you will need to start over. -"Oneshot" can be set on timers and alarms to have it delete itself once it's sounded (uses the "Delete after expiration" setting from the alarm app). +"Delete after expiration" can be set on a timer/alarm to have it delete itself once it's sounded (the same as the alarm app). ## WARNING * Editing timers in another app (such as the default Alarm app) is not recommended. Editing alarms should not be a problem (in theory). diff --git a/apps/multitimer/app.js b/apps/multitimer/app.js index e133820b0..ae8647db0 100644 --- a/apps/multitimer/app.js +++ b/apps/multitimer/app.js @@ -1,13 +1,6 @@ Bangle.loadWidgets(); Bangle.drawWidgets(); -const triggercheck = ` - eval(require("Storage").read("multitimer.ext.js")); - buzzCount *= 3; - startHM(); - "skipPrompt" -`; - var R = Bangle.appRect; var layer; var drag; diff --git a/apps/multitimer/boot.js b/apps/multitimer/boot.js index 13f1d6363..70b9032f6 100644 --- a/apps/multitimer/boot.js +++ b/apps/multitimer/boot.js @@ -1,8 +1,8 @@ { - const resetTimer = alarm => { - if (alarm.timer) alarm.timer = alarm.data.ot; - }; + const resetTimer = alarm => { + if (alarm.timer) alarm.timer = alarm.data.ot; + }; - Bangle.on("alarmSnooze", resetTimer); - Bangle.on("alarmDismiss", resetTimer); + Bangle.on("alarmSnooze", resetTimer); + Bangle.on("alarmDismiss", resetTimer); } diff --git a/apps/sched/ChangeLog b/apps/sched/ChangeLog index 951f4e2cc..92b04fb32 100644 --- a/apps/sched/ChangeLog +++ b/apps/sched/ChangeLog @@ -23,4 +23,3 @@ 0.20: Alarm dismiss and snooze events 0.21: Fix crash in clock_info 0.22: Dated event repeat option -0.23: Allow alarms to run custom code (and disable the default prompt) when triggered diff --git a/apps/sched/metadata.json b/apps/sched/metadata.json index 7f94a0a18..aa286ce6a 100644 --- a/apps/sched/metadata.json +++ b/apps/sched/metadata.json @@ -1,7 +1,7 @@ { "id": "sched", "name": "Scheduler", - "version": "0.23", + "version": "0.22", "description": "Scheduling library for alarms and timers", "icon": "app.png", "type": "scheduler", diff --git a/typescript/types/sched.d.ts b/typescript/types/sched.d.ts index f12e425db..78ad0c8d4 100644 --- a/typescript/types/sched.d.ts +++ b/typescript/types/sched.d.ts @@ -65,10 +65,6 @@ declare module Sched { js?: string, data?: unknown, - // optional features - triggercheck?: string, // code that's eval'd when the alarm is triggered, - // may return "skipPrompt" to cancel the default behaviour - // set by sched last?: number, } & ( From b957b61ceb30d8e7d81978dabd6ed4b35bea7047 Mon Sep 17 00:00:00 2001 From: notEvil Date: Sat, 1 Jul 2023 10:48:43 +0200 Subject: [PATCH 121/139] apps/chargent: fixed boot --- apps/chargent/ChangeLog | 1 + apps/chargent/boot.js | 7 +++++-- apps/chargent/metadata.json | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/chargent/ChangeLog b/apps/chargent/ChangeLog index d7172c8d2..d7081ecfb 100644 --- a/apps/chargent/ChangeLog +++ b/apps/chargent/ChangeLog @@ -2,3 +2,4 @@ 0.02: Support BangleJS2 0.03: Added threshold 0.04: Added notification +0.05: Fixed boot diff --git a/apps/chargent/boot.js b/apps/chargent/boot.js index 666fd3a04..c8fd4f930 100644 --- a/apps/chargent/boot.js +++ b/apps/chargent/boot.js @@ -2,7 +2,7 @@ const pin = process.env.HWVERSION === 2 ? D3 : D30; var id; - Bangle.on('charging', (charging) => { + function gent(charging) { if (charging) { if (!id) { var max = 0; @@ -37,5 +37,8 @@ require('notify').hide({id: 'chargent'}); } } - }); + } + + Bangle.on('charging', gent); + if (Bangle.isCharging()) gent(true); })(); diff --git a/apps/chargent/metadata.json b/apps/chargent/metadata.json index dda0369a6..d43493ada 100644 --- a/apps/chargent/metadata.json +++ b/apps/chargent/metadata.json @@ -1,6 +1,6 @@ { "id": "chargent", "name": "Charge Gently", - "version": "0.04", + "version": "0.05", "description": "When charging, reminds you to disconnect the watch to prolong battery life.", "icon": "icon.png", "type": "bootloader", From dedaa93e66d31ccb6a584fde1ebc0f8bfb1c492a Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 1 Jul 2023 11:52:17 +0100 Subject: [PATCH 122/139] recorder: add widget typescript definitions --- apps/recorder/widget.d.ts | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 apps/recorder/widget.d.ts diff --git a/apps/recorder/widget.d.ts b/apps/recorder/widget.d.ts new file mode 100644 index 000000000..30430eac4 --- /dev/null +++ b/apps/recorder/widget.d.ts @@ -0,0 +1,40 @@ +type RecorderWidget = Widget & { + getRecorders(): Recorders; + + reload(): void, + + isRecording(): boolean, + + setRecording( + isOn: boolean, + options?: { force?: "append" | "new" | "overwrite" }, + ): Promise; + + plotTrack( + m: unknown /* osm module */, + options?: { + async: true, + callback?: ()=>void, + } + ): { stop(): void }; + plotTrack( + m: unknown /* osm module */, + options?: { + async?: false, + callback?: ()=>void, + } + ): void; +}; + +type Recorders = { + [key: string]: Recorder; +}; + +type Recorder = () => { + name: string, + fields: string[], + getValues(): unknown[], + start(): void, + stop(): void, + draw(x: number, y: number): void, +}; From 7b760ae8033bc83b6d636381e4133751437293b2 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 1 Jul 2023 11:54:25 +0100 Subject: [PATCH 123/139] rep: add settings for <> steps --- apps/rep/app.js | 3 ++- apps/rep/app.ts | 7 ++++++- apps/rep/metadata.json | 1 + apps/rep/settings.ts | 29 +++++++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 apps/rep/settings.ts diff --git a/apps/rep/app.js b/apps/rep/app.js index 0313f5af2..b5ca4f7b8 100644 --- a/apps/rep/app.js +++ b/apps/rep/app.js @@ -14,12 +14,13 @@ : r.dur; return r2; }); + var settings = require("Storage").readJSON("rep.setting.json"); var fontSzMain = 54; var fontScaleRep = 2; var fontSzRep = 20; var fontSzRepDesc = 12; var blue_1 = "#205af7"; - var ffStep_1 = 5 * 1000; + var ffStep_1 = settings.stepMs; var state_1; var drawInterval_1; var lastRepIndex_1 = null; diff --git a/apps/rep/app.ts b/apps/rep/app.ts index 976dafd14..aeded4a23 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -1,3 +1,7 @@ +type RepSettings = { + stepMs: number, +}; + { const L = require("Layout"); @@ -31,12 +35,13 @@ const reps = storeReps.map((r: StoreRep, i: number, a: Rep[]): Rep => { return r2; }); +const settings = require("Storage").readJSON("rep.setting.json") as RepSettings; const fontSzMain = 54; const fontScaleRep = 2; const fontSzRep = 20; const fontSzRepDesc = 12; const blue = "#205af7"; -const ffStep = 5 * 1000; +const ffStep = settings.stepMs; let state: State | undefined; let drawInterval: IntervalId | undefined; diff --git a/apps/rep/metadata.json b/apps/rep/metadata.json index faf3a636d..4b34175c8 100644 --- a/apps/rep/metadata.json +++ b/apps/rep/metadata.json @@ -10,6 +10,7 @@ "interface": "interface.html", "storage": [ {"name":"rep.app.js","url":"app.js"}, + {"name":"rep.settings.js","url":"settings.js"}, {"name":"rep.img","url":"app-icon.js","evaluate":true} ], "data": [{"name":"rep.json"}] diff --git a/apps/rep/settings.ts b/apps/rep/settings.ts new file mode 100644 index 000000000..539ff98bc --- /dev/null +++ b/apps/rep/settings.ts @@ -0,0 +1,29 @@ +(back => { + const SETTINGS_FILE = "rep.setting.json"; + + const storage = require("Storage") + const settings = (storage.readJSON(SETTINGS_FILE, true) || {}) as RepSettings; + settings.stepMs ??= 5 * 1000; + + const save = () => { + storage.writeJSON(SETTINGS_FILE, settings); + }; + + const menu: Menu = { + "": { "title": "Rep" }, + "< Back": back, + /*LANG*/"Fwd/back seconds": { + value: settings.stepMs / 1000, + min: 1, + max: 60, + step: 1, + format: (v: number) => `${v}s`, + onchange: (v: number) => { + settings.stepMs = v * 1000; + save(); + }, + }, + }; + + E.showMenu(menu); +}) satisfies SettingsFunc From 98597073ef1a97c95f01321382a68d4a27767c28 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 1 Jul 2023 11:55:00 +0100 Subject: [PATCH 124/139] rep: add recorder functionality --- apps/rep/README.md | 3 ++- apps/rep/app.js | 18 +++++++++++++++--- apps/rep/app.ts | 23 +++++++++++++++++++---- apps/rep/settings.ts | 19 +++++++++++++++++++ 4 files changed, 55 insertions(+), 8 deletions(-) diff --git a/apps/rep/README.md b/apps/rep/README.md index 85d41956d..343837f4d 100644 --- a/apps/rep/README.md +++ b/apps/rep/README.md @@ -7,6 +7,7 @@ You can rewind, fast-forward and play/pause with the control buttons. # Todo -- [ ] Recorder functionality +- [X] Recorder functionality + - [ ] Recorder toggle functionality - [ ] Fastload: scoping, unregister layout handlers etc - [ ] Swipe handlers as well as "<<" / ">>" buttons diff --git a/apps/rep/app.js b/apps/rep/app.js index b5ca4f7b8..e57eb19aa 100644 --- a/apps/rep/app.js +++ b/apps/rep/app.js @@ -246,8 +246,20 @@ }; buzz(); }; + var init = function () { + g.clear(); + drawRep_1(); + Bangle.drawWidgets(); + }; Bangle.loadWidgets(); - g.clear(); - drawRep_1(); - Bangle.drawWidgets(); + if (settings.record && WIDGETS["recorder"]) { + WIDGETS["recorder"] + .setRecording(true) + .then(init); + if (settings.recordStopOnExit) + E.on('kill', function () { return WIDGETS["recorder"].setRecording(false); }); + } + else { + init(); + } } diff --git a/apps/rep/app.ts b/apps/rep/app.ts index aeded4a23..a85793883 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -1,4 +1,6 @@ type RepSettings = { + record: boolean, + recordStopOnExit: boolean, stepMs: number, }; @@ -308,10 +310,23 @@ const buzzNewRep = () => { buzz(); }; +const init = () => { + g.clear(); + drawRep(); + + Bangle.drawWidgets(); +}; + Bangle.loadWidgets(); +if (settings.record && WIDGETS["recorder"]) { + (WIDGETS["recorder"] as RecorderWidget) + .setRecording(true) + .then(init); + + if (settings.recordStopOnExit) + E.on('kill', () => (WIDGETS["recorder"] as RecorderWidget).setRecording(false)); +} else { + init(); +} -g.clear(); -drawRep(); - -Bangle.drawWidgets(); } diff --git a/apps/rep/settings.ts b/apps/rep/settings.ts index 539ff98bc..0041b95f9 100644 --- a/apps/rep/settings.ts +++ b/apps/rep/settings.ts @@ -3,6 +3,8 @@ const storage = require("Storage") const settings = (storage.readJSON(SETTINGS_FILE, true) || {}) as RepSettings; + settings.record ??= false; + settings.recordStopOnExit ??= false; settings.stepMs ??= 5 * 1000; const save = () => { @@ -25,5 +27,22 @@ }, }; + if (global["WIDGETS"] && WIDGETS["recorder"]) { + menu[/*LANG*/"Record activity"] = { + value: !!settings.record, + onchange: (v: boolean) => { + settings.record = v; + save(); + } + }; + menu[/*LANG*/"Stop record on exit"] = { + value: !!settings.recordStopOnExit, + onchange: (v: boolean) => { + settings.recordStopOnExit = v; + save(); + } + }; + } + E.showMenu(menu); }) satisfies SettingsFunc From 4fe104334be8d671d6da94d16fff283d7e2d21a8 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 1 Jul 2023 11:55:20 +0100 Subject: [PATCH 125/139] rep: regenerate js --- apps/rep/settings.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 apps/rep/settings.js diff --git a/apps/rep/settings.js b/apps/rep/settings.js new file mode 100644 index 000000000..bfadacda1 --- /dev/null +++ b/apps/rep/settings.js @@ -0,0 +1,44 @@ +(function (back) { + var _a, _b, _c; + var SETTINGS_FILE = "rep.setting.json"; + var storage = require("Storage"); + var settings = (storage.readJSON(SETTINGS_FILE, true) || {}); + (_a = settings.record) !== null && _a !== void 0 ? _a : (settings.record = false); + (_b = settings.recordStopOnExit) !== null && _b !== void 0 ? _b : (settings.recordStopOnExit = false); + (_c = settings.stepMs) !== null && _c !== void 0 ? _c : (settings.stepMs = 5 * 1000); + var save = function () { + storage.writeJSON(SETTINGS_FILE, settings); + }; + var menu = { + "": { "title": "Rep" }, + "< Back": back, + "Fwd/back seconds": { + value: settings.stepMs / 1000, + min: 1, + max: 60, + step: 1, + format: function (v) { return "".concat(v, "s"); }, + onchange: function (v) { + settings.stepMs = v * 1000; + save(); + }, + }, + }; + if (global["WIDGETS"] && WIDGETS["recorder"]) { + menu["Record activity"] = { + value: !!settings.record, + onchange: function (v) { + settings.record = v; + save(); + } + }; + menu["Stop record on exit"] = { + value: !!settings.recordStopOnExit, + onchange: function (v) { + settings.recordStopOnExit = v; + save(); + } + }; + } + E.showMenu(menu); +}); From a0747b4ac3b8e1d534a36388084dc01e87b06a11 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 1 Jul 2023 12:00:19 +0100 Subject: [PATCH 126/139] rep: check settings --- apps/rep/app.js | 6 +++++- apps/rep/app.ts | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/rep/app.js b/apps/rep/app.js index e57eb19aa..06c8889b7 100644 --- a/apps/rep/app.js +++ b/apps/rep/app.js @@ -1,3 +1,4 @@ +var _a, _b, _c; { var L = require("Layout"); var storeReps = require("Storage") @@ -14,7 +15,10 @@ : r.dur; return r2; }); - var settings = require("Storage").readJSON("rep.setting.json"); + var settings = (require("Storage").readJSON("rep.setting.json", true) || {}); + (_a = settings.record) !== null && _a !== void 0 ? _a : (settings.record = false); + (_b = settings.recordStopOnExit) !== null && _b !== void 0 ? _b : (settings.recordStopOnExit = false); + (_c = settings.stepMs) !== null && _c !== void 0 ? _c : (settings.stepMs = 5 * 1000); var fontSzMain = 54; var fontScaleRep = 2; var fontSzRep = 20; diff --git a/apps/rep/app.ts b/apps/rep/app.ts index a85793883..181ccd921 100644 --- a/apps/rep/app.ts +++ b/apps/rep/app.ts @@ -37,7 +37,11 @@ const reps = storeReps.map((r: StoreRep, i: number, a: Rep[]): Rep => { return r2; }); -const settings = require("Storage").readJSON("rep.setting.json") as RepSettings; +const settings = (require("Storage").readJSON("rep.setting.json", true) || {}) as RepSettings; +settings.record ??= false; +settings.recordStopOnExit ??= false; +settings.stepMs ??= 5 * 1000; + const fontSzMain = 54; const fontScaleRep = 2; const fontSzRep = 20; From d2789d84188be567e704e49691fa9bb730442a1b Mon Sep 17 00:00:00 2001 From: Graham Fenner Date: Sat, 1 Jul 2023 16:55:42 +0100 Subject: [PATCH 127/139] battery voltage estimate --- apps/lcars/ChangeLog | 3 ++- apps/lcars/README.md | 3 ++- apps/lcars/lcars.app.js | 3 +++ apps/lcars/lcars.settings.js | 2 +- apps/lcars/metadata.json | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/lcars/ChangeLog b/apps/lcars/ChangeLog index fb778c278..e3f1f6d77 100644 --- a/apps/lcars/ChangeLog +++ b/apps/lcars/ChangeLog @@ -24,4 +24,5 @@ 0.24: Add ability to disable alarm functionality. 0.25: Add more colors to the settings and add the ability to disable the data charts+Markup. 0.26: Use widget_utils. -0.27: Report latest HRM rather than HRM 10 minutes ago (fix #2395) \ No newline at end of file +0.27: Report latest HRM rather than HRM 10 minutes ago (fix #2395) +0.28: Battery Vref implemented correctly. \ No newline at end of file diff --git a/apps/lcars/README.md b/apps/lcars/README.md index 1564b4179..89918ae87 100644 --- a/apps/lcars/README.md +++ b/apps/lcars/README.md @@ -25,7 +25,8 @@ the "sched" app must be installed on your device. ## Data that can be configured * Steps - Steps loaded via the wpedom app. * Battery - Current battery level in % - * VREF - Voltage of battery + * BattVolt - Voltage of battery + * VREF - Internal Voltage Reference * HRM - Last measured HRM * Temp - Weather temperature loaded via the weather module + gadgetbridge * Humidity - Humidity loaded via the weather module + gadgetbridge diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index cbb6e6ad5..4eab1c4eb 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -239,6 +239,9 @@ function _drawData(key, y, c){ } else if (key == "VREF"){ value = E.getAnalogVRef().toFixed(2) + "V"; + } else if (key =="BATTVOLT" ) { + text = "BATV"; + value = (E.getAnalogVRef()*analogRead(3)*4).toFixed(2) + "V"; } else if(key == "HRM"){ value = Math.round(Bangle.getHealthStatus().bpm||Bangle.getHealthStatus("last").bpm); diff --git a/apps/lcars/lcars.settings.js b/apps/lcars/lcars.settings.js index 7837eb4d1..81c71020f 100644 --- a/apps/lcars/lcars.settings.js +++ b/apps/lcars/lcars.settings.js @@ -26,7 +26,7 @@ } - var dataOptions = ["Steps", "Battery", "VREF", "HRM", "Temp", "Humidity", "Wind", "Altitude", "CoreT"]; + var dataOptions = ["Steps", "Battery", "BattVolt", "VREF", "HRM", "Temp", "Humidity", "Wind", "Altitude", "CoreT"]; var speedOptions = ["kph", "mph"]; var color_options = ['Green','Orange','Cyan','Purple','Red','Blue','Yellow','White','Purple','Pink','Light Green','Dark Green']; var bg_code = ['#00ff00','#FF9900','#0094FF','#FF00DC','#ff0000','#0000ff','#ffef00','#FFFFFF','#FF00FF','#6C00FF','#99FF00','#556B2F']; diff --git a/apps/lcars/metadata.json b/apps/lcars/metadata.json index 2cefb544f..4a7707b8a 100644 --- a/apps/lcars/metadata.json +++ b/apps/lcars/metadata.json @@ -3,7 +3,7 @@ "name": "LCARS Clock", "shortName":"LCARS", "icon": "lcars.png", - "version":"0.27", + "version":"0.28", "readme": "README.md", "supports": ["BANGLEJS2"], "description": "Library Computer Access Retrieval System (LCARS) clock.", From 4287f3a92160cbe069bc63cd2adf8c9de96c024b Mon Sep 17 00:00:00 2001 From: Gabriele Monaco Date: Sun, 2 Jul 2023 19:37:54 +0200 Subject: [PATCH 128/139] agenda: Fixed "Today" and "Yesterday" wrongly displayed for allDay events on some time zones --- apps/agenda/ChangeLog | 1 + apps/agenda/agenda.js | 11 +++++------ apps/agenda/metadata.json | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/agenda/ChangeLog b/apps/agenda/ChangeLog index 9e7151e1e..836810638 100644 --- a/apps/agenda/ChangeLog +++ b/apps/agenda/ChangeLog @@ -13,3 +13,4 @@ Added dynamic, short and range fields to clkinfo 0.12: Added color field and updating clkinfo periodically (running events) 0.13: Show day of the week in date +0.14: Fixed "Today" and "Yesterday" wrongly displayed for allDay events on some time zones diff --git a/apps/agenda/agenda.js b/apps/agenda/agenda.js index 6d2b783fd..814525a2e 100644 --- a/apps/agenda/agenda.js +++ b/apps/agenda/agenda.js @@ -38,13 +38,12 @@ function formatDay(date) { if (!settings.useToday) { return formattedDate; } - const dateformatted = date.toISOString().split('T')[0]; // yyyy-mm-dd - const today = new Date(Date.now()).toISOString().split('T')[0]; // yyyy-mm-dd - if (dateformatted == today) { + const today = new Date(Date.now()); + if (date.getDay() == today.getDay() && date.getMonth() == today.getMonth()) return /*LANG*/"Today "; - } else { - const tomorrow = new Date(Date.now() + 86400 * 1000).toISOString().split('T')[0]; // yyyy-mm-dd - if (dateformatted == tomorrow) { + else { + const tomorrow = new Date(Date.now() + 86400 * 1000); + if (date.getDay() == tomorrow.getDay() && date.getMonth() == tomorrow.getMonth()) { return /*LANG*/"Tomorrow "; } return formattedDate; diff --git a/apps/agenda/metadata.json b/apps/agenda/metadata.json index 737568cb5..2d5864145 100644 --- a/apps/agenda/metadata.json +++ b/apps/agenda/metadata.json @@ -1,7 +1,7 @@ { "id": "agenda", "name": "Agenda", - "version": "0.13", + "version": "0.14", "description": "Simple agenda", "icon": "agenda.png", "screenshots": [{"url":"screenshot_agenda_overview.png"}, {"url":"screenshot_agenda_event1.png"}, {"url":"screenshot_agenda_event2.png"}], From 560f9e1e536d8230269b181412ec0de62e2fb23b Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Sun, 2 Jul 2023 23:00:43 +0200 Subject: [PATCH 129/139] Added chess game Human with white and computer with black. Based on p4wn engine[1]. Computations are rather slow but it works. Usage: Drag on the touchscreen to move the green cursor onto a piece, select it with a single touch and drag the now red cursor around. Release the piece with another touch to finish the move. The button opens a menu. [1] https://p4wn.sourceforge.net/ --- apps/chess/app-icon.js | 1 + apps/chess/app.js | 280 +++++++ apps/chess/app.png | Bin 0 -> 445 bytes apps/chess/engine.js | 1614 +++++++++++++++++++++++++++++++++++++ apps/chess/metadata.json | 17 + apps/chess/screenshot.png | Bin 0 -> 3602 bytes 6 files changed, 1912 insertions(+) create mode 100644 apps/chess/app-icon.js create mode 100644 apps/chess/app.js create mode 100644 apps/chess/app.png create mode 100644 apps/chess/engine.js create mode 100644 apps/chess/metadata.json create mode 100644 apps/chess/screenshot.png diff --git a/apps/chess/app-icon.js b/apps/chess/app-icon.js new file mode 100644 index 000000000..2aa34d5ae --- /dev/null +++ b/apps/chess/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwxH+AH4A/AH4A/AEnPAEAv/wAAcF6XWAAYdFBQgLLF/4v/F/4vTFKoLGF/4v/F/4v/F4QpWBQov/F7UslgKBAYIABEgIDDF/4v/F4es1gvTdKoLBFYYAHF/4vTmQvuvQwJFxAvbAAOIxIAFFxIvzFKYLG6CMNF8GsF92BdpwvfqwvtRwgvQAC+IxIAJF5QAYF93OwEyRwqSPACwsJGEov/AH4A/AH4AwA=")) diff --git a/apps/chess/app.js b/apps/chess/app.js new file mode 100644 index 000000000..1750d5c8f --- /dev/null +++ b/apps/chess/app.js @@ -0,0 +1,280 @@ +// Using p4wn chess engine: https://p4wn.sourceforge.net/ | https://github.com/douglasbagnall/p4wn +const engine = require("chessengine"); + +Bangle.loadWidgets(); // load before first appRect call + +const FIELD_WIDTH = Bangle.appRect.w/8; +const FIELD_HEIGHT = Bangle.appRect.h/8; +const SETTINGS_FILE = "chess.json"; +const DEFAULT_TIMEOUT = Bangle.getOptions().lockTimeout; +const ICON_SIZE=45; +const ICON_BISHOP = require("heatshrink").decompress(atob("lstwMB/4Ac/wFE4IED/kPAofgn4FDGon8j4QEBQgQE4EHBQcACwfAgF/BQYWD8EAHAX+NgI4C+AQEwAQDDYIhDDYMDCAQKBGQQsHHogKDCAJODCAI3CHoQKCHoIQDHoIQCFgoQBFgfgIQYmBEIQECKgIrCBYQKDC4OBg/8iCvEAC+AA=")); +const ICON_PAWN = require("heatshrink").decompress(atob("lstwMB/4At/AFEGon4h4FDwE/AgX8CAngCAkAv4bDgYbECAf4gAhD4AhD/kAg4mDCAkACAYbBEIYQBG4gbDEII9DFhXAgEfBQYWDEwJUC/wKBGQXwCAgEBE4RCBCAYmBCAQmCCAQmBCAbdCCAIbCQ4gAYwA=")); +const ICON_KING = require("heatshrink").decompress(atob("lstwMB/4Ac/wFE+4KEh4FD+F/AofvCwgKE+IKEg4bEj4FDwADC/k8g+HAoJhCC4PwAoQXBNod//AECgYfBAoUP/gQE8AQEBQcfCAaLBCAZmBEIZuBBQgyDJAIWCPgXAEAQWDBQRUCPgQnBHgJqBLwYhDOwRvDGQc/EIaSDCwLedwAA==")); +const ICON_QUEEN = require("heatshrink").decompress(atob("lstwMB/4Ac/l/AgXn4PzAgP+j0Ph4FB8FwuE///PgeDwPn/k8n0+j0f4Hz+Px8F+g/Px+fgf4vgACn/jAAf/x8Pj0en/8vAsB+P/+PBwcHj//w0MjEwJgMwsHBw5CBwMEhBDBPoR6B/gFCDYPgAoRZBAgUH//4AoQbB4AbDCAYbBCAZ1CAgJ7CwAKDGQQmBCAYmBEIQmC+AQEDYQQBDYQQCFgo3CXQIsFBYIEDACmAA=")); +const ICON_ROOK = require("heatshrink").decompress(atob("lstwMB/4Ax/0HgPAAoPwnEOg4FBwBFBn///gEBI4XgAoMPAoJWCv4QDDYXwBQf/4AKD/wmDCARuDGQImCEIQbCGQMDCAQKBj4EB/AFBBQQsgDYQQCNQQhCOog3CCAQ3BEIRvCAoSRCE4IxCKgQmCKgYAZwA=")); +const ICON_KNIGHT = require("heatshrink").decompress(atob("lstwMB/4Ann1/AgX48IKD4UPAgX+gEHAoXwgALDJQMfDYQFBEQWAgBSCBQQcC4AFBn///hnCBQPgAgMDGIQnDGIIQDAgQQBEwQQCGIIQCEwMECAQxBsAQBEwMPCAQmBAIJDB4EPDoM/CAIoBKgP4BQQQB/AzCKgJlIPgQ+COwJlCHoJlDJwJlDS4aBDDYQsCADOA")); + +const settings = Object.assign({ + state: engine.P4_INITIAL_BOARD, + computer_level: 0, // default to "stupid" which is the fastest +}, require("Storage").readJSON(SETTINGS_FILE,1) || {}); + +var ovr = Graphics.createArrayBuffer(Bangle.appRect.w,Bangle.appRect.h,2,{msb:true}); +const curfield = [4*FIELD_WIDTH, 6*FIELD_HEIGHT]; // e2 +const startfield = Array(2); +let piece_sel = 0; +let showmenu = false; + +const writeSettings = () => { + settings.state = engine.p4_state2fen(state); + require('Storage').writeJSON(SETTINGS_FILE, settings); +}; + +const generateBgImage = () => { + var buf = Graphics.createArrayBuffer(Bangle.appRect.w,Bangle.appRect.h,1,{msb:true}); + for(let idxrow=0; idxrow<8; idxrow++) { + for(let idxcol=0; idxcol<8; idxcol++) { + const bgCol = idxrow % 2 != idxcol % 2 ? 0 : 1; + const x = idxcol*FIELD_WIDTH; + const y = idxrow*FIELD_HEIGHT; + buf.setColor(bgCol).fillRect({x:x, y:y, w:FIELD_WIDTH, h:FIELD_HEIGHT}); + } + } + return {width:buf.getWidth(), height:buf.getHeight(), + buffer:buf.buffer + }; +}; + +const idx2Pos = (idxcol, idxrow) => { + "ram" + return 2*(1+8+1) + (7-idxrow)*(1+8+1) + idxcol + 1; +}; + +const drawPiece = (buf, x, y, piece) => { + let icon; + + switch(piece & ~0x1) { + case engine.P4_PAWN: + icon = ICON_PAWN; + break; + case engine.P4_BISHOP: + icon = ICON_BISHOP; + break; + case engine.P4_KING: + icon = ICON_KING; + break; + case engine.P4_QUEEN: + icon = ICON_QUEEN; + break; + case engine.P4_ROOK: + icon = ICON_ROOK; + break; + case engine.P4_KNIGHT: + icon = ICON_KNIGHT; + break; + } + + if (icon) { + const scale = FIELD_HEIGHT/ICON_SIZE; + buf.drawImage(icon, x+(FIELD_WIDTH-(ICON_SIZE*scale))/2, y, {scale: scale}); + } + return buf; +}; + +const drawBoard = () => { + console.log("Free: " + process.memory().free); + + g.setBgColor("#555").setColor("#aaa").drawImage(bgImage, Bangle.appRect.x, Bangle.appRect.y); + for(let idxrow=0; idxrow<8; idxrow++) { + for(let idxcol=0; idxcol<8; idxcol++) { + const x = idxcol*FIELD_WIDTH+Bangle.appRect.x; + const y = idxrow*FIELD_HEIGHT+Bangle.appRect.y; + + const pos = idx2Pos(idxcol, idxrow); + const field = state.board[pos]; + + if (field) { + const fgCol = field & 0x1 ? "#000" : "#fff"; + drawPiece(g.setBgColor(fgCol), x, y, field); + } + } + } +}; + +const roundX = (x) => { + return Math.round(x/FIELD_WIDTH)*FIELD_WIDTH; +}; + +const roundY = (y) => { + return Math.round(y/FIELD_HEIGHT)*FIELD_HEIGHT; +}; + +const drawSelectedField = () => { + ovr.clear(); + if (!showmenu) { + if (startfield[0] !== undefined && startfield[1] !== undefined) { + // remove piece from startfield + const x = startfield[0]; + const y = startfield[1]; + ovr.setColor(2).fillRect({x:x, y:y, w:FIELD_WIDTH, h:FIELD_HEIGHT}); + } + + const x = roundX(curfield[0]); + const y = roundY(curfield[1]); + ovr.setColor(piece_sel ? 1 : 2) + .drawRect({x:x+1, y:y, w:FIELD_WIDTH-2, h:FIELD_HEIGHT}) + .drawRect({x:x+2, y:y+1, w:FIELD_WIDTH-4, h:FIELD_HEIGHT-2}) + .drawRect({x:x+3, y:y+2, w:FIELD_WIDTH-6, h:FIELD_HEIGHT-4}); + if (piece_sel) { + drawPiece(ovr.setBgColor(1), x, y, piece_sel); + ovr.setBgColor(0); // back to transparent + } + } + Bangle.setLCDOverlay({width:ovr.getWidth(), height:ovr.getHeight(), + bpp:2, transparent:0, + palette:new Uint16Array([0, g.toColor("#F00"), g.toColor("#0F0"), 0]), + buffer:ovr.buffer + },Bangle.appRect.x,Bangle.appRect.y); +}; + +const isInside = (rect, e) => { + return e.x>=rect.x && e.x=rect.y && e.y<=rect.y+rect.h; +}; + +const showAlert = (msg) => { + showmenu = true; + drawSelectedField(); + E.showAlert(msg).then(function() { + showmenu = false; + drawBoard(); + drawSelectedField(); + }); +}; + +const move = (from,to) => { + const res = state.move(from, to); + console.log(res); + if (!res.ok) { + showAlert("Illegal move"); + } else { + if (res.flags & engine.P4_MOVE_FLAG_MATE) { + showAlert("Checkmate or stalemate"); + } else if (res.flags & engine.P4_MOVE_FLAG_CHECK) { + showAlert("A king is in check"); + } else if (res.flags & engine.P4_MOVE_FLAG_DRAW) { + showAlert("A draw is available"); + } else { + drawBoard(); + drawSelectedField(); + } + } + return res.ok; +}; + +const showMessage = (msg) => { + g.setColor("#f00").setFont("4x6:2").setFontAlign(-1,1).drawString(msg, 10, Bangle.appRect.y2-10); +}; + +// Run + +g.reset(); +const bgImage = generateBgImage(); +let state = engine.p4_fen2state(settings.state); +drawBoard(); +drawSelectedField(); +Bangle.drawWidgets(); + +// drag selected field +Bangle.on('drag', (ev) => { + const newx = curfield[0]+ev.dx; + const newy = curfield[1]+ev.dy; + if (newx >= 0 && newx <= 7*FIELD_WIDTH) { + curfield[0] = newx; + } + if (newy >= 0 && newy <= 7*FIELD_HEIGHT) { + curfield[1] = newy; + } + drawSelectedField(); +}); + +// touch to start/stop moving a piece +Bangle.on('touch', (button, xy) => { + if (isInside(Bangle.appRect, xy) && !showmenu) { + if (piece_sel === 0) { + startfield[0] = roundX(curfield[0]); + startfield[1] = roundY(curfield[1]); + const startpos = idx2Pos(startfield[0]/FIELD_WIDTH, startfield[1]/FIELD_HEIGHT); + piece_sel = state.board[startpos]; + if (piece_sel === 0) { + startfield[0] = startfield[1] = undefined; + // nothing here, do nothing + return; + } + } else { // piece_sel === 0 + const colTo = roundX(curfield[0]); + const rowTo = roundY(curfield[1]); + if (startfield[0] !== colTo || startfield[1] !== rowTo) { + showMessage(/*LANG*/"Moving.."); + const posFrom = idx2Pos(startfield[0]/FIELD_WIDTH, startfield[1]/FIELD_HEIGHT); + const posTo = idx2Pos(colTo/FIELD_WIDTH, rowTo/FIELD_HEIGHT); + setTimeout(() => { + if (move(posFrom, posTo)) { + // human move ok, do computer move + Bangle.setLCDTimeout(0.1); // this can take some time, turn off to save power + showMessage(/*LANG*/"Calculating.."); + setTimeout(() => { + const compMove = state.findmove(settings.computer_level+1); + move(compMove[0], compMove[1]); + writeSettings(); + Bangle.setLCDPower(true); + Bangle.setLocked(false); + Bangle.setLCDTimeout(DEFAULT_TIMEOUT/1000); // restore + }, 200); // execute after display update + } + }, 100); // execute after display update + } // piece_sel === 0 + startfield[0] = startfield[1] = undefined; + piece_sel = 0; + } + drawSelectedField(); + } +}); + +// show menu on button +setWatch(() => { + showmenu = true; + drawSelectedField(); + + const closeMenu = () => { + showmenu = false; + E.showMenu(); + drawBoard(); + drawSelectedField(); + }; + + E.showMenu({ + "" : { title : /*LANG*/"Chess settings" }, + "< Back" : () => closeMenu(), + /*LANG*/"New Game" : () => { + state = engine.p4_fen2state(engine.P4_INITIAL_BOARD); + writeSettings(); + closeMenu(); + }, + /*LANG*/"Undo Move" : () => { + state.jump_to_moveno(-2); + closeMenu(); + }, + /*LANG*/'Level': { + value: settings.computer_level, + min: 0, max: 4, + format: v => [/*LANG*/'stupid', /*LANG*/'middling', /*LANG*/'default', /*LANG*/'slow', /*LANG*/'slowest'][v], + onchange: v => { + settings.computer_level = v; + writeSettings(); + } + }, + /*LANG*/"Exit" : () => load(), + }); +}, BTN, { repeat: true, edge: "falling" }); diff --git a/apps/chess/app.png b/apps/chess/app.png new file mode 100644 index 0000000000000000000000000000000000000000..9db78e27d56164cc2c2af8a315cac147f38180b9 GIT binary patch literal 445 zcmV;u0Yd(XP)F6XU=)mkK?nYyY4|@FFvE!Vz`~CD0m1*N6$4C zJD30-^}s?Z$AGh62njLZ_h`_?Kyzskk)H5-WZ~xPG3Y$75Q?YlzWaZ|sh?PJ|H&VR ziE{XWdSKTboF15P>c^oWF|6|H;RTGOW8v*BO_JjW(gUZC?!@$fyPwOD@xYX6lQ2AB z=I+-qWIPa-n2N;%{mao?N>-^vD`4*C_l#5zn7jEuXBaHN noK(k?(kB=NqhJ&;3<&@L5LfC~3w^9v00000NkvXXu0mjfsldr! literal 0 HcmV?d00001 diff --git a/apps/chess/engine.js b/apps/chess/engine.js new file mode 100644 index 000000000..88edf78f5 --- /dev/null +++ b/apps/chess/engine.js @@ -0,0 +1,1614 @@ +/* p4wn, AKA 5k chess - by Douglas Bagnall + * + * This code is in the public domain, or as close to it as various + * laws allow. No warranty; no restrictions. + * + * lives at http://p4wn.sf.net/ + */ + +/*Compatibility tricks: + * backwards for old MSIEs (to 5.5) + * sideways for seed command-line javascript.*/ +var p4_log; +if (this.imports !== undefined && + this.printerr !== undefined){//seed or gjs + p4_log = function(){ + var args = Array.prototype.slice.call(arguments); + printerr(args.join(', ')); + }; +} +else if (this.console === undefined){//MSIE + p4_log = function(){}; +} +else { + p4_log = function(){console.log.apply(console, arguments);}; +} + +/*MSIE Date.now backport */ +if (Date.now === undefined) + Date.now = function(){return (new Date).getTime();}; + +/* The pieces are stored as numbers between 2 and 13, inclusive. + * Empty squares are stored as 0, and off-board squares as 16. + * There is some bitwise logic to it: + * piece & 1 -> colour (white: 0, black: 1) + * piece & 2 -> single move piece (including pawn) + * if (piece & 2) == 0: + * piece & 4 -> row and column moves + * piece & 8 -> diagonal moves + */ +var P4_PAWN = 2, P4_ROOK = 4, P4_KNIGHT = 6, P4_BISHOP = 8, P4_QUEEN = 12, P4_KING = 10; +var P4_EDGE = 16; + +/* in order, even indices: , pawn, rook, knight, bishop, king, queen. Only the + * even indices are used.*/ +var P4_MOVES = [[], [], + [], [], + [1,10,-1,-10], [], + [21,19,12,8,-21,-19,-12,-8], [], + [11,9,-11,-9], [], + [1,10,11,9,-1,-10,-11,-9], [], + [1,10,11,9,-1,-10,-11,-9], [] + ]; + +/*P4_VALUES defines the relative value of various pieces. + * + * It follows the 1,3,3,5,9 pattern you learn as a kid, multiplied by + * 20 to give sub-pawn resolution to other factors, with bishops given + * a wee boost over knights. + */ +var P4_VALUES=[0, 0, //Piece values + 20, 20, //pawns + 100, 100, //rooks + 60, 60, //knights + 61, 61, //bishops + 8000, 8000,//kings + 180, 180, //queens + 0]; + +/* A score greater than P4_WIN indicates a king has been taken. It is + * less than the value of a king, in case someone finds a way to, say, + * sacrifice two queens in order to checkmate. + */ +var P4_KING_VALUE = P4_VALUES[10]; +var P4_WIN = P4_KING_VALUE >> 1; + +/* every move, a winning score decreases by this much */ +var P4_WIN_DECAY = 300; +var P4_WIN_NOW = P4_KING_VALUE - 250; + +/* P4_{MAX,MIN}_SCORE should be beyond any possible evaluated score */ + +var P4_MAX_SCORE = 9999; // extremes of evaluation range +var P4_MIN_SCORE = -P4_MAX_SCORE; + +/*initialised in p4_initialise_state */ +var P4_CENTRALISING_WEIGHTS; +var P4_BASE_PAWN_WEIGHTS; +var P4_KNIGHT_WEIGHTS; + +/*P4_DEBUG turns on debugging features */ +var P4_DEBUG = 0; +var P4_INITIAL_BOARD = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 1 1"; + +/*use javascript typed arrays rather than plain arrays + * (faster in some browsers, unsupported in others, possibly slower elsewhere) */ +var P4_USE_TYPED_ARRAYS = this.Int32Array !== undefined; + +var P4_PIECE_LUT = { /*for FEN, PGN interpretation */ + P: 2, + p: 3, + R: 4, + r: 5, + N: 6, + n: 7, + B: 8, + b: 9, + K: 10, + k: 11, + Q: 12, + q: 13 +}; + +var P4_ENCODE_LUT = ' PPRRNNBBKKQQ'; + + +function p4_alphabeta_treeclimber(state, count, colour, score, s, e, alpha, beta){ + var move = p4_make_move(state, s, e, P4_QUEEN); + var i; + var ncolour = 1 - colour; + var movelist = p4_parse(state, colour, move.ep, -score); + var movecount = movelist.length; + if(count){ + //branch nodes + var t; + for(i = 0; i < movecount; i++){ + var mv = movelist[i]; + var mscore = mv[0]; + var ms = mv[1]; + var me = mv[2]; + if (mscore > P4_WIN){ //we won! Don't look further. + alpha = P4_KING_VALUE; + break; + } + t = -p4_alphabeta_treeclimber(state, count - 1, ncolour, mscore, ms, me, + -beta, -alpha); + if (t > alpha){ + alpha = t; + } + if (alpha >= beta){ + break; + } + } + if (alpha < -P4_WIN_NOW && ! p4_check_check(state, colour)){ + /* Whatever we do, we lose the king. + * But if it is not check then this is stalemate, and the + * score doesn't apply. + */ + alpha = state.stalemate_scores[colour]; + } + if (alpha < -P4_WIN){ + /*make distant checkmate seem less bad */ + alpha += P4_WIN_DECAY; + } + } + else{ + //leaf nodes + while(beta > alpha && --movecount != -1){ + if(movelist[movecount][0] > alpha){ + alpha = movelist[movecount][0]; + } + } + } + p4_unmake_move(state, move); + return alpha; +} + + +/* p4_prepare() works out weightings for assessing various moves, + * favouring centralising moves early, for example. + * + * It is called before each tree search, not for each parse(), so it + * is OK for it to be a little bit slow. But that also means it drifts + * out of sync with the real board state, especially on deep searches. + */ + +function p4_prepare(state){ + var i, j, x, y, a; + var pieces = state.pieces = [[], []]; + /*convert state.moveno half move count to move cycle count */ + var moveno = state.moveno >> 1; + var board = state.board; + + /* high earliness_weight indicates a low move number. The formula + * should work above moveno == 50, but this is javascript. + */ + var earliness_weight = (moveno > 50) ? 0 : parseInt(6 * Math.exp(moveno * -0.07)); + var king_should_hide = moveno < 12; + var early = moveno < 5; + /* find the pieces, kings, and weigh material*/ + var kings = [0, 0]; + var material = [0, 0]; + var best_pieces = [0, 0]; + for(i = 20; i < 100; i++){ + a = board[i]; + var piece = a & 14; + var colour = a & 1; + if(piece){ + pieces[colour].push([a, i]); + if (piece == P4_KING){ + kings[colour] = i; + } + else{ + material[colour] += P4_VALUES[piece]; + best_pieces[colour] = Math.max(best_pieces[colour], P4_VALUES[piece]); + } + } + } + + /*does a draw seem likely soon?*/ + var draw_likely = (state.draw_timeout > 90 || state.current_repetitions >= 2); + if (draw_likely) + p4_log("draw likely", state.current_repetitions, state.draw_timeout); + state.values = [[], []]; + var qvalue = P4_VALUES[P4_QUEEN]; /*used as ballast in various ratios*/ + var material_sum = material[0] + material[1] + 2 * qvalue; + var wmul = 2 * (material[1] + qvalue) / material_sum; + var bmul = 2 * (material[0] + qvalue) / material_sum; + var multipliers = [wmul, bmul]; + var emptiness = 4 * P4_QUEEN / material_sum; + state.stalemate_scores = [parseInt(0.5 + (wmul - 1) * 2 * qvalue), + parseInt(0.5 + (bmul - 1) * 2 * qvalue)]; + //p4_log("value multipliers (W, B):", wmul, bmul, + // "stalemate scores", state.stalemate_scores); + for (i = 0; i < P4_VALUES.length; i++){ + var v = P4_VALUES[i]; + if (v < P4_WIN){//i.e., not king + state.values[0][i] = parseInt(v * wmul + 0.5); + state.values[1][i] = parseInt(v * bmul + 0.5); + } + else { + state.values[0][i] = v; + state.values[1][i] = v; + } + } + /*used for pruning quiescence search */ + state.best_pieces = [parseInt(best_pieces[0] * wmul + 0.5), + parseInt(best_pieces[1] * bmul + 0.5)]; + + var kx = [kings[0] % 10, kings[1] % 10]; + var ky = [parseInt(kings[0] / 10), parseInt(kings[1] / 10)]; + + /* find the frontmost pawns in each file */ + var pawn_cols = [[], []]; + for (y = 3; y < 9; y++){ + for (x = 1; x < 9; x++){ + i = y * 10 + x; + a = board[i]; + if ((a & 14) != P4_PAWN) + continue; + if ((a & 1) == 0){ + pawn_cols[0][x] = y; + } + else if (pawn_cols[1][x] === undefined){ + pawn_cols[1][x] = y; + } + } + } + var target_king = (moveno >= 20 || material_sum < 5 * qvalue); + var weights = state.weights; + + for (y = 2; y < 10; y++){ + for (x = 1; x < 9; x++){ + i = y * 10 + x; + var early_centre = P4_CENTRALISING_WEIGHTS[i] * earliness_weight; + var plateau = P4_KNIGHT_WEIGHTS[i]; + for (var c = 0; c < 2; c++){ + var dx = Math.abs(kx[1 - c] - x); + var dy = Math.abs(ky[1 - c] - y); + var our_dx = Math.abs(kx[c] - x); + var our_dy = Math.abs(ky[c] - y); + + var d = Math.max(Math.sqrt(dx * dx + dy * dy), 1) + 1; + var mul = multipliers[c]; /*(mul < 1) <==> we're winning*/ + var mul3 = mul * mul * mul; + var at_home = y == 2 + c * 7; + var pawn_home = y == 3 + c * 5; + var row4 = y == 5 + c; + var promotion_row = y == 9 - c * 7; + var get_out = (early && at_home) * -5; + + var knight = parseInt(early_centre * 0.3) + 2 * plateau + get_out; + var rook = parseInt(early_centre * 0.3); + var bishop = parseInt(early_centre * 0.6) + plateau + get_out; + if (at_home){ + rook += (x == 4 || x == 5) * (earliness_weight + ! target_king); + rook += (x == 1 || x == 8) * (moveno > 10 && moveno < 20) * -3; + rook += (x == 2 || x == 7) * (moveno > 10 && moveno < 20) * -1; + } + + /*Queen wants to stay home early, then jump right in*/ + /*keep kings back on home row for a while*/ + var queen = parseInt(plateau * 0.5 + early_centre * (0.5 - early)); + var king = (king_should_hide && at_home) * 2 * earliness_weight; + + /*empty board means pawn advancement is more urgent*/ + var get_on_with_it = Math.max(emptiness * 2, 1); + var pawn = get_on_with_it * P4_BASE_PAWN_WEIGHTS[c ? 119 - i : i]; + if (early){ + /* Early pawn weights are slightly randomised, so each game is different. + */ + if (y >= 4 && y <= 7){ + var boost = 1 + 3 * (y == 5 || y == 6); + pawn += parseInt((boost + p4_random_int(state, 4)) * 0.1 * + early_centre); + } + if (x == 4 || x == 5){ + //discourage middle pawns from waiting at home + pawn -= 3 * pawn_home; + pawn += 3 * row4; + } + } + /*pawn promotion row is weighted as a queen minus a pawn.*/ + if (promotion_row) + pawn += state.values[c][P4_QUEEN] - state.values[c][P4_PAWN]; + + /*pawns in front of a castled king should stay there*/ + pawn += 4 * (y == 3 && ky[c] == 2 && Math.abs(our_dx) < 2 && + kx[c] != 5 && x != 4 && x != 5); + /*passed pawns (having no opposing pawn in front) are encouraged. */ + var cols = pawn_cols[1 - c]; + if (cols[x] == undefined || + (c == 0 && cols[x] < y) || + (c == 1 && cols[x] > y)) + pawn += 2; + + /* After a while, start going for opposite king. Just + * attract pieces into the area so they can mill about in + * the area, waiting for an opportunity. + * + * As prepare is only called at the beginning of each tree + * search, the king could wander out of the targetted area + * in deep searches. But that's OK. Heuristics are + * heuristics. + */ + if (target_king){ + knight += 2 * parseInt(8 * mul / d); + rook += 2 * ((dx < 2) + (dy < 2)); + bishop += 3 * (Math.abs((dx - dy)) < 2); + queen += 2 * parseInt(8 / d) + (dx * dy == 0) + (dx - dy == 0); + /* The losing king wants to stay in the middle, while + the winning king goes in for the kill.*/ + var king_centre_wt = 8 * emptiness * P4_CENTRALISING_WEIGHTS[i]; + king += parseInt(150 * emptiness / (mul3 * d) + king_centre_wt * mul3); + } + weights[P4_PAWN + c][i] = pawn; + weights[P4_KNIGHT + c][i] = knight; + weights[P4_ROOK + c][i] = rook; + weights[P4_BISHOP + c][i] = bishop; + weights[P4_QUEEN + c][i] = queen; + weights[P4_KING + c][i] = king; + + if (draw_likely && mul < 1){ + /*The winning side wants to avoid draw, so adds jitter to its weights.*/ + var range = 3 / mul3; + for (j = 2 + c; j < 14; j += 2){ + weights[j][i] += p4_random_int(state, range); + } + } + } + } + } + state.prepared = true; +} + +function p4_maybe_prepare(state){ + if (! state.prepared) + p4_prepare(state); +} + + +function p4_parse(state, colour, ep, score) { + var board = state.board; + var s, e; //start and end position + var E, a; //E=piece at end place, a= piece moving + var i, j; + var other_colour = 1 - colour; + var dir = (10 - 20 * colour); //dir= 10 for white, -10 for black + var movelist = []; + var captures = []; + var weight; + var pieces = state.pieces[colour]; + var castle_flags = (state.castles >> (colour * 2)) & 3; + var values = state.values[other_colour]; + var all_weights = state.weights; + for (j = pieces.length - 1; j >= 0; j--){ + s = pieces[j][1]; // board position + a = board[s]; //piece number + var weight_lut = all_weights[a]; + weight = score - weight_lut[s]; + a &= 14; + if(a > 2){ //non-pawns + var moves = P4_MOVES[a]; + if(a & 2){ + for(i = 0; i < 8; i++){ + e = s + moves[i]; + E = board[e]; + if(!E){ + movelist.push([weight + values[E] + weight_lut[e], s, e]); + } + else if((E&17)==other_colour){ + captures.push([weight + values[E] + weight_lut[e] + all_weights[E][e], s, e]); + } + } + if(a == P4_KING && castle_flags){ + if((castle_flags & 1) && + (board[s - 1] + board[s - 2] + board[s - 3] == 0) && + p4_check_castling(board, s - 2, other_colour, dir, -1)){//Q side + movelist.push([weight + 12, s, s - 2]); //no analysis, just encouragement + } + if((castle_flags & 2) && (board[s + 1] + board[s + 2] == 0) && + p4_check_castling(board, s, other_colour, dir, 1)){//K side + movelist.push([weight + 13, s, s + 2]); + } + } + } + else{//rook, bishop, queen + var mlen = moves.length; + for(i=0;i= 0; i--){ + var mv = movelist[i]; + var score = mv[0]; + s = mv[1]; + e = mv[2]; + if(! board[e]){ + var x = scores[s]; + x.score = Math.max(x.score, score); + } + } + /* moving out of a threat is worth considering, especially + * if it is a pawn and you are not.*/ + for(i = threats.length - 1; i >= 0; i--){ + var mv = threats[i]; + var x = scores[mv[2]]; + if (x !== undefined){ + var S = board[mv[1]]; + var r = (1 + x.piece > 3 + S < 4) * 0.01; + if (x.threatened < r) + x.threatened = r; + } + } + var pieces2 = []; + for (i = 20; i < 100; i++){ + p = scores[i]; + if (p !== undefined){ + p.score += p.threatened * our_values[p.piece]; + pieces2.push(p); + } + } + pieces2.sort(function(a, b){return a.score - b.score;}); + for (i = 0; i < pieces2.length; i++){ + p = pieces2[i]; + pieces[i] = [p.piece, p.pos]; + } + } +} + +function p4_findmove(state, level, colour, ep){ + p4_prepare(state); + p4_optimise_piece_list(state); + var board = state.board; + + // Changed for espruino compatibility + if (colour === undefined) { + colour = state.to_play; + } + if (ep === undefined) { + ep = state.enpassant; + } + var movelist = p4_parse(state, colour, ep, 0); + var alpha = P4_MIN_SCORE; + var mv, t, i; + var bs = 0; + var be = 0; + + if (level <= 0){ + for (i = 0; i < movelist.length; i++){ + mv = movelist[i]; + if(movelist[i][0] > alpha){ + alpha = mv[0]; + bs = mv[1]; + be = mv[2]; + } + } + return [bs, be, alpha]; + } + + for(i = 0; i < movelist.length; i++){ + mv = movelist[i]; + var mscore = mv[0]; + var ms = mv[1]; + var me = mv[2]; + if (mscore > P4_WIN){ + p4_log("XXX taking king! it should never come to this"); + alpha = P4_KING_VALUE; + bs = ms; + be = me; + break; + } + t = -state.treeclimber(state, level - 1, 1 - colour, mscore, ms, me, + P4_MIN_SCORE, -alpha); + if (t > alpha){ + alpha = t; + bs = ms; + be = me; + } + } + if (alpha < -P4_WIN_NOW && ! p4_check_check(state, colour)){ + alpha = state.stalemate_scores[colour]; + } + return [bs, be, alpha]; +} + +/*p4_make_move changes the state and returns an object containing + * everything necesary to undo the change. + * + * p4_unmake_move uses the p4_make_move return value to restore the + * previous state. + */ + +function p4_make_move(state, s, e, promotion){ + var board = state.board; + var S = board[s]; + var E = board[e]; + board[e] = S; + board[s] = 0; + var piece = S & 14; + var moved_colour = S & 1; + var end_piece = S; /* can differ from S in queening*/ + //now some stuff to handle queening, castling + var rs = 0, re, rook; + var ep_taken = 0, ep_position; + var ep = 0; + if(piece == P4_PAWN){ + if((60 - e) * (60 - e) > 900){ + /*got to end; replace the pawn on board and in pieces cache.*/ + promotion |= moved_colour; + board[e] = promotion; + end_piece = promotion; + } + else if (((s ^ e) & 1) && E == 0){ + /*this is a diagonal move, but the end spot is empty, so we surmise enpassant */ + ep_position = e - 10 + 20 * moved_colour; + ep_taken = board[ep_position]; + board[ep_position] = 0; + } + else if ((s - e) * (s - e) == 400){ + /*delta is 20 --> two row jump at start*/ + ep = (s + e) >> 1; + } + } + else if (piece == P4_KING && ((s - e) * (s - e) == 4)){ //castling - move rook too + rs = s - 4 + (s < e) * 7; + re = (s + e) >> 1; //avg of s,e=rook's spot + rook = moved_colour + P4_ROOK; + board[rs] = 0; + board[re] = rook; + //piece_locations.push([rook, re]); + } + + var old_castle_state = state.castles; + if (old_castle_state){ + var mask = 0; + var shift = moved_colour * 2; + var side = moved_colour * 70; + var s2 = s - side; + var e2 = e + side; + //wipe both our sides if king moves + if (s2 == 25) + mask |= 3 << shift; + //wipe one side on any move from rook points + else if (s2 == 21) + mask |= 1 << shift; + else if (s2 == 28) + mask |= 2 << shift; + //or on any move *to* opposition corners + if (e2 == 91) + mask |= 4 >> shift; + else if (e2 == 98) + mask |= 8 >> shift; + state.castles &= ~mask; + } + + var old_pieces = state.pieces.concat(); + var our_pieces = old_pieces[moved_colour]; + var dest = state.pieces[moved_colour] = []; + for (var i = 0; i < our_pieces.length; i++){ + var x = our_pieces[i]; + var pp = x[0]; + var ps = x[1]; + if (ps != s && ps != rs){ + dest.push(x); + } + } + dest.push([end_piece, e]); + if (rook) + dest.push([rook, re]); + + if (E || ep_taken){ + var their_pieces = old_pieces[1 - moved_colour]; + dest = state.pieces[1 - moved_colour] = []; + var gone = ep_taken ? ep_position : e; + for (i = 0; i < their_pieces.length; i++){ + var x = their_pieces[i]; + if (x[1] != gone){ + dest.push(x); + } + } + } + + return { + /*some of these (e.g. rook) could be recalculated during + * unmake, possibly more cheaply. */ + s: s, + e: e, + S: S, + E: E, + ep: ep, + castles: old_castle_state, + rs: rs, + re: re, + rook: rook, + ep_position: ep_position, + ep_taken: ep_taken, + pieces: old_pieces + }; +} + +function p4_unmake_move(state, move){ + var board = state.board; + if (move.ep_position){ + board[move.ep_position] = move.ep_taken; + } + board[move.s] = move.S; + board[move.e] = move.E; + //move.piece_locations.length--; + if(move.rs){ + board[move.rs] = move.rook; + board[move.re] = 0; + //move.piece_locations.length--; + } + state.pieces = move.pieces; + state.castles = move.castles; +} + + +function p4_insufficient_material(state){ + var knights = false; + var bishops = undefined; + var i; + var board = state.board; + for(i = 20; i < 100; i++){ + var piece = board[i] & 14; + if(piece == 0 || piece == P4_KING){ + continue; + } + if (piece == P4_KNIGHT){ + /* only allow one knight of either colour, never with a bishop */ + if (knights || bishops !== undefined){ + return false; + } + knights = true; + } + else if (piece == P4_BISHOP){ + /*any number of bishops, but on only one colour square */ + var x = i & 1; + var y = parseInt(i / 10) & 1; + var parity = x ^ y; + if (knights){ + return false; + } + else if (bishops === undefined){ + bishops = parity; + } + else if (bishops != parity){ + return false; + } + } + else { + return false; + } + } + return true; +} + +/* p4_move(state, s, e, promotion) + * s, e are start and end positions + * + * promotion is the desired pawn promotion if the move gets a pawn to the other + * end. + * + * return value contains bitwise flags +*/ + +var P4_MOVE_FLAG_OK = 1; +var P4_MOVE_FLAG_CHECK = 2; +var P4_MOVE_FLAG_MATE = 4; +var P4_MOVE_FLAG_CAPTURE = 8; +var P4_MOVE_FLAG_CASTLE_KING = 16; +var P4_MOVE_FLAG_CASTLE_QUEEN = 32; +var P4_MOVE_FLAG_DRAW = 64; + +var P4_MOVE_ILLEGAL = 0; +var P4_MOVE_MISSED_MATE = P4_MOVE_FLAG_CHECK | P4_MOVE_FLAG_MATE; +var P4_MOVE_CHECKMATE = P4_MOVE_FLAG_OK | P4_MOVE_FLAG_CHECK | P4_MOVE_FLAG_MATE; +var P4_MOVE_STALEMATE = P4_MOVE_FLAG_OK | P4_MOVE_FLAG_MATE; + +function p4_move(state, s, e, promotion){ + var board = state.board; + var colour = state.to_play; + var other_colour = 1 - colour; + if (s != parseInt(s)){ + if (e === undefined){ + var mv = p4_interpret_movestring(state, s); + s = mv[0]; + e = mv[1]; + if (s == 0) + return {flags: P4_MOVE_ILLEGAL, ok: false}; + promotion = mv[2]; + } + else {/*assume two point strings: 'e2', 'e4'*/ + s = p4_destringify_point(s); + e = p4_destringify_point(e); + } + } + if (promotion === undefined) + promotion = P4_QUEEN; + var E=board[e]; + var S=board[s]; + + /*See if this move is even slightly legal, disregarding check. + */ + var i; + var legal = false; + p4_maybe_prepare(state); + var moves = p4_parse(state, colour, state.enpassant, 0); + for (i = 0; i < moves.length; i++){ + if (e == moves[i][2] && s == moves[i][1]){ + legal = true; + break; + } + } + if (! legal) { + return {flags: P4_MOVE_ILLEGAL, ok: false}; + } + + /*Try the move, and see what the response is.*/ + var changes = p4_make_move(state, s, e, promotion); + + /*is it check? */ + if (p4_check_check(state, colour)){ + p4_unmake_move(state, changes); + p4_log('in check', changes); + return {flags: P4_MOVE_ILLEGAL, ok: false, string: "in check!"}; + } + /*The move is known to be legal. We won't be undoing it.*/ + + var flags = P4_MOVE_FLAG_OK; + + state.enpassant = changes.ep; + state.history.push([s, e, promotion]); + + /*draw timeout: 50 moves without pawn move or capture is a draw */ + if (changes.E || changes.ep_position){ + state.draw_timeout = 0; + flags |= P4_MOVE_FLAG_CAPTURE; + } + else if ((S & 14) == P4_PAWN){ + state.draw_timeout = 0; + } + else{ + state.draw_timeout++; + } + if (changes.rs){ + flags |= (s > e) ? P4_MOVE_FLAG_CASTLE_QUEEN : P4_MOVE_FLAG_CASTLE_KING; + } + var shortfen = p4_state2fen(state, true); + var repetitions = (state.position_counts[shortfen] || 0) + 1; + state.position_counts[shortfen] = repetitions; + state.current_repetitions = repetitions; + if (state.draw_timeout > 100 || repetitions >= 3 || + p4_insufficient_material(state)){ + flags |= P4_MOVE_FLAG_DRAW; + } + state.moveno++; + state.to_play = other_colour; + + if (p4_check_check(state, other_colour)){ + flags |= P4_MOVE_FLAG_CHECK; + } + /* check for (stale|check)mate, by seeing if there is a move for + * the other side that doesn't result in check. (In other words, + * reduce the pseudo-legal-move list down to a legal-move list, + * and check it isn't empty). + * + * We don't need to p4_prepare because other colour pieces can't + * have moved (just disappeared) since previous call. Also, + * setting the promotion piece is unnecessary, because all + * promotions block check equally well. + */ + var is_mate = true; + var replies = p4_parse(state, other_colour, changes.ep, 0); + for (i = 0; i < replies.length; i++){ + var m = replies[i]; + var change2 = p4_make_move(state, m[1], m[2], P4_QUEEN); + var check = p4_check_check(state, other_colour); + p4_unmake_move(state, change2); + if (!check){ + is_mate = false; + break; + } + } + if (is_mate) + flags |= P4_MOVE_FLAG_MATE; + + var movestring = p4_move2string(state, s, e, S, promotion, flags, moves); + p4_log("successful move", s, e, movestring, flags); + state.prepared = false; + return { + flags: flags, + string: movestring, + ok: true + }; +} + + +function p4_move2string(state, s, e, S, promotion, flags, moves){ + var piece = S & 14; + var src, dest; + var mv, i; + var capture = flags & P4_MOVE_FLAG_CAPTURE; + + src = p4_stringify_point(s); + dest = p4_stringify_point(e); + if (piece == P4_PAWN){ + if (capture){ + mv = src.charAt(0) + 'x' + dest; + } + else + mv = dest; + if (e > 90 || e < 30){ //end row, queening + if (promotion === undefined) + promotion = P4_QUEEN; + mv += '=' + P4_ENCODE_LUT.charAt(promotion); + } + } + else if (piece == P4_KING && (s-e) * (s-e) == 4) { + if (e < s) + mv = 'O-O-O'; + else + mv = 'O-O'; + } + else { + var row_qualifier = ''; + var col_qualifier = ''; + var pstr = P4_ENCODE_LUT.charAt(S); + var sx = s % 10; + var sy = parseInt(s / 10); + + /* find any other pseudo-legal moves that would put the same + * piece in the same place, for which we'd need + * disambiguation. */ + var co_landers = []; + for (i = 0; i < moves.length; i++){ + var m = moves[i]; + if (e == m[2] && s != m[1] && state.board[m[1]] == S){ + co_landers.push(m[1]); + } + } + if (co_landers.length){ + for (i = 0; i < co_landers.length; i++){ + var c = co_landers[i]; + var cx = c % 10; + var cy = parseInt(c / 10); + if (cx == sx)/*same column, so qualify by row*/ + row_qualifier = src.charAt(1); + if (cy == sy) + col_qualifier = src.charAt(0); + } + if (row_qualifier == '' && col_qualifier == ''){ + /*no co-landers on the same rank or file, so one or the other will do. + * By convention, use the column (a-h) */ + col_qualifier = src.charAt(0); + } + } + mv = pstr + col_qualifier + row_qualifier + (capture ? 'x' : '') + dest; + } + if (flags & P4_MOVE_FLAG_CHECK){ + if (flags & P4_MOVE_FLAG_MATE) + mv += '#'; + else + mv += '+'; + } + else if (flags & P4_MOVE_FLAG_MATE) + mv += ' stalemate'; + return mv; +} + + +function p4_jump_to_moveno(state, moveno){ + p4_log('jumping to move', moveno); + if (moveno === undefined || moveno > state.moveno) + moveno = state.moveno; + else if (moveno < 0){ + moveno = state.moveno + moveno; + } + var state2 = p4_fen2state(state.beginning); + var i = 0; + while (state2.moveno < moveno){ + var m = state.history[i++]; + p4_move(state2, m[0], m[1], m[2]); + } + /* copy the replayed state across, not all that deeply, but + * enough to cover, eg, held references to board. */ + var attr, dest; + for (attr in state2){ + var src = state2[attr]; + if (attr instanceof Array){ + dest = state[attr]; + dest.length = 0; + for (i = 0; i < src.length; i++){ + dest[i] = src[i]; + } + } + else { + state[attr] = src; + } + } + state.prepared = false; +} + + +/* write a standard FEN notation + * http://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation + * */ +function p4_state2fen(state, reduced){ + var piece_lut = ' PpRrNnBbKkQq'; + var board = state.board; + var fen = ''; + //fen does Y axis backwards, X axis forwards */ + for (var y = 9; y > 1; y--){ + var count = 0; + for (var x = 1; x < 9; x++){ + var piece = board[y * 10 + x]; + if (piece == 0) + count++; + else{ + if (count) + fen += count.toString(); + fen += piece_lut.charAt(piece); + count = 0; + } + } + if (count) + fen += count; + if (y > 2) + fen += '/'; + } + /*white or black */ + fen += ' ' + 'wb'.charAt(state.to_play) + ' '; + /*castling */ + if (state.castles){ + var lut = [2, 'K', 1, 'Q', 8, 'k', 4, 'q']; + for (var i = 0; i < 8; i += 2){ + if (state.castles & lut[i]){ + fen += lut[i + 1]; + } + } + } + else + fen += '-'; + /*enpassant */ + if (state.enpassant !== 0){ + fen += ' ' + p4_stringify_point(state.enpassant); + } + else + fen += ' -'; + if (reduced){ + /*if the 'reduced' flag is set, the move number and draw + *timeout are not added. This form is used to detect draws by + *3-fold repetition.*/ + return fen; + } + fen += ' ' + state.draw_timeout + ' '; + fen += (state.moveno >> 1) + 1; + return fen; +} + +function p4_stringify_point(p){ + var letters = " abcdefgh"; + var x = p % 10; + var y = (p - x) / 10 - 1; + return letters.charAt(x) + y; +} + +function p4_destringify_point(p){ + var x = parseInt(p.charAt(0), 19) - 9; //a-h <-> 10-18, base 19 + var y = parseInt(p.charAt(1)) + 1; + if (y >= 2 && y < 10 && x >= 1 && x < 9) + return y * 10 + x; + return undefined; +} + +/* read a standard FEN notation + * http://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation + * */ +function p4_fen2state(fen, state){ + if (state === undefined) + state = p4_initialise_state(); + var board = state.board; + var fenbits = fen.split(' '); + var fen_board = fenbits[0]; + var fen_toplay = fenbits[1]; + var fen_castles = fenbits[2]; + var fen_enpassant = fenbits[3]; + var fen_timeout = fenbits[4]; + var fen_moveno = fenbits[5]; + if (fen_timeout === undefined) + fen_timeout = 0; + //fen does Y axis backwards, X axis forwards */ + var y = 90; + var x = 1; + var i, c; + for (var j = 0; j < fen_board.length; j++){ + c = fen_board.charAt(j); + if (c == '/'){ + x = 1; + y -= 10; + if (y < 20) + break; + continue; + } + var piece = P4_PIECE_LUT[c]; + if (piece && x < 9){ + board[y + x] = piece; + x++; + } + else { + var end = Math.min(x + parseInt(c), 9); + for (; x < end; x++){ + board[y + x] = 0; + } + } + } + state.to_play = (fen_toplay.toLowerCase() == 'b') ? 1 : 0; + state.castles = 0; + /* Sometimes we meet bad FEN that says it can castle when it can't. */ + var wk = board[25] == P4_KING; + var bk = board[95] == P4_KING + 1; + var castle_lut = { + k: 8 * (bk && board[98] == P4_ROOK + 1), + q: 4 * (bk && board[91] == P4_ROOK + 1), + K: 2 * (wk && board[28] == P4_ROOK), + Q: 1 * (wk && board[21] == P4_ROOK) + }; + for (i = 0; i < fen_castles.length; i++){ + c = fen_castles.charAt(i); + var castle = castle_lut[c]; + if (castle !== undefined){ + state.castles |= castle; + if (castle == 0){ + console.log("FEN claims castle state " + fen_castles + + " but pieces are not in place for " + c); + } + } + } + + state.enpassant = (fen_enpassant != '-') ? p4_destringify_point(fen_enpassant) : 0; + state.draw_timeout = parseInt(fen_timeout); + if (fen_moveno === undefined){ + /*have a guess based on entropy and pieces remaining*/ + var pieces = 0; + var mix = 0; + var p, q, r; + for (y = 20; y < 100; y+=10){ + for (x = 1; x < 9; x++){ + p = board[y + x] & 15; + pieces += (!!p); + if (x < 8){ + q = board[y + x + 1]; + mix += (!q) != (!p); + } + if (y < 90){ + q = board[y + x + 10]; + mix += (!q) != (!p); + } + } + } + fen_moveno = Math.max(1, parseInt((32 - pieces) * 1.3 + (4 - fen_castles.length) * 1.5 + ((mix - 16) / 5))); + //p4_log("pieces", pieces, "mix", mix, "estimate", fen_moveno); + } + state.moveno = 2 * (parseInt(fen_moveno) - 1) + state.to_play; + state.history = []; + state.beginning = fen; + state.prepared = false; + state.position_counts = {}; + /* Wrap external functions as methods. */ + state.move = function(s, e, promotion){ + return p4_move(this, s, e, promotion); + }; + state.findmove = function(level){ + return p4_findmove(this, level); + }; + state.jump_to_moveno = function(moveno){ + return p4_jump_to_moveno(this, moveno); + }; + return state; +} + +/* +Weights would all fit within an Int8Array *except* for the last row +for pawns, which is close to the queen value (180, max is 127). + +Int8Array seems slightly quicker in Chromium 18, no different in +Firefox 12. + +Int16Array is no faster, perhaps slower than Int32Array. + +Int32Array is marginally slower than plain arrays with Firefox 12, but +significantly quicker with Chromium. + */ + +var P4_ZEROS = []; +function p4_zero_array(){ + if (P4_USE_TYPED_ARRAYS) + return new Int32Array(120); + if (P4_ZEROS.length == 0){ + for(var i = 0; i < 120; i++){ + P4_ZEROS[i] = 0; + } + } + return P4_ZEROS.slice(); +} + +/* p4_initialise_state() creates the board and initialises weight + * arrays etc. Some of this is really only needs to be done once. + */ + +function p4_initialise_state(){ + var board = p4_zero_array(); + P4_CENTRALISING_WEIGHTS = p4_zero_array(); + P4_BASE_PAWN_WEIGHTS = p4_zero_array(); + P4_KNIGHT_WEIGHTS = p4_zero_array(); + for(var i = 0; i < 120; i++){ + var y = parseInt(i / 10); + var x = i % 10; + var dx = Math.abs(x - 4.5); + var dy = Math.abs(y - 5.5); + P4_CENTRALISING_WEIGHTS[i] = parseInt(6 - Math.pow((dx * dx + dy * dy) * 1.5, 0.6)); + //knights have a flat topped centre (bishops too, but less so). + P4_KNIGHT_WEIGHTS[i] = parseInt(((dx < 2) + (dy < 2) * 1.5) + + (dx < 3) + (dy < 3)) - 2; + P4_BASE_PAWN_WEIGHTS[i] = parseInt('000012347000'.charAt(y)); + if (y > 9 || y < 2 || x < 1 || x > 8) + board[i] = 16; + } + var weights = []; + for (i = 0; i < 14; i++){ + weights[i] = p4_zero_array(); + } + var state = { + board: board, + weights: weights, + history: [], + treeclimber: p4_alphabeta_treeclimber + }; + p4_random_seed(state, P4_DEBUG ? 1 : Date.now()); + return state; +} + +function p4_new_game(){ + return p4_fen2state(P4_INITIAL_BOARD); +} + +/*convert an arbitrary movestring into a pair of integers offsets into + * the board. The string might be in any of these forms: + * + * "d2-d4" "d2d4" "d4" -- moving a pawn + * + * "b1-c3" "b1c3" "Nc3" "N1c3" "Nbc3" "Nb1c3" -- moving a knight + * + * "b1xc3" "b1xc3" "Nxc3" -- moving a knight, also happens to capture. + * + * "O-O" "O-O-O" -- special cases for castling ("e1-c1", etc, also work) + * + * Note that for the "Nc3" (pgn) format, some knowledge of the board + * is necessary, so the state parameter is required. If it is + * undefined, the other forms will still work. + */ + +function p4_interpret_movestring(state, str){ + /* Ignore any irrelevant characters, then tokenise. + * + */ + var FAIL = [0, 0]; + var algebraic_re = /^\s*([RNBQK]?[a-h]?[1-8]?)[ :x-]*([a-h][1-8]?)(=[RNBQ])?[!?+#e.p]*\s*$/; + var castle_re = /^\s*([O0o]-[O0o](-[O0o])?)\s*$/; + var position_re = /^[a-h][1-8]$/; + + var m = algebraic_re.exec(str); + if (m == null){ + /*check for castling notation (O-O, O-O-O) */ + m = castle_re.exec(str); + if (m){ + s = 25 + state.to_play * 70; + if (m[2])/*queenside*/ + e = s - 2; + else + e = s + 2; + } + else + return FAIL; + } + var src = m[1]; + var dest = m[2]; + var queen = m[3]; + var s, e, q; + var moves, i; + if (src == '' || src == undefined){ + /* a single coordinate pawn move */ + e = p4_destringify_point(dest); + s = p4_find_source_point(state, e, 'P' + dest.charAt(0)); + } + else if (/^[RNBQK]/.test(src)){ + /*pgn format*/ + e = p4_destringify_point(dest); + s = p4_find_source_point(state, e, src); + } + else if (position_re.test(src) && position_re.test(dest)){ + s = p4_destringify_point(src); + e = p4_destringify_point(dest); + } + else if (/^[a-h]$/.test(src)){ + e = p4_destringify_point(dest); + s = p4_find_source_point(state, e, 'P' + src); + } + if (s == 0) + return FAIL; + + if (queen){ + /* the chosen queen piece */ + q = P4_PIECE_LUT[queen.charAt(1)]; + } + return [s, e, q]; +} + + +function p4_find_source_point(state, e, str){ + var colour = state.to_play; + var piece = P4_PIECE_LUT[str.charAt(0)]; + piece |= colour; + var s, i; + + var row, column; + /* can be specified as Na, Na3, N3, and who knows, N3a? */ + for (i = 1; i < str.length; i++){ + var c = str.charAt(i); + if (/[a-h]/.test(c)){ + column = str.charCodeAt(i) - 96; + } + else if (/[1-8]/.test(c)){ + /*row goes 2 - 9 */ + row = 1 + parseInt(c); + } + } + var possibilities = []; + p4_prepare(state); + var moves = p4_parse(state, colour, + state.enpassant, 0); + for (i = 0; i < moves.length; i++){ + var mv = moves[i]; + if (e == mv[2]){ + s = mv[1]; + if (state.board[s] == piece && + (column === undefined || column == s % 10) && + (row === undefined || row == parseInt(s / 10)) + ){ + var change = p4_make_move(state, s, e, P4_QUEEN); + if (! p4_check_check(state, colour)) + possibilities.push(s); + p4_unmake_move(state, change); + } + } + } + p4_log("finding", str, "that goes to", e, "got", possibilities); + + if (possibilities.length == 0){ + return 0; + } + else if (possibilities.length > 1){ + p4_log("p4_find_source_point seems to have failed", + state, e, str, + possibilities); + } + return possibilities[0]; +} + + +/*random number generator based on + * http://burtleburtle.net/bob/rand/smallprng.html + */ +function p4_random_seed(state, seed){ + seed &= 0xffffffff; + state.rng = (P4_USE_TYPED_ARRAYS) ? new Uint32Array(4) : []; + state.rng[0] = 0xf1ea5eed; + state.rng[1] = seed; + state.rng[2] = seed; + state.rng[3] = seed; + for (var i = 0; i < 20; i++) + p4_random31(state); +} + +function p4_random31(state){ + var rng = state.rng; + var b = rng[1]; + var c = rng[2]; + /* These shifts amount to rotates. + * Note the three-fold right shift '>>>', meaning an unsigned shift. + * The 0xffffffff masks are needed to keep javascript to 32bit. (supposing + * untyped arrays). + */ + var e = rng[0] - ((b << 27) | (b >>> 5)); + rng[0] = b ^ ((c << 17) | (c >>> 15)); + rng[1] = (c + rng[3]) & 0xffffffff; + rng[2] = (rng[3] + e) & 0xffffffff; + rng[3] = (e + rng[0]) & 0xffffffff; + return rng[3] & 0x7fffffff; +} + +function p4_random_int(state, top){ + /* uniform integer in range [0 <= n < top), supposing top < 2 ** 31 + * + * This method is slightly (probably pointlessly) more accurate + * than converting to 0-1 float, multiplying and truncating, and + * considerably more accurate than a simple modulus. + * Obviously it is a bit slower. + */ + /* mask becomes one less than the next highest power of 2 */ + var mask = top; + mask--; + mask |= mask >>> 1; + mask |= mask >>> 2; + mask |= mask >>> 4; + mask |= mask >>> 8; + mask |= mask >>> 16; + var r; + do{ + r = p4_random31(state) & mask; + } while (r >= top); + return r; +} + +// Added for espruino +exports.p4_new_game = p4_new_game; +exports.p4_fen2state = p4_fen2state; +exports.p4_state2fen = p4_state2fen; +exports.P4_INITIAL_BOARD = P4_INITIAL_BOARD; +exports.P4_PAWN = P4_PAWN; +exports.P4_ROOK = P4_ROOK; +exports.P4_KNIGHT = P4_KNIGHT; +exports.P4_BISHOP = P4_BISHOP; +exports.P4_QUEEN = P4_QUEEN; +exports.P4_KING = P4_KING; +exports.P4_MOVE_FLAG_OK = P4_MOVE_FLAG_OK; +exports.P4_MOVE_FLAG_CHECK = P4_MOVE_FLAG_CHECK; +exports.P4_MOVE_FLAG_MATE = P4_MOVE_FLAG_MATE; +exports.P4_MOVE_FLAG_CAPTURE = P4_MOVE_FLAG_CAPTURE; +exports.P4_MOVE_FLAG_CASTLE_KING = P4_MOVE_FLAG_CASTLE_KING; +exports.P4_MOVE_FLAG_CASTLE_QUEEN = P4_MOVE_FLAG_CASTLE_QUEEN; +exports.P4_MOVE_FLAG_DRAW = P4_MOVE_FLAG_DRAW; +exports.P4_MOVE_ILLEGAL = P4_MOVE_ILLEGAL; +exports.P4_MOVE_MISSED_MATE = P4_MOVE_MISSED_MATE; +exports.P4_MOVE_CHECKMATE = P4_MOVE_CHECKMATE; +exports.P4_MOVE_STALEMATE = P4_MOVE_STALEMATE; diff --git a/apps/chess/metadata.json b/apps/chess/metadata.json new file mode 100644 index 000000000..a66391deb --- /dev/null +++ b/apps/chess/metadata.json @@ -0,0 +1,17 @@ +{ + "id": "chess", + "name": "Chess", + "shortName": "Chess", + "version": "0.01", + "description": "Chess game based on the [p4wn engine](https://p4wn.sourceforge.net/). Drag on the touchscreen to move the green cursor onto a piece, select it with a single touch and drag the now red cursor around. Release the piece with another touch to finish the move. The button opens a menu.", + "icon": "app.png", + "tags": "game", + "supports": ["BANGLEJS2"], + "storage": [ + {"name":"chess.app.js","url":"app.js"}, + {"name":"chessengine","url":"engine.js"}, + {"name":"chess.img","url":"app-icon.js","evaluate":true} + ], + "data": [{"name":"chess.json"}], + "screenshots": [ {"url":"screenshot.png"} ] +} diff --git a/apps/chess/screenshot.png b/apps/chess/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..11d96163ba66fae183a2214c996365863a626b2c GIT binary patch literal 3602 zcmaJ^c{r478?Q-BDvW)Z$V|wwWhvVkF$ReUg~*ufA^SGNR1;Y;nTTW=m8qt(%-A`M z=9Ew}jGb)95@T#(D8e_K@B04y-s^hb=X&nvxu5r5e)sRXpOnis7RULe`41d8aNP0& z!k#-)_g)|`_e-gnLUM7hg)6&a-TS$S29NZ zQ&0Re<15!t#k&g@3-Ta2mY?Kn{5%!Nu(!R;GWO2lY`H^V#I(=HtabzSe`E;Y5!#7$ zDYmLm(saZt)9mTKCBYfa*N*S>yh)c+>pZ5f%VG_7ge3Ks(AGy9; z@axV^L7y}MzER>XjOg5lEBSlO+xXddEk}|OGH%drY;)Zpq%CD^W{Wj#`@``8{x@0H zu&-|8XgF%>`J3M&C)n>atH8DSl^OKDrC5Ps#rd)0*WD}x;(F&bhHX`D8G@PhDePN| zLkU>@GuiO@Q}fS|zc;GWE9p*z6X~uz$N^?Y2GZc!9g%2HJ|EqXp;qGb#nsa8FK)3d zei|#=?KlFcr@tcY5IgJB=AD2$o#lOfI~$@O*bQM5XhyVS$Lz5fTd}$JZn(g(;g#$| z&!){+OT%9u+C6cYfn(E+lMaca>Uo|V>Ig6O>+lotRr|H|wmFufikqf0r5x(-h|i9^ zP-)i*7x66_R^}Ncg$cIFewa4hpx%unGr~r(ND9ncCK9zOd0hYWAMaa4Z`bfo(dDqv zL)__ZP=8&^tg8$(E_K~>v56(QAZw%d?%qgKR$iUwYV$~n%vH&Nv9|PG*u(FU9-)#E;VdizpICBee`(+N~5Q|1@P>CtN3&FSQ`NIY8JUFf7adaAWdZB z{^K1>)6oLPK*7u}+O^R2_tz2)TxUXItPwS82G-$7K1ei&EZ4QQS<*l1!

B z)BUEBm(>+yhePv&A9g(Eb*j04B3}Fbx`^-$TYp0&t+N4a`PaWJkdpQ%-=P-+(NXP= zBLzM$BQxo=aX(gjd2mnN#qB4f9~12spep&^WAXqJk0ErzB>{CLS^@x7GL7>7X0dSR z32^|OGWYwwO)A|wA&clUZ?Kf%P~J?ugmNTT@tN=#4V5)AS5iO#*PYH&)PBjnDKzC{ z-}zKyC!xX`kLN!M%-}tOlRd?geJIa!D@d$27AAPz8Cq^-Zqqz9$~-d9@{YK+K*C(E zKSsmI#(dCUP7e1Lc{u2a;6V8ZnY&v?Ay+bWH&T;}zj-0bFZ?QBxwyWquqqrf-6VV zI1qq^(s5?bmg>#7p3NsJRB5d_g|T>5TJ$O(XdsjyL~O7NBaUeB=e}BdK&J@GtShRg z`nBdD#&@viK+Zh3w*(S^zvGOXwGhpDB7Jre^_uh3^Enu8VE$X(T!z=ZKa1%~Rjte>5A=V*>053Su_eK7dt&2Q; zf%`5~fq$y_O8jq^y!aQj9I&Q6A4f)w;Ae7c%_e^|C3ZDk`yTrp8OU)<_Sh`+GFcEZ zE1Z5a=7+u_=r7UR9iX(I05P-_h`a=EC|28=TWZ=y>xih~m|=?KKT8)vzr2y{Nn^5^ z=<9+U8D*zE*T&4d>rvRKGl(JzT}U0S`uaF2o9X19#QNrH!6UwBk)F+X`f+NuV;~mv z^XA)Dt&frfA}|=n>UE!MXfHLIz$24<*%q=XUTYOx*l7ygSX1Ux57NqPUbX?cp4U?T z>a{1gq%d$~3Kvkc8(TGvHu4etFC2hG_)lAT=S2h(=uNrR>)BO!VN>f}Q7`h}A3O8- zB&!0>+bU=sD|36ClhC^I2d)0F)_l#FiAe)OVxp{nr9uU_0dt{E9coCdH12$6R+O{9(#;Eng(!b*I2Fn~{X5GWQSt*LN< z%oUFBxK!BN)D7|f8%b_zw8_F!v5}7W(sVW+8e_r63)>f%Q?09UQ!kug)HAJnX_{pufBQAk?Mxm0p$MOz_id zvQS->2A(1|VeYS^IExld|CaQJva3&x^^IcqH9hdErZIe<`?5zz0L8Qh4i`u7)9o7S zvu>ci|JLR|!omhlRNrmWO3;N5Zg$nnDtEUw!UVwz2mG_A{kTk zkf3j#*gcYG#C4PUl6K^nv7M|CS)E2w{ zAZ5AFG`^UUG}k}*W6p##xI^Pye$NbB*O?Z;TmtwK??6ae<|h4mlb3i@^q5Po(-)S+ zc+9EF3qi~Z-Lw+ere$5cwEP(>J)P%%`e9*}Vbp|_InM>pbh(GYeGhQ+xCqjE`bv-h z{xrT&U17o?{q}bU=d)$1WUu_H;`qR!TtpiqJrCCU*#(Q%*@%M_N|b`3Jm$^G2+?lE zi=Fke-p$-|Sv>o#5%Kc>YmJlvQ zQ}&j&VsI~5a!@#{|DTL&PG`PfcdWxKeGqyY>FBTl#4)GJCK@=Mr=0s! zt5@d?1DtN_(oXAj)>Y}BW6CFb%h5*PKOt8LS(2xY$hqLc46lCjkJN}Pz=Akg z3^Q*-cbuXgX%olMnyHE%u_vk!9_*aR1&hr#qPh3F O1D0ksh*CJ}-hTk&F8Ch+ literal 0 HcmV?d00001 From 3df2f223aa6f720692f0f083fc80c0dfddeae777 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Sun, 2 Jul 2023 23:17:11 +0200 Subject: [PATCH 130/139] chess: enable emulator --- apps/chess/metadata.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/chess/metadata.json b/apps/chess/metadata.json index a66391deb..3d5d39496 100644 --- a/apps/chess/metadata.json +++ b/apps/chess/metadata.json @@ -13,5 +13,6 @@ {"name":"chess.img","url":"app-icon.js","evaluate":true} ], "data": [{"name":"chess.json"}], - "screenshots": [ {"url":"screenshot.png"} ] + "screenshots": [ {"url":"screenshot.png"} ], + "allow_emulator": true } From e5a3dc48f932b22b3b2615701b6fe98ac6d69053 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Mon, 3 Jul 2023 01:43:19 +0200 Subject: [PATCH 131/139] Revert "chess: enable emulator" This reverts commit 3df2f223aa6f720692f0f083fc80c0dfddeae777. --- apps/chess/metadata.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/chess/metadata.json b/apps/chess/metadata.json index 3d5d39496..a66391deb 100644 --- a/apps/chess/metadata.json +++ b/apps/chess/metadata.json @@ -13,6 +13,5 @@ {"name":"chess.img","url":"app-icon.js","evaluate":true} ], "data": [{"name":"chess.json"}], - "screenshots": [ {"url":"screenshot.png"} ], - "allow_emulator": true + "screenshots": [ {"url":"screenshot.png"} ] } From 2c4ee723ef203c5430a258f73400f2cd09c18ccf Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Mon, 3 Jul 2023 07:43:38 +0200 Subject: [PATCH 132/139] chess: minor tweaks --- apps/chess/app.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/apps/chess/app.js b/apps/chess/app.js index 1750d5c8f..bb3ab147d 100644 --- a/apps/chess/app.js +++ b/apps/chess/app.js @@ -83,7 +83,7 @@ const drawPiece = (buf, x, y, piece) => { }; const drawBoard = () => { - console.log("Free: " + process.memory().free); + //console.log("Free: " + process.memory().free); g.setBgColor("#555").setColor("#aaa").drawImage(bgImage, Bangle.appRect.x, Bangle.appRect.y); for(let idxrow=0; idxrow<8; idxrow++) { @@ -155,7 +155,7 @@ const showAlert = (msg) => { const move = (from,to) => { const res = state.move(from, to); - console.log(res); + //console.log(res); if (!res.ok) { showAlert("Illegal move"); } else { @@ -165,12 +165,9 @@ const move = (from,to) => { showAlert("A king is in check"); } else if (res.flags & engine.P4_MOVE_FLAG_DRAW) { showAlert("A draw is available"); - } else { - drawBoard(); - drawSelectedField(); } } - return res.ok; + return res; }; const showMessage = (msg) => { @@ -220,17 +217,23 @@ Bangle.on('touch', (button, xy) => { const posFrom = idx2Pos(startfield[0]/FIELD_WIDTH, startfield[1]/FIELD_HEIGHT); const posTo = idx2Pos(colTo/FIELD_WIDTH, rowTo/FIELD_HEIGHT); setTimeout(() => { - if (move(posFrom, posTo)) { - // human move ok, do computer move + if (move(posFrom, posTo).ok) { + // human move ok, update + drawBoard(); + drawSelectedField(); + // do computer move Bangle.setLCDTimeout(0.1); // this can take some time, turn off to save power showMessage(/*LANG*/"Calculating.."); setTimeout(() => { const compMove = state.findmove(settings.computer_level+1); - move(compMove[0], compMove[1]); + const result = move(compMove[0], compMove[1]); writeSettings(); Bangle.setLCDPower(true); Bangle.setLocked(false); Bangle.setLCDTimeout(DEFAULT_TIMEOUT/1000); // restore + if (!showmenu) { + showAlert(result.string); + } }, 200); // execute after display update } }, 100); // execute after display update From cb2760a3f191e3b0a0ccb178010291358df6ee33 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 3 Jul 2023 15:54:27 +0100 Subject: [PATCH 133/139] docs - fix #2860 --- apps/messages/README.md | 18 +++++------------- apps/messages/lib.js | 4 ++-- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/apps/messages/README.md b/apps/messages/README.md index 83524d7c8..dce2a26c1 100644 --- a/apps/messages/README.md +++ b/apps/messages/README.md @@ -1,6 +1,6 @@ # Messages library -This library handles the passing of messages. It can storess a list of messages +This library handles the passing of messages. It can stores a list of messages and allows them to be retrieved by other apps. ## Example @@ -37,18 +37,10 @@ myMessageListener = Bangle.on("message", (type, message)=>{ }); ``` -Apps can launch the full GUI by calling `require("messages").openGUI()`, if you -want to write your own GUI, it should include boot code that listens for -`"messageGUI"` events: - -```js -Bangle.on("messageGUI", message=>{ - if (message.handled) return; // another app already opened it's GUI - message.handled = true; // prevent other apps form launching - Bangle.load("my_message_gui.app.js"); -}) - -``` +Apps can launch the currently installed Message GUI by calling `require("messages").openGUI()`. +If you want to write your own GUI, it should include a library called `messagegui` +with a method called `open` that will cause it to be opened, with the +optionally supplied message. See `apps/messagegui/lib.js` for an example. ## Requests diff --git a/apps/messages/lib.js b/apps/messages/lib.js index 7a515a1f8..f3ae253e6 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -107,7 +107,7 @@ exports.dismiss = function(msg) { }; /** - * Emit a "type=openGUI" event, to open GUI app + * Open the Messages GUI app * * @param {object} [msg={}] Message the app should show */ @@ -215,7 +215,7 @@ exports.buzz = function(msgSrc) { let repeat = msgSettings.repeat; if (repeat===undefined) repeat = 4; // repeat may be zero - if (repeat) + if (repeat) { exports.buzzInterval = setInterval(() => require("buzz").pattern(pattern), repeat*1000); let vibrateTimeout = msgSettings.vibrateTimeout; From dda1ed508d69fd088c9118722113dbdccccb3f86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Jul 2023 01:03:33 +0000 Subject: [PATCH 134/139] build(deps): bump core from `f922941` to `e1ccf48` Bumps [core](https://github.com/espruino/EspruinoAppLoaderCore) from `f922941` to `e1ccf48`. - [Commits](https://github.com/espruino/EspruinoAppLoaderCore/compare/f922941a17cfdc3c37bf3e832961c0ca958e27d3...e1ccf487abc3dd74735eefcfdf8dddb48f4f8951) --- updated-dependencies: - dependency-name: core dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index f922941a1..e1ccf487a 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit f922941a17cfdc3c37bf3e832961c0ca958e27d3 +Subproject commit e1ccf487abc3dd74735eefcfdf8dddb48f4f8951 From 0414dd5515dc1d8ef64d641a995310baa3f89bb2 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 4 Jul 2023 16:18:45 +0100 Subject: [PATCH 135/139] Default to sending info to banglejs.com - there has been zero complaint so far and it's anonymous, app id only --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index e1ccf487a..e521afd72 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit e1ccf487abc3dd74735eefcfdf8dddb48f4f8951 +Subproject commit e521afd722c46689007e62fdb5e370991f249823 From 026778f656146e2454c7cf34658aabd8e3fab3a7 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 4 Jul 2023 16:19:30 +0100 Subject: [PATCH 136/139] Modified Geissclk for Bangle.js 2 --- apps/geissclk/ChangeLog | 1 + apps/geissclk/clock.js | 74 +++++++++++++++++++++++++++++-------- apps/geissclk/metadata.json | 4 +- apps/geissclk/precompute.js | 18 ++++----- 4 files changed, 70 insertions(+), 27 deletions(-) diff --git a/apps/geissclk/ChangeLog b/apps/geissclk/ChangeLog index cd46173f7..680d820ae 100644 --- a/apps/geissclk/ChangeLog +++ b/apps/geissclk/ChangeLog @@ -2,3 +2,4 @@ 0.02: BTN2->launcher, use smaller text to allow "20:00" to fit on screen 0.03: Changed setWatch to Bangle.setUI 0.04: Tell clock widgets to hide. +0.05: Making geissclock work on Bangle.js 2 (but only animate when unlocked!) \ No newline at end of file diff --git a/apps/geissclk/clock.js b/apps/geissclk/clock.js index 5401fb142..2f1428d24 100644 --- a/apps/geissclk/clock.js +++ b/apps/geissclk/clock.js @@ -1,4 +1,7 @@ var W = 79, H = 64; +// if screen is always on, only animate when unlocked +var isScreenAlwaysOn = process.env.BOARD=="BANGLEJS2"; + /*var compiled = E.compiledC(` // void transl(int, int, int ) int transl(unsigned char *map, unsigned char *imgfrom, unsigned char *imgto) { @@ -46,6 +49,7 @@ var map = new Uint8Array(W*H); var pal = new Uint16Array(256); var PALETTES = 3; var MAPS = 6; +var animInterval; // If we're missing any maps, compute them! (function() { @@ -65,6 +69,8 @@ function randomPalette() { var n = (0|Math.random()*200000) % PALETTES; var p = new Uint8Array(pal.buffer); p.set(require("Storage").readArrayBuffer("geissclk."+n+".pal")); + if (!g.theme.dark) // if not dark, invert colors + E.mapInPlace(pal,pal,x=>x^0xFFFF); } function randomMap() { @@ -93,7 +99,7 @@ var im = { }; var lastSeconds = -1; -function iterate() { "ram" +function iterate(clearBuf) { "ram" var d = new Date(); var time = require("locale").time(d,1); var seconds = d.getSeconds().toString().padStart(2,0); @@ -108,27 +114,59 @@ function iterate() { "ram" gfx.buffer = dataa.buffer; } var x,y,n,t = getTime()/10; - var amt = 100*Bangle.getAccel().diff; - for (var i=0;i Date: Tue, 4 Jul 2023 19:56:16 +0100 Subject: [PATCH 137/139] support fastload --- apps/lcars/ChangeLog | 3 +- apps/lcars/lcars.app.js | 260 +++++++++++++++++++++------------------ apps/lcars/metadata.json | 2 +- 3 files changed, 142 insertions(+), 123 deletions(-) diff --git a/apps/lcars/ChangeLog b/apps/lcars/ChangeLog index e3f1f6d77..d4a5eb53b 100644 --- a/apps/lcars/ChangeLog +++ b/apps/lcars/ChangeLog @@ -25,4 +25,5 @@ 0.25: Add more colors to the settings and add the ability to disable the data charts+Markup. 0.26: Use widget_utils. 0.27: Report latest HRM rather than HRM 10 minutes ago (fix #2395) -0.28: Battery Vref implemented correctly. \ No newline at end of file +0.28: Battery Vref implemented correctly. +0.29: Support fastload. \ No newline at end of file diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index 4eab1c4eb..858ef51dd 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -1,7 +1,8 @@ +{ const TIMER_IDX = "lcars"; const SETTINGS_FILE = "lcars.setting.json"; const locale = require('locale'); -const storage = require('Storage') +const storage = require('Storage'); const widget_utils = require('widget_utils'); let settings = { alarm: -1, @@ -18,7 +19,7 @@ let settings = { }; let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings; for (const key in saved_settings) { - settings[key] = saved_settings[key] + settings[key] = saved_settings[key]; } /* @@ -36,10 +37,10 @@ let cGrey = "#424242"; */ let lcarsViewPos = 0; // let hrmValue = 0; -var plotMonth = false; +let plotMonth = false; -function convert24to16(input) +let convert24to16 = function(input) { let RGB888 = parseInt(input.replace(/^#/, ''), 16); let r = (RGB888 & 0xFF0000) >> 16; @@ -55,17 +56,17 @@ function convert24to16(input) RGB565 = RGB565 | b; return "0x"+RGB565.toString(16); -} +}; -var color1C = convert24to16(color1);//Converting colors to the correct format. -var color2C = convert24to16(color2); -var color3C = convert24to16(color3); +let color1C = convert24to16(color1);//Converting colors to the correct format. +let color2C = convert24to16(color2); +let color3C = convert24to16(color3); /* * Requirements and globals */ -var colorPalette = new Uint16Array([//Used to change the color of the image if the user selects a color that is diffrent than the default. +let colorPalette = new Uint16Array([//Used to change the color of the image if the user selects a color that is diffrent than the default. 0x0000, // not used color2C, // second color3C, // third @@ -84,73 +85,73 @@ var colorPalette = new Uint16Array([//Used to change the color of the image if t 0x0000 // not used ],0,1); -var bgLeftFullscreen = { +let bgLeftFullscreen = { width : 27, height : 176, bpp : 3, transparent : 0, buffer : require("heatshrink").decompress((atob("/4AB+VJkmSAQV///+BAtJn//5IIFkmf/4IGyVP/gIGpMnF41PHIImGF4ImHJoQmGJoIdK8hNHNY47C/JNGBIJZGyYJBQA5GCKH5Q/KAQAoUP7y/KH5QGDoQAy0hGF34JB6RGFr4JB9JkFl4JB+gdFy4JB/QdFpYJB/odFkqrCS4xGCWoyDCKH5Q1GShlJChQLCCg5TCHw5TMAD35FAoIIkgJB8hGGv/8Mg8/+QIFp4cB5IRGBIIvI/4IFybyCF4wTCDp5NBHZZiGz4JBLJKAGk4JBO4xQ/KGQA8UP7y/KH5QnAHih/eX5Q/GQ4JCGRJlKCgxTDBAwgCCg5TCHwxTCNA4"))), palette: colorPalette }; -var bgLeftNotFullscreen = { +let bgLeftNotFullscreen = { width : 27, height : 152, bpp : 3, transparent : 0, buffer : require("heatshrink").decompress((atob("/4AB+VJkmSAQV///+BAtJn//5IIFkmf/4IGyVP/gIGpMnF41PHIImGF4ImHJoQmGJoIdK8hNHNY47C/JNGBIJZGyYJBQA5GCKH5Q/KAQAy0hGF34JB6RGFr4JB9JkFl4JB+gdFy4JB/QdFpYJB/odFkqrCS4xGCWoyhCKH5Q1GShlJChQLCCg5TCHw5TMAD35FAoIIkgJB8hGGv/8Mg8/+QIFp4cB5IRGBIIvI/4IFybyCF4wTCDp5NBHZZiGz4JBLJKAGk4JBO4xQ/KGQA8UP7y/KH5QnAHih/eX5Q/GQ4JCGRJlKCgxTDBAwgCCg5TCHwxTCNA4A=="))), palette: colorPalette }; -var bgRightFullscreen = { +let bgRightFullscreen = { width : 27, height : 176, bpp : 3, transparent : 0, buffer : require("heatshrink").decompress((atob("yVJkgCCyf/AAPJBAYCBk4JB8gUFyVP//yBAoCB//5BAwUCAAIUHAAIgGChopGv5TIn5TIz4yLKYxxC/iGI/xxGKH5Q/agwAnUP7y/KH4yGeVYAJ0hGF34JB6RGFr4JB9JkFl4JB+gdFy4JB/QdFpYJB/odFkp4CS4xGCWoyhCKH5QuDoxQCDpI7GDoJZGHYIRGLIQvGO4QvGMQRNJADv+GIqTC/5PGz4JBJ41JBIPJCg2TD4QLGn4JB/gUaHwRTGHwRTHBIRTGNAQyJ8gyI+QdFp4JB/IdFk5lLKH5QvAHih/eX5Q/KE4A8UP7y/KH5QGDpg7HJoxZCCIx3CJowmCF4yACJoyJC/4A=="))), palette: colorPalette }; -var bgRightNotFullscreen = { +let bgRightNotFullscreen = { width : 27, height : 152, bpp : 3, transparent : 0, buffer : require("heatshrink").decompress((atob("yVJkgCCyf/AAPJBAYCBk4JB8gUFyVP//yBAoCB//5BAwUCAAIUHAAIgGChopGv5TIn5TIz4yLKYxxC/iGI/xxGKH5Q/agwAx0hGF34JB6RGFr4JB9JkFl4JB+gdFy4JB/QdFpYJB/odFkqrCS4xGCWoyhCKH5QuDoxQCDpI7GDoJZGHYIRGLIQvGO4QvGMQRNJADv+GIqTC/5PGz4JBJ41JBIPJCg2TD4QLGn4JB/gUaHwRTGHwRTHBIRTGNAQyJ8gyI+QdFp4JB/IdFk5lLKH5QvAHih/eX5Q/KE4A8UP7y/KH5QGDpg7HJoxZCCIx3CJowmCF4yACJoyJC/4A="))), palette: colorPalette }; -var bgLeft = settings.fullscreen ? bgLeftFullscreen : bgLeftNotFullscreen; -var bgRight= settings.fullscreen ? bgRightFullscreen : bgRightNotFullscreen; +let bgLeft = settings.fullscreen ? bgLeftFullscreen : bgLeftNotFullscreen; +let bgRight= settings.fullscreen ? bgRightFullscreen : bgRightNotFullscreen; -var iconEarth = { +let iconEarth = { width : 50, height : 50, bpp : 3, buffer : require("heatshrink").decompress(atob("AFtx48ECBsDwU5k/yhARLjgjBjlzAQMQEZcIkOP/fn31IEZgCBnlz58cEpM4geugEgwU/8+WNZJHDuHHvgmBCQ8goEOnVgJoMnyV58mACItHI4X8uAFBuVHnnz4BuGxk4////Egz3IkmWvPgNw8f/prB//BghTC+AjE7848eMjNnzySBwUJkmf/BuGuPDAQIjBiPHhhTCSQnjMo0ITANJn44Dg8MuFBggCCiFBcAJ0Bv5xEh+ITo2OhHkyf/OIQdBWwVHhgjBNwUE+fP/5EEgePMoYLBhMgyVJk/+BQQdC688I4XxOIc8v//NAvr+QEBj/5NwKVBy1/QYUciPBhk1EAJrC+KeC489QYaMBgU/8BNB9+ChEjz1Jkn/QYMBDQIgCcYTCCiP/nlzJQmenMAgV4//uy/9wRaB/1J8iVCcAfHjt9TYYICnhKCgRKBw159/v//r927OIeeoASBDQccvv3791KYVDBYPLJQeCnPnz//AAP6ocEjEkXgMgJQtz79fLAP8KYkccAcJ8Gf/f/xu/cAMQ4eP5MlyQRCMolx40YsOGBAPfnnzU4KVDpKMBvz8Dh0/8me7IICgkxJQXPIgZTD58sEgcJk+eNoONnFBhk4/5uB/pcDg5KD+4mEv4CBXISVDhEn31/8/+mH7x//JQK5CAAMB4JBCnnxJQf/+fJEgkAa4L+CAQOOjMn/1bXIRxDJQXx58f//Hhlz/88EgsChMgz/Zs/+nfkyV/8huDOI6SD498NwoACi1Z8+S/Plz17/+QCI7jC+ZxBmfPnojIAAMDcYWSp//2wRJEwq2GABECjMgNYwAmA=")) }; -var iconSaturn = { +let iconSaturn = { width : 50, height : 50, bpp : 3, transparent : 1, buffer : require("heatshrink").decompress(atob("AH4A/AEkQuPHCJ0ChEAwARNjAjBjgjOhs06Q2OEYVx4ARMhEggUMkANIDoIgBoEEgEBNxJEC6ZrBAAMwNxAjDNYcHNxIjB7dtEwIHBwRoKj158+cuPEjlwCRAjC23bpu0wRNDAAsHEYWeEwaSJ6YjCAQUNSRQjEzxQBWZMNEYlsmg2JWAIjCz95SoJuJggjDtuw6dMG5JKCz998wFBJRVNEYW0yaVBJRNhJQN9+4pCzhKJmBKC4YpB/fINxIgCzFxSoQ3J4ENm3CAQPb98wbpEcAQMYWwKYBNxMDXgc2/fv3g2IEAOAgAjBjy5CEhEMfYICBgfPnjdLjj+CgMHiC3JknDhhoINw4jCAB0IJQIANR4QjPAH4A/AFA")) }; -var iconMoon = { +let iconMoon = { width : 50, height : 50, bpp : 3, transparent : 1, buffer : require("heatshrink").decompress(atob("AH4AQjlx44CCCZsg8eOkHDwAQKEYgmPhEgEQM48AOIgMHEYoCB4ATI8UAmH/x04JoRuJsImHuBKLn37EwZuIgEQOI8cEpXj/yYBhE8+YNGgkYoJxITBUPnAaC///nC+FjBuIOJZEB8YeCh/8AoYACoMEEAnEjhQDPQJKJ/DCDAoi5DoLdHAoMQgLjFWYPOnngh02IwXzwDjEgPGEYS8BI4MBYoSVG4fP/nghkAgZrDkngJQqSG4gvBg4sBQgkImHihEAWwP8ZBMBEYl5/+cSoVAGQIUFh04weJn///0gj/OEw5KEz45BzhuCTYQAEgePB4IACAoJuBnAQEa4XHjxKB//xFgWHJQsCRgMDEonipwjENwUBDQNx8+evvn/hTDLw3igE+EgZxB8UOXIvEJQUfEYOfv53DEQkgga5BJQvzx84cAj+CDoNh8/eEYJKDuCSEcocnEon+/7xEgFBIIcfB4Mf/IICXI2DgDdBAAn758gCIq5Dv4zBvJuIOIfjEgvP/ARHgwdCB4P3AoTdFAAk4EYk8SQgAFTALaDSQwAGh08//vnDmBABYmEEZYAzA==")) }; -var iconMars = { +let iconMars = { width : 50, height : 50, bpp : 3, transparent : 1, buffer : require("heatshrink").decompress(atob("AH4ATjlwCJ+Dh0wwAQMg0cuPHjFhCZkDps0yVJkmQCBMEjFx42atOmzQmLhMkEYQCCCREQoOGEYmmzB0IEY4CBkARGoJKBEYQCEzgSGkGSpAjDyYCCphuGiFhJQgCD8ASFgRHGAQKbB6BuHJRGeOIsINxEk6dNmARDgMEjQjHAQPnVQojIyZKB6YSDNwK5FAQt54BuDXJIjBEwK5EgxKKXgq5BJRdgXIojJAQJKMcAM0EwM2JUApDoCVFExa7FkGCgAmIkAREEwUEjAmHCIgABhEggQmFpACBCIojBEwRQCzVhwkQU4YADgQmBwQCCI4IFBCAojFAQojGJQQjDAQgRGEZICBEo4gFyUIkilFJQUYEAZrBAQMYNw5KDSQSbCNwwABgOGEwgCBsPACQ5xGwdNnARJcAVh48evvnCJK8Chs+/fv33gCRcB48cuPHCBYA/ADAA==")) }; -var iconSatellite = { +let iconSatellite = { width : 50, height : 50, bpp : 3, transparent : 2, buffer : require("heatshrink").decompress(atob("pMkyQC/ATGXhIRPyNl0gmPjlwCJ9ly1aCJ1c+fHJR1Hy1ZJR1I+fPnlx6QRLpe+/JKBr5KMuYjBJQMdCJce/fvJQW0CJUlEYQCBSpvvJQbXJjl0NwnzNxGQwEOnHhgF78+WqQyIrFx48cAQXz4ShJgAABh0+8cP//9LJEhg4jDuP3//0LhGQgYlBgeAn///5cIy8MuAmDCIP/9I4HkmCEYMOgHfCQWkCI0cuBuDgF/CIP+CI1Ny1IkeAgHANwIAB/QRFrj7BhkxEwQRC/4RFpbXDgSVBg4RCSorXDI4MJAQMfCIP8cwImDn37fwN58+kwHgLgSVFub7CI4NyBAJKDLgkuEYX78+evKtCLg0jEYRKC58JMoRcFkwjDJQTFDl65EkojEAQMdcwn/+gFC3YjEJQLXEpYRDWwQmEdI6SHAQO0CJUkx4jDF4gCIJQgRMXIjCEARIjCCJ2XEYPKCJqJBJQIROcAUpCJ0kybaDARtdCKAC2kAA=")) }; -var iconCharging = { +let iconCharging = { width : 50, height : 50, bpp : 3, transparent : 5, buffer : require("heatshrink").decompress(atob("23btugAwUBtoICARG0h048eODQYCJ6P/AAUCCJfbo4SDxYRLtEcuPHjlwgoRJ7RnIloUHoYjDAQfAExEAwUIkACEkSAIEYwCBhZKH6EIJI0CJRFHEY0BJRWBSgf//0AJRYSE4BKLj4SE8BKLv4RD/hK/JS2AXY0gXwRKG4cMmACCJQMAg8csEFJQsBAwfasEAm379u0gFbcBfHzgFBz1xMQZKBjY/D0E2+BOChu26yVEEYdww+cgAFCg+cgIfB6RKF4HbgEIkGChEAthfCJQ0eEAIjBBAMxk6GCJQtgtyVBwRKBAQMbHAJKGXIIFCgACBhl54qVG2E+EAJKBJoWAm0WJQ6SCXgdxFgMLJQvYjeAEAUwFIUitEtJQ14NwUHgEwKYZKGwOwNYX7XgWCg3CJQ5rB4MevPnAoPDJRJrCgEG/ECAoNsJRUwoEesIIBiJKI3CVDti/CJRKVDiJHBSo0YsOGjED8AjBcAcIgdhcAXAPIUAcAYIBcA4dBAQUG8BrBgBuCgOwcBEeXIK2BBAIFBgRqBGoYAChq8CcYUE4FbUYOACQsHzgjDgwFBCIImBAQsDtwYD7cAloRI22B86YBw5QBgoRJ7dAgYEDCJaeBJoMcsARMAQNoJIIRE6A")) }; -var iconWarning = { +let iconWarning = { width : 50, height : 50, bpp : 3, transparent : 1, buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) @@ -172,26 +173,26 @@ Graphics.prototype.setFontAntonioLarge = function(scale) { /* * Draw watch face */ -var drawTimeout; -function queueDraw() { +let drawTimeout; +let queueDraw = function() { // Faster updates during alarm to ensure that it is // shown correctly... - var timeout = isAlarmEnabled() ? 10000 : 60000; + let timeout = isAlarmEnabled() ? 10000 : 60000; if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(function() { drawTimeout = undefined; draw(); }, timeout - (Date.now() % timeout)); -} +}; /** * This function plots a data row in LCARS style. * Note: It can be called async and therefore, the text alignment and * font is set each time the function is called. */ -function printRow(text, value, y, c){ +let printRow = function(text, value, y, c){ g.setFontAntonioMedium(); g.setFontAlign(-1,-1,0); @@ -210,23 +211,23 @@ function printRow(text, value, y, c){ g.setColor(c); g.setFontAlign(1,-1,0); g.drawString(value, 126, y); -} +}; -function drawData(key, y, c){ +let drawData = function(key, y, c){ try{ _drawData(key, y, c); } catch(ex){ // Show last error - next try hopefully works. } -} +}; -function _drawData(key, y, c){ +let _drawData = function(key, y, c){ key = key.toUpperCase() - var text = key; - var value = "ERR"; - var should_print= true; + let text = key; + let value = "ERR"; + let should_print= true; if(key == "STEPS"){ text = "STEP"; @@ -246,17 +247,17 @@ function _drawData(key, y, c){ value = Math.round(Bangle.getHealthStatus().bpm||Bangle.getHealthStatus("last").bpm); } else if (key == "TEMP"){ - var weather = getWeather(); + let weather = getWeather(); value = weather.temp; } else if (key == "HUMIDITY"){ text = "HUM"; - var weather = getWeather(); + let weather = getWeather(); value = weather.hum; } else if (key == "WIND"){ text = "WND"; - var weather = getWeather(); + let weather = getWeather(); value = weather.wind; } else if (key == "ALTITUDE"){ @@ -280,18 +281,18 @@ function _drawData(key, y, c){ if(should_print){ printRow(text, value, y, c); } -} +}; -function drawHorizontalBgLine(color, x1, x2, y, h){ +let drawHorizontalBgLine = function(color, x1, x2, y, h){ g.setColor(color); - for(var i=0; i{ data[h.day]+=h.bpm; if (h.bpm) cnt[h.day]++; @@ -465,9 +466,9 @@ function drawPosition1(){ }); // Plot step graph - var data = new Uint16Array(32); + data = new Uint16Array(32); health.readDailySummaries(new Date(), h=>data[h.day]+=h.steps/1000); - var gridY = parseInt(Math.max.apply(Math, data)/2); + let gridY = parseInt(Math.max.apply(Math, data)/2); gridY = gridY <= 0 ? 1 : gridY; require("graph").drawBar(g, data, { axes : true, @@ -493,8 +494,8 @@ function drawPosition1(){ // Plot day } else { - var data = new Uint16Array(24); - var cnt = new Uint8Array(24); + let data = new Uint16Array(24); + let cnt = new Uint8Array(24); health.readDay(new Date(), h=>{ data[h.hr]+=h.bpm; if (h.bpm) cnt[h.hr]++; @@ -511,9 +512,9 @@ function drawPosition1(){ }); // Plot step graph - var data = new Uint16Array(24); + data = new Uint16Array(24); health.readDay(new Date(), h=>data[h.hr]+=h.steps); - var gridY = parseInt(Math.max.apply(Math, data)/1000)*1000; + let gridY = parseInt(Math.max.apply(Math, data)/1000)*1000; gridY = gridY <= 0 ? 1000 : gridY; require("graph").drawBar(g, data, { axes : true, @@ -537,9 +538,9 @@ function drawPosition1(){ g.drawString("DAY", 154, 115); } } -} +}; -function draw(){ +let draw = function(){ // Queue draw first to ensure that its called in one minute again. queueDraw(); @@ -560,14 +561,14 @@ function draw(){ } else { Bangle.drawWidgets(); } -} +}; /* * Step counter via widget */ -function getSteps() { - var steps = 0; +let getSteps = function() { + let steps = 0; try{ if (WIDGETS.wpedom !== undefined) { steps = WIDGETS.wpedom.getSteps(); @@ -581,15 +582,15 @@ function getSteps() { } return steps; -} +}; -function getWeather(){ - var weatherJson; +let getWeather = function(){ + let weatherJson; try { weatherJson = storage.readJSON('weather.json'); - var weather = weatherJson.weather; + let weather = weatherJson.weather; // Temperature weather.temp = locale.temp(weather.temp-273.15); @@ -599,7 +600,7 @@ function getWeather(){ // Wind const wind = locale.speed(weather.wind).match(/^(\D*\d*)(.*)$/); - var speedFactor = settings.speed == "kph" ? 1.0 : 1.0 / 1.60934; + let speedFactor = settings.speed == "kph" ? 1.0 : 1.0 / 1.60934; weather.wind = Math.round(wind[1] * speedFactor); return weather @@ -616,15 +617,15 @@ function getWeather(){ wdir: " ? ", wrose: " ? " }; -} +}; /* * Handle alarm */ -function isAlarmEnabled(){ +let isAlarmEnabled = function(){ try{ - var alarm = require('sched'); - var alarmObj = alarm.getAlarm(TIMER_IDX); + let alarm = require('sched'); + let alarmObj = alarm.getAlarm(TIMER_IDX); if(alarmObj===undefined || !alarmObj.on){ return false; } @@ -633,35 +634,35 @@ function isAlarmEnabled(){ } catch(ex){ } return false; -} +}; -function getAlarmMinutes(){ +let getAlarmMinutes = function(){ if(!isAlarmEnabled()){ return -1; } - var alarm = require('sched'); - var alarmObj = alarm.getAlarm(TIMER_IDX); + let alarm = require('sched'); + let alarmObj = alarm.getAlarm(TIMER_IDX); return Math.round(alarm.getTimeToAlarm(alarmObj)/(60*1000)); -} +}; -function increaseAlarm(){ +let increaseAlarm = function(){ try{ - var minutes = isAlarmEnabled() ? getAlarmMinutes() : 0; - var alarm = require('sched') + let minutes = isAlarmEnabled() ? getAlarmMinutes() : 0; + let alarm = require('sched') alarm.setAlarm(TIMER_IDX, { timer : (minutes+5)*60*1000, }); alarm.reload(); } catch(ex){ } -} +}; -function decreaseAlarm(){ +let decreaseAlarm = function(){ try{ - var minutes = getAlarmMinutes(); + let minutes = getAlarmMinutes(); minutes -= 5; - var alarm = require('sched') + let alarm = require('sched') alarm.setAlarm(TIMER_IDX, undefined); if(minutes > 0){ @@ -672,13 +673,13 @@ function decreaseAlarm(){ alarm.reload(); } catch(ex){ } -} +}; /* * Listeners */ -Bangle.on('lcdPower',on=>{ +let onLcdPower = on=>{ if (on) { // Whenever we connect to Gadgetbridge, reading data from // health failed. Therefore, we update only partially... @@ -688,31 +689,34 @@ Bangle.on('lcdPower',on=>{ if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = undefined; } -}); +}; +Bangle.on('lcdPower', onLcdPower); -Bangle.on('lock', function(isLocked) { +let onLock = function(isLocked) { drawInfo(); -}); +}; +Bangle.on('lock', onLock); -Bangle.on('charging',function(charging) { + +let onCharge = function(charging) { drawState(); -}); +}; +Bangle.on('charging', onCharge); -function feedback(){ +let feedback = function(){ Bangle.buzz(40, 0.3); -} +}; -// Touch gestures to control clock. We don't use swipe to be compatible with the bangle ecosystem -Bangle.on('touch', function(btn, e){ - var left = parseInt(g.getWidth() * 0.2); - var right = g.getWidth() - left; - var upper = parseInt(g.getHeight() * 0.2); - var lower = g.getHeight() - upper; +let onTouch = function(btn, e){ + let left = parseInt(g.getWidth() * 0.2); + let right = g.getWidth() - left; + let upper = parseInt(g.getHeight() * 0.2); + let lower = g.getHeight() - upper; - var is_left = e.x < left; - var is_right = e.x > right; - var is_upper = e.y < upper; - var is_lower = e.y > lower; + let is_left = e.x < left; + let is_right = e.x > right; + let is_upper = e.y < upper; + let is_lower = e.y > lower; if(!settings.disableData){ if(is_left && lcarsViewPos == 1){ @@ -747,16 +751,30 @@ Bangle.on('touch', function(btn, e){ draw(); return; } -}); - +}; +// Touch gestures to control clock. We don't use swipe to be compatible with the bangle ecosystem +Bangle.on('touch', onTouch); +let themeBefore = g.theme; /* * Lets start widgets, listen for btn etc. */ // Show launcher when middle button pressed -Bangle.setUI("clock"); +Bangle.setUI({mode:"clock",remove:function() { + if (drawTimeout) clearTimeout(drawTimeout); + delete Graphics.prototype.setFontAntonioMedium; + delete Graphics.prototype.setFontAntonioLarge; + Bangle.removeListener("lcdPower",onLcdPower); + Bangle.removeListener("lock",onLock); + Bangle.removeListener("charging",onCharge); + Bangle.removeListener("touch",onTouch); + require('sched').setAlarm(TIMER_IDX, undefined); + g.setTheme(themeBefore); + widget_utils.cleanup(); +}}); Bangle.loadWidgets(); // Clear the screen once, at startup and draw clock g.setTheme({bg:"#000",fg:"#fff",dark:true}).clear(); draw(); +} \ No newline at end of file diff --git a/apps/lcars/metadata.json b/apps/lcars/metadata.json index 4a7707b8a..5fbb8dcf2 100644 --- a/apps/lcars/metadata.json +++ b/apps/lcars/metadata.json @@ -3,7 +3,7 @@ "name": "LCARS Clock", "shortName":"LCARS", "icon": "lcars.png", - "version":"0.28", + "version":"0.29", "readme": "README.md", "supports": ["BANGLEJS2"], "description": "Library Computer Access Retrieval System (LCARS) clock.", From 4a727df8912e54532452b6cebd8f2a62515fa764 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Tue, 4 Jul 2023 21:46:16 +0200 Subject: [PATCH 138/139] openstmap: Remember latitude, longitude & scale see #2844 --- apps/openstmap/ChangeLog | 1 + apps/openstmap/app.js | 50 ++++++++++++++++++++++++++++-------- apps/openstmap/metadata.json | 2 +- apps/openstmap/openstmap.js | 7 ++++- 4 files changed, 47 insertions(+), 13 deletions(-) diff --git a/apps/openstmap/ChangeLog b/apps/openstmap/ChangeLog index a991d92fd..c1b8e5f21 100644 --- a/apps/openstmap/ChangeLog +++ b/apps/openstmap/ChangeLog @@ -20,3 +20,4 @@ 0.17: With new Recorder app allow track to be drawn in the background Switch tile layer URL for faster/more reliable map tiles 0.18: Prefer map with highest resolution +0.19: Remember latitude, longitude & scale diff --git a/apps/openstmap/app.js b/apps/openstmap/app.js index c69ccece3..dd0120857 100644 --- a/apps/openstmap/app.js +++ b/apps/openstmap/app.js @@ -6,11 +6,27 @@ var mapVisible = false; var hasScrolled = false; var settings = require("Storage").readJSON("openstmap.json",1)||{}; var plotTrack; +let checkMapPos = false; // Do we need to check the if the coordinates we have are valid + +if (settings.lat !== undefined && settings.lon !== undefined && settings.scale !== undefined) { + // restore last view + m.lat = settings.lat; + m.lon = settings.lon; + m.scale = settings.scale; + checkMapPos = true; +} // Redraw the whole page function redraw() { g.setClipRect(R.x,R.y,R.x2,R.y2); - m.draw(); + const count = m.draw(); + if (checkMapPos && count === 0) { + // no map at these coordinates, lets try again with first map + m.lat = m.map.lat; + m.lon = m.map.lon; + m.scale = m.map.scale; + m.draw(); + } drawPOI(); drawMarker(); // if track drawing is enabled... @@ -45,7 +61,7 @@ function drawPOI() { g.fillRect(p.x-sz, p.y-sz, p.x+sz, p.y+sz); g.setColor(0,0,0); g.drawString(wp.name, p.x, p.y); - print(wp.name); + //print(wp.name); }) } @@ -59,24 +75,33 @@ function drawMarker() { Bangle.on('GPS',function(f) { fix=f; - if (HASWIDGETS) WIDGETS["sats"].draw(WIDGETS["sats"]); + if (HASWIDGETS && WIDGETS["sats"]) WIDGETS["sats"].draw(WIDGETS["sats"]); if (mapVisible) drawMarker(); }); Bangle.setGPSPower(1, "app"); if (HASWIDGETS) { Bangle.loadWidgets(); - WIDGETS["sats"] = { area:"tl", width:48, draw:w=>{ - var txt = (0|fix.satellites)+" Sats"; - if (!fix.fix) txt += "\nNO FIX"; - g.reset().setFont("6x8").setFontAlign(0,0) - .drawString(txt,w.x+24,w.y+12); - } - }; + if (WIDGETS["GPS"]) { // one GPS Widget is enough + WIDGETS["sats"] = { area:"tl", width:48, draw:w=>{ + var txt = (0|fix.satellites)+" Sats"; + if (!fix.fix) txt += "\nNO FIX"; + g.reset().setFont("6x8").setFontAlign(0,0) + .drawString(txt,w.x+24,w.y+12); + } + }; + } Bangle.drawWidgets(); } R = Bangle.appRect; +function writeSettings() { + settings.lat = m.lat; + settings.lon = m.lon; + settings.scale = m.scale; + require("Storage").writeJSON("openstmap.json",settings); +} + function showMap() { mapVisible = true; g.reset().clearRect(R); @@ -108,7 +133,7 @@ function showMap() { }, /*LANG*/"Draw Track": { value : !!settings.drawTrack, - onchange : v => { settings.drawTrack=v; require("Storage").writeJSON("openstmap.json",settings); } + onchange : v => { settings.drawTrack=v; writeSettings(); } }, /*LANG*/"Center Map": () =>{ m.lat = m.map.lat; @@ -126,3 +151,6 @@ function showMap() { } showMap(); + +// Write settings on exit via button +setWatch(() => writeSettings(), BTN, { repeat: true, edge: "rising" }); diff --git a/apps/openstmap/metadata.json b/apps/openstmap/metadata.json index f4e0f2729..14c789798 100644 --- a/apps/openstmap/metadata.json +++ b/apps/openstmap/metadata.json @@ -2,7 +2,7 @@ "id": "openstmap", "name": "OpenStreetMap", "shortName": "OpenStMap", - "version": "0.18", + "version": "0.19", "description": "Loads map tiles from OpenStreetMap onto your Bangle.js and displays a map of where you are. Once installed this also adds map functionality to `GPS Recorder` and `Recorder` apps", "readme": "README.md", "icon": "app.png", diff --git a/apps/openstmap/openstmap.js b/apps/openstmap/openstmap.js index 37f82a127..0a8f35f66 100644 --- a/apps/openstmap/openstmap.js +++ b/apps/openstmap/openstmap.js @@ -37,10 +37,12 @@ m.scale = m.map.scale; // current scale (based on first map) m.lat = m.map.lat; // position of middle of screen m.lon = m.map.lon; // position of middle of screen +// return number of tiles drawn exports.draw = function() { var cx = g.getWidth()/2; var cy = g.getHeight()/2; var p = Bangle.project({lat:m.lat,lon:m.lon}); + let count = 0; m.maps.forEach((map,idx) => { var d = map.scale/m.scale; var ix = (p.x-map.center.x)/m.scale + (map.imgx*d/2) - cx; @@ -68,12 +70,15 @@ exports.draw = function() { } var mx = g.getWidth(); var my = g.getHeight(); - for (var x=ox,ttx=tx; x Date: Tue, 4 Jul 2023 21:58:04 +0200 Subject: [PATCH 139/139] openstmap: Fix gps widget check --- apps/openstmap/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/openstmap/app.js b/apps/openstmap/app.js index dd0120857..88883b6d6 100644 --- a/apps/openstmap/app.js +++ b/apps/openstmap/app.js @@ -82,7 +82,7 @@ Bangle.setGPSPower(1, "app"); if (HASWIDGETS) { Bangle.loadWidgets(); - if (WIDGETS["GPS"]) { // one GPS Widget is enough + if (!WIDGETS["gps"]) { // one GPS Widget is enough WIDGETS["sats"] = { area:"tl", width:48, draw:w=>{ var txt = (0|fix.satellites)+" Sats"; if (!fix.fix) txt += "\nNO FIX";

~wUzHJ+R7(*yFD^wnVun~zyRDp{YnBgjp)y7RB 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