From 7ab9e342d5fa8d8210201c8bd9ca626e9fd8bdb9 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Tue, 29 Mar 2022 09:02:07 +0200 Subject: [PATCH 001/306] EAN-8 Barcode clock, INIT --- apps/barcode/ChangeLog | 1 + apps/barcode/README.md | 15 ++ apps/barcode/barcode.app.js | 377 +++++++++++++++++++++++++++++++++ apps/barcode/barcode.clock.png | Bin 0 -> 1907 bytes apps/barcode/barcode.icon.js | 1 + apps/barcode/barcode.icon.png | Bin 0 -> 574 bytes apps/barcode/metadata.json | 16 ++ 7 files changed, 410 insertions(+) create mode 100644 apps/barcode/ChangeLog create mode 100644 apps/barcode/README.md create mode 100644 apps/barcode/barcode.app.js create mode 100644 apps/barcode/barcode.clock.png create mode 100644 apps/barcode/barcode.icon.js create mode 100644 apps/barcode/barcode.icon.png create mode 100644 apps/barcode/metadata.json diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog new file mode 100644 index 000000000..987688083 --- /dev/null +++ b/apps/barcode/ChangeLog @@ -0,0 +1 @@ +0.01: Please forgive me diff --git a/apps/barcode/README.md b/apps/barcode/README.md new file mode 100644 index 000000000..0396e03ac --- /dev/null +++ b/apps/barcode/README.md @@ -0,0 +1,15 @@ +# Barcode clock(watch)face + +A scannable EAN-8 compatible face for your Bangle 2 + +The format of the bars are + +* Left section: HHmm + * H: Hours + * m: Minutes +* Right section: MM9c + * M: Month + * 9: constant + * c: Calculated EAN-8 digit checksum + +This face is aware of theme choice, so it will adapt to Light/Dark themes. diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js new file mode 100644 index 000000000..99b3f4cc2 --- /dev/null +++ b/apps/barcode/barcode.app.js @@ -0,0 +1,377 @@ +var startOffsetX = 20; +var startOffsetHeight = 40; + +var checkBarWidth = 10; +var checkBarHeight = 140; + +var digitWidth = 14; +var digitHeight = 120; + +var startDigitOffsetX = startOffsetX + checkBarWidth; + +var midCheckBarOffsetX = startOffsetX + checkBarWidth + digitWidth * 4; + +var midDigitOffsetX = startOffsetX + checkBarWidth + digitWidth * 4 + checkBarWidth; + +var endCheckBarOffsetX = startOffsetX + checkBarWidth + digitWidth * 4 + checkBarWidth + digitWidth * 4; + +let intCaster = num => Number(num); + +var drawTimeout; + +Bangle.loadWidgets(); + +function renderWatch(l) { + g.setFont("4x6",2); + + // work out how to display the current time + + var offsetY = l.y; + + var d = new Date(); + var h = d.getHours(), m = d.getMinutes(); + var time = h + ":" + ("0"+m).substr(-2); + var month = ("0" + (d.getMonth()+1)).slice(-2); + var concatTime = ("0"+h).substr(-2) + ("0"+m).substr(-2) + month + 9; + + concatTime = "20510398"; + + const chars = String(concatTime).split("").map((concatTime) => { + return Number(concatTime); + }); + + drawStart(startOffsetX, offsetY); + + drawLDigit(chars[0], 0, offsetY); + drawLDigit(chars[1], 1, offsetY); + drawLDigit(chars[2], 2, offsetY); + drawLDigit(chars[3], 3, offsetY); + + drawMid(midCheckBarOffsetX, offsetY); + + drawRDigit(chars[4], 0, offsetY); + drawRDigit(chars[5], 1, offsetY); + drawRDigit(chars[6], 2, offsetY); + drawRDigit(calculateChecksum(chars), 3, offsetY); + + drawEnd(endCheckBarOffsetX, offsetY); + + // schedule a draw for the next minute + if (drawTimeout) { + clearTimeout(drawTimeout); + } + drawTimeout = setTimeout(function() { + + drawTimeout = undefined; + layout.render(layout.watch); + }, 60000 - (Date.now() % 60000)); +} + +function drawLDigit(digit, index, offsetY) { + switch(digit) { + case 0: + drawLZeroWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 1: + drawLOneWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 2: + drawLTwoWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 3: + drawLThreeWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 4: + drawLFourWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 5: + drawLFiveWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 6: + drawLSixWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 7: + drawLSevenWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 8: + drawLEightWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + case 9: + drawLNineWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); + break; + } +} + +function drawRDigit(digit, index, offsetY) { + switch(digit) { + case 0: + drawRZeroWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 1: + drawROneWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 2: + drawRTwoWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 3: + drawRThreeWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 4: + drawRFourWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 5: + drawRFiveWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 6: + drawRSixWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 7: + drawRSevenWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 8: + drawREightWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + case 9: + drawRNineWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); + break; + } +} + +/* +LEAN + +01234567890123 + xxxx xx + xx xxxx + xxxxxxxx xx + xx xxxx + xxxx xx + xx xxxxxxxx + xxxxxx xxxx + xxxx xxxxxx + xx xxxx + xxxx xx +*/ +function drawLOneWithOffset(offset, offsetY) { + let barOneX = 4; + let barTwoX = 12; + g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("1",offset+3,offsetY+digitHeight+5); +} + +function drawLTwoWithOffset(offset, offsetY) { + let barOneX = 4; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); + g.drawString("2",offset+3,offsetY+digitHeight+5); +} + +function drawLThreeWithOffset(offset, offsetY) { + let barOneX = 2; + let barTwoX = 12; + g.fillRect(barOneX+offset,offsetY+0,barOneX+7+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("3",offset+3,offsetY+digitHeight+5); +} + +function drawLFourWithOffset(offset, offsetY) { + let barOneX = 2; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); + g.drawString("4",offset+3,offsetY+digitHeight+5); +} + +function drawLFiveWithOffset(offset, offsetY) { + let barOneX = 2; + let barTwoX = 12; + g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("5",offset+3,offsetY+digitHeight+5); +} + +function drawLSixWithOffset(offset, offsetY) { + let barOneX = 2; + let barTwoX = 6; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+7+offset,offsetY+digitHeight); + g.drawString("6",offset+3,offsetY+digitHeight+5); +} + +function drawLSevenWithOffset(offset, offsetY) { + let barOneX = 2; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); + g.drawString("7",offset+3,offsetY+digitHeight+5); +} + +function drawLEightWithOffset(offset, offsetY) { + let barOneX = 2; + let barTwoX = 8; + g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitHeight); + g.drawString("8",offset+3,offsetY+digitHeight+5); +} + +function drawLNineWithOffset(offset, offsetY) { + let barOneX = 6; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); + g.drawString("9",offset+3,offsetY+digitHeight+5); +} + +function drawLZeroWithOffset(offset, offsetY) { + let barOneX = 6; + let barTwoX = 12; + g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("0",offset+3,offsetY+digitHeight+5); +} + + + +/* +REAN + +01234567890123 +xxxx xxxx +xxxx xxxx +xx xx +xx xxxxxx +xx xxxxxx +xx xx +xx xx +xx xx +xxxxxx xx +xxxxxx xx + +*/ +function drawROneWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 8; + g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+3,offsetY+digitHeight); + g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+3,offsetY+digitHeight); + g.drawString("1",offset+2,offsetY+digitHeight+5); +} + +function drawRTwoWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 6; + g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+3,offsetY+digitHeight); + g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+3,offsetY+digitHeight); + g.drawString("2",offset+2,offsetY+digitHeight+5); +} + +function drawRThreeWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("3",offset+2,offsetY+digitHeight+5); +} + +function drawRFourWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 4; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitHeight); + g.drawString("4",offset+2,offsetY+digitHeight+5); +} + +function drawRFiveWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 6; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitHeight); + g.drawString("5",offset+2,offsetY+digitHeight+5); +} + +function drawRSixWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 4; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("6",offset+2,offsetY+digitHeight+5); +} + +function drawRSevenWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 8; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("7",offset+2,offsetY+digitHeight+5); +} + +function drawREightWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 6; + g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+1,offsetY+digitHeight); + g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+1,offsetY+digitHeight); + g.drawString("8",offset+2,offsetY+digitHeight+5); +} + +function drawRNineWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 8; + g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("9",offset+2,offsetY+digitHeight+5); +} + +function drawRZeroWithOffset(offset, offsetY) { + let barOneX = 0; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); + g.drawString("0",offset+2,offsetY+digitHeight+5); +} + + + + + +function drawStart(offset, offsetY) { + let barOneX = 2; + let barTwoX = 6; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight+15); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight+15); +} + +function drawMid(offset, offsetY) { + let barOneX = 2; + let barTwoX = 6; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight+15); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight+15); +} + +function drawEnd(offset, offsetY) { + let barOneX = 2; + let barTwoX = 6; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight+15); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight+15); +} + +function calculateChecksum(digits) { + let oddSum = digits[6] + digits[4] + digits[2] + digits[0]; + let evenSum = digits[5] + digits[3] + digits[1]; + + let checkSum = (10 - ((3 * oddSum + evenSum) % 10)) % 10; + + return checkSum; +} + +// The layout, referencing the custom renderer +var Layout = require("Layout"); +var layout = new Layout( { + type:"v", c: [ + {type:"custom", render:renderWatch, id:"watch", bgCol:g.theme.bg, fillx:1, filly:1 } + ] +}); + +// Clear the screen once, at startup +g.clear(); +layout.render(); diff --git a/apps/barcode/barcode.clock.png b/apps/barcode/barcode.clock.png new file mode 100644 index 0000000000000000000000000000000000000000..4df621607c8d32f8caf26b8aa52a2d6a6c5e87af GIT binary patch literal 1907 zcmdT?jW^SK9Gzs8CBHZ&}y0-L{n!igahk z@v=mbUeH$Dp&Om$brY75w=pk`Xt}?sb#H&d{XOUR{hssuKA-3N`90r<;Y09R1vPSG@|!=;XwCV%tk;U-Ob*3EHN%n*7Gj28?8qZ4Jnb% z0ky?pW+zao<5!=YoC|UhO6#y+tPpeO_*C|_jl^ z^rI$1fsN&!kV?q$W8%YW))pi*-SILkhECDTBT2tgqdg6&9#YO38?aDtNn8W*?@lwI zdIZDf>4)v*4(}B&iKuc&VzwU3MCd8B{9L59jeJnsh&q?qxInHnqEa#C5GIumr=wUb z=KF1};q}U}CBgA6g(7?T^JxYu{kD?}Wszp7xzw}q_@g6SzbbSpy8c~1j7qW~TIlOn z<6#H1li4;R(~WOVEQHpNrQ0CX6 z^k?RS{?OmoPRLc6a;|^8Ud%{H_K0FP=JiGHvvhW!aFzdx(Us(EWKxq3pE$+1iv%Ai z4RZWBB7`nbtzC`f>14~J*G+S2^Rac@_NXdb^ZS9WqB7P+UUh0NSH+~ zt*e1r0GRTsc!W;r!i)WmBd~QgAzw_9GoF*Kl`e`KKlP7_`HUc8SBTQygt_6zR?jEoSaTo;|G5PpU0>b2gF0%)`eGrF zy;QU+Enhhflmo@whc4#_V0LToB|%j9J^>DngC98pS6^#3B=2hw)ROB}diC{awIBxO zs){x7Yb2Me06jW`1p3AtLB*BeiU6o3QhW?S%?E&5Qe#=q+E?S-)O3cl z7#N!arGRm}H$6j&20CgEN%%|jOHSmgej{=WY+jq?Hf`j$=dG99_+@NBftFU#cq-3& zqMv*xd69QESlU`R`Y8?g{#TuwQUSEUz`g6D4s1p@;UBi_R95jL_{QvJg8xwO1)(xZ z=2&{H;Yo93RnjSfaa`f6;TKKx*Mim53THfa_@qUTS6JjM`$8E{FRpEUMG~`@zjnj{ zmT;EI?eu81Ux=ts)>a41*XWsf&njnbc77aAy%M;Vl}WXvfiJi@SaAF2oFXcfOxWC& z9g@96?c2GX9OshC<(79x+Cd^*#f2T8MBEapAwXj5w^^>_QPgYIHgOMXz}&%hZ_5 zli37jZI$m$6sBW>3hF{#D3+@SO`t@0u(af&#Ez6g&3aijQ=+NoPx4tTfZEIVe~JkN zSRV8QpQr&2MDtsCQ2Wy)tSk#H5bPT4JWtX9-$NHE_v;|yia$G-0W3-9VNeN3%kDNS%G|oWRD45dJguM!v-tY$DUh!@P+6=(yLU`q0KcVYP7-hXC4kjGx) z>Fdh=j9ErlQs%&Mjcp7JjBcJTjv*e$lmDDQaNs~e{k(uDg)Z--mW+u{+cWV|+) z+xT?awR>kT&D_oB*Jt!leAk43Y3mXgg_)U!nL86g4zFknkBsh{d3^d`5({wFZ``sA$sb&Y`W^bHT5UU^KNm^ySzK1QesB^+nOW) z6F!FjbGMeT;FCG}ftg!h{qWxE=aLpIJ0v9T8vsH4{_D#Dj~6NZ^iLLCs%zx)bUVjvqE#o0*lE^%*Mv*>WBFE+Zk}zCO=B~ zarD%W*Zks#&)<)!zi-U_H!1ng&;H2|-`j_^+4JatR2??uS=AwZ)j^n-LB1=!BqR2- zEijN(OI#yLQW8s2t&)pUffR$0fsv7}fw8WUWr%^9m5Hg9sj0Ssft7(lioi!H6b-rg mDVb@N2n`k?hL%=FrdCE45DiU#{oVmJFnGH9xvX Date: Tue, 29 Mar 2022 09:17:44 +0200 Subject: [PATCH 002/306] Now (might) actually work --- apps/barcode/ChangeLog | 1 + apps/barcode/barcode.app.js | 4 +--- apps/barcode/metadata.json | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index 987688083..0581a70f5 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -1 +1,2 @@ 0.01: Please forgive me +0.02: Now tells time! diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 99b3f4cc2..9448e893e 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -1,4 +1,4 @@ -var startOffsetX = 20; +var startOffsetX = 18; var startOffsetHeight = 40; var checkBarWidth = 10; @@ -34,8 +34,6 @@ function renderWatch(l) { var month = ("0" + (d.getMonth()+1)).slice(-2); var concatTime = ("0"+h).substr(-2) + ("0"+m).substr(-2) + month + 9; - concatTime = "20510398"; - const chars = String(concatTime).split("").map((concatTime) => { return Number(concatTime); }); diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index 6cc54c122..e230c0a5a 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.01", + "version":"0.02", "description": "EAN-8 compatible barcode clock. Format (c: checksum): [HHmm] [MM9c]", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", From a1162ef6d3b9b9cee426a173829cd54545bd3cf1 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Tue, 29 Mar 2022 09:24:05 +0200 Subject: [PATCH 003/306] Adds button press interaction --- apps/barcode/ChangeLog | 1 + apps/barcode/barcode.app.js | 5 +++-- apps/barcode/metadata.json | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index 0581a70f5..ca8cf8e96 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -1,2 +1,3 @@ 0.01: Please forgive me 0.02: Now tells time! +0.03: Interaction diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 9448e893e..43c74e5ea 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -19,8 +19,6 @@ let intCaster = num => Number(num); var drawTimeout; -Bangle.loadWidgets(); - function renderWatch(l) { g.setFont("4x6",2); @@ -372,4 +370,7 @@ var layout = new Layout( { // Clear the screen once, at startup g.clear(); +Bangle.loadWidgets(); +Bangle.drawWidgets(); +Bangle.setUI("clock"); layout.render(); diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index e230c0a5a..4ad2cd96a 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.02", + "version":"0.03", "description": "EAN-8 compatible barcode clock. Format (c: checksum): [HHmm] [MM9c]", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", From 91cab3aee4bf2c2d359f756b3424611149b1aa00 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Tue, 29 Mar 2022 12:12:57 +0200 Subject: [PATCH 004/306] Added day of week --- apps/barcode/ChangeLog | 1 + apps/barcode/README.md | 4 +++- apps/barcode/barcode.app.js | 27 ++++++++++++++------------- apps/barcode/metadata.json | 4 ++-- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index ca8cf8e96..60122a63b 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -1,3 +1,4 @@ 0.01: Please forgive me 0.02: Now tells time! 0.03: Interaction +0.04: Shows day of week diff --git a/apps/barcode/README.md b/apps/barcode/README.md index 0396e03ac..e677bc029 100644 --- a/apps/barcode/README.md +++ b/apps/barcode/README.md @@ -4,12 +4,14 @@ A scannable EAN-8 compatible face for your Bangle 2 The format of the bars are +`[HHmm] [MMwc]` + * Left section: HHmm * H: Hours * m: Minutes * Right section: MM9c * M: Month - * 9: constant + * w: Day of week * c: Calculated EAN-8 digit checksum This face is aware of theme choice, so it will adapt to Light/Dark themes. diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 43c74e5ea..583c04876 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -21,7 +21,7 @@ var drawTimeout; function renderWatch(l) { g.setFont("4x6",2); - + // work out how to display the current time var offsetY = l.y; @@ -30,7 +30,8 @@ function renderWatch(l) { var h = d.getHours(), m = d.getMinutes(); var time = h + ":" + ("0"+m).substr(-2); var month = ("0" + (d.getMonth()+1)).slice(-2); - var concatTime = ("0"+h).substr(-2) + ("0"+m).substr(-2) + month + 9; + var dayOfWeek = d.getDay() || 7; + var concatTime = ("0"+h).substr(-2) + ("0"+m).substr(-2) + month + dayOfWeek; const chars = String(concatTime).split("").map((concatTime) => { return Number(concatTime); @@ -57,7 +58,7 @@ function renderWatch(l) { clearTimeout(drawTimeout); } drawTimeout = setTimeout(function() { - + drawTimeout = undefined; layout.render(layout.watch); }, 60000 - (Date.now() % 60000)); @@ -150,7 +151,7 @@ LEAN */ function drawLOneWithOffset(offset, offsetY) { let barOneX = 4; - let barTwoX = 12; + let barTwoX = 12; g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); g.drawString("1",offset+3,offsetY+digitHeight+5); @@ -158,7 +159,7 @@ function drawLOneWithOffset(offset, offsetY) { function drawLTwoWithOffset(offset, offsetY) { let barOneX = 4; - let barTwoX = 10; + let barTwoX = 10; g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); g.drawString("2",offset+3,offsetY+digitHeight+5); @@ -166,7 +167,7 @@ function drawLTwoWithOffset(offset, offsetY) { function drawLThreeWithOffset(offset, offsetY) { let barOneX = 2; - let barTwoX = 12; + let barTwoX = 12; g.fillRect(barOneX+offset,offsetY+0,barOneX+7+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); g.drawString("3",offset+3,offsetY+digitHeight+5); @@ -174,7 +175,7 @@ function drawLThreeWithOffset(offset, offsetY) { function drawLFourWithOffset(offset, offsetY) { let barOneX = 2; - let barTwoX = 10; + let barTwoX = 10; g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); g.drawString("4",offset+3,offsetY+digitHeight+5); @@ -182,7 +183,7 @@ function drawLFourWithOffset(offset, offsetY) { function drawLFiveWithOffset(offset, offsetY) { let barOneX = 2; - let barTwoX = 12; + let barTwoX = 12; g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); g.drawString("5",offset+3,offsetY+digitHeight+5); @@ -190,7 +191,7 @@ function drawLFiveWithOffset(offset, offsetY) { function drawLSixWithOffset(offset, offsetY) { let barOneX = 2; - let barTwoX = 6; + let barTwoX = 6; g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+7+offset,offsetY+digitHeight); g.drawString("6",offset+3,offsetY+digitHeight+5); @@ -198,7 +199,7 @@ function drawLSixWithOffset(offset, offsetY) { function drawLSevenWithOffset(offset, offsetY) { let barOneX = 2; - let barTwoX = 10; + let barTwoX = 10; g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); g.drawString("7",offset+3,offsetY+digitHeight+5); @@ -206,7 +207,7 @@ function drawLSevenWithOffset(offset, offsetY) { function drawLEightWithOffset(offset, offsetY) { let barOneX = 2; - let barTwoX = 8; + let barTwoX = 8; g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitHeight); g.drawString("8",offset+3,offsetY+digitHeight+5); @@ -214,7 +215,7 @@ function drawLEightWithOffset(offset, offsetY) { function drawLNineWithOffset(offset, offsetY) { let barOneX = 6; - let barTwoX = 10; + let barTwoX = 10; g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); g.drawString("9",offset+3,offsetY+digitHeight+5); @@ -222,7 +223,7 @@ function drawLNineWithOffset(offset, offsetY) { function drawLZeroWithOffset(offset, offsetY) { let barOneX = 6; - let barTwoX = 12; + let barTwoX = 12; g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); g.drawString("0",offset+3,offsetY+digitHeight+5); diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index 4ad2cd96a..ad85f81d2 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,8 +2,8 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.03", - "description": "EAN-8 compatible barcode clock. Format (c: checksum): [HHmm] [MM9c]", + "version":"0.04", + "description": "EAN-8 compatible barcode clock.", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", "supports" : ["BANGLEJS2"], From 6bded83f776c7b0096265d8b5a18d604a7801913 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Tue, 29 Mar 2022 13:22:54 +0200 Subject: [PATCH 005/306] Shows day of month --- apps/barcode/ChangeLog | 1 + apps/barcode/README.md | 2 +- apps/barcode/barcode.app.js | 8 ++++---- apps/barcode/metadata.json | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index 60122a63b..b4137fc3f 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -2,3 +2,4 @@ 0.02: Now tells time! 0.03: Interaction 0.04: Shows day of week +0.05: Shows day of month diff --git a/apps/barcode/README.md b/apps/barcode/README.md index e677bc029..72d4d2abd 100644 --- a/apps/barcode/README.md +++ b/apps/barcode/README.md @@ -10,7 +10,7 @@ The format of the bars are * H: Hours * m: Minutes * Right section: MM9c - * M: Month + * M: Day of month * w: Day of week * c: Calculated EAN-8 digit checksum diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 583c04876..470aac30e 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -1,4 +1,4 @@ -var startOffsetX = 18; +var startOffsetX = 17; var startOffsetHeight = 40; var checkBarWidth = 10; @@ -29,9 +29,10 @@ function renderWatch(l) { var d = new Date(); var h = d.getHours(), m = d.getMinutes(); var time = h + ":" + ("0"+m).substr(-2); - var month = ("0" + (d.getMonth()+1)).slice(-2); + //var month = ("0" + (d.getMonth()+1)).slice(-2); + var dayOfMonth = ('0' + d.getDate()).slice(-2); var dayOfWeek = d.getDay() || 7; - var concatTime = ("0"+h).substr(-2) + ("0"+m).substr(-2) + month + dayOfWeek; + var concatTime = ("0"+h).substr(-2) + ("0"+m).substr(-2) + dayOfMonth + dayOfWeek; const chars = String(concatTime).split("").map((concatTime) => { return Number(concatTime); @@ -58,7 +59,6 @@ function renderWatch(l) { clearTimeout(drawTimeout); } drawTimeout = setTimeout(function() { - drawTimeout = undefined; layout.render(layout.watch); }, 60000 - (Date.now() % 60000)); diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index ad85f81d2..350750e32 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.04", + "version":"0.05", "description": "EAN-8 compatible barcode clock.", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", From a8436b96ea87d2f235a8619135c03b5a1a55c73d Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Sun, 15 May 2022 15:15:00 +0200 Subject: [PATCH 006/306] Step counter and more restrictive time updates. --- apps/barcode/ChangeLog | 1 + apps/barcode/barcode.app.js | 484 +++++++++++++++++++----------------- apps/barcode/metadata.json | 2 +- 3 files changed, 251 insertions(+), 236 deletions(-) diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index b4137fc3f..d97fd8af8 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -3,3 +3,4 @@ 0.03: Interaction 0.04: Shows day of week 0.05: Shows day of month +0.06: Updates every 5 minutes when locked, or when unlock occurs. Also shows nr of steps. \ No newline at end of file diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 470aac30e..9f4d31122 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -1,137 +1,163 @@ +/* Sizes */ +let checkBarWidth = 10; +let checkBarHeight = 140; + +let digitBarWidth = 14; +let digitBarHeight = 100; + +let textBarWidth = 56; +let textBarHeight = 20; + +let textWidth = 14; +let textHeight = 20; + +/* Offsets */ var startOffsetX = 17; -var startOffsetHeight = 40; +var startOffsetY = 30; -var checkBarWidth = 10; -var checkBarHeight = 140; +let startBarOffsetX = startOffsetX; +let startBarOffsetY = startOffsetY; -var digitWidth = 14; -var digitHeight = 120; +let upperTextBarLeftOffsetX = startBarOffsetX + checkBarWidth; +let upperTextBarLeftOffsetY = startOffsetY; -var startDigitOffsetX = startOffsetX + checkBarWidth; +let midBarOffsetX = upperTextBarLeftOffsetX + textBarWidth; +let midBarOffsetY = startOffsetY; -var midCheckBarOffsetX = startOffsetX + checkBarWidth + digitWidth * 4; +let upperTextBarRightOffsetX = midBarOffsetX + checkBarWidth; +let upperTextBarRightOffsetY = startOffsetY; -var midDigitOffsetX = startOffsetX + checkBarWidth + digitWidth * 4 + checkBarWidth; +let endBarOffsetX = upperTextBarRightOffsetX + textBarWidth; +let endBarOffsetY = startOffsetY; -var endCheckBarOffsetX = startOffsetX + checkBarWidth + digitWidth * 4 + checkBarWidth + digitWidth * 4; +let leftBarsStartX = startBarOffsetX + checkBarWidth; +let leftBarsStartY = upperTextBarLeftOffsetY + textBarHeight; + +let rightBarsStartX = midBarOffsetX + checkBarWidth; +let rightBarsStartY = upperTextBarRightOffsetY + textBarHeight; let intCaster = num => Number(num); var drawTimeout; function renderWatch(l) { - g.setFont("4x6",2); + g.setFont("4x6",2); - // work out how to display the current time + // work out how to display the current time - var offsetY = l.y; + var d = new Date(); + var h = d.getHours(), m = d.getMinutes(); + var time = h + ":" + ("0"+m).substr(-2); + //var month = ("0" + (d.getMonth()+1)).slice(-2); + var dayOfMonth = ('0' + d.getDate()).slice(-2); + var dayOfWeek = d.getDay() || 7; + var concatTime = ("0"+h).substr(-2) + ("0"+m).substr(-2) + dayOfMonth + dayOfWeek; - var d = new Date(); - var h = d.getHours(), m = d.getMinutes(); - var time = h + ":" + ("0"+m).substr(-2); - //var month = ("0" + (d.getMonth()+1)).slice(-2); - var dayOfMonth = ('0' + d.getDate()).slice(-2); - var dayOfWeek = d.getDay() || 7; - var concatTime = ("0"+h).substr(-2) + ("0"+m).substr(-2) + dayOfMonth + dayOfWeek; + const chars = String(concatTime).split("").map((concatTime) => { + return Number(concatTime); + }); + const checkSum = calculateChecksum(chars); + concatTime += checkSum; - const chars = String(concatTime).split("").map((concatTime) => { - return Number(concatTime); - }); + drawCheckBar(startBarOffsetX, startBarOffsetY); - drawStart(startOffsetX, offsetY); + drawLDigit(chars[0], 0, leftBarsStartY); + drawLDigit(chars[1], 1, leftBarsStartY); + drawLDigit(chars[2], 2, leftBarsStartY); + drawLDigit(chars[3], 3, leftBarsStartY); - drawLDigit(chars[0], 0, offsetY); - drawLDigit(chars[1], 1, offsetY); - drawLDigit(chars[2], 2, offsetY); - drawLDigit(chars[3], 3, offsetY); + g.drawString(Bangle.getStepCount(), startOffsetX + checkBarWidth + 3, startOffsetY + 4); + g.drawString(concatTime.substring(0,4), startOffsetX + checkBarWidth + 3, startOffsetY + textBarHeight + digitBarHeight + 6); - drawMid(midCheckBarOffsetX, offsetY); + drawCheckBar(midBarOffsetX, midBarOffsetY); - drawRDigit(chars[4], 0, offsetY); - drawRDigit(chars[5], 1, offsetY); - drawRDigit(chars[6], 2, offsetY); - drawRDigit(calculateChecksum(chars), 3, offsetY); + drawRDigit(chars[4], 0, rightBarsStartY); + drawRDigit(chars[5], 1, rightBarsStartY); + drawRDigit(chars[6], 2, rightBarsStartY); + drawRDigit(checkSum, 3, rightBarsStartY); - drawEnd(endCheckBarOffsetX, offsetY); + g.drawString(concatTime.substring(4), midBarOffsetX + checkBarWidth + 3, startOffsetY + textBarHeight + digitBarHeight + 6); - // schedule a draw for the next minute - if (drawTimeout) { - clearTimeout(drawTimeout); - } - drawTimeout = setTimeout(function() { - drawTimeout = undefined; - layout.render(layout.watch); - }, 60000 - (Date.now() % 60000)); + drawCheckBar(endBarOffsetX, endBarOffsetY); + + // schedule a draw for the next minute + if (drawTimeout) { + clearTimeout(drawTimeout); + } + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + layout.render(layout.watch); + }, (1000 * 60 * 5) - (Date.now() % (1000 * 60 * 5))); } function drawLDigit(digit, index, offsetY) { - switch(digit) { - case 0: - drawLZeroWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 1: - drawLOneWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 2: - drawLTwoWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 3: - drawLThreeWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 4: - drawLFourWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 5: - drawLFiveWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 6: - drawLSixWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 7: - drawLSevenWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 8: - drawLEightWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - case 9: - drawLNineWithOffset(startDigitOffsetX+(digitWidth*index), offsetY); - break; - } + switch(digit) { + case 0: + drawLZeroWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 1: + drawLOneWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 2: + drawLTwoWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 3: + drawLThreeWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 4: + drawLFourWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 5: + drawLFiveWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 6: + drawLSixWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 7: + drawLSevenWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 8: + drawLEightWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + case 9: + drawLNineWithOffset(leftBarsStartX+(digitBarWidth*index), offsetY); + break; + } } function drawRDigit(digit, index, offsetY) { - switch(digit) { - case 0: - drawRZeroWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 1: - drawROneWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 2: - drawRTwoWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 3: - drawRThreeWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 4: - drawRFourWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 5: - drawRFiveWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 6: - drawRSixWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 7: - drawRSevenWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 8: - drawREightWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - case 9: - drawRNineWithOffset(midDigitOffsetX+(digitWidth*index), offsetY); - break; - } + switch(digit) { + case 0: + drawRZeroWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 1: + drawROneWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 2: + drawRTwoWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 3: + drawRThreeWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 4: + drawRFourWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 5: + drawRFiveWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 6: + drawRSixWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 7: + drawRSevenWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 8: + drawREightWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + case 9: + drawRNineWithOffset(rightBarsStartX+(digitBarWidth*index), offsetY); + break; + } } /* @@ -150,83 +176,83 @@ LEAN xxxx xx */ function drawLOneWithOffset(offset, offsetY) { - let barOneX = 4; - let barTwoX = 12; - g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("1",offset+3,offsetY+digitHeight+5); + let barOneX = 4; + let barTwoX = 12; + g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("1",offset+3,offsetY+digitHeight+5); } function drawLTwoWithOffset(offset, offsetY) { - let barOneX = 4; - let barTwoX = 10; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); - g.drawString("2",offset+3,offsetY+digitHeight+5); + let barOneX = 4; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitBarHeight); + //g.drawString("2",offset+3,offsetY+digitHeight+5); } function drawLThreeWithOffset(offset, offsetY) { - let barOneX = 2; - let barTwoX = 12; - g.fillRect(barOneX+offset,offsetY+0,barOneX+7+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("3",offset+3,offsetY+digitHeight+5); + let barOneX = 2; + let barTwoX = 12; + g.fillRect(barOneX+offset,offsetY+0,barOneX+7+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("3",offset+3,offsetY+digitHeight+5); } function drawLFourWithOffset(offset, offsetY) { - let barOneX = 2; - let barTwoX = 10; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); - g.drawString("4",offset+3,offsetY+digitHeight+5); + let barOneX = 2; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitBarHeight); + //g.drawString("4",offset+3,offsetY+digitHeight+5); } function drawLFiveWithOffset(offset, offsetY) { - let barOneX = 2; - let barTwoX = 12; - g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("5",offset+3,offsetY+digitHeight+5); + let barOneX = 2; + let barTwoX = 12; + g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("5",offset+3,offsetY+digitHeight+5); } function drawLSixWithOffset(offset, offsetY) { - let barOneX = 2; - let barTwoX = 6; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+7+offset,offsetY+digitHeight); - g.drawString("6",offset+3,offsetY+digitHeight+5); + let barOneX = 2; + let barTwoX = 6; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+7+offset,offsetY+digitBarHeight); + //g.drawString("6",offset+3,offsetY+digitHeight+5); } function drawLSevenWithOffset(offset, offsetY) { - let barOneX = 2; - let barTwoX = 10; - g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); - g.drawString("7",offset+3,offsetY+digitHeight+5); + let barOneX = 2; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitBarHeight); + //g.drawString("7",offset+3,offsetY+digitHeight+5); } function drawLEightWithOffset(offset, offsetY) { - let barOneX = 2; - let barTwoX = 8; - g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitHeight); - g.drawString("8",offset+3,offsetY+digitHeight+5); + let barOneX = 2; + let barTwoX = 8; + g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitBarHeight); + //g.drawString("8",offset+3,offsetY+digitHeight+5); } function drawLNineWithOffset(offset, offsetY) { - let barOneX = 6; - let barTwoX = 10; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitHeight); - g.drawString("9",offset+3,offsetY+digitHeight+5); + let barOneX = 6; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+3+offset,offsetY+digitBarHeight); + //g.drawString("9",offset+3,offsetY+digitHeight+5); } function drawLZeroWithOffset(offset, offsetY) { - let barOneX = 6; - let barTwoX = 12; - g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("0",offset+3,offsetY+digitHeight+5); + let barOneX = 6; + let barTwoX = 12; + g.fillRect(barOneX+offset,offsetY+0,barOneX+3+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("0",offset+3,offsetY+digitHeight+5); } @@ -248,125 +274,109 @@ xxxxxx xx */ function drawROneWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 8; - g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+3,offsetY+digitHeight); - g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+3,offsetY+digitHeight); - g.drawString("1",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 8; + g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+3,offsetY+digitBarHeight); + g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+3,offsetY+digitBarHeight); + //g.drawString("1",offset+2,offsetY+textHeight+5); } function drawRTwoWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 6; - g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+3,offsetY+digitHeight); - g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+3,offsetY+digitHeight); - g.drawString("2",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 6; + g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+3,offsetY+digitBarHeight); + g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+3,offsetY+digitBarHeight); + //g.drawString("2",offset+2,offsetY+textHeight+5); } function drawRThreeWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 10; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("3",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("3",offset+2,offsetY+textHeight+5); } function drawRFourWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 4; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitHeight); - g.drawString("4",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 4; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitBarHeight); + //g.drawString("4",offset+2,offsetY+textHeight+5); } function drawRFiveWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 6; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitHeight); - g.drawString("5",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 6; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+5+offset,offsetY+digitBarHeight); + //g.drawString("5",offset+2,offsetY+textHeight+5); } function drawRSixWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 4; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("6",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 4; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("6",offset+2,offsetY+textHeight+5); } function drawRSevenWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 8; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("7",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 8; + g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("7",offset+2,offsetY+textHeight+5); } function drawREightWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 6; - g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+1,offsetY+digitHeight); - g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+1,offsetY+digitHeight); - g.drawString("8",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 6; + g.fillRect(offset+barOneX,offsetY+0,offset+barOneX+1,offsetY+digitBarHeight); + g.fillRect(offset+barTwoX,offsetY+0,offset+barTwoX+1,offsetY+digitBarHeight); + //g.drawString("8",offset+2,offsetY+textHeight+5); } function drawRNineWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 8; - g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("9",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 8; + g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("9",offset+2,offsetY+textHeight+5); } function drawRZeroWithOffset(offset, offsetY) { - let barOneX = 0; - let barTwoX = 10; - g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitHeight); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight); - g.drawString("0",offset+2,offsetY+digitHeight+5); + let barOneX = 0; + let barTwoX = 10; + g.fillRect(barOneX+offset,offsetY+0,barOneX+5+offset,offsetY+digitBarHeight); + g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitBarHeight); + //g.drawString("0",offset+2,offsetY+textHeight+5); } - - - - -function drawStart(offset, offsetY) { - let barOneX = 2; - let barTwoX = 6; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight+15); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight+15); -} - -function drawMid(offset, offsetY) { - let barOneX = 2; - let barTwoX = 6; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight+15); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight+15); -} - -function drawEnd(offset, offsetY) { - let barOneX = 2; - let barTwoX = 6; - g.fillRect(barOneX+offset,offsetY+0,barOneX+1+offset,offsetY+digitHeight+15); - g.fillRect(barTwoX+offset,offsetY+0,barTwoX+1+offset,offsetY+digitHeight+15); +function drawCheckBar(offsetX, offsetY) { + const barOneX = offsetX+2; + const barOneWidth = 1; + const barTwoX = offsetX+6; + const barTwoWidth = 1; + g.fillRect(barOneX,offsetY,barOneX+barOneWidth,offsetY+checkBarHeight); + g.fillRect(barTwoX,offsetY,barTwoX+barTwoWidth,offsetY+checkBarHeight); } function calculateChecksum(digits) { - let oddSum = digits[6] + digits[4] + digits[2] + digits[0]; - let evenSum = digits[5] + digits[3] + digits[1]; + let oddSum = digits[6] + digits[4] + digits[2] + digits[0]; + let evenSum = digits[5] + digits[3] + digits[1]; - let checkSum = (10 - ((3 * oddSum + evenSum) % 10)) % 10; + let checkSum = (10 - ((3 * oddSum + evenSum) % 10)) % 10; - return checkSum; + return checkSum; } // The layout, referencing the custom renderer var Layout = require("Layout"); var layout = new Layout( { - type:"v", c: [ - {type:"custom", render:renderWatch, id:"watch", bgCol:g.theme.bg, fillx:1, filly:1 } - ] + type:"v", c: [ + {type:"custom", render:renderWatch, id:"watch", bgCol:g.theme.bg, fillx:1, filly:1 } + ] }); // Clear the screen once, at startup @@ -375,3 +385,7 @@ Bangle.loadWidgets(); Bangle.drawWidgets(); Bangle.setUI("clock"); layout.render(); + +Bangle.on('lock', function(locked) { + layout.render(); +}); \ No newline at end of file diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index 350750e32..d0e5fb448 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.05", + "version":"0.06", "description": "EAN-8 compatible barcode clock.", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", From 700a0369a7293667b92033b25f8ce791abb7767c Mon Sep 17 00:00:00 2001 From: Adam Schmalhofer Date: Mon, 16 May 2022 08:56:44 +0200 Subject: [PATCH 007/306] lcars: refractoring to prepare warning msgs --- apps/lcars/ChangeLog | 3 ++- apps/lcars/lcars.app.js | 18 ++++++++++-------- apps/lcars/metadata.json | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/apps/lcars/ChangeLog b/apps/lcars/ChangeLog index e622feb1f..9a8ac4008 100644 --- a/apps/lcars/ChangeLog +++ b/apps/lcars/ChangeLog @@ -19,4 +19,5 @@ 0.19: Alarms can not go bigger than 100. 0.20: Use alarm for alarm functionality instead of own implementation. 0.21: Add custom theming. -0.22: Fix alarm and add build in function for step counting. \ No newline at end of file +0.22: Fix alarm and add build in function for step counting. +0.23: Add warning for low flash memory diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index 07ca51fd9..584dc9caf 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -147,12 +147,14 @@ var iconCharging = { buffer : require("heatshrink").decompress(atob("23btugAwUBtoICARG0h048eODQYCJ6P/AAUCCJfbo4SDxYRLtEcuPHjlwgoRJ7RnIloUHoYjDAQfAExEAwUIkACEkSAIEYwCBhZKH6EIJI0CJRFHEY0BJRWBSgf//0AJRYSE4BKLj4SE8BKLv4RD/hK/JS2AXY0gXwRKG4cMmACCJQMAg8csEFJQsBAwfasEAm379u0gFbcBfHzgFBz1xMQZKBjY/D0E2+BOChu26yVEEYdww+cgAFCg+cgIfB6RKF4HbgEIkGChEAthfCJQ0eEAIjBBAMxk6GCJQtgtyVBwRKBAQMbHAJKGXIIFCgACBhl54qVG2E+EAJKBJoWAm0WJQ6SCXgdxFgMLJQvYjeAEAUwFIUitEtJQ14NwUHgEwKYZKGwOwNYX7XgWCg3CJQ5rB4MevPnAoPDJRJrCgEG/ECAoNsJRUwoEesIIBiJKI3CVDti/CJRKVDiJHBSo0YsOGjED8AjBcAcIgdhcAXAPIUAcAYIBcA4dBAQUG8BrBgBuCgOwcBEeXIK2BBAIFBgRqBGoYAChq8CcYUE4FbUYOACQsHzgjDgwFBCIImBAQsDtwYD7cAloRI22B86YBw5QBgoRJ7dAgYEDCJaeBJoMcsARMAQNoJIIRE6A")) }; -var iconNoBattery = { - text: "NO BAT", - width : 50, height : 50, bpp : 3, - transparent : 1, - buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) -}; +function iconWarning(msg) { + return { + text: msg, + width : 50, height : 50, bpp : 3, + transparent : 1, + buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) + }; +} // Font to use: // @@ -325,12 +327,12 @@ function drawState(){ var hours = current.getHours(); var iconImg = Bangle.isCharging() ? iconCharging : - bat < 30 ? iconNoBattery : + bat < 30 ? iconWarning("NO BAT"): Bangle.isGPSOn() ? iconSatellite : hours % 4 == 0 ? iconSaturn : hours % 4 == 1 ? iconMars : hours % 4 == 2 ? iconMoon : - iconEarth; + { icon: iconEarth, text: "STATUS" }; g.drawImage(iconImg, 23, 118); g.setColor(cWhite); g.drawString("STATUS", 23+26, 108); diff --git a/apps/lcars/metadata.json b/apps/lcars/metadata.json index 40da1b37f..62a1c67db 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.22", + "version":"0.23", "readme": "README.md", "supports": ["BANGLEJS2"], "description": "Library Computer Access Retrieval System (LCARS) clock.", From 9d2a2adf9a50e9558544f505f645af3dca7a6c29 Mon Sep 17 00:00:00 2001 From: Adam Schmalhofer Date: Mon, 16 May 2022 11:46:47 +0200 Subject: [PATCH 008/306] lcars: Warn when storage below 10% --- apps/lcars/lcars.app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index 584dc9caf..a2da8a677 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -323,11 +323,13 @@ function drawState(){ if(!isAlarmEnabled()){ var bat = E.getBattery(); + var flash = storage.getFree() / process.env.STORAGE; var current = new Date(); var hours = current.getHours(); var iconImg = Bangle.isCharging() ? iconCharging : bat < 30 ? iconWarning("NO BAT"): + flash < 0.1 ? iconWarning("DISK"): Bangle.isGPSOn() ? iconSatellite : hours % 4 == 0 ? iconSaturn : hours % 4 == 1 ? iconMars : From cc0ad4d6a35817350fb25ee7d4b7872c13e715ad Mon Sep 17 00:00:00 2001 From: Adam Schmalhofer Date: Mon, 16 May 2022 17:38:27 +0200 Subject: [PATCH 009/306] lcars: BAT/DISK warning label --- apps/lcars/lcars.app.js | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index a2da8a677..e81c0d6f3 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -147,14 +147,11 @@ var iconCharging = { buffer : require("heatshrink").decompress(atob("23btugAwUBtoICARG0h048eODQYCJ6P/AAUCCJfbo4SDxYRLtEcuPHjlwgoRJ7RnIloUHoYjDAQfAExEAwUIkACEkSAIEYwCBhZKH6EIJI0CJRFHEY0BJRWBSgf//0AJRYSE4BKLj4SE8BKLv4RD/hK/JS2AXY0gXwRKG4cMmACCJQMAg8csEFJQsBAwfasEAm379u0gFbcBfHzgFBz1xMQZKBjY/D0E2+BOChu26yVEEYdww+cgAFCg+cgIfB6RKF4HbgEIkGChEAthfCJQ0eEAIjBBAMxk6GCJQtgtyVBwRKBAQMbHAJKGXIIFCgACBhl54qVG2E+EAJKBJoWAm0WJQ6SCXgdxFgMLJQvYjeAEAUwFIUitEtJQ14NwUHgEwKYZKGwOwNYX7XgWCg3CJQ5rB4MevPnAoPDJRJrCgEG/ECAoNsJRUwoEesIIBiJKI3CVDti/CJRKVDiJHBSo0YsOGjED8AjBcAcIgdhcAXAPIUAcAYIBcA4dBAQUG8BrBgBuCgOwcBEeXIK2BBAIFBgRqBGoYAChq8CcYUE4FbUYOACQsHzgjDgwFBCIImBAQsDtwYD7cAloRI22B86YBw5QBgoRJ7dAgYEDCJaeBJoMcsARMAQNoJIIRE6A")) }; -function iconWarning(msg) { - return { - text: msg, - width : 50, height : 50, bpp : 3, - transparent : 1, - buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) - }; -} +var iconWarning = { + width : 50, height : 50, bpp : 3, + transparent : 1, + buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) +}; // Font to use: // @@ -326,18 +323,18 @@ function drawState(){ var flash = storage.getFree() / process.env.STORAGE; var current = new Date(); var hours = current.getHours(); - var iconImg = - Bangle.isCharging() ? iconCharging : - bat < 30 ? iconWarning("NO BAT"): - flash < 0.1 ? iconWarning("DISK"): - Bangle.isGPSOn() ? iconSatellite : - hours % 4 == 0 ? iconSaturn : - hours % 4 == 1 ? iconMars : - hours % 4 == 2 ? iconMoon : + var iconMsg = + Bangle.isCharging() ? { icon: iconCharging, text: "STATUS" } : + bat < 30 ? { icon: iconWarning, text: "BAT" } : + flash < 0.1 ? { icon: iconWarning, text: "DISK" } : + Bangle.isGPSOn() ? { icon: iconSatellite, text: "STATUS" } : + hours % 4 == 0 ? { icon: iconSaturn, text: "STATUS" } : + hours % 4 == 1 ? { icon: iconMars, text: "STATUS" } : + hours % 4 == 2 ? { icon: iconMoon, text: "STATUS" } : { icon: iconEarth, text: "STATUS" }; - g.drawImage(iconImg, 23, 118); + g.drawImage(iconMsg.icon, 23, 118); g.setColor(cWhite); - g.drawString("STATUS", 23+26, 108); + g.drawString(iconMsg.text, 23+26, 108); } else { // Alarm within symbol g.setColor(color2); From 616277fe5de434ef3f9c42f0f182d726b64b88b4 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Wed, 18 May 2022 23:14:37 +0200 Subject: [PATCH 010/306] Step count resets around midnight --- apps/barcode/ChangeLog | 3 ++- apps/barcode/barcode.app.js | 38 +++++++++++++++++++++++++++++++++++-- apps/barcode/metadata.json | 2 +- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index d97fd8af8..ae89926a5 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -3,4 +3,5 @@ 0.03: Interaction 0.04: Shows day of week 0.05: Shows day of month -0.06: Updates every 5 minutes when locked, or when unlock occurs. Also shows nr of steps. \ No newline at end of file +0.06: Updates every 5 minutes when locked, or when unlock occurs. Also shows nr of steps. +0.07: Step count resets at midnight \ No newline at end of file diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 9f4d31122..0f6684733 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -36,6 +36,8 @@ let leftBarsStartY = upperTextBarLeftOffsetY + textBarHeight; let rightBarsStartX = midBarOffsetX + checkBarWidth; let rightBarsStartY = upperTextBarRightOffsetY + textBarHeight; +/* Utilities */ +let stepCount = 0; let intCaster = num => Number(num); var drawTimeout; @@ -66,7 +68,7 @@ function renderWatch(l) { drawLDigit(chars[2], 2, leftBarsStartY); drawLDigit(chars[3], 3, leftBarsStartY); - g.drawString(Bangle.getStepCount(), startOffsetX + checkBarWidth + 3, startOffsetY + 4); + g.drawString(getStepCount(), startOffsetX + checkBarWidth + 3, startOffsetY + 4); g.drawString(concatTime.substring(0,4), startOffsetX + checkBarWidth + 3, startOffsetY + textBarHeight + digitBarHeight + 6); drawCheckBar(midBarOffsetX, midBarOffsetY); @@ -371,6 +373,36 @@ function calculateChecksum(digits) { return checkSum; } +function storeStepCount() { + stepCount = Bangle.getStepCount(); +} + +function getStepCount() { + let accumulatedSteps = Bangle.getStepCount(); + if(accumulatedSteps <= stepCount) { + return 0; + } + return accumulatedSteps - stepCount; +} + +function resetAtMidnight() { + var now = new Date(); + var night = new Date( + now.getFullYear(), + now.getMonth(), + now.getDate() + 1, // the next day, ... + 23, 58, 0 // ...at 00:00:00 hours + ); + var msToMidnight = night.getTime() - now.getTime(); + + setTimeout(function() { + storeStepCount(); // <-- This is the function being called at midnight. + resetAtMidnight(); // Then, reset again next midnight. + }, msToMidnight); +} + +resetAtMidnight(); + // The layout, referencing the custom renderer var Layout = require("Layout"); var layout = new Layout( { @@ -387,5 +419,7 @@ Bangle.setUI("clock"); layout.render(); Bangle.on('lock', function(locked) { - layout.render(); + if(!locked) { + layout.render(); + } }); \ No newline at end of file diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index d0e5fb448..5c23acada 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.06", + "version":"0.07", "description": "EAN-8 compatible barcode clock.", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", From 9a153d937657c7215630957a364dedd8b2e1bfd2 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Fri, 20 May 2022 01:16:28 +0200 Subject: [PATCH 011/306] Reset count more reliable and also shows additional info --- apps/barcode/ChangeLog | 3 ++- apps/barcode/barcode.app.js | 13 ++++++++----- apps/barcode/metadata.json | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index ae89926a5..fd55ead4b 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -4,4 +4,5 @@ 0.04: Shows day of week 0.05: Shows day of month 0.06: Updates every 5 minutes when locked, or when unlock occurs. Also shows nr of steps. -0.07: Step count resets at midnight \ No newline at end of file +0.07: Step count resets at midnight +0.08: Step count stored in memory to survive reloads. Now shows step count daily and since last reboot. diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 0f6684733..d8f478b21 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -37,7 +37,8 @@ let rightBarsStartX = midBarOffsetX + checkBarWidth; let rightBarsStartY = upperTextBarRightOffsetY + textBarHeight; /* Utilities */ -let stepCount = 0; +let stepCount = require("Storage").readJSON("stepCount",1); +if(stepCount === undefined) stepCount = 0; let intCaster = num => Number(num); var drawTimeout; @@ -78,6 +79,7 @@ function renderWatch(l) { drawRDigit(chars[6], 2, rightBarsStartY); drawRDigit(checkSum, 3, rightBarsStartY); + g.drawString(Bangle.getStepCount(), midBarOffsetX + checkBarWidth + 3, startOffsetY + 4); g.drawString(concatTime.substring(4), midBarOffsetX + checkBarWidth + 3, startOffsetY + textBarHeight + digitBarHeight + 6); drawCheckBar(endBarOffsetX, endBarOffsetY); @@ -375,6 +377,7 @@ function calculateChecksum(digits) { function storeStepCount() { stepCount = Bangle.getStepCount(); + require("Storage").writeJSON("stepCount",stepCount); } function getStepCount() { @@ -386,14 +389,14 @@ function getStepCount() { } function resetAtMidnight() { - var now = new Date(); - var night = new Date( + let now = new Date(); + let night = new Date( now.getFullYear(), now.getMonth(), now.getDate() + 1, // the next day, ... 23, 58, 0 // ...at 00:00:00 hours - ); - var msToMidnight = night.getTime() - now.getTime(); +); + let msToMidnight = night.getTime() - now.getTime(); setTimeout(function() { storeStepCount(); // <-- This is the function being called at midnight. diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index 5c23acada..bb8a960fe 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.07", + "version":"0.08", "description": "EAN-8 compatible barcode clock.", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", From 57268095307e723bb11983818ddb387fc35378b4 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 17:53:50 +0200 Subject: [PATCH 012/306] Create app.js --- apps/pongclock/app.js | 309 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 309 insertions(+) create mode 100644 apps/pongclock/app.js diff --git a/apps/pongclock/app.js b/apps/pongclock/app.js new file mode 100644 index 000000000..8efe0eca5 --- /dev/null +++ b/apps/pongclock/app.js @@ -0,0 +1,309 @@ +class Ball { + constructor(collision) { + this.collision = collision; + this.w = 4; + this.h = this.w; + this.y = height / 2 - this.h / 2; + this.x = width / 2 - this.w / 2; + this.oldX = this.x; + this.oldY = this.y; + this.velX = 6; + this.velY = 3.5 + Math.random(); + } + + reset() { + this.y = height / 2 - this.h / 2; + this.x = width / 2 - this.w / 2; + this.velX = 6; + this.velY = 3.5 + Math.random(); + } + + checkCollision(that, isLeft) { + let test = false; + if (isLeft) { + test = this.x <= that.w + this.w && this.y > that.y && this.y < that.y + that.h; + } + else { + test = this.x >= that.x + this.w && this.y > that.y && this.y < that.y + that.h; + } + if (test) { + this.velX = -this.velX; + this.valY = (3.5 + Math.random()) * this.valY / Math.abs(this.valY); + + if (isLeft) { + right.follow = this; + left.follow = null; + } else { + left.follow = this; + right.follow = null; + } + } + } + + move() { + if (this.velX > 0) { + this.checkCollision(right, false); + } else { + this.checkCollision(left, true); + } + + this.x += this.velX; + this.y += this.velY; + + if (this.y <= this.h) { + this.y = this.h; + this.velY = -this.velY; + } + + if (this.y >= height - this.h) { + this.y = height - this.h; + this.velY = -this.velY; + } + + if(this.x >= width) { + left.scored(); + restart(); + } else if(this.x < 0) { + right.scored(); + restart(); + } + + } +} + +class Paddle { + constructor(side) { + this.side = side; + this.w = 4;//15; + this.h = 30;//80; + this.y = height / 2 - this.h/2; + this.follow = null; + this.target = height / 2 - this.h/2; + this.score = 99; + this.hasLost = false; + } + + reset() { + this.follow = null; + this.hasLost = false; + this.target = height / 2 - this.h/2; + this.y = height / 2 - this.h/2; + this.move(); + } + + scored() { + let d = new Date(); + let value = 0; + if (this.side == "left") { + value = d.getHours(); + } else { + value = d.getMinutes(); + } + if (this.score < value) { + this.score++; + } + else { + this.score = value; + } + } + + move() { + + if (this.follow && ! this.hasLost) { + var dy = this.follow.y - this.y - this.h / 2; + this.y += dy / 2; + } + else { + this.y += (this.target - this.y) / 10; + } + if (this.y < 0) { + this.y = 0; + } + if (this.y > height - this.h) { + this.y = height - this.h; + } + } +} + +var updateTimeout = null; +function update() { + var d = new Date(); + var lastStep = Date.now(); + left.move(); + right.move(); + if(d.getHours() != left.score) { + right.follow = null; + right.hasLost = true; + } + if(d.getMinutes() != right.score) { + left.follow = null; + left.hasLost = true; + } + + ball.move(); + redraw(); + var nextStep = 40 - (Date.now() - lastStep); + //console.log(nextStep); + updateTimeout = setTimeout(update, nextStep > 0 ? nextStep : 0); + return lastStep; +} + +function redraw() { + let fontHeight = width / 3.6; + let fontTop = top + height / 11; + let topHeight = top + height; + g.reset(); + + if (settings.isInvers) { + g.setColor(g.theme.bg); + g.setBgColor(g.theme.fg); + } + + g.clearRect(0, top + left.oldY, left.w, top + left.oldY + left.h); + g.clearRect(width - right.w, top + right.oldY, width, top + right.oldY + right.h); + g.clearRect(width / 2 - fontHeight * 1.4, fontTop, width / 2 + fontHeight * 1.4, fontTop + fontHeight); + g.clearRect(ball.oldX - ball.w, top + ball.oldY - ball.h, ball.oldX + ball.w, top + ball.oldY + ball.h); + + g.drawLine(width / 2, top, width / 2, topHeight); + g.fillRect(0, top + left.y, left.w, top + left.y + left.h); + left.oldY = left.y; + g.fillRect(width - right.w, top + right.y, width, top + right.y + right.h); + right.oldY = right.y; + g.fillCircle(ball.x, top + ball.y, ball.w); + ball.oldX = ball.x; + ball.oldY = ball.y; + + g.setFontVector(fontHeight); + /* + g.setFontAlign(0, -1); + g.drawString(("0" + left.score).substr(-2)+ " " + ("0" + right.score).substr(-2), width / 2, fontTop); + */ + /**/ + g.setFontAlign(1, -1); + g.drawString(("0" + left.score).substr(-2), 5 * width / 11, fontTop); + g.setFontAlign(-1, -1); + g.drawString(("0" + right.score).substr(-2), 6 * width / 11, fontTop); + /**/ +} + +function restart() { + g.reset(); + if (settings.isInvers) { + g.setColor(g.theme.bg); + g.setBgColor(g.theme.fg); + } + g.clearRect(0, top, width, top + height); + ball.reset(); + left.reset(); + right.reset(); + right.follow = ball; + left.move(); + right.move(); + if (settings.withWidgets) { + Bangle.drawWidgets(); + } +} + +function stop() { + if (updateTimeout) { + clearTimeout(updateTimeout); + } + updateTimeout = null; + if (pauseTimeout) { + clearTimeout(pauseTimeout); + } + pauseTimeout = null; +} + +var pauseTimeout = null; +function pause() { + stop(); + left.scored(); + right.scored(); + redraw(); + pauseTimeout = setTimeout(pause, Date.now() % 60000); +} + +const SETTINGS_FILE = "pongclock.json"; +var settings = Object.assign({ + // default values + withWidgets: true, + isInvers: false, + playLocked: true, +}, require('Storage').readJSON(SETTINGS_FILE, true) || {}); +require('Storage').writeJSON(SETTINGS_FILE, settings); + +var height = g.getHeight(), + width = g.getWidth(); +var top = 0; + +Bangle.setUI("clock"); + +g.reset(); +g.clearRect(0, top, width, height); + +if (settings.withWidgets) { + Bangle.loadWidgets(); + Bangle.drawWidgets(); + //console.log(WIDGETS); + if (global.WIDGETS) { + let bottom = 0; + for (var i in WIDGETS) { + var w = WIDGETS[i]; + if (w.area) { + if (w.area.indexOf("t") >= 0) { + top = 25; + } + if (w.area.indexOf("b") >= 0) { + bottom = 25; + } + } + } + height -= top + bottom; + } +} + +if (settings.isInvers) { + g.setColor(g.theme.bg); + g.setBgColor(g.theme.fg); +} +g.clearRect(0, top, width, top + height); + +var left = new Paddle("left"); +var right = new Paddle("right"); +var ball = new Ball(true); + +left.x = 20; +right.x = width - 20; + +left.scored(); +right.scored(); + +Bangle.on("lock", (on) => { + //console.log(on); + if (!settings.playLocked) { + if (on) { + pause(); + } else { + stop(); + update(); + } + } +}); + +restart(); +if (!settings.playLocked && Bangle.isLocked()) { + pause(); +} else { + update(); +} + +/* +require("Storage").write("pongclock.info",{ + "id":"pongclock", + "name":"Pong Clock", + "type":"clock", + "src":"pongclock.app.js", + "icon":"pongclock.img" +}); +*/ From 0e45f63f4005e74cc7526f95e2a1718a8e411dfc Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 17:59:55 +0200 Subject: [PATCH 013/306] Add files via upload --- apps/pongclock/pongclock.img | Bin 0 -> 1156 bytes apps/pongclock/pongclock.png | Bin 0 -> 933 bytes apps/pongclock/settings.js | 44 +++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 apps/pongclock/pongclock.img create mode 100644 apps/pongclock/pongclock.png create mode 100644 apps/pongclock/settings.js diff --git a/apps/pongclock/pongclock.img b/apps/pongclock/pongclock.img new file mode 100644 index 0000000000000000000000000000000000000000..e0045eff79314697cb8fe35138277dd0de433bc6 GIT binary patch literal 1156 zcmcJNQEtN^5JVR{|3>NoAie;oIRKaIft~mO+nI&fSg!w4BrD5fn4JJQ|J-CBy6kmd zeS~|FIW||+9AD~P(P(waoWEEPs(#X13znU#iH22uc#bQ5oO1`BaYG;BSLy%hW>&UNWPw3kNy2f@>t7EWdFER5bVG z&5e2n(S^Y8Rl8P2eYsG z1ffabKcYrr^Z%Q}gM*T7bd#<;i2j>z?}wod&9;Px#1ZP1_K>z@;j|==^1poj6O;Ai!MF0Q*|Ns9C3=AC|9V;s*Vk25RodFx=H}*fbaZ!jcLoLqtE=<#^L>4N zetv%5-rgoACR9{Z)YQ~=c6JyT7;bKEFE1~>y}j}A@qvMXgoK3a>+1sp1FfyC2L}fe z6BA};WVGd00H4iL_t(YOWl-bR}(=LK;K1@SSXg*3y3{puc#=X z7%O7$9cu#r|D*HXya}vHVD}t7$K(BwS9b60yxBdG&H$d}3v5jo2_D;yQ7oENzO z7n3l?CA)Z8SGq#g3de?4#<`k~^%_jXrc$Hknb8s^_3=@d@*Nr1;fAM15=LM;2{*%` z*12VUxy_xsF^eQ&fO}R2;l3Vf5@uSaOzf|8Uk@V7hb`rRZ1_6RbSVcd}A*sJs=~zg?CmdL5RE; z8Rmm`Gr}x<{1k{=`aGx9`7$S8VLV>Q3g2wOCErrOX80ca*7IP(kJxS(e#U-A$g back(), + 'Widgets?': { + value: !!settings.withWidgets, // !! converts undefined to false + format: v => v?"Show":"Hide", + onchange: v => { + settings.withWidgets = v; + writeSettings(); + } + }, + 'Inverted?': { + value: !!settings.isInvers, // !! converts undefined to false + format: v => v?"Yes":"No", + onchange: v => { + settings.withWidgets = v; + writeSettings(); + } + }, + 'On Lock?': { + value: !!settings.isInvers, // !! converts undefined to false + format: v => v?"Play":"Pause", + onchange: v => { + settings.withWidgets = v; + writeSettings(); + } + } + }); +})/*(load)/**/ \ No newline at end of file From a21898b7164306af1e152df4101e69ead1fc7eb1 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 18:02:50 +0200 Subject: [PATCH 014/306] Create ChangeLog --- apps/pongclock/ChangeLog | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/pongclock/ChangeLog diff --git a/apps/pongclock/ChangeLog b/apps/pongclock/ChangeLog new file mode 100644 index 000000000..e8c8518ae --- /dev/null +++ b/apps/pongclock/ChangeLog @@ -0,0 +1 @@ +0.1: First release From 36eea36a53431aaeb7db7442344148bfc23e17be Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 18:06:17 +0200 Subject: [PATCH 015/306] Create metadata.json --- apps/pongclock/metadata.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 apps/pongclock/metadata.json diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json new file mode 100644 index 000000000..13f8ff4f1 --- /dev/null +++ b/apps/pongclock/metadata.json @@ -0,0 +1,12 @@ +{ "id": "pongclock", + "name": "Pong Clock", + "shortName":"Pong Clock", + "icon": "pongclock.png", + "version":"0.1", + "description": "A clock playing Pong", + "tags": "", + "storage": [ + {"name":"pongclock.app.js","url":"app.js"}, + {"name":"pongclock.img","url":"pongclock-img.js","evaluate":true} + ] +} From 425c00cee195c712772b5c4e1d935ffd8d97567d Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 18:10:16 +0200 Subject: [PATCH 016/306] Create pongclock-icon.js --- apps/pongclock/pongclock-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/pongclock/pongclock-icon.js diff --git a/apps/pongclock/pongclock-icon.js b/apps/pongclock/pongclock-icon.js new file mode 100644 index 000000000..00002a018 --- /dev/null +++ b/apps/pongclock/pongclock-icon.js @@ -0,0 +1 @@ +atob("MDCEBP//////////////AA//////////////////////////////AA//////////////////////////////AA//////////////////////////////AA//////////////////////////P///Ii//////////P////////zEAP/MQAC///////xAf//8xAAL/////8gAAP/AAAAL//////wAv//MAAAAv////8gEAPzAD8QD/Ii//8wA///IAPxAf////8S8APyAf8wD/AA//8gD///EB/yAP//////8APxAP8wD/AA//8AH///AB/yAf//////8AP///8gD/AA//MAP//////xAf//////8AP///8QH/AA//IA///////wAv//////8AP///MAP/AA//EB8AL///8gD///////8AP///EB//AA//AC8AL///8AL///////8AP//yAD//AA/zAD8AL///IA////////8AP//wAf//AA/xAP8AL//zAC////////8AP/8gA///Ii/wAf8AL//xAP///wAP//8AP/MAH/////8wABEAEf8wAv///wAP//8AP/EA//////8wAAAAAf8QD////wAP//8APzAB////Ii/yIiIAEvIAL////wAP//8APyAAAAD/AA////8AL/EAAAAP/wAP//8APyAAAAD/AA////8AL/EAAAAP/wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////Ii///////////////wAP///////////////////////////wAAAP///////////////////////////wAP//////////////Ii/////////////wAP//////8yP/////AA/////////////wAP//////EAAf////AA/////////////wAP/////zAAAD////AA/////////////wAP/////yAAAC////AA/////////////wAP/////zAAAD////AA/////////////wAP//////EAAf////AA/////////////wAP//////8yP/////AA/////////////wAP//////////////AA/////////////wAP//////////////Ii/////////////wAP/////////////////////////////wAP//////////////////////////////////////////////Ii//////////////////////////////AA//////////////////////////////AA//////////////////////////////AA//////////////////////////////AA///////////////w==") From 6db2bbcdb37f0eba036c92318c1b5948f4e43d18 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 18:10:54 +0200 Subject: [PATCH 017/306] Update metadata.json --- apps/pongclock/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json index 13f8ff4f1..a9e0240e6 100644 --- a/apps/pongclock/metadata.json +++ b/apps/pongclock/metadata.json @@ -7,6 +7,6 @@ "tags": "", "storage": [ {"name":"pongclock.app.js","url":"app.js"}, - {"name":"pongclock.img","url":"pongclock-img.js","evaluate":true} + {"name":"pongclock.img","url":"pongclock-icon.js","evaluate":true} ] } From 2b4ca3a2f7cc9e5577cc331afb6871cf0a204fdb Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 18:24:13 +0200 Subject: [PATCH 018/306] Create README.md --- apps/pongclock/README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 apps/pongclock/README.md diff --git a/apps/pongclock/README.md b/apps/pongclock/README.md new file mode 100644 index 000000000..47883c56f --- /dev/null +++ b/apps/pongclock/README.md @@ -0,0 +1,2 @@ +**Pong Clock** +A clock that plays pong while the counter displays the time. From e7b4ecb3ccb7c7a2e96a4721e14f396b6fa2688f Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 18:29:35 +0200 Subject: [PATCH 019/306] Update metadata.json --- apps/pongclock/metadata.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json index a9e0240e6..3f35fddb0 100644 --- a/apps/pongclock/metadata.json +++ b/apps/pongclock/metadata.json @@ -5,8 +5,13 @@ "version":"0.1", "description": "A clock playing Pong", "tags": "", + "readme":"README.md", "storage": [ {"name":"pongclock.app.js","url":"app.js"}, - {"name":"pongclock.img","url":"pongclock-icon.js","evaluate":true} + {"name":"pongclock.img","url":"pongclock-icon.js","evaluate":true}, + {"name":"pongclock.settings.js","url":"settings.js"} + ], + "data": [ + {"name":"pongclock.json"} ] } From fc0f758073240a97c8ffd9f244f13d23f1036a81 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 18:31:26 +0200 Subject: [PATCH 020/306] Update metadata.json --- apps/pongclock/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json index 3f35fddb0..7ffb3e6dc 100644 --- a/apps/pongclock/metadata.json +++ b/apps/pongclock/metadata.json @@ -5,6 +5,7 @@ "version":"0.1", "description": "A clock playing Pong", "tags": "", + "supports": ["BANGLEJS2", "BANGLEJS2"], "readme":"README.md", "storage": [ {"name":"pongclock.app.js","url":"app.js"}, From 63f22684a1df68753d4725a585f6c70ae6bc052f Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 18:32:42 +0200 Subject: [PATCH 021/306] Update metadata.json --- apps/pongclock/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json index 7ffb3e6dc..9ce9fe291 100644 --- a/apps/pongclock/metadata.json +++ b/apps/pongclock/metadata.json @@ -5,7 +5,7 @@ "version":"0.1", "description": "A clock playing Pong", "tags": "", - "supports": ["BANGLEJS2", "BANGLEJS2"], + "supports": ["BANGLEJS", "BANGLEJS2"], "readme":"README.md", "storage": [ {"name":"pongclock.app.js","url":"app.js"}, From 9014dc0f4f63c6814bd22b9200f10188b27b7080 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 19:18:58 +0200 Subject: [PATCH 022/306] Update README.md --- apps/pongclock/README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/pongclock/README.md b/apps/pongclock/README.md index 47883c56f..cc152d7b9 100644 --- a/apps/pongclock/README.md +++ b/apps/pongclock/README.md @@ -1,2 +1,13 @@ -**Pong Clock** -A clock that plays pong while the counter displays the time. +# Pong Clock + +A clock which is playing Pong while showing the current time as score +* Settings + * Show or hide widgets (auto detecting the used widgets areas) + * Use inverted or standard theme colors for the play area + * Optionally pause while locked (saving battery) +* Loosely based on [https://codepen.io/Rabrennie/pen/WxNEoe](https://codepen.io/Rabrennie/pen/WxNEoe) + +![](screenshot.png) + +## Creator +[@pidajo](https://github.com/pidajo) From 44d7e883a40dbb406eebf4210b9f571d694f58dc Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 19:19:20 +0200 Subject: [PATCH 023/306] Add files via upload --- apps/pongclock/pongclock.png | Bin 933 -> 934 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/pongclock/pongclock.png b/apps/pongclock/pongclock.png index 9aa0177b2e90c16bc9310fb05658e801b0202b1a..78934d7c606d485816e991c4286263ff67ca19a8 100644 GIT binary patch delta 562 zcmV-20?qxU2c`#*Ne_U4fdBvh3=9k%9UUtxE3sHR0e^1SbA|u_010qNS#tmY4#NNd z4#NS*Z>VGd00H7jL_t(YOWl-LTN6PPKyMC`SOT`#3y3{puc#=f7%O7$9cu#r|IxX3 z?kowcVe{appXVXB%%0u3v-?HzDN*vQApeBW*JoixzlBmM3gt@0qR7fsoIJ%43A8!T?D!KTfY8e0fdW$QNB4m-RXfSnq4={oGTo-)L+3VUEg_OdVA(tbFg z@gRo|SLz(m+!#F??o|!_Vl@e*!n3>i=5%C6^;ru&WW6d3rQH`qAgz1J6)z` zg=0f2<6KF{dKD&OQ>jz;%*cdEeS8$I`Hqb1aDT&7BMBogm4ut&P#fH`zTD={-Izs^ zFvz{|Yr=g!)Fe!2rsKi`mVGd00H4iL_t(YOWl-bR}(=LK;K1@SSXg*3y3{puc#=X7%O7$9cu#r|D*HX zya}vHVD}t7$K(BwS9b60yxBdG&H$d}T!z%2B5!uK7)|L*y zL5+tve56w2sOHA#v9MNO=pPq30VmVYr+oI)oDn(8IV&6$s+rxSj`bQ$#HLcC=9$qFCiU@AnDQMN*MH%Lr$!P+U^)pm!=cu>WqrBLox3rM zBw>JiRt4d{9%>S1TBhT|1DLfc2orj!>AoQz&RCL&!lTDLiB%Au>W>T4@J!<(QFsph zTG@+xp@-^1jh7k%aXc4Z!KhVAFN{@R*O`1{FDE@9BfN!oRw+S3^vM%dFLo-dtGdOqVVFCN!G!o^@L)+g=Feg6DaJMyQ|>i#$Tpgk~)A2=gZR6nTWg zGZa6ir4$zOy||SrEOcj?&$}~!f3tr~5El6bBUvs7bl1r300000NkvXXu0mjf_yYvZ From 6e0cc5cd9f90b4a8a67a1f66f3f106fc7f46b96e Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 19:40:28 +0200 Subject: [PATCH 024/306] Update settings.js --- apps/pongclock/settings.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/pongclock/settings.js b/apps/pongclock/settings.js index 2c9b9d6a0..0d61d013d 100644 --- a/apps/pongclock/settings.js +++ b/apps/pongclock/settings.js @@ -28,17 +28,17 @@ value: !!settings.isInvers, // !! converts undefined to false format: v => v?"Yes":"No", onchange: v => { - settings.withWidgets = v; + settings.isInvers = v; writeSettings(); } }, 'On Lock?': { - value: !!settings.isInvers, // !! converts undefined to false + value: !!settings.playLocked, // !! converts undefined to false format: v => v?"Play":"Pause", onchange: v => { - settings.withWidgets = v; + settings.playLocked = v; writeSettings(); } } }); -})/*(load)/**/ \ No newline at end of file +})/*(load)/**/ From 787a6ae87e3a6d17fcd3e9dd29d46a62e523afcb Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 19:41:08 +0200 Subject: [PATCH 025/306] Add files via upload --- apps/pongclock/screenshot.png | Bin 0 -> 755 bytes apps/pongclock/screenshot_invers_full.png | Bin 0 -> 480 bytes apps/pongclock/screenshot_settings.png | Bin 0 -> 1154 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/pongclock/screenshot.png create mode 100644 apps/pongclock/screenshot_invers_full.png create mode 100644 apps/pongclock/screenshot_settings.png diff --git a/apps/pongclock/screenshot.png b/apps/pongclock/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..0750105f0bf3e25ac22eec3334235702c2cecd94 GIT binary patch literal 755 zcmVPx#1ZP1_K>z@;j|==^1poj54^T{0MF0Q*|Ns90|Nj9000030(Qvkb00009a7bBm z000id000id0mpBsWB>pHZAnByRA}Dq+igz9APfNDb|-)vyx{~UUcevT|4hCc8-r5D z$BJ>WjnRPkNLcxpoA9r~X5s6X*DToiuXt3OUbs-P>|Lh6@IDOgF8sO22Z2eKK?HUI zHoFWc0xz#H6kdK`L=hO=dGS^mn2XU3Z_MIcD83U7CC1nr?iGsf@=zYvVT;z-2}7}} zrn}1p*u^t%RR!SnQq4zN|^JZ;L z|2d4p3M;JeLt(N(kyEpQblc!tae*mJ&*MDYaB9c&43M4lSvYIOM0&W$@1{7o<(`W) z$i|X|^Hy2lEO`AUo-q2h@%7wc+8fBOdIp;mHb?a(Oj|Lqfe1bXJShfdS}`ziFf_qe zv5%EJY-Yj0!^{{*$wi7Sa5*dDw5?}x2E&=5z`^NCQIoM_<{8L~O>lJ)g1p!SSC>tB z7|z9k6r14UP{he%8`cU67cXA;wa~U!Ffiol2I;qLK0j-4VS?O;EkC8@U{KgzZ%yOr zR>%rcjr|j(u>F(j#_hkbzCZ*wFUZND{tnD9LbSSgC@jPLvYAyEI(!8K{RzWX^X?@~ zH+I8Uvo7@fRjljgMqz~&R#;($6;}Aq!#$y}!U`*_u)+${XncsFu)+!}tgyl&aKo+P z5L|ouGYoUjCKP@MJS{7x<#9_q68=u(3#4KitPw|eUMuY;&&1{8c=eHgR(lJ6f2^

8)3B4w}@M>Aza1>z}stz6JVSKZ~tR51K!ej0*w1xDAF(i_mmfd_A5L06)cZkHOI4NO=GN002ovPDHLkV1it>S||Vj literal 0 HcmV?d00001 diff --git a/apps/pongclock/screenshot_invers_full.png b/apps/pongclock/screenshot_invers_full.png new file mode 100644 index 0000000000000000000000000000000000000000..434e248722a5b200c2490be1a55e3e3bdab3d748 GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^8$g(a8A!&?{Fw`+7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1M1^9%x{{R0U$P7JnxeiEi7I;J!GcfQS24TkI`72U@MkIT>IEG~0dwVmm zs6~ON;bB4ZlYi6SmRM;_*uf<|x9s=xvpGN9L32pzn1IG6pg7XNAA4fj}2i`W$Q zK7Y^|Xvmt+TrPjyh*O+@`p%i=2Yl7z4~B~=vS0T*RWr;<$dJ=IQY*zucn-V4GjKq{CE@1_rbVe?a8+7`7$>@eB=M4-{9J? w{6TAAA#a?-aq)*z5RKW4JTUO*;)WCAD@sBxT=}?y7Z?W&p00i_>zopr03ff+=l}o! literal 0 HcmV?d00001 diff --git a/apps/pongclock/screenshot_settings.png b/apps/pongclock/screenshot_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..0b27286ea2122211673304570156c799cf9623a8 GIT binary patch literal 1154 zcmV-|1bzF7P)Px#1ZP1_K>z@;j|==^1poj56;Mo6MF0Q*{{R60|Nj90{{a60sQ>@~0RK~Nwu=A& z010qNS#tmY4#NNd4#NS*Z>VGd00Z_(L_t(&-tC%8lH4E+hG}zw_9A;1CvcT6kVOuX zRqlU;F-QpUvhjnSOcj5nCpI=;%aX8B8|CzRs~&pIo8Fzc^98cWgzb98|7X&3V2}o1 zFxgZZG@3lmS52;h72E~?A^lFk)@0`iq`w~lg8;v;Wn3AoS9Hb8`QTFYDy{$w-ir-> z0PGS@gO44y&hxKlzzWu`;BKyXGoxX9nXx!>6@_r^S+{ z#eD~EO0Z})?FQrZw}Hv#V;=js9eix?MR2o+pSQRTY|i`m3b-jNVjpvsQm!saWbnB> zPQZR#;UF{=sW2ihjJ%R=b^aEx=|d$K4-E|s{Y2TR@;0r-88gpslfA8gTeFT^QK#3N zU{G{IbZ{%bZi4Mb%CH@v0j#co8(d+F;LVYnC&BqnZoygyyDseR=$zmRP~J-T8B zl`Mwf?lKsUu?*0i@p2cA_Vp( zx&6R2%~b42u%5?O?F+dwnCiFUY!ejMcHWUR^9FAcS2>w=G&wHSd8K-Zz8a!JPE}^f z)w0@8pT+l5T4msZJ5PdD5nM_vE+^_>=U}Yx1eo{tz%Fi;;CV1dO|mL(kQVb!0j#MQ z{XBTj$9v$=KY-wRA zQsL2$;76k0;&;JuZ4}J|>x!qSMQ}3T+pQWu1!lJ)SVwQ^pa|CCt%9rwQ*d0!`Qpx3 zaVqmMU5TuHAS=G5O%Qte1KcFRWPm8L@`?8zSoyax(w2~Jx4@afekat|m%wOS0W89b zFKi(hH%%5t5|vaiGp|hBeEc-nXGOskhhU$s0-Wb@&BviEguD=pUV}q;ksd}~Ju4K) zZ5?l^KB|AQ{{H{qAt_qsIGtTaiBBeRo5XEyp#_waG3HUQ1zNILy5Gq4%K_pK-*G0p zme#IfU(~Z;wAOieI-FE|8`Ihq&K_?8XW1w7pVtJEC=JmK2v z=fN(G&j%0W^ir>B3mM!2jNB`(I1r7B=fTD=oj*D98o+q>IeioQcJTBtw~v(i0yqOa Uz*OMF<^TWy07*qoM6N<$g8VEe9RL6T literal 0 HcmV?d00001 From 0443a56a9d7dfb5fc539aa69735141b3a05e0c18 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 19:42:42 +0200 Subject: [PATCH 026/306] Update metadata.json --- apps/pongclock/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json index 9ce9fe291..31df2e747 100644 --- a/apps/pongclock/metadata.json +++ b/apps/pongclock/metadata.json @@ -7,6 +7,7 @@ "tags": "", "supports": ["BANGLEJS", "BANGLEJS2"], "readme":"README.md", + "screenshots" : [ { "url":"screenshot.png" }, { "url":"screenshot_settings.png" }, { "url":"screenshot_invers_full.png" } ], "storage": [ {"name":"pongclock.app.js","url":"app.js"}, {"name":"pongclock.img","url":"pongclock-icon.js","evaluate":true}, From d2a6789a1f07f21a329980b32251e4edde1107f0 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 19:44:25 +0200 Subject: [PATCH 027/306] Update README.md --- apps/pongclock/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/pongclock/README.md b/apps/pongclock/README.md index cc152d7b9..894070b73 100644 --- a/apps/pongclock/README.md +++ b/apps/pongclock/README.md @@ -8,6 +8,8 @@ A clock which is playing Pong while showing the current time as score * Loosely based on [https://codepen.io/Rabrennie/pen/WxNEoe](https://codepen.io/Rabrennie/pen/WxNEoe) ![](screenshot.png) +![](screenshot_settings.png) +![](screenshot_invers_full.png) ## Creator [@pidajo](https://github.com/pidajo) From 44bb646946cbe344a259de95c0d425d19bd0c76d Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 19:56:55 +0200 Subject: [PATCH 028/306] Update app.js --- apps/pongclock/app.js | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/apps/pongclock/app.js b/apps/pongclock/app.js index 8efe0eca5..e6f8355ea 100644 --- a/apps/pongclock/app.js +++ b/apps/pongclock/app.js @@ -28,7 +28,7 @@ class Ball { } if (test) { this.velX = -this.velX; - this.valY = (3.5 + Math.random()) * this.valY / Math.abs(this.valY); + this.valY = (3.5 + 2 * Math.random()) * this.valY / Math.abs(this.valY); if (isLeft) { right.follow = this; @@ -161,9 +161,17 @@ function redraw() { g.clearRect(0, top + left.oldY, left.w, top + left.oldY + left.h); g.clearRect(width - right.w, top + right.oldY, width, top + right.oldY + right.h); - g.clearRect(width / 2 - fontHeight * 1.4, fontTop, width / 2 + fontHeight * 1.4, fontTop + fontHeight); + //g.clearRect(width / 2 - fontHeight * 1.4, fontTop, width / 2 + fontHeight * 1.4, fontTop + fontHeight); g.clearRect(ball.oldX - ball.w, top + ball.oldY - ball.h, ball.oldX + ball.w, top + ball.oldY + ball.h); + g.setFontVector(fontHeight); + /**/ + g.setFontAlign(1, -1); + g.drawString(("0" + left.score).substr(-2), 5 * width / 11, fontTop, true); + g.setFontAlign(-1, -1); + g.drawString(("0" + right.score).substr(-2), 6 * width / 11, fontTop, true); + /**/ + g.drawLine(width / 2, top, width / 2, topHeight); g.fillRect(0, top + left.y, left.w, top + left.y + left.h); left.oldY = left.y; @@ -172,18 +180,6 @@ function redraw() { g.fillCircle(ball.x, top + ball.y, ball.w); ball.oldX = ball.x; ball.oldY = ball.y; - - g.setFontVector(fontHeight); - /* - g.setFontAlign(0, -1); - g.drawString(("0" + left.score).substr(-2)+ " " + ("0" + right.score).substr(-2), width / 2, fontTop); - */ - /**/ - g.setFontAlign(1, -1); - g.drawString(("0" + left.score).substr(-2), 5 * width / 11, fontTop); - g.setFontAlign(-1, -1); - g.drawString(("0" + right.score).substr(-2), 6 * width / 11, fontTop); - /**/ } function restart() { @@ -224,6 +220,7 @@ function pause() { pauseTimeout = setTimeout(pause, Date.now() % 60000); } +//load settings const SETTINGS_FILE = "pongclock.json"; var settings = Object.assign({ // default values @@ -233,12 +230,14 @@ var settings = Object.assign({ }, require('Storage').readJSON(SETTINGS_FILE, true) || {}); require('Storage').writeJSON(SETTINGS_FILE, settings); +//make clock +Bangle.setUI("clock"); + +//setup play area var height = g.getHeight(), width = g.getWidth(); var top = 0; -Bangle.setUI("clock"); - g.reset(); g.clearRect(0, top, width, height); @@ -252,10 +251,10 @@ if (settings.withWidgets) { var w = WIDGETS[i]; if (w.area) { if (w.area.indexOf("t") >= 0) { - top = 25; + top = Bangle.appRect.y; } if (w.area.indexOf("b") >= 0) { - bottom = 25; + bottom = height - Bangle.appRect.y2; } } } @@ -269,6 +268,7 @@ if (settings.isInvers) { } g.clearRect(0, top, width, top + height); +//setup game var left = new Paddle("left"); var right = new Paddle("right"); var ball = new Ball(true); @@ -291,6 +291,7 @@ Bangle.on("lock", (on) => { } }); +//start clock restart(); if (!settings.playLocked && Bangle.isLocked()) { pause(); @@ -299,6 +300,7 @@ if (!settings.playLocked && Bangle.isLocked()) { } /* +//local testing require("Storage").write("pongclock.info",{ "id":"pongclock", "name":"Pong Clock", From eec644be42fc87b91504b3e11bd844e47863c18b Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 19:58:15 +0200 Subject: [PATCH 029/306] Update metadata.json --- apps/pongclock/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json index 31df2e747..78565e794 100644 --- a/apps/pongclock/metadata.json +++ b/apps/pongclock/metadata.json @@ -5,6 +5,7 @@ "version":"0.1", "description": "A clock playing Pong", "tags": "", + "allow_emulator":true, "supports": ["BANGLEJS", "BANGLEJS2"], "readme":"README.md", "screenshots" : [ { "url":"screenshot.png" }, { "url":"screenshot_settings.png" }, { "url":"screenshot_invers_full.png" } ], From 1f59957735f7da4a9c3e557ca4315194e827c62e Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 20:03:56 +0200 Subject: [PATCH 030/306] Update pongclock-icon.js --- apps/pongclock/pongclock-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pongclock/pongclock-icon.js b/apps/pongclock/pongclock-icon.js index 00002a018..22e472af4 100644 --- a/apps/pongclock/pongclock-icon.js +++ b/apps/pongclock/pongclock-icon.js @@ -1 +1 @@ -atob("MDCEBP//////////////AA//////////////////////////////AA//////////////////////////////AA//////////////////////////////AA//////////////////////////P///Ii//////////P////////zEAP/MQAC///////xAf//8xAAL/////8gAAP/AAAAL//////wAv//MAAAAv////8gEAPzAD8QD/Ii//8wA///IAPxAf////8S8APyAf8wD/AA//8gD///EB/yAP//////8APxAP8wD/AA//8AH///AB/yAf//////8AP///8gD/AA//MAP//////xAf//////8AP///8QH/AA//IA///////wAv//////8AP///MAP/AA//EB8AL///8gD///////8AP///EB//AA//AC8AL///8AL///////8AP//yAD//AA/zAD8AL///IA////////8AP//wAf//AA/xAP8AL//zAC////////8AP/8gA///Ii/wAf8AL//xAP///wAP//8AP/MAH/////8wABEAEf8wAv///wAP//8AP/EA//////8wAAAAAf8QD////wAP//8APzAB////Ii/yIiIAEvIAL////wAP//8APyAAAAD/AA////8AL/EAAAAP/wAP//8APyAAAAD/AA////8AL/EAAAAP/wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////AA///////////////wAP////////////Ii///////////////wAP///////////////////////////wAAAP///////////////////////////wAP//////////////Ii/////////////wAP//////8yP/////AA/////////////wAP//////EAAf////AA/////////////wAP/////zAAAD////AA/////////////wAP/////yAAAC////AA/////////////wAP/////zAAAD////AA/////////////wAP//////EAAf////AA/////////////wAP//////8yP/////AA/////////////wAP//////////////AA/////////////wAP//////////////Ii/////////////wAP/////////////////////////////wAP//////////////////////////////////////////////Ii//////////////////////////////AA//////////////////////////////AA//////////////////////////////AA//////////////////////////////AA///////////////w==") +atob("MDCEBAAAAAAAAAAAAAAALyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAIiAAAAAAAAAAEAAAAAAAABP/EAE//yAAAAAAAD8wAAAT//IAAAAAAv//EA////IAAAAAAP8gAAH///8gAAAAAvP/EB/xA/MAIiAAAf8QAAL/ED8wAAAAAxD/EC8wAf8ALyAAAv8AAAPyAC/wAAAAAAD/ED/wAf8ALyAAD/MAAA/zAC8wAAAAAAD/EAAAAv8ALyAAH/EAAAAAAD8wAAAAAAD/EAAAA/IALyAAL/AAAAAAAP8gAAAAAAD/EAAAH/EALyAAPzD/IAAAAv8AAAAAAAD/EAAAPzAALyAA/yD/IAAAD/IAAAAAAAD/EAAB/xAALyAB/xD/IAAAL/AAAAAAAAD/EAAP8wAALyAC/wD/IAAB/yAAAAAAAAD/EAAv8QAAIiAP8wD/IAAD/wAAAAAAAAD/EAD/MAAAAAAf/zP/MwAf8gAAAA//AAD/EAL/AAAAAAAf////8wA/8AAAAA//AAD/EB/zAAAAIiACIiL/MgL/IAAAAA//AAD/EC////8ALyAAAAD/IAP////wAA//AAD/EC////8ALyAAAAD/IAP////wAA//AAAAAAAAAAAALyAAAAAAAAAAAAAAAA//AAAAAAAAAAAALyAAAAAAAAAAAAAAAA//AAAAAAAAAAAALyAAAAAAAAAAAAAAAA//AAAAAAAAAAAALyAAAAAAAAAAAAAAAA//AAAAAAAAAAAALyAAAAAAAAAAAAAAAA//AAAAAAAAAAAALyAAAAAAAAAAAAAAAA//AAAAAAAAAAAAIiAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAD/8A//AAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAIiAAAAAAAAAAAAD/8AAAAAAAASEAAAAALyAAAAAAAAAAAAD/8AAAAAAAP/8wAAAALyAAAAAAAAAAAAD/8AAAAAAB///xAAAALyAAAAAAAAAAAAD/8AAAAAAC///yAAAALyAAAAAAAAAAAAD/8AAAAAAB///xAAAALyAAAAAAAAAAAAD/8AAAAAAAP/8wAAAALyAAAAAAAAAAAAD/8AAAAAAAASEAAAAALyAAAAAAAAAAAAD/8AAAAAAAAAAAAAAALyAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAIiAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyAAAAAAAAAAAAAAAA==") From 11c7fd7e341b8036822c4ebab7eff8e16979edce Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 20:15:01 +0200 Subject: [PATCH 031/306] Update metadata.json --- apps/pongclock/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json index 78565e794..f4c23c7c1 100644 --- a/apps/pongclock/metadata.json +++ b/apps/pongclock/metadata.json @@ -3,7 +3,7 @@ "shortName":"Pong Clock", "icon": "pongclock.png", "version":"0.1", - "description": "A clock playing Pong", + "description": "A Pong playing clock", "tags": "", "allow_emulator":true, "supports": ["BANGLEJS", "BANGLEJS2"], From fd3838dff6731ac00f79db72764ac45654702d82 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 23:53:15 +0200 Subject: [PATCH 032/306] Update app.js --- apps/pongclock/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pongclock/app.js b/apps/pongclock/app.js index e6f8355ea..932c1f3d7 100644 --- a/apps/pongclock/app.js +++ b/apps/pongclock/app.js @@ -28,7 +28,7 @@ class Ball { } if (test) { this.velX = -this.velX; - this.valY = (3.5 + 2 * Math.random()) * this.valY / Math.abs(this.valY); + this.velY = (3.5 + 2 * Math.random()) * this.velY / Math.abs(this.velY); if (isLeft) { right.follow = this; From 5b85363de8d6383120ba98f71adf2c9162e426fc Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 23:53:54 +0200 Subject: [PATCH 033/306] Update metadata.json --- apps/pongclock/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pongclock/metadata.json b/apps/pongclock/metadata.json index f4c23c7c1..dbd044517 100644 --- a/apps/pongclock/metadata.json +++ b/apps/pongclock/metadata.json @@ -2,7 +2,7 @@ "name": "Pong Clock", "shortName":"Pong Clock", "icon": "pongclock.png", - "version":"0.1", + "version":"0.01", "description": "A Pong playing clock", "tags": "", "allow_emulator":true, From 133abbee90c1d8d7336ea872f4c327e31494728d Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 20 May 2022 23:54:15 +0200 Subject: [PATCH 034/306] Update ChangeLog --- apps/pongclock/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/pongclock/ChangeLog b/apps/pongclock/ChangeLog index e8c8518ae..7b83706bf 100644 --- a/apps/pongclock/ChangeLog +++ b/apps/pongclock/ChangeLog @@ -1 +1 @@ -0.1: First release +0.01: First release From f4525c6f78b6e7a49217c982b7d419e79971f570 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Sat, 21 May 2022 11:51:12 +0200 Subject: [PATCH 035/306] Daily count reset fix --- apps/barcode/ChangeLog | 1 + apps/barcode/barcode.app.js | 2 +- apps/barcode/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index fd55ead4b..4f99f15ac 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -6,3 +6,4 @@ 0.06: Updates every 5 minutes when locked, or when unlock occurs. Also shows nr of steps. 0.07: Step count resets at midnight 0.08: Step count stored in memory to survive reloads. Now shows step count daily and since last reboot. +0.09: NOW it really should reset daily (instead of every other day...) diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index d8f478b21..89419f33c 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -393,7 +393,7 @@ function resetAtMidnight() { let night = new Date( now.getFullYear(), now.getMonth(), - now.getDate() + 1, // the next day, ... + now.getDate(), // the next day, ... 23, 58, 0 // ...at 00:00:00 hours ); let msToMidnight = night.getTime() - now.getTime(); diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index bb8a960fe..cef267b2b 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.08", + "version":"0.09", "description": "EAN-8 compatible barcode clock.", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", From 2f1342eebc410b28933fa5fb4ffc82ec3916b9ee Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:30:12 +0200 Subject: [PATCH 036/306] Create app.js --- apps/widday/app.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 apps/widday/app.js diff --git a/apps/widday/app.js b/apps/widday/app.js new file mode 100644 index 000000000..a244098f5 --- /dev/null +++ b/apps/widday/app.js @@ -0,0 +1,27 @@ +(() => { + var width = 32; // width of the widget + + function draw() { + var date = new Date(); + g.reset(); // reset the graphics context to defaults (color/font/etc) + g.setFontAlign(0,1); // center fonts + //g.drawRect(this.x, this.y, this.x+width-1, this.y+23); // check the bounds! + + var text = "date.getDate(); + g.setFont("Vector", 24); + g.drawString(text, this.x+width/2+1, this.y + 28); + //g.setColor(0, 0, 1); + //g.drawRect(this.x, this.y, this.x+width-2, this.y+1); + } + + setInterval(function() { + WIDGETS["widdateday"].draw(WIDGETS["widdateday"]); + }, 10*60000); // update every 10 minutes + + // add your widget + WIDGETS["widdateday"]={ + area:"bl", // tl (top left), tr (top right), bl (bottom left), br (bottom right) + width: width, // how wide is the widget? You can change this and call Bangle.drawWidgets() to re-layout + draw:draw // called to draw the widget + }; +})() From e672b523c558e7ff7b01c92f2b232df9810e50c2 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:33:19 +0200 Subject: [PATCH 037/306] Update app.js --- apps/widday/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/widday/app.js b/apps/widday/app.js index a244098f5..189fc1951 100644 --- a/apps/widday/app.js +++ b/apps/widday/app.js @@ -15,11 +15,11 @@ } setInterval(function() { - WIDGETS["widdateday"].draw(WIDGETS["widdateday"]); + WIDGETS["widday"].draw(WIDGETS["widdateday"]); }, 10*60000); // update every 10 minutes // add your widget - WIDGETS["widdateday"]={ + WIDGETS["widday"]={ area:"bl", // tl (top left), tr (top right), bl (bottom left), br (bottom right) width: width, // how wide is the widget? You can change this and call Bangle.drawWidgets() to re-layout draw:draw // called to draw the widget From c5fac3dd2a6da475f22af869727f4fd60bd97a11 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:37:26 +0200 Subject: [PATCH 038/306] Create widday.info --- apps/widday/widday.info | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 apps/widday/widday.info diff --git a/apps/widday/widday.info b/apps/widday/widday.info new file mode 100644 index 000000000..351a302ca --- /dev/null +++ b/apps/widday/widday.info @@ -0,0 +1,8 @@ +{ + "id":"widday", + "name":"Day Widget", + "type":"widget", + "version":"0.01", + "tags":"widget,date,day", + "files":"widday.info,widday.wid.js" +} From 858d4deeebefb62246322619c647fdef91c99097 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:45:07 +0200 Subject: [PATCH 039/306] Create app-icon.js --- apps/widday/app-icon.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/widday/app-icon.js diff --git a/apps/widday/app-icon.js b/apps/widday/app-icon.js new file mode 100644 index 000000000..aa17aedc5 --- /dev/null +++ b/apps/widday/app-icon.js @@ -0,0 +1 @@ +atob("MDCEAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIBEREREREREREREREREREREREREREQIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////zMz////8zMzMzMzP////xIiIf///////czM////PMzMzMzMzP///xIiIf/////zzMzM////PMzMzMzMzP///xIiIf////PczMzM////PMzMzMzMzP///xIiIf////3MzMzM////8zMzMz3MzP///xIiIf////3MM8zM//////////zMw////xIiIf////0/88zM/////////zzMz////xIiIf//////88zM/////////8zM3////xIiIf//////88zM////////88zM/////xIiIf//////88zM/////////MzN/////xIiIf//////88zM////////PMzD/////xIiIf//////88zM////////3Mzf/////xIiIf//////88zM////////zMw//////xIiIf//////88zM///////9zMz//////xIiIf//////88zM///////8zMP//////xIiIf//////88zM//////88zM///////xIiIf//////88zM///////MzN///////xIiIf////8zM8zM//////PMzD///////xIiIf////3MzMzMzM3///3Mzf///////xIiIf////3MzMzMzM3//zzMw////////xIiIf////PMzMzMzM3//9zMz////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIf///////////////////////////xIiIBEREREREREREREREREREREREREREQIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIg==") From 68af6449dc5e737cf3503a073af1752f166d2580 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:45:59 +0200 Subject: [PATCH 040/306] Create ChangeLog --- apps/widday/ChangeLog | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/widday/ChangeLog diff --git a/apps/widday/ChangeLog b/apps/widday/ChangeLog new file mode 100644 index 000000000..7b83706bf --- /dev/null +++ b/apps/widday/ChangeLog @@ -0,0 +1 @@ +0.01: First release From 6ab7263272e310c891a84e1ffd02d78760cf4384 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:48:07 +0200 Subject: [PATCH 041/306] Create metadata.info --- apps/widday/metadata.info | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 apps/widday/metadata.info diff --git a/apps/widday/metadata.info b/apps/widday/metadata.info new file mode 100644 index 000000000..1569528b0 --- /dev/null +++ b/apps/widday/metadata.info @@ -0,0 +1,12 @@ +{ "id": "widday", + "name": "Day Widget", + "shortName":"My Timer", + "icon": "widday.png", + "version":"0.01", + "description": "Just the day of the current date as widget", + "tags": "widget,say,date", + "storage": [ + {"name":"widday.wid.js","url":"app.js"}, + {"name":"widday.img","url":"app-icon.js","evaluate":true} + ] +} From 515469d2b5de6639efe30a9a7d96951a13e188e4 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:51:02 +0200 Subject: [PATCH 042/306] Update metadata.info --- apps/widday/metadata.info | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/widday/metadata.info b/apps/widday/metadata.info index 1569528b0..fe999110a 100644 --- a/apps/widday/metadata.info +++ b/apps/widday/metadata.info @@ -4,6 +4,7 @@ "icon": "widday.png", "version":"0.01", "description": "Just the day of the current date as widget", + readme: "README.md "tags": "widget,say,date", "storage": [ {"name":"widday.wid.js","url":"app.js"}, From 309db1bdf2f641eff395dfc8bac51109a9e639f6 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:54:55 +0200 Subject: [PATCH 043/306] Create README.md --- apps/widday/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 apps/widday/README.md diff --git a/apps/widday/README.md b/apps/widday/README.md new file mode 100644 index 000000000..9d1969471 --- /dev/null +++ b/apps/widday/README.md @@ -0,0 +1,3 @@ +==Day Widget + +Just shows the day of the current date, to save space in the widget area. The month and year should be known because they don't change that often. Just the number in maximum size for readability. From 61135af33f7a761f83fe8ef4626918d09d3c819c Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:56:44 +0200 Subject: [PATCH 044/306] Update README.md --- apps/widday/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/widday/README.md b/apps/widday/README.md index 9d1969471..61f48aa4c 100644 --- a/apps/widday/README.md +++ b/apps/widday/README.md @@ -1,3 +1,9 @@ -==Day Widget +# Day Widget Just shows the day of the current date, to save space in the widget area. The month and year should be known because they don't change that often. Just the number in maximum size for readability. + +![](screenshot.png) + +## Creator +[@pidajo](https://github.com/pidajo) + From 65524a28b67ca76207417d9afaa422ab0a6bce30 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Thu, 26 May 2022 18:58:40 +0200 Subject: [PATCH 045/306] Update metadata.info --- apps/widday/metadata.info | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/widday/metadata.info b/apps/widday/metadata.info index fe999110a..54e42f000 100644 --- a/apps/widday/metadata.info +++ b/apps/widday/metadata.info @@ -6,6 +6,9 @@ "description": "Just the day of the current date as widget", readme: "README.md "tags": "widget,say,date", + "allow_emulator":true, + "supports": ["BANGLEJS", "BANGLEJS2"], + "screenshots" : [ { "url":"screenshot.png" } ], "storage": [ {"name":"widday.wid.js","url":"app.js"}, {"name":"widday.img","url":"app-icon.js","evaluate":true} From 700760ff1e408bb1152cf4c0c3fe1e0aa6560fef Mon Sep 17 00:00:00 2001 From: dronesflier <42714028+dronesflier@users.noreply.github.com> Date: Thu, 26 May 2022 20:53:40 +0200 Subject: [PATCH 046/306] attempt to upload subjects.txt --- apps/homework/subjects.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/homework/subjects.html b/apps/homework/subjects.html index d3bf7a400..608c7dce7 100644 --- a/apps/homework/subjects.html +++ b/apps/homework/subjects.html @@ -20,9 +20,10 @@ // send finished app (in addition to contents of app.json) sendCustomizedApp({ storage:[ - {name:"subjects.txt"}, + {name:"subjects.txt", url:"subjects.txt", content:app}, ] }); + console.log("Sent homework.subjects.txt!"); }); From 01f16f196ca4b199ca1b57adf470527df54d1b02 Mon Sep 17 00:00:00 2001 From: dronesflier <42714028+dronesflier@users.noreply.github.com> Date: Thu, 26 May 2022 20:58:19 +0200 Subject: [PATCH 047/306] change subjects.txt to homework.subjects.txt and hope it doesn't break --- apps/homework/subjects.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/homework/subjects.html b/apps/homework/subjects.html index 608c7dce7..92c3023dd 100644 --- a/apps/homework/subjects.html +++ b/apps/homework/subjects.html @@ -20,7 +20,7 @@ // send finished app (in addition to contents of app.json) sendCustomizedApp({ storage:[ - {name:"subjects.txt", url:"subjects.txt", content:app}, + {name:"homework.subjects.txt", url:"subjects.txt", content:app}, ] }); console.log("Sent homework.subjects.txt!"); From ecc6e8b6667c277ccfd48148cd3ce6425ebaf3de Mon Sep 17 00:00:00 2001 From: dronesflier <42714028+dronesflier@users.noreply.github.com> Date: Thu, 26 May 2022 20:59:18 +0200 Subject: [PATCH 048/306] add data section --- apps/homework/metadata.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/homework/metadata.json b/apps/homework/metadata.json index 2ba1e918f..a46c74dad 100644 --- a/apps/homework/metadata.json +++ b/apps/homework/metadata.json @@ -9,6 +9,10 @@ "supports" : ["BANGLEJS2"], "readme": "README.md", "custom": "subjects.html", + "data": [ + {"name":"homework.txt" }, + {"name":"homework.subjects.txt" } + ], "storage": [ {"name":"homework.app.js","url":"app.js"}, {"name":"homework.img","url":"app-icon.js","evaluate":true} From b4ae6e47c69420ef330c36f7eb32e594d382989b Mon Sep 17 00:00:00 2001 From: dronesflier <42714028+dronesflier@users.noreply.github.com> Date: Thu, 26 May 2022 20:59:38 +0200 Subject: [PATCH 049/306] homework.subjects.txt --- apps/homework/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/homework/app.js b/apps/homework/app.js index 4ba786690..3d9be31c9 100644 --- a/apps/homework/app.js +++ b/apps/homework/app.js @@ -14,7 +14,7 @@ var nhwmn = { // New homework Menu function newHomeworkMenu() { E.showMessage("Getting subjects..."); - var rawsubjects = require("Storage").read("subjects.txt"); // This code reads out the subjects list and removes the newline character at the end + var rawsubjects = require("Storage").read("homework.subjects.txt"); // This code reads out the subjects list and removes the newline character at the end var splitsubjects = rawsubjects.split(","); var lastItem = splitsubjects[splitsubjects.length - 1]; var thiscurrentsubject; From 6e88874d418ba0108df2aeda8f4c6606bf91b7c9 Mon Sep 17 00:00:00 2001 From: Stiralbios Date: Thu, 26 May 2022 21:02:07 +0200 Subject: [PATCH 050/306] [ActivityReminder] Better handling of period going through midnight --- apps/activityreminder/boot.js | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/apps/activityreminder/boot.js b/apps/activityreminder/boot.js index 7c094f521..25e31923c 100644 --- a/apps/activityreminder/boot.js +++ b/apps/activityreminder/boot.js @@ -2,17 +2,17 @@ function run() { if (isNotWorn()) return; let now = new Date(); let h = now.getHours(); - let health = Bangle.getHealthStatus("day"); - if (h >= activityreminder_settings.startHour && h < activityreminder_settings.endHour) { + if (isDuringAlertHours(h)) { + let health = Bangle.getHealthStatus("day"); if (health.steps - activityreminder_data.stepsOnDate >= activityreminder_settings.minSteps // more steps made than needed || health.steps < activityreminder_data.stepsOnDate) { // new day or reboot of the watch activityreminder_data.stepsOnDate = health.steps; activityreminder_data.stepsDate = now; activityreminder.saveData(activityreminder_data); /* todo in a futur release - add settimer to trigger like 10 secs after the stepsDate + minSteps - cancel all other timers of this app + Add settimer to trigger like 30 secs after going in this part cause the person have been walking + (pass some argument to run() to handle long walks and not triggering so often) */ } @@ -28,18 +28,39 @@ function isNotWorn() { return Bangle.isCharging(); } +function isDuringAlertHours(h) { + if(activityreminder_settings.startHour < activityreminder_settings.endHour){ // not passing through midnight + return (h >= activityreminder_settings.startHour && h < activityreminder_settings.endHour) + } else{ // passing through midnight + reutn (h >= activityreminder_settings.startHour || h < activityreminder_settings.endHour) + } +} + +Bangle.on('midnight', function() { + /* + Usefull trick to have the app working smothly for people using it at night + */ + let now = new Date(); + let h = now.getHours(); + if (activityreminder_settings.enabled && isDuringAlertHours(h)){ + // updating only the steps and keeping the original stepsDate on purpose + activityreminder_data.stepsOnDate = 0; + activityreminder.saveData(activityreminder_data); + } +}); + const activityreminder = require("activityreminder"); const activityreminder_settings = activityreminder.loadSettings(); if (activityreminder_settings.enabled) { const activityreminder_data = activityreminder.loadData(); if(activityreminder_data.firstLoad){ - activityreminder_data.firstLoad =false; + activityreminder_data.firstLoad = false; activityreminder.saveData(activityreminder_data); } setInterval(run, 60000); /* todo in a futur release increase setInterval time to something that is still sensible (5 mins ?) - add settimer to trigger like 10 secs after the stepsDate + minSteps - cancel all other timers of this app + when we added a settimer */ } + From 358b06fd6cbbf71e5e028bc7208ae9ec3503a778 Mon Sep 17 00:00:00 2001 From: Stiralbios Date: Thu, 26 May 2022 21:21:15 +0200 Subject: [PATCH 051/306] [ActivityReminder] Add temperature threshold to detect when the watch isn't worn --- apps/activityreminder/ChangeLog | 1 + apps/activityreminder/README.md | 1 + apps/activityreminder/boot.js | 2 +- apps/activityreminder/lib.js | 3 ++- apps/activityreminder/metadata.json | 2 +- apps/activityreminder/settings.js | 11 +++++++++++ 6 files changed, 17 insertions(+), 3 deletions(-) diff --git a/apps/activityreminder/ChangeLog b/apps/activityreminder/ChangeLog index d4b5100a2..4edb72aa5 100644 --- a/apps/activityreminder/ChangeLog +++ b/apps/activityreminder/ChangeLog @@ -3,3 +3,4 @@ 0.03: Do not alarm while charging 0.04: Obey system quiet mode 0.05: Battery optimisation, add the pause option, bug fixes +0.06: Add a temperature threshold to detect (and not alert) if the BJS isn't worn. Better support for the peoples using the app at night diff --git a/apps/activityreminder/README.md b/apps/activityreminder/README.md index 25e2c8d35..0c79b4141 100644 --- a/apps/activityreminder/README.md +++ b/apps/activityreminder/README.md @@ -11,4 +11,5 @@ Different settings can be personalized: - Dismiss delay: Delay added before the next alert if the alert is dismissed. From 5 to 60 min - Pause delay: Same as Dismiss delay but longer (usefull for meetings and such). From 30 to 240 min - Min steps: Minimal amount of steps to count as an activity +- Temp Threshold: Temperature threshold to determine if the watch is worn diff --git a/apps/activityreminder/boot.js b/apps/activityreminder/boot.js index 25e31923c..d4ea307d5 100644 --- a/apps/activityreminder/boot.js +++ b/apps/activityreminder/boot.js @@ -25,7 +25,7 @@ function run() { function isNotWorn() { // todo in a futur release check temperature and mouvement in a futur release - return Bangle.isCharging(); + return (Bangle.isCharging() || activityreminder_settings.tempThreshold <= E.getTemperature()); } function isDuringAlertHours(h) { diff --git a/apps/activityreminder/lib.js b/apps/activityreminder/lib.js index 5b7959827..08fffd5f4 100644 --- a/apps/activityreminder/lib.js +++ b/apps/activityreminder/lib.js @@ -8,7 +8,8 @@ exports.loadSettings = function () { maxInnactivityMin: 30, dismissDelayMin: 15, pauseDelayMin: 120, - minSteps: 50 + minSteps: 50, + tempThreshold: 27 }, storage.readJSON("activityreminder.s.json", true) || {}); }; diff --git a/apps/activityreminder/metadata.json b/apps/activityreminder/metadata.json index 15f10f2ed..752c6c101 100644 --- a/apps/activityreminder/metadata.json +++ b/apps/activityreminder/metadata.json @@ -3,7 +3,7 @@ "name": "Activity Reminder", "shortName":"Activity Reminder", "description": "A reminder to take short walks for the ones with a sedentary lifestyle", - "version":"0.05", + "version":"0.06", "icon": "app.png", "type": "app", "tags": "tool,activity", diff --git a/apps/activityreminder/settings.js b/apps/activityreminder/settings.js index 9dff61f48..7a4a022e6 100644 --- a/apps/activityreminder/settings.js +++ b/apps/activityreminder/settings.js @@ -71,6 +71,17 @@ settings.minSteps = v; activityreminder.writeSettings(settings); } + }, + 'Temp Threshold': { + value: settings.tempThreshold, + step: 0.5, + min: 20, + max: 40, + format: v => v + "°C", + onchange: v => { + settings.tempThreshold = v; + activityreminder.writeSettings(settings); + } } }); }) From d4edeb509667c3833a6642691b426534b00ed666 Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Thu, 26 May 2022 22:39:36 +0200 Subject: [PATCH 052/306] [Messages] Don't turn on the screen after unread timeout expires --- apps/messages/ChangeLog | 1 + apps/messages/metadata.json | 2 +- apps/messages/widget.js | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 53157f0d8..67c2f903a 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -51,3 +51,4 @@ 0.36: Ensure a new message plus an almost immediate deletion of that message doesn't load the messages app (fix #1362) 0.37: Now use the setUI 'back' icon in the top left rather than specific buttons/menu items 0.38: Add telegram foss handling +0.39: Don't turn on the screen after unread timeout expires (#1873) diff --git a/apps/messages/metadata.json b/apps/messages/metadata.json index fd09fdfe4..4bc9f59e4 100644 --- a/apps/messages/metadata.json +++ b/apps/messages/metadata.json @@ -1,7 +1,7 @@ { "id": "messages", "name": "Messages", - "version": "0.38", + "version": "0.39", "description": "App to display notifications from iOS and Gadgetbridge/Android", "icon": "app.png", "type": "app", diff --git a/apps/messages/widget.js b/apps/messages/widget.js index 4b368ffd6..ca02d4f1f 100644 --- a/apps/messages/widget.js +++ b/apps/messages/widget.js @@ -27,7 +27,6 @@ draw:function(recall) { if (quiet) WIDGETS["messages"].t -= 500000; // if quiet, set last time in the past so there is no buzzing WIDGETS["messages"].width=this.iconwidth; Bangle.drawWidgets(); - Bangle.setLCDPower(1);// turns screen on },hide:function() { delete WIDGETS["messages"].t; delete WIDGETS["messages"].l; From 704195c8b7aeda0bc6b45fa90135c5365902367a Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Fri, 27 May 2022 00:10:45 +0200 Subject: [PATCH 053/306] Add files via upload --- apps/widday/screenshot.png | Bin 0 -> 938 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/widday/screenshot.png diff --git a/apps/widday/screenshot.png b/apps/widday/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7a9f8cf2734434d401dfb8ad00aae994e1f7af GIT binary patch literal 938 zcmV;b16BNqP)Px#1ZP1_K>z@;j|==^1poj56;Mo6MF0Q*Hvj-PH#Yz`Hvl&P03;;;|NnfXPbB~V z010qNS#tmY4#NNd4#NS*Z>VGd00SOLL_t(&-tC!Dj^iKx<)$Qbxf|Vtxc7SUw4|E(1o;o#y>Q?) zHkeJer#}YIg^raD23wP-=zBZBdOd;X%;(GCKVQ3Iu=BF>1k-N_u(5Ur-?ofHSWMm( z7v}>XJp@><9K1^~*z7rLn!y}+qAhm(In$U9>DUU^A=_fGO=S!?b_E9PT@eQl0*-4uNyYCivgTnxchcv`ul?PX)TcN{GLh-a&IY3HaKhsN1^m30Tv4^P=d;AaO z73HzZOSf72xrP%G9|~R~3<4a+a*Wu)3I%pkoa^x$H_T=g^;Lhvwq1^{usgr4su6+$ zY>Q$9o@RGXjn1*R2?WOz@iYs8&80jC7Qk)6Q;|(2uxd?05%2;A2Oo3HmO}7sXI&oe z!E?LG4?`YovpMp#_L2924N6E-;Lh2uM3wRG(9qD3n1~31NjuD1Qm+W`n)xP#$*234 z1#7Y|N65LG+MKRaUod#J4YD4$%_gU(<^-@_L$gU@;M5n^r4VqMaH++u!Fvx@jlt7W z;CI2pgFExMFhKf8Uj8CBv1`hZ1FuqGB?KNC8X6iJ8iI>*MOOnR?KrRVAk}ehIo1fy zEyt7?m}^&8b8_LS_v-UQWy@G~D7?dts+Kyb5$@6*%+T$aD*STxh3P?n^|_GU)(3sy zT!lWJB0t0@r&clLvuCTl$k1KI^2Pfx!wLjV8( M07*qoM6N<$f^(y#>Hq)$ literal 0 HcmV?d00001 From dcac7426acf8a63459790344e5f9247242da4681 Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Fri, 27 May 2022 08:44:25 +0200 Subject: [PATCH 054/306] [Messages] Small code improvements --- apps/messages/app.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/apps/messages/app.js b/apps/messages/app.js index 745f7d208..46f010c0b 100644 --- a/apps/messages/app.js +++ b/apps/messages/app.js @@ -411,19 +411,17 @@ function cancelReloadTimeout() { unreadTimeout = undefined; } - g.clear(); + Bangle.loadWidgets(); Bangle.drawWidgets(); + setTimeout(() => { - var unreadTimeoutSecs = settings.unreadTimeout; - if (unreadTimeoutSecs===undefined) unreadTimeoutSecs=60; - if (unreadTimeoutSecs) - unreadTimeout = setTimeout(function() { - print("Message not seen - reloading"); - load(); - }, unreadTimeoutSecs*1000); + var unreadTimeoutMillis = (settings.unreadTimeout || 60) * 1000; + if (unreadTimeoutMillis) { + unreadTimeout = setTimeout(load, unreadTimeoutMillis); + } // only openMusic on launch if music is new - var newMusic = MESSAGES.some(m=>m.id==="music"&&m.new); - checkMessages({clockIfNoMsg:0,clockIfAllRead:0,showMsgIfUnread:1,openMusic:newMusic&&settings.openMusic}); -},10); // if checkMessages wants to 'load', do that + var newMusic = MESSAGES.some(m => m.id === "music" && m.new); + checkMessages({ clockIfNoMsg: 0, clockIfAllRead: 0, showMsgIfUnread: 1, openMusic: newMusic && settings.openMusic }); +}, 10); // if checkMessages wants to 'load', do that From 904f0d1260973c1a0f99ea5050e24b3113b84050 Mon Sep 17 00:00:00 2001 From: Stiralbios Date: Fri, 27 May 2022 09:50:07 +0200 Subject: [PATCH 055/306] [ActivityReminder] Fix tempThreshold --- apps/activityreminder/boot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/activityreminder/boot.js b/apps/activityreminder/boot.js index d4ea307d5..fa9b8557d 100644 --- a/apps/activityreminder/boot.js +++ b/apps/activityreminder/boot.js @@ -25,7 +25,7 @@ function run() { function isNotWorn() { // todo in a futur release check temperature and mouvement in a futur release - return (Bangle.isCharging() || activityreminder_settings.tempThreshold <= E.getTemperature()); + return (Bangle.isCharging() || activityreminder_settings.tempThreshold >= E.getTemperature()); } function isDuringAlertHours(h) { From c7231d243e900402068d3d0d0d1897eca9e681c1 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 27 May 2022 10:05:50 +0200 Subject: [PATCH 056/306] Use full screen for calibration --- apps/calibration/app.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/calibration/app.js b/apps/calibration/app.js index d3823de63..727a4c349 100644 --- a/apps/calibration/app.js +++ b/apps/calibration/app.js @@ -49,7 +49,7 @@ class BanglejsApp { this.x = 16 + Math.floor(Math.random() * (g.getWidth() - 32)); this.y = 40 + Math.floor(Math.random() * (g.getHeight() - 80)); - g.clearRect(0, 24, g.getWidth(), g.getHeight() - 24); + g.clearRect(0, 0, g.getWidth(), g.getHeight()); g.drawLine(this.x, this.y - 5, this.x, this.y + 5); g.drawLine(this.x - 5, this.y, this.x + 5, this.y); g.setFont('Vector', 10); @@ -64,8 +64,6 @@ class BanglejsApp { E.srand(Date.now()); -Bangle.loadWidgets(); -Bangle.drawWidgets(); calibration = new BanglejsApp(); calibration.load_settings(); From 5256acfe4cc2b7c3d140cf673d3d808f9fe9e1b7 Mon Sep 17 00:00:00 2001 From: Stiralbios Date: Fri, 27 May 2022 10:10:16 +0200 Subject: [PATCH 057/306] [ActivityReminder] Remove done todo --- apps/activityreminder/boot.js | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/activityreminder/boot.js b/apps/activityreminder/boot.js index fa9b8557d..a5e982a8b 100644 --- a/apps/activityreminder/boot.js +++ b/apps/activityreminder/boot.js @@ -24,7 +24,6 @@ function run() { } function isNotWorn() { - // todo in a futur release check temperature and mouvement in a futur release return (Bangle.isCharging() || activityreminder_settings.tempThreshold >= E.getTemperature()); } From c1ca89dc607e9cfc0882463f7de8aa136eeb23d1 Mon Sep 17 00:00:00 2001 From: Stiralbios Date: Fri, 27 May 2022 10:43:45 +0200 Subject: [PATCH 058/306] [ActivityReminder] Fix broken return --- apps/activityreminder/boot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/activityreminder/boot.js b/apps/activityreminder/boot.js index a5e982a8b..4ae9548c2 100644 --- a/apps/activityreminder/boot.js +++ b/apps/activityreminder/boot.js @@ -31,7 +31,7 @@ function isDuringAlertHours(h) { if(activityreminder_settings.startHour < activityreminder_settings.endHour){ // not passing through midnight return (h >= activityreminder_settings.startHour && h < activityreminder_settings.endHour) } else{ // passing through midnight - reutn (h >= activityreminder_settings.startHour || h < activityreminder_settings.endHour) + return (h >= activityreminder_settings.startHour || h < activityreminder_settings.endHour) } } From d48f674b1cd9ddc22a7890bed2bf9b7db12eaba1 Mon Sep 17 00:00:00 2001 From: Stiralbios Date: Fri, 27 May 2022 11:06:19 +0200 Subject: [PATCH 059/306] [ActivityReminder] Add "step" in settings to facilitate settings usage --- apps/activityreminder/settings.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/apps/activityreminder/settings.js b/apps/activityreminder/settings.js index 7a4a022e6..f25697de0 100644 --- a/apps/activityreminder/settings.js +++ b/apps/activityreminder/settings.js @@ -55,7 +55,7 @@ }, 'Pause delay': { value: settings.pauseDelayMin, - min: 30, max: 240, + min: 30, max: 240, step: 5, onchange: v => { settings.pauseDelayMin = v; activityreminder.writeSettings(settings); @@ -66,7 +66,7 @@ }, 'Min steps': { value: settings.minSteps, - min: 10, max: 500, + min: 10, max: 500, step: 10, onchange: v => { settings.minSteps = v; activityreminder.writeSettings(settings); @@ -74,9 +74,7 @@ }, 'Temp Threshold': { value: settings.tempThreshold, - step: 0.5, - min: 20, - max: 40, + min: 20, max: 40, step: 0.5, format: v => v + "°C", onchange: v => { settings.tempThreshold = v; From 056adb78732427b1d5bdee048bb770401c76e8a8 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 27 May 2022 10:53:52 +0200 Subject: [PATCH 060/306] Adds scaling to correct for linear mismatches in coordinates --- apps/calibration/app.js | 87 +++++++++++++++++++++++++++++++--------- apps/calibration/boot.js | 6 +-- 2 files changed, 70 insertions(+), 23 deletions(-) diff --git a/apps/calibration/app.js b/apps/calibration/app.js index 727a4c349..6227b936a 100644 --- a/apps/calibration/app.js +++ b/apps/calibration/app.js @@ -1,26 +1,24 @@ class BanglejsApp { constructor() { + this.updateFactor = 0.2; this.x = 0; this.y = 0; + this.step = 0; this.settings = { xoffset: 0, yoffset: 0, + xscale: 1, + yscale: 1, }; } load_settings() { let settings = require('Storage').readJSON('calibration.json', true) || {active: false}; - // do nothing if the calibration is deactivated - if (settings.active === true) { - // cancel the calibration offset - Bangle.on('touch', function(button, xy) { - xy.x += settings.xoffset; - xy.y += settings.yoffset; - }); - } if (!settings.xoffset) settings.xoffset = 0; if (!settings.yoffset) settings.yoffset = 0; + if (!settings.xscale) settings.xscale = 1; + if (!settings.yscale) settings.yscale = 1; console.log('loaded settings:'); console.log(settings); @@ -46,19 +44,63 @@ class BanglejsApp { } drawTarget() { - this.x = 16 + Math.floor(Math.random() * (g.getWidth() - 32)); - this.y = 40 + Math.floor(Math.random() * (g.getHeight() - 80)); + switch (this.step){ + case 0: + this.x = Math.floor(0.2 * g.getWidth()); + this.y = Math.floor(0.2 * g.getHeight()); + break; + case 1: + this.x = Math.floor(0.8 * g.getWidth()); + this.y = Math.floor(0.2 * g.getHeight()); + break; + case 2: + this.x = Math.floor(0.5 * g.getWidth()); + this.y = Math.floor(0.5 * g.getHeight()); + break; + case 3: + this.x = Math.floor(0.2 * g.getWidth()); + this.y = Math.floor(0.8 * g.getHeight()); + break; + case 4: + this.x = Math.floor(0.8 * g.getWidth()); + this.y = Math.floor(0.8 * g.getHeight()); + break; + } - g.clearRect(0, 0, g.getWidth(), g.getHeight()); + g.setColor(g.theme.fg); g.drawLine(this.x, this.y - 5, this.x, this.y + 5); g.drawLine(this.x - 5, this.y, this.x + 5, this.y); g.setFont('Vector', 10); - g.drawString('current offset: ' + this.settings.xoffset + ', ' + this.settings.yoffset, 0, 24); + g.drawString('current offset: ' + this.settings.xoffset.toFixed(3) + ', ' + this.settings.yoffset.toFixed(3), 2, 2); + g.drawString('current scale: ' + this.settings.xscale.toFixed(3) + ', ' + this.settings.yscale.toFixed(3), 2, 12); } - + setOffset(xy) { - this.settings.xoffset = Math.round((this.settings.xoffset + (this.x - Math.floor((this.x + xy.x)/2)))/2); - this.settings.yoffset = Math.round((this.settings.yoffset + (this.y - Math.floor((this.y + xy.y)/2)))/2); + this.last=xy; + switch (this.step){ + case 0: + this.settings.xoffset = this.settings.xoffset * (1-this.updateFactor) + (this.x - xy.x) * this.updateFactor; + this.settings.yoffset = this.settings.yoffset * (1-this.updateFactor) + (this.y - xy.y) * this.updateFactor; + break; + case 1: + this.settings.xscale = this.settings.xscale * (1-this.updateFactor) + ((xy.x + this.settings.xoffset) / this.x) * this.updateFactor; + this.settings.yoffset = this.settings.yoffset * (1-this.updateFactor) + (this.y - xy.y) * this.updateFactor; + break; + case 3: + this.settings.xoffset = this.settings.xoffset * (1-this.updateFactor) + (this.x - xy.x) * this.updateFactor; + this.settings.yscale = this.settings.yscale * (1-this.updateFactor) + ((xy.y + this.settings.yoffset) / this.y) * this.updateFactor; + break; + case 2: + case 4: + this.settings.xscale = this.settings.xscale * (1-this.updateFactor) + ((xy.x + this.settings.xoffset) / this.x) * this.updateFactor; + this.settings.yscale = this.settings.yscale * (1-this.updateFactor) + ((xy.y + this.settings.yoffset) / this.y) * this.updateFactor; + break; + } + } + + nextStep() { + this.step++; + if ( this.step == 5 ) this.step = 0; } } @@ -67,6 +109,14 @@ E.srand(Date.now()); calibration = new BanglejsApp(); calibration.load_settings(); +Bangle.disableCalibration = true; + +function touchHandler (btn, xy){ + g.clearRect(0, 0, g.getWidth(), g.getHeight()); + if (xy) calibration.setOffset(xy); + calibration.drawTarget(); + calibration.nextStep(); +} let modes = { mode : 'custom', @@ -74,10 +124,7 @@ let modes = { calibration.save_settings(this.settings); load(); }, - touch : function(btn, xy) { - calibration.setOffset(xy); - calibration.drawTarget(); - }, + touch : touchHandler, }; Bangle.setUI(modes); -calibration.drawTarget(); +touchHandler(); diff --git a/apps/calibration/boot.js b/apps/calibration/boot.js index 237fb2e0d..2c60de26b 100644 --- a/apps/calibration/boot.js +++ b/apps/calibration/boot.js @@ -1,7 +1,7 @@ let cal_settings = require('Storage').readJSON("calibration.json", true) || {active: false}; Bangle.on('touch', function(button, xy) { // do nothing if the calibration is deactivated - if (cal_settings.active === false) return; + if (cal_settings.active === false || Bangle.disableCalibration) return; // reload the calibration offset at each touch event /!\ bad for the flash memory if (cal_settings.reload === true) { @@ -9,6 +9,6 @@ Bangle.on('touch', function(button, xy) { } // apply the calibration offset - xy.x += cal_settings.xoffset; - xy.y += cal_settings.yoffset; + xy.x = Math.round((xy.x + cal_settings.xoffset) * cal_settings.xscale); + xy.y = Math.round((xy.y + cal_settings.yoffset) * cal_settings.yscale); }); From cddaf36f1a7a0566c37018a81d69b2bc69ebf068 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 27 May 2022 12:20:09 +0200 Subject: [PATCH 061/306] Use median sample values --- apps/calibration/app.js | 117 +++++++++++++++++++++++----------------- 1 file changed, 69 insertions(+), 48 deletions(-) diff --git a/apps/calibration/app.js b/apps/calibration/app.js index 6227b936a..049430d45 100644 --- a/apps/calibration/app.js +++ b/apps/calibration/app.js @@ -1,38 +1,60 @@ class BanglejsApp { constructor() { - this.updateFactor = 0.2; + this.maxSamples = 16; + this.target = { + xMin: Math.floor(0.1 * g.getWidth()), + xMax: Math.floor(0.9 * g.getWidth()), + yMin: Math.floor(0.1 * g.getHeight()), + yMax: Math.floor(0.9 * g.getHeight()), + }; this.x = 0; this.y = 0; this.step = 0; this.settings = { - xoffset: 0, - yoffset: 0, - xscale: 1, - yscale: 1, + xoffset: [0], + yoffset: [0], + xMaxActual: [this.target.xMax], + yMaxActual: [this.target.yMax], }; } load_settings() { let settings = require('Storage').readJSON('calibration.json', true) || {active: false}; - if (!settings.xoffset) settings.xoffset = 0; - if (!settings.yoffset) settings.yoffset = 0; - if (!settings.xscale) settings.xscale = 1; - if (!settings.yscale) settings.yscale = 1; - console.log('loaded settings:'); console.log(settings); return settings; } - save_settings() { - this.settings.active = true; - this.settings.reload = false; - require('Storage').writeJSON('calibration.json', this.settings); + getMedian(array){ + array.sort(); + let i = Math.floor(array.length/2); + if ( array.length % 2 && array.length > 1 ){ + return (array[i]+array[i+1])/2; + } else { + return array[i]; + } + } - console.log('saved settings:'); - console.log(this.settings); + getMedianSettings(){ + let medianSettings = { + xoffset: this.getMedian(this.settings.xoffset), + yoffset: this.getMedian(this.settings.yoffset) + }; + + medianSettings.xscale = this.target.xMax / (medianSettings.xoffset + this.getMedian(this.settings.xMaxActual)); + medianSettings.yscale = this.target.yMax / (medianSettings.yoffset + this.getMedian(this.settings.yMaxActual)); + return medianSettings; + } + + save_settings() { + let settingsToSave = this.getMedianSettings(); + settingsToSave.active = true; + settingsToSave.reload = false; + require('Storage').writeJSON('calibration.json', settingsToSave); + + console.log('saved settings:', settingsToSave); } explain() { @@ -46,61 +68,61 @@ class BanglejsApp { drawTarget() { switch (this.step){ case 0: - this.x = Math.floor(0.2 * g.getWidth()); - this.y = Math.floor(0.2 * g.getHeight()); + this.x = this.target.xMin; + this.y = this.target.yMin; break; case 1: - this.x = Math.floor(0.8 * g.getWidth()); - this.y = Math.floor(0.2 * g.getHeight()); + this.x = this.target.xMax; + this.y = this.target.yMin; break; case 2: - this.x = Math.floor(0.5 * g.getWidth()); - this.y = Math.floor(0.5 * g.getHeight()); + this.x = this.target.xMin; + this.y = this.target.yMax; break; case 3: - this.x = Math.floor(0.2 * g.getWidth()); - this.y = Math.floor(0.8 * g.getHeight()); - break; - case 4: - this.x = Math.floor(0.8 * g.getWidth()); - this.y = Math.floor(0.8 * g.getHeight()); + this.x = this.target.xMax; + this.y = this.target.yMax; break; } + g.clearRect(0, 0, g.getWidth(), g.getHeight()); g.setColor(g.theme.fg); g.drawLine(this.x, this.y - 5, this.x, this.y + 5); g.drawLine(this.x - 5, this.y, this.x + 5, this.y); g.setFont('Vector', 10); - g.drawString('current offset: ' + this.settings.xoffset.toFixed(3) + ', ' + this.settings.yoffset.toFixed(3), 2, 2); - g.drawString('current scale: ' + this.settings.xscale.toFixed(3) + ', ' + this.settings.yscale.toFixed(3), 2, 12); + let medianSettings = this.getMedianSettings(); + g.drawString('current offset: ' + medianSettings.xoffset.toFixed(3) + ', ' + medianSettings.yoffset.toFixed(3), 2, (g.getHeight()/2)-6); + g.drawString('current scale: ' + medianSettings.xscale.toFixed(3) + ', ' + medianSettings.yscale.toFixed(3), 2, (g.getHeight()/2)+6); } - + setOffset(xy) { - this.last=xy; switch (this.step){ case 0: - this.settings.xoffset = this.settings.xoffset * (1-this.updateFactor) + (this.x - xy.x) * this.updateFactor; - this.settings.yoffset = this.settings.yoffset * (1-this.updateFactor) + (this.y - xy.y) * this.updateFactor; + this.settings.xoffset.push(this.x - xy.x); + this.settings.yoffset.push(this.y - xy.y); break; case 1: - this.settings.xscale = this.settings.xscale * (1-this.updateFactor) + ((xy.x + this.settings.xoffset) / this.x) * this.updateFactor; - this.settings.yoffset = this.settings.yoffset * (1-this.updateFactor) + (this.y - xy.y) * this.updateFactor; - break; - case 3: - this.settings.xoffset = this.settings.xoffset * (1-this.updateFactor) + (this.x - xy.x) * this.updateFactor; - this.settings.yscale = this.settings.yscale * (1-this.updateFactor) + ((xy.y + this.settings.yoffset) / this.y) * this.updateFactor; + this.settings.xMaxActual.push(xy.x); + this.settings.yoffset.push(this.y - xy.y); break; case 2: - case 4: - this.settings.xscale = this.settings.xscale * (1-this.updateFactor) + ((xy.x + this.settings.xoffset) / this.x) * this.updateFactor; - this.settings.yscale = this.settings.yscale * (1-this.updateFactor) + ((xy.y + this.settings.yoffset) / this.y) * this.updateFactor; + this.settings.xoffset.push(this.x - xy.x); + this.settings.yMaxActual.push(xy.y); + break; + case 3: + this.settings.xMaxActual.push(xy.x); + this.settings.yMaxActual.push(xy.y); break; } + + for (let c in this.settings){ + if (this.settings[c].length > this.maxSamples) this.settings[c] = this.settings[c].slice(1, this.maxSamples); + } } - + nextStep() { this.step++; - if ( this.step == 5 ) this.step = 0; + if ( this.step == 4 ) this.step = 0; } } @@ -112,10 +134,9 @@ calibration.load_settings(); Bangle.disableCalibration = true; function touchHandler (btn, xy){ - g.clearRect(0, 0, g.getWidth(), g.getHeight()); if (xy) calibration.setOffset(xy); - calibration.drawTarget(); calibration.nextStep(); + calibration.drawTarget(); } let modes = { @@ -127,4 +148,4 @@ let modes = { touch : touchHandler, }; Bangle.setUI(modes); -touchHandler(); +calibration.drawTarget(); From f763cd962f88d5393ee3a91e4b377e82dfb3e2a9 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 27 May 2022 13:16:47 +0200 Subject: [PATCH 062/306] Clip values to display range --- apps/calibration/boot.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/calibration/boot.js b/apps/calibration/boot.js index 2c60de26b..03b17a03a 100644 --- a/apps/calibration/boot.js +++ b/apps/calibration/boot.js @@ -9,6 +9,6 @@ Bangle.on('touch', function(button, xy) { } // apply the calibration offset - xy.x = Math.round((xy.x + cal_settings.xoffset) * cal_settings.xscale); - xy.y = Math.round((xy.y + cal_settings.yoffset) * cal_settings.yscale); + xy.x = E.clip(Math.round((xy.x + (cal_settings.xoffset || 0)) * (cal_settings.xscale || 1)),0,g.getWidth()); + xy.y = E.clip(Math.round((xy.y + (cal_settings.yoffset || 0)) * (cal_settings.yscale || 1)),0,g.getHeight()); }); From e8c7ea363e17c9d90621239a885e4667f999634b Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 27 May 2022 10:54:10 +0200 Subject: [PATCH 063/306] Bump version --- apps/calibration/ChangeLog | 2 ++ apps/calibration/metadata.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 apps/calibration/ChangeLog diff --git a/apps/calibration/ChangeLog b/apps/calibration/ChangeLog new file mode 100644 index 000000000..0e22605af --- /dev/null +++ b/apps/calibration/ChangeLog @@ -0,0 +1,2 @@ +1.00: New App! +1.01: Use fractional numbers and scale the points to keep working consistently on whole screen diff --git a/apps/calibration/metadata.json b/apps/calibration/metadata.json index 122a2c175..b7a719e1c 100644 --- a/apps/calibration/metadata.json +++ b/apps/calibration/metadata.json @@ -2,7 +2,7 @@ "name": "Touchscreen Calibration", "shortName":"Calibration", "icon": "calibration.png", - "version":"1.00", + "version":"1.01", "description": "A simple calibration app for the touchscreen", "supports": ["BANGLEJS","BANGLEJS2"], "readme": "README.md", From 0add5a9950830c1896ddffabf1324f5459bacab1 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 27 May 2022 13:20:05 +0200 Subject: [PATCH 064/306] Update readme --- apps/calibration/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/calibration/README.md b/apps/calibration/README.md index 37f637d21..ed1a29d9e 100644 --- a/apps/calibration/README.md +++ b/apps/calibration/README.md @@ -6,6 +6,7 @@ A simple calibration app for the touchscreen Once lauched touch the cross that appear on the screen to make another spawn elsewhere. -each new touch on the screen will help to calibrate the offset -of your finger on the screen. After five or more input, press -the button to save the calibration and close the application. \ No newline at end of file +Each new touch on the screen will help to calibrate the offset +of your finger on the screen. After four or more inputs, press +the button to save the calibration and close the application. Quality +of the calibration gets better with every touch on a cross. From ecd5868821bd8ad4334c21fd2f0f492c21985f32 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Fri, 27 May 2022 17:08:50 +0200 Subject: [PATCH 065/306] ClockFace: add settings support --- modules/ClockFace.js | 20 +++++++++++++++---- modules/ClockFace.md | 41 +++++++++++++++++++++++++++++++++++++++ modules/ClockFace_menu.js | 10 ++++++++++ 3 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 modules/ClockFace_menu.js diff --git a/modules/ClockFace.js b/modules/ClockFace.js index d6c3a2e66..f8dc33287 100644 --- a/modules/ClockFace.js +++ b/modules/ClockFace.js @@ -10,7 +10,8 @@ function ClockFace(options) { "precision", "init", "draw", "update", "pause", "resume", - "up", "down", "upDown" + "up", "down", "upDown", + "settingsFile", ].includes(k)) throw `Invalid ClockFace option: ${k}`; }); if (!options.draw && !options.update) throw "ClockFace needs at least one of draw() or update() functions"; @@ -33,7 +34,18 @@ function ClockFace(options) { }; if (options.upDown) this._upDown = options.upDown; - this.is12Hour = !!(require("Storage").readJSON("setting.json", 1) || {})["12hour"]; + if (options.settingsFile) { + const settings = (require("Storage").readJSON(options.settingsFile, true) || {}); + Object.keys(settings).forEach(k => { + this[k] = settings[k]; + }); + } + // these default to true + ["showDate", "loadWidgets"].forEach(k => { + if (this[k]===undefined) this[k] = true; + }); + // use global 24/12-hour setting if not set by clock-settings + if (!('is12Hour' in this)) this.is12Hour = !!(require("Storage").readJSON("setting.json", true) || {})["12hour"]; } ClockFace.prototype.tick = function() { @@ -46,7 +58,7 @@ ClockFace.prototype.tick = function() { }; if (!this._last) { g.clear(true); - Bangle.drawWidgets(); + if (global.WIDGETS) Bangle.drawWidgets(); g.reset(); this.draw.apply(this, [time, {d: true, h: true, m: true, s: true}]); } else { @@ -70,7 +82,7 @@ ClockFace.prototype.start = function() { .CLOCK is set by Bangle.setUI('clock') but we want to load widgets so we can check appRect and *then* call setUI. see #1864 */ Bangle.CLOCK = 1; - Bangle.loadWidgets(); + if (this.loadWidgets) Bangle.loadWidgets(); if (this.init) this.init.apply(this); if (this._upDown) Bangle.setUI("clockupdown", d=>this._upDown.apply(this,[d])); else Bangle.setUI("clock"); diff --git a/modules/ClockFace.md b/modules/ClockFace.md index e760c3e74..6b59e68e7 100644 --- a/modules/ClockFace.md +++ b/modules/ClockFace.md @@ -85,6 +85,7 @@ var clock = new ClockFace({ if (dir === -1) // Up else // (dir === 1): Down }, + settingsFile: 'appid.settings.json', // optional, values from file will be applied to `this` }); clock.start(); @@ -110,11 +111,51 @@ clock.start(); ``` + +SettingsFile +------------ +If you use the `settingsFile` option, values from that file are loaded and set +directly on the clock. + +For example: + +```json +// example.settings.json: +{ + "showDate": false, + "foo": 123 +} +``` +```js + var ClockFace = require("ClockFace"); + var clock = new ClockFace({ + draw: function(){/*...*/}, + settingsFile: "example.settings.json", + }); + // now + clock.showDate === false; + clock.foo === 123; + clock.loadWidgets === true; // default when not in settings file + clock.is12Hour === ??; // not in settings file: uses global setting + clock.start(); + +``` + Properties ---------- The following properties are automatically set on the clock: * `is12Hour`: `true` if the "Time Format" setting is set to "12h", `false` for "24h". * `paused`: `true` while the clock is paused. (You don't need to check this inside your `draw()` code) +* `showDate`: `true` (if not overridden through the settings file.) +* `loadWidgets`: `true` (if not overridden through the settings file.) + If set to `false` before calling `start()`, the clock won't call `Bangle.loadWidgets();` for you. + Best is to add a setting for this, but if you never want to load widgets, you could do this: + ```js + var ClockFace = require("ClockFace"); + var clock = new ClockFace({draw: function(){/*...*/}}); + clock.loadWidgets = false; // prevent loading of widgets + clock.start(); + ``` Inside the `draw()`/`update()` function you can access these using `this`: diff --git a/modules/ClockFace_menu.js b/modules/ClockFace_menu.js new file mode 100644 index 000000000..cd99ea39f --- /dev/null +++ b/modules/ClockFace_menu.js @@ -0,0 +1,10 @@ +// boolean options, which default to true +exports.showDate = +exports.loadWidgets = + function(value, callback) { + if (value === undefined) value = true; + return { + value: !!value, + onchange: v=>callback(v), + }; + }; From f90d5dbdca6cd5b688fb06c0909737a40f7b40a5 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Fri, 27 May 2022 17:09:21 +0200 Subject: [PATCH 066/306] barclock: add settings to hide date/widgets --- apps/barclock/ChangeLog | 1 + apps/barclock/README.md | 3 +++ apps/barclock/clock-bar.js | 7 ++++--- apps/barclock/metadata.json | 6 +++++- apps/barclock/settings.js | 19 +++++++++++++++++++ 5 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 apps/barclock/settings.js diff --git a/apps/barclock/ChangeLog b/apps/barclock/ChangeLog index 5df032c4d..d30ec04de 100644 --- a/apps/barclock/ChangeLog +++ b/apps/barclock/ChangeLog @@ -9,3 +9,4 @@ 0.09: Fix time/date disappearing after fullscreen notification 0.10: Use ClockFace library 0.11: Use ClockFace.is12Hour +0.12: Add settings to hide date,widgets diff --git a/apps/barclock/README.md b/apps/barclock/README.md index 4b92313c5..af10d4c6c 100644 --- a/apps/barclock/README.md +++ b/apps/barclock/README.md @@ -4,3 +4,6 @@ A simple digital clock showing seconds as a horizontal bar. | 24hr style | 12hr style | | --- | --- | | ![24-hour bar clock](screenshot.png) | ![12-hour bar clock with meridian](screenshot_pm.png) | + +## Settings +* `Show date`: display date at the bottom of screen \ No newline at end of file diff --git a/apps/barclock/clock-bar.js b/apps/barclock/clock-bar.js index 987d41cc6..afbe46f1b 100644 --- a/apps/barclock/clock-bar.js +++ b/apps/barclock/clock-bar.js @@ -51,6 +51,7 @@ function dateText(date) { const ClockFace = require("ClockFace"), clock = new ClockFace({ precision:1, + settingsFile:'barclock.settings.json', init: function() { const Layout = require("Layout"); this.layout = new Layout({ @@ -62,8 +63,8 @@ const ClockFace = require("ClockFace"), ], }, {id: "bar", type: "custom", fraction: 0, fillx: 1, height: 6, col: g.theme.fg2, render: renderBar}, - {height: 40}, - {id: "date", type: "txt", font: "10%", valign: 1}, + this.showDate ? {height: 40} : {}, + this.showDate ? {id: "date", type: "txt", font: "10%", valign: 1} : {}, ], }, {lazy: true}); // adjustments based on screen size and whether we display am/pm @@ -82,7 +83,7 @@ const ClockFace = require("ClockFace"), update: function(date, c) { if (c.m) this.layout.time.label = timeText(date); if (c.h) this.layout.ampm.label = ampmText(date); - if (c.d) this.layout.date.label = dateText(date); + if (c.d && this.showDate) this.layout.date.label = dateText(date); const SECONDS_PER_MINUTE = 60; if (c.s) this.layout.bar.fraction = date.getSeconds()/SECONDS_PER_MINUTE; this.layout.render(); diff --git a/apps/barclock/metadata.json b/apps/barclock/metadata.json index 7bc61096d..5a81593d4 100644 --- a/apps/barclock/metadata.json +++ b/apps/barclock/metadata.json @@ -1,7 +1,7 @@ { "id": "barclock", "name": "Bar Clock", - "version": "0.11", + "version": "0.12", "description": "A simple digital clock showing seconds as a bar", "icon": "clock-bar.png", "screenshots": [{"url":"screenshot.png"},{"url":"screenshot_pm.png"}], @@ -12,6 +12,10 @@ "allow_emulator": true, "storage": [ {"name":"barclock.app.js","url":"clock-bar.js"}, + {"name":"barclock.settings.js","url":"settings.js"}, {"name":"barclock.img","url":"clock-bar-icon.js","evaluate":true} + ], + "data": [ + {"name":"barclock.settings.json"} ] } diff --git a/apps/barclock/settings.js b/apps/barclock/settings.js new file mode 100644 index 000000000..60f459a26 --- /dev/null +++ b/apps/barclock/settings.js @@ -0,0 +1,19 @@ +(function(back) { + let s = require('Storage').readJSON("barclock.settings.json", true) || {}; + + function saver(key) { + return value => { + s[key] = value; + require('Storage').writeJSON("barclock.settings.json", s); + } + } + + const menu = { + "": {"title": /*LANG*/"Bar Clock"}, + /*LANG*/"< Back": back, + /*LANG*/"Show date": require("ClockFace_menu").showDate(s.showDate, saver('showDate')), + /*LANG*/"Load widgets": require("ClockFace_menu").loadWidgets(s.loadWidgets, saver('loadWidgets')), + } + + E.showMenu(menu); +}); From 65d59242d55ca7136d5d644f1f0fe538d298a867 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Fri, 27 May 2022 17:20:13 +0200 Subject: [PATCH 067/306] barclock: add font setting --- apps/barclock/ChangeLog | 1 + apps/barclock/README.md | 3 ++- apps/barclock/clock-bar.js | 15 ++++++++++++--- apps/barclock/metadata.json | 2 +- apps/barclock/settings.js | 9 ++++++++- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/apps/barclock/ChangeLog b/apps/barclock/ChangeLog index d30ec04de..197a24738 100644 --- a/apps/barclock/ChangeLog +++ b/apps/barclock/ChangeLog @@ -10,3 +10,4 @@ 0.10: Use ClockFace library 0.11: Use ClockFace.is12Hour 0.12: Add settings to hide date,widgets +0.13: Add font setting diff --git a/apps/barclock/README.md b/apps/barclock/README.md index af10d4c6c..ff66a5cbb 100644 --- a/apps/barclock/README.md +++ b/apps/barclock/README.md @@ -6,4 +6,5 @@ A simple digital clock showing seconds as a horizontal bar. | ![24-hour bar clock](screenshot.png) | ![12-hour bar clock with meridian](screenshot_pm.png) | ## Settings -* `Show date`: display date at the bottom of screen \ No newline at end of file +* `Show date`: display date at the bottom of screen +* `Font`: choose between bitmap or vector fonts \ No newline at end of file diff --git a/apps/barclock/clock-bar.js b/apps/barclock/clock-bar.js index afbe46f1b..55c4da074 100644 --- a/apps/barclock/clock-bar.js +++ b/apps/barclock/clock-bar.js @@ -58,7 +58,7 @@ const ClockFace = require("ClockFace"), type: "v", c: [ { type: "h", c: [ - {id: "time", label: "88:88", type: "txt", font: "6x8:5", col:g.theme.fg, bgCol: g.theme.bg}, // size updated below + {id: "time", label: "88:88", type: "txt", font: "6x8:5", col:g.theme.fg, bgCol: g.theme.bg}, // updated below {id: "ampm", label: " ", type: "txt", font: "6x8:2", col:g.theme.fg, bgCol: g.theme.bg}, ], }, @@ -69,7 +69,7 @@ const ClockFace = require("ClockFace"), }, {lazy: true}); // adjustments based on screen size and whether we display am/pm let thickness; // bar thickness, same as time font "pixel block" size - if (this.is12Hour) { + if (this.is12Hour && locale.hasMeridian) { // Maximum font size = ( - ) / (5chars * 6px) thickness = Math.floor((Bangle.appRect.w-24)/(5*6)); } else { @@ -77,7 +77,16 @@ const ClockFace = require("ClockFace"), thickness = Math.floor(Bangle.appRect.w/(5*6)); } this.layout.bar.height = thickness+1; - this.layout.time.font = "6x8:"+thickness; + if (this.font===1) { // vector + if (this.is12Hour && locale.hasMeridian) { + this.layout.time.font = "Vector:60"; + this.layout.ampm.font = "Vector:40"; + } else { + this.layout.time.font = "Vector:80"; + } + } else { + this.layout.time.font = "6x8:"+thickness; + } this.layout.update(); }, update: function(date, c) { diff --git a/apps/barclock/metadata.json b/apps/barclock/metadata.json index 5a81593d4..0a0b73778 100644 --- a/apps/barclock/metadata.json +++ b/apps/barclock/metadata.json @@ -1,7 +1,7 @@ { "id": "barclock", "name": "Bar Clock", - "version": "0.12", + "version": "0.13", "description": "A simple digital clock showing seconds as a bar", "icon": "clock-bar.png", "screenshots": [{"url":"screenshot.png"},{"url":"screenshot_pm.png"}], diff --git a/apps/barclock/settings.js b/apps/barclock/settings.js index 60f459a26..3e97688a1 100644 --- a/apps/barclock/settings.js +++ b/apps/barclock/settings.js @@ -8,12 +8,19 @@ } } + const fonts = [/*LANG*/"Bitmap",/*LANG*/"Vector"]; const menu = { "": {"title": /*LANG*/"Bar Clock"}, /*LANG*/"< Back": back, /*LANG*/"Show date": require("ClockFace_menu").showDate(s.showDate, saver('showDate')), /*LANG*/"Load widgets": require("ClockFace_menu").loadWidgets(s.loadWidgets, saver('loadWidgets')), - } + /*LANG*/"Font": { + value: s.font|0, + min:0,max:1,wrap:true, + format:v=>fonts[v], + onchange:saver('font'), + }, + }; E.showMenu(menu); }); From 30dd8512eda42049f5215f57504ed4cd6c855449 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 12 Apr 2022 00:16:09 +0200 Subject: [PATCH 068/306] cogclock: new app --- apps/cogclock/app.js | 111 +++++++++++++++++++++++++++++++++++ apps/cogclock/icon.js | 1 + apps/cogclock/icon.png | Bin 0 -> 11242 bytes apps/cogclock/metadata.json | 16 +++++ apps/cogclock/screenshot.png | Bin 0 -> 5887 bytes 5 files changed, 128 insertions(+) create mode 100644 apps/cogclock/app.js create mode 100644 apps/cogclock/icon.js create mode 100644 apps/cogclock/icon.png create mode 100644 apps/cogclock/metadata.json create mode 100644 apps/cogclock/screenshot.png diff --git a/apps/cogclock/app.js b/apps/cogclock/app.js new file mode 100644 index 000000000..ba423fec1 --- /dev/null +++ b/apps/cogclock/app.js @@ -0,0 +1,111 @@ +Graphics.prototype.setFont16x32N = function() { + this.setFontCustom(atob( + "/////v////7////+4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO/////v////7////+AAAAAOAAAA7gAAAO4AAADuAAAA7gAAAO4AAADv////7////+/////gAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAADgA//+4AP//uAD//7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7//4AO//+ADv//gA4AAAAA4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO/////v////7////+AAAAAP//gAD//4AA//+AAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAP////7////+/////gAAAAD//4AO//+ADv//gA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA//+4AP//uAD//4AAAAA/////v////7////+4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AP//uAD//7gA//+AAAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAP////7////+/////gAAAAD////+/////v////7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7////+/////v////4AAAAA//+ADv//gA7//4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO/////v////7////+AAAAAA==" + ), "0".charCodeAt(0), 16, 32); +}; + +Bangle.loadWidgets(); +const r1 = 84, // inner radius + r3 = Math.min(Bangle.appRect.w/2, Bangle.appRect.h/2), // outer radius + r2 = (r1*3+r3*2)/5, + teeth = 12, + edge = 0.45, point = 0.35; // as fraction of arc + +const x = Bangle.appRect.x+Bangle.appRect.w/2, + y = Bangle.appRect.y+Bangle.appRect.h/2; + +/** + * Add coordinates for nth tooth to vertices + * @param {array} poly Array to add points to + * @param {number} n Tooth number + */ +function addTooth(poly, n) { + const + tau = Math.PI*2, arc = tau/teeth, + e = arc*edge, p = arc*point, s = (arc-(e+p))/2; // edge,point,slopes + const sin = Math.sin, cos = Math.cos; + let r = (n-1)*arc+e/2; // rads + poly.push(x+r2*sin(r), y-r2*cos(r)); + r += s; + poly.push(x+r3*sin(r), y-r3*cos(r)); + r += p; + poly.push(x+r3*sin(r), y-r3*cos(r)); + r += s; + poly.push(x+r2*sin(r), y-r2*cos(r)); +} + +function drawCog() { + g.drawCircle(x, y, r1); + let poly = []; + for(let t = 1; t<=teeth; t++) { + addTooth(poly, t); + } + g.drawPoly(poly, true); +} +/** + * @param {number} n Tooth number to fill (1-based) + * @param col Fill color + */ +function fillTooth(n, col) { + if (!n) return; // easiest to check here + let poly = []; + addTooth(poly, n); + g.setColor(col).fillPoly(poly) + .setColor(g.theme.fg).drawPoly(poly); // fillPoly colored over the outline +} + +let last = {tooth: 0}, timeOut; +function draw() { + if (!Bangle.isLCDOn()) return; // no drawing, also no new update scheduled + g.reset(); + const pad2 = num => (num<10 ? "0" : "")+num, + d = new Date(), + year = d.getFullYear(), + date = pad2(d.getDate())+pad2(d.getMonth()), + time = pad2(d.getHours())+pad2(d.getMinutes()), + tooth = Math.round(d.getSeconds()/60*teeth), + m = d.getMilliseconds(); + if (year!==last.year) { + g.setFont("16x32N").setFontAlign(0, -1) // center top + .drawString(year, x, y+34, true); + } + if (date!==last.date) { + g.setFont("16x32N").setFontAlign(0, 1) // center bottom + .drawString(date, x, y-34, true); + } + if (time!==last.time) { + g.setFont("16x32N:2").setFontAlign(0, 0) // center middle + .drawString(time, x, y, true); + } + if (tooth!==last.tooth) { + if (tooth>last.tooth) { + for(let t = last.tooth; t<=tooth; t++) { // fill missing teeth + fillTooth(t, g.theme.fg2); + } + } else { + for(let t = last.tooth; t>tooth; t--) { // erase extraneous teeth + fillTooth(t, g.theme.bg); + } + } + } + + last = { + year: year, + date: date, + time: time, + tooth: tooth, + }; + timeOut = setTimeout(draw, 1000-m); +} +g.clear(); +Bangle.drawWidgets(); +Bangle.setUI("clock"); +Bangle.on("lcdPower", on => { + if (timeOut) { + clearTimeout(timeOut); + timeOut = undefined; + } + if (on) draw(); +}); +drawCog(); +draw(); diff --git a/apps/cogclock/icon.js b/apps/cogclock/icon.js new file mode 100644 index 000000000..899cfc7c1 --- /dev/null +++ b/apps/cogclock/icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwhC/ACcikQXpCQUCC4MgBAgqMCQIXEAgQXNBwIDCAggXOABAXLHwQAHMYQXmmczI5oiCBwUjCwIABmQXDEgJ0KCwMwCwMDDAgyGLYoWBgAXBgAYBMZIXEkYWBC4YYBGAh7FFwgHCC4YEBPRIwCFwYXFGAaqHC56oIIwgXFJAbUJLwpgHI4qPDIwpIFR4wWDLwa6BAAQHDVIYYCC/gYCC453MPIR3HU5gADd5bXHC4rvJMAYAECwJeCd5MjGAjVDC4ZHGNARIFGAgNDFw5IJUogwFC4gwBDAhGBBghIFBQhhBbYguEPAweCDAgACCwZACNg5LFXQYsIC5QAFdg4XcCxJHNBwYTEC6A+BJYQEEC5YYBMYhbCCxo0GCaIXbAHgA=")) \ No newline at end of file diff --git a/apps/cogclock/icon.png b/apps/cogclock/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8520fcf5d0cfff4f509021448b25abf4a63e6604 GIT binary patch literal 11242 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 Cc70L+ literal 0 HcmV?d00001 diff --git a/apps/cogclock/metadata.json b/apps/cogclock/metadata.json new file mode 100644 index 000000000..ab47c43a1 --- /dev/null +++ b/apps/cogclock/metadata.json @@ -0,0 +1,16 @@ +{ + "id": "cogclock", + "name": "Cog Clock", + "version": "0.01", + "description": "A clock inside a cog", + "icon": "icon.png", + "screenshots": [{"url":"screenshot.png"}], + "type": "clock", + "tags": "clock", + "supports": ["BANGLEJS"], + "allow_emulator": true, + "storage": [ + {"name":"cogclock.app.js","url":"app.js"}, + {"name":"cogclock.img","url":"icon.js","evaluate":true} + ] +} diff --git a/apps/cogclock/screenshot.png b/apps/cogclock/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..f49709aef266bf4555139c86171fcbd73dcad4d8 GIT binary patch literal 5887 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 literal 0 HcmV?d00001 From 9cf64f5d98e33a717f1514dd1470e72cbac59a3e Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 12 Apr 2022 00:38:12 +0200 Subject: [PATCH 069/306] cogclock: setUI before loading widgets --- apps/cogclock/app.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/cogclock/app.js b/apps/cogclock/app.js index ba423fec1..277eadd3a 100644 --- a/apps/cogclock/app.js +++ b/apps/cogclock/app.js @@ -4,7 +4,9 @@ Graphics.prototype.setFont16x32N = function() { ), "0".charCodeAt(0), 16, 32); }; -Bangle.loadWidgets(); +Bangle.setUI("clock"); // set UI first, so widgets know about Bangle.CLOCK +Bangle.loadWidgets(); // load widgets, so Bangle.appRect knows about them + const r1 = 84, // inner radius r3 = Math.min(Bangle.appRect.w/2, Bangle.appRect.h/2), // outer radius r2 = (r1*3+r3*2)/5, @@ -99,7 +101,6 @@ function draw() { } g.clear(); Bangle.drawWidgets(); -Bangle.setUI("clock"); Bangle.on("lcdPower", on => { if (timeOut) { clearTimeout(timeOut); From 452b3298934ae0980275fa3a49f537ed938e0690 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Mon, 18 Apr 2022 15:14:32 +0200 Subject: [PATCH 070/306] cogclock: fix missing g.reset() --- apps/cogclock/app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/cogclock/app.js b/apps/cogclock/app.js index 277eadd3a..2734b9a17 100644 --- a/apps/cogclock/app.js +++ b/apps/cogclock/app.js @@ -37,6 +37,7 @@ function addTooth(poly, n) { } function drawCog() { + g.reset(); g.drawCircle(x, y, r1); let poly = []; for(let t = 1; t<=teeth; t++) { From c4c0a55ceac8128297961c6183fb798b4bc2f2df Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Sun, 24 Apr 2022 19:43:34 +0200 Subject: [PATCH 071/306] cogclock: improve font --- apps/cogclock/15x32.png | Bin 0 -> 6247 bytes apps/cogclock/app.js | 17 +++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 apps/cogclock/15x32.png diff --git a/apps/cogclock/15x32.png b/apps/cogclock/15x32.png new file mode 100644 index 0000000000000000000000000000000000000000..0af326e718290e8f9f6445a30109f47dc8213ba9 GIT binary patch literal 6247 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 RU=;uW002ovPDHLkV1l)@#DM?+ literal 0 HcmV?d00001 diff --git a/apps/cogclock/app.js b/apps/cogclock/app.js index 2734b9a17..73a709e88 100644 --- a/apps/cogclock/app.js +++ b/apps/cogclock/app.js @@ -1,7 +1,8 @@ -Graphics.prototype.setFont16x32N = function() { +Graphics.prototype.setFont15x32N = function() { this.setFontCustom(atob( - "/////v////7////+4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO/////v////7////+AAAAAOAAAA7gAAAO4AAADuAAAA7gAAAO4AAADv////7////+/////gAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAADgA//+4AP//uAD//7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7//4AO//+ADv//gA4AAAAA4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO/////v////7////+AAAAAP//gAD//4AA//+AAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAP////7////+/////gAAAAD//4AO//+ADv//gA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA//+4AP//uAD//4AAAAA/////v////7////+4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AP//uAD//7gA//+AAAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAP////7////+/////gAAAAD////+/////v////7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7////+/////v////4AAAAA//+ADv//gA7//4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO4AOADuADgA7gA4AO/////v////7////+AAAAAA==" - ), "0".charCodeAt(0), 16, 32); + // 15x32.png, converted using http://ebfc.mattbrailsford.com/ + "/////oAAAAKAAAACgAAAAoAAAAKAAAACgf//AoEAAQKB//8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+/wAB/oEAAQKBAAECgf//AoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAC////AgAAAQIAAAH+/w///oEIAAKBCAACgQgAAoEIAAKBCAACgQg/AoEIIQKB+CECgAAhAoAAIQKAACECgAAhAoAAIQL//+H+/w/h/oEIIQKBCCECgQghAoEIIQKBCCECgQghAoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+///gAIAAIACAACAAgAAgAIAAIAD/+CAAAAggAAAIIAAACD/+//gAAoAAAAKAAAACgAAAAoAAAAL////+///h/oAAIQKAACECgAAhAoAAIQKAACECgfghAoEIIQKBCD8CgQgAAoEIAAKBCAACgQgAAoEIAAL/D//+/////oAAAAKAAAACgAAAAoAAAAKAAAACgfg/AoEIIQKBCD8CgQgAAoEIAAKBCAACgQgAAoEIAAL/D//+/wAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIH///6AAAACgAAAAoAAAAKAAAACgAAAAoAAAAL////+/////oAAAAKAAAACgAAAAoAAAAKAAAACgfg/AoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+///h/oAAIQKAACECgAAhAoAAIQKAACECgfghAoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+" + ), "0".charCodeAt(0), 15, 32); }; Bangle.setUI("clock"); // set UI first, so widgets know about Bangle.CLOCK @@ -69,15 +70,15 @@ function draw() { tooth = Math.round(d.getSeconds()/60*teeth), m = d.getMilliseconds(); if (year!==last.year) { - g.setFont("16x32N").setFontAlign(0, -1) // center top - .drawString(year, x, y+34, true); + g.setFont("15x32N").setFontAlign(0, -1) // center top + .drawString(year, x, y+32, true); } if (date!==last.date) { - g.setFont("16x32N").setFontAlign(0, 1) // center bottom - .drawString(date, x, y-34, true); + g.setFont("15x32N").setFontAlign(0, 1) // center bottom + .drawString(date, x, y-32, true); } if (time!==last.time) { - g.setFont("16x32N:2").setFontAlign(0, 0) // center middle + g.setFont("15x32N:2").setFontAlign(0, 0) // center middle .drawString(time, x, y, true); } if (tooth!==last.tooth) { From 944c709629dad89d0d7e9a33942a19822c27a4d0 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Sun, 24 Apr 2022 19:56:19 +0200 Subject: [PATCH 072/306] cogclock: replace date with rectangles todo: makt this a setting --- apps/cogclock/app.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/apps/cogclock/app.js b/apps/cogclock/app.js index 73a709e88..bb925e7e1 100644 --- a/apps/cogclock/app.js +++ b/apps/cogclock/app.js @@ -4,7 +4,7 @@ Graphics.prototype.setFont15x32N = function() { "/////oAAAAKAAAACgAAAAoAAAAKAAAACgf//AoEAAQKB//8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+/wAB/oEAAQKBAAECgf//AoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAC////AgAAAQIAAAH+/w///oEIAAKBCAACgQgAAoEIAAKBCAACgQg/AoEIIQKB+CECgAAhAoAAIQKAACECgAAhAoAAIQL//+H+/w/h/oEIIQKBCCECgQghAoEIIQKBCCECgQghAoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+///gAIAAIACAACAAgAAgAIAAIAD/+CAAAAggAAAIIAAACD/+//gAAoAAAAKAAAACgAAAAoAAAAL////+///h/oAAIQKAACECgAAhAoAAIQKAACECgfghAoEIIQKBCD8CgQgAAoEIAAKBCAACgQgAAoEIAAL/D//+/////oAAAAKAAAACgAAAAoAAAAKAAAACgfg/AoEIIQKBCD8CgQgAAoEIAAKBCAACgQgAAoEIAAL/D//+/wAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIH///6AAAACgAAAAoAAAAKAAAACgAAAAoAAAAL////+/////oAAAAKAAAACgAAAAoAAAAKAAAACgfg/AoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+///h/oAAIQKAACECgAAhAoAAIQKAACECgfghAoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+" ), "0".charCodeAt(0), 15, 32); }; - +const SHOW_DATE = false; // TODO: make into setting? Bangle.setUI("clock"); // set UI first, so widgets know about Bangle.CLOCK Bangle.loadWidgets(); // load widgets, so Bangle.appRect knows about them @@ -69,18 +69,24 @@ function draw() { time = pad2(d.getHours())+pad2(d.getMinutes()), tooth = Math.round(d.getSeconds()/60*teeth), m = d.getMilliseconds(); - if (year!==last.year) { - g.setFont("15x32N").setFontAlign(0, -1) // center top - .drawString(year, x, y+32, true); - } - if (date!==last.date) { - g.setFont("15x32N").setFontAlign(0, 1) // center bottom - .drawString(date, x, y-32, true); - } if (time!==last.time) { g.setFont("15x32N:2").setFontAlign(0, 0) // center middle .drawString(time, x, y, true); } + if (SHOW_DATE) { + if (year!==last.year) { + g.setFont("15x32N").setFontAlign(0, -1) // center top + .drawString(year, x, y+32, true); + } + if (date!==last.date) { + g.setFont("15x32N").setFontAlign(0, 1) // center bottom + .drawString(date, x, y-32, true); + } + } + else if (time!==last.time) { + g.fillRect(x-30, y-60, x+29, y-33).clearRect(x-28, y-58, x+27, y-33); + g.fillRect(x-30, y+60, x+29, y+30).clearRect(x-28, y+58, x+27, y+30); + } if (tooth!==last.tooth) { if (tooth>last.tooth) { for(let t = last.tooth; t<=tooth; t++) { // fill missing teeth From 17cb0de69e27c458cd698aa68711c1e207ecdba5 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 26 Apr 2022 19:13:56 +0200 Subject: [PATCH 073/306] cogclock: fill cog --- apps/cogclock/app.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/cogclock/app.js b/apps/cogclock/app.js index bb925e7e1..c186cd881 100644 --- a/apps/cogclock/app.js +++ b/apps/cogclock/app.js @@ -39,12 +39,15 @@ function addTooth(poly, n) { function drawCog() { g.reset(); - g.drawCircle(x, y, r1); - let poly = []; + g.setColor(g.theme.bg2).fillCircle(x, y, r2) // fill cog + .setColor(g.theme.bg).fillCircle(x, y, r1) // clear center + .setColor(g.theme.fg2).drawCircle(x, y, r1); // draw inner border + let poly = []; // complete teeth outline for(let t = 1; t<=teeth; t++) { + fillTooth(t, g.theme.bg2); addTooth(poly, t); } - g.drawPoly(poly, true); + g.drawPoly(poly, true); // draw outer border } /** * @param {number} n Tooth number to fill (1-based) @@ -55,7 +58,7 @@ function fillTooth(n, col) { let poly = []; addTooth(poly, n); g.setColor(col).fillPoly(poly) - .setColor(g.theme.fg).drawPoly(poly); // fillPoly colored over the outline + .setColor(g.theme.fg2).drawPoly(poly); // fillPoly colored over the outline } let last = {tooth: 0}, timeOut; @@ -82,8 +85,7 @@ function draw() { g.setFont("15x32N").setFontAlign(0, 1) // center bottom .drawString(date, x, y-32, true); } - } - else if (time!==last.time) { + } else if (time!==last.time) { g.fillRect(x-30, y-60, x+29, y-33).clearRect(x-28, y-58, x+27, y-33); g.fillRect(x-30, y+60, x+29, y+30).clearRect(x-28, y+58, x+27, y+30); } @@ -94,7 +96,7 @@ function draw() { } } else { for(let t = last.tooth; t>tooth; t--) { // erase extraneous teeth - fillTooth(t, g.theme.bg); + fillTooth(t, g.theme.bg2); } } } From 66a36ec215ecc809055db5d783dea61d502868d2 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Fri, 27 May 2022 18:37:55 +0200 Subject: [PATCH 074/306] cogclock: new clock --- apps/cogclock/ChangeLog | 2 + apps/cogclock/app.js | 147 +++++++++++++++++------------------- apps/cogclock/metadata.json | 8 +- apps/cogclock/settings.js | 19 +++++ 4 files changed, 95 insertions(+), 81 deletions(-) create mode 100644 apps/cogclock/ChangeLog create mode 100644 apps/cogclock/settings.js diff --git a/apps/cogclock/ChangeLog b/apps/cogclock/ChangeLog new file mode 100644 index 000000000..3158b6116 --- /dev/null +++ b/apps/cogclock/ChangeLog @@ -0,0 +1,2 @@ +0.01: New clock +0.02: Use ClockFace library, add settings diff --git a/apps/cogclock/app.js b/apps/cogclock/app.js index c186cd881..d24031684 100644 --- a/apps/cogclock/app.js +++ b/apps/cogclock/app.js @@ -4,18 +4,6 @@ Graphics.prototype.setFont15x32N = function() { "/////oAAAAKAAAACgAAAAoAAAAKAAAACgf//AoEAAQKB//8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+/wAB/oEAAQKBAAECgf//AoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAC////AgAAAQIAAAH+/w///oEIAAKBCAACgQgAAoEIAAKBCAACgQg/AoEIIQKB+CECgAAhAoAAIQKAACECgAAhAoAAIQL//+H+/w/h/oEIIQKBCCECgQghAoEIIQKBCCECgQghAoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+///gAIAAIACAACAAgAAgAIAAIAD/+CAAAAggAAAIIAAACD/+//gAAoAAAAKAAAACgAAAAoAAAAL////+///h/oAAIQKAACECgAAhAoAAIQKAACECgfghAoEIIQKBCD8CgQgAAoEIAAKBCAACgQgAAoEIAAL/D//+/////oAAAAKAAAACgAAAAoAAAAKAAAACgfg/AoEIIQKBCD8CgQgAAoEIAAKBCAACgQgAAoEIAAL/D//+/wAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIH///6AAAACgAAAAoAAAAKAAAACgAAAAoAAAAL////+/////oAAAAKAAAACgAAAAoAAAAKAAAACgfg/AoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+///h/oAAIQKAACECgAAhAoAAIQKAACECgfghAoEIIQKB+D8CgAAAAoAAAAKAAAACgAAAAoAAAAL////+" ), "0".charCodeAt(0), 15, 32); }; -const SHOW_DATE = false; // TODO: make into setting? -Bangle.setUI("clock"); // set UI first, so widgets know about Bangle.CLOCK -Bangle.loadWidgets(); // load widgets, so Bangle.appRect knows about them - -const r1 = 84, // inner radius - r3 = Math.min(Bangle.appRect.w/2, Bangle.appRect.h/2), // outer radius - r2 = (r1*3+r3*2)/5, - teeth = 12, - edge = 0.45, point = 0.35; // as fraction of arc - -const x = Bangle.appRect.x+Bangle.appRect.w/2, - y = Bangle.appRect.y+Bangle.appRect.h/2; /** * Add coordinates for nth tooth to vertices @@ -24,9 +12,11 @@ const x = Bangle.appRect.x+Bangle.appRect.w/2, */ function addTooth(poly, n) { const - tau = Math.PI*2, arc = tau/teeth, - e = arc*edge, p = arc*point, s = (arc-(e+p))/2; // edge,point,slopes - const sin = Math.sin, cos = Math.cos; + tau = Math.PI*2, arc = tau/clock.teeth, + e = arc*clock.edge, p = arc*clock.point, s = (arc-(e+p))/2; // edge,point,slopes + const sin = Math.sin, cos = Math.cos, + x = clock.x, y = clock.y, + r2 = clock.r2, r3 = clock.r3; let r = (n-1)*arc+e/2; // rads poly.push(x+r2*sin(r), y-r2*cos(r)); r += s; @@ -37,18 +27,6 @@ function addTooth(poly, n) { poly.push(x+r2*sin(r), y-r2*cos(r)); } -function drawCog() { - g.reset(); - g.setColor(g.theme.bg2).fillCircle(x, y, r2) // fill cog - .setColor(g.theme.bg).fillCircle(x, y, r1) // clear center - .setColor(g.theme.fg2).drawCircle(x, y, r1); // draw inner border - let poly = []; // complete teeth outline - for(let t = 1; t<=teeth; t++) { - fillTooth(t, g.theme.bg2); - addTooth(poly, t); - } - g.drawPoly(poly, true); // draw outer border -} /** * @param {number} n Tooth number to fill (1-based) * @param col Fill color @@ -61,62 +39,73 @@ function fillTooth(n, col) { .setColor(g.theme.fg2).drawPoly(poly); // fillPoly colored over the outline } -let last = {tooth: 0}, timeOut; -function draw() { - if (!Bangle.isLCDOn()) return; // no drawing, also no new update scheduled - g.reset(); - const pad2 = num => (num<10 ? "0" : "")+num, - d = new Date(), - year = d.getFullYear(), - date = pad2(d.getDate())+pad2(d.getMonth()), - time = pad2(d.getHours())+pad2(d.getMinutes()), - tooth = Math.round(d.getSeconds()/60*teeth), - m = d.getMilliseconds(); - if (time!==last.time) { - g.setFont("15x32N:2").setFontAlign(0, 0) // center middle - .drawString(time, x, y, true); - } - if (SHOW_DATE) { - if (year!==last.year) { - g.setFont("15x32N").setFontAlign(0, -1) // center top - .drawString(year, x, y+32, true); +const ClockFace = require("ClockFace"); +const clock = new ClockFace({ + precision: 1, + settingsFile: "cogclock.settings.json", + init: function() { + this.r1 = 84; // inner radius + this.r3 = Math.min(Bangle.appRect.w/2, Bangle.appRect.h/2); // outer radius + this.r2 = (this.r1*3+this.r3*2)/5; + this.teeth = 12; + this.edge = 0.45; + this.point = 0.35; // as fraction of arc + this.x = Bangle.appRect.x+Bangle.appRect.w/2; + this.y = Bangle.appRect.y+Bangle.appRect.h/2; + }, + draw: function(d) { + const x = this.x, y = this.y; + g.setColor(g.theme.bg2).fillCircle(x, y, this.r2) // fill cog + .setColor(g.theme.bg).fillCircle(x, y, this.r1) // clear center + .setColor(g.theme.fg2).drawCircle(x, y, this.r1); // draw inner border + let poly = []; // complete teeth outline + for(let t = 1; t<=this.teeth; t++) { + fillTooth(t, g.theme.bg2); + addTooth(poly, t); } - if (date!==last.date) { - g.setFont("15x32N").setFontAlign(0, 1) // center bottom - .drawString(date, x, y-32, true); + g.drawPoly(poly, true); // draw outer border + if (!this.showDate) { + // draw top/bottom rectangles (instead of year/date) + g.reset() + .fillRect(x-30, y-60, x+29, y-33).clearRect(x-28, y-58, x+27, y-33) + .fillRect(x-30, y+60, x+29, y+30).clearRect(x-28, y+58, x+27, y+30); } - } else if (time!==last.time) { - g.fillRect(x-30, y-60, x+29, y-33).clearRect(x-28, y-58, x+27, y-33); - g.fillRect(x-30, y+60, x+29, y+30).clearRect(x-28, y+58, x+27, y+30); - } - if (tooth!==last.tooth) { - if (tooth>last.tooth) { - for(let t = last.tooth; t<=tooth; t++) { // fill missing teeth - fillTooth(t, g.theme.fg2); - } - } else { - for(let t = last.tooth; t>tooth; t--) { // erase extraneous teeth - fillTooth(t, g.theme.bg2); + this.tooth = 0; + this.update(d, {s: 1, m: 1, h: 1, d: 1}); + }, + update: function(d, c) { + g.reset(); + const pad2 = num => (num<10 ? "0" : "")+num, + year = d.getFullYear(), + date = pad2(d.getDate())+pad2(d.getMonth()), + time = pad2(d.getHours())+pad2(d.getMinutes()), + tooth = Math.round(d.getSeconds()/60*this.teeth); + const x = this.x, y = this.y; + if (c.m) { + g.setFont("15x32N:2").setFontAlign(0, 0) // center middle + .drawString(time, x, y, true); + } + if (this.showDate) { + if (c.d) { + g.setFont("15x32N").setFontAlign(0, -1) // center top + .drawString(year, x, y+32, true) + .setFont("15x32N").setFontAlign(0, 1) // center bottom + .drawString(date, x, y-32, true); } } - } - last = { - year: year, - date: date, - time: time, - tooth: tooth, - }; - timeOut = setTimeout(draw, 1000-m); -} -g.clear(); -Bangle.drawWidgets(); -Bangle.on("lcdPower", on => { - if (timeOut) { - clearTimeout(timeOut); - timeOut = undefined; + if (tooth!==this.tooth) { + if (tooth>this.tooth) { + for(let t = this.tooth; t<=tooth; t++) { // fill missing teeth + fillTooth(t, g.theme.fg2); + } + } else { + for(let t = this.tooth; t>tooth; t--) { // erase extraneous teeth + fillTooth(t, g.theme.bg2); + } + } + } + this.tooth = tooth; } - if (on) draw(); }); -drawCog(); -draw(); +clock.start(); diff --git a/apps/cogclock/metadata.json b/apps/cogclock/metadata.json index ab47c43a1..40733bcd1 100644 --- a/apps/cogclock/metadata.json +++ b/apps/cogclock/metadata.json @@ -1,8 +1,8 @@ { "id": "cogclock", "name": "Cog Clock", - "version": "0.01", - "description": "A clock inside a cog", + "version": "0.02", + "description": "A cross-shaped clock inside a cog", "icon": "icon.png", "screenshots": [{"url":"screenshot.png"}], "type": "clock", @@ -11,6 +11,10 @@ "allow_emulator": true, "storage": [ {"name":"cogclock.app.js","url":"app.js"}, + {"name":"cogclock.settings.js","url":"settings.js"}, {"name":"cogclock.img","url":"icon.js","evaluate":true} + ], + "data": [ + {"name": "cogclock.settings.json"} ] } diff --git a/apps/cogclock/settings.js b/apps/cogclock/settings.js new file mode 100644 index 000000000..4eadc32c2 --- /dev/null +++ b/apps/cogclock/settings.js @@ -0,0 +1,19 @@ +(function(back) { + let s = require('Storage').readJSON("cogclock.settings.json", true) || {}; + + function saver(key) { + return value => { + s[key] = value; + require('Storage').writeJSON("cogclock.settings.json", s); + } + } + + const menu = { + "": {"title": /*LANG*/"Cog Clock"}, + /*LANG*/"< Back": back, + /*LANG*/"Show date": require("ClockFace_menu").showDate(s.showDate, saver('showDate')), + /*LANG*/"Load widgets": require("ClockFace_menu").loadWidgets(s.loadWidgets, saver('loadWidgets')), + }; + + E.showMenu(menu); +}); From 208ac30a3931d6f880bc41db8af83bb7ed78a3c7 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 11:28:06 -0800 Subject: [PATCH 075/306] Add files via upload --- apps/invader/ChangeLog | 1 + apps/invader/README.md | 25 ++++++++ apps/invader/app-icon.js | 1 + apps/invader/app.js | 110 ++++++++++++++++++++++++++++++++++++ apps/invader/app.png | Bin 0 -> 665 bytes apps/invader/metadata.json | 14 +++++ apps/invader/screenshot.png | Bin 0 -> 1707 bytes 7 files changed, 151 insertions(+) create mode 100644 apps/invader/ChangeLog create mode 100644 apps/invader/README.md create mode 100644 apps/invader/app-icon.js create mode 100644 apps/invader/app.js create mode 100644 apps/invader/app.png create mode 100644 apps/invader/metadata.json create mode 100644 apps/invader/screenshot.png diff --git a/apps/invader/ChangeLog b/apps/invader/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/invader/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/invader/README.md b/apps/invader/README.md new file mode 100644 index 000000000..dc139bc9a --- /dev/null +++ b/apps/invader/README.md @@ -0,0 +1,25 @@ +# App Name + +Describe the app... + +Add screen shots (if possible) to the app folder and link then into this file with ![](.png) + +## Usage + +Describe how to use it + +## Features + +Name the function + +## Controls + +Name the buttons and what they are used for + +## Requests + +Name who should be contacted for support/update requests + +## Creator + +Your name diff --git a/apps/invader/app-icon.js b/apps/invader/app-icon.js new file mode 100644 index 000000000..dc7003c84 --- /dev/null +++ b/apps/invader/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwhHXAH4A/AH4A/AH4AYgAACC/4X/C/YbTFbYv/F/4rTAC4v/F/4vfC5YnPGaYv/F/4vLc7b3TF/4v/F/4v/F/4vTA5YAPE64v/F/4fTa55DXF/4v/AH4A/AH4A/AH4A/AHIA==")) diff --git a/apps/invader/app.js b/apps/invader/app.js new file mode 100644 index 000000000..aabc0022a --- /dev/null +++ b/apps/invader/app.js @@ -0,0 +1,110 @@ +// Brian Kumanchik +// Started 05-25-22 +// My Invader Demo, for Bangle.js 2, written JavaScript - using Espruino Web IDE + + + +// - variables ----------------------------------------- +// invader variables +var inv_x = 77; +var inv_y = 20; + +// turret variables +var tur_x = 77; +var tur_y = 138; + +// misc variables +var score = 999; +var lives = 3; +var game_over = false; + +// input(screen controller) variables +var BTNL, BTNR, BTNF; +var tap = {}; +// use tapping on screen for left and right +Bangle.on('drag',e=>tap=e); +BTNL = { read : _=>tap.b && tap.x < 88 && tap.y > 88}; +BTNR = { read : _=>tap.b && tap.x > 88 && tap.y > 88}; +BTNF = { read : _=>tap.b && tap.x > 88 && tap.y < 88}; + + + +// - sprites ------------------------------------------- +// invader sprites +var invader_a = + require("heatshrink").decompress(atob("kEgwkBiMRgACBAAQFFBJIPJBQgOKB55MGB64JCBoYQIB5yOKB+qvIA6pxHX5YPOAH4A/AH4A8A==")); +var invader_b = + require("heatshrink").decompress(atob("kEgxH+AAYJBAwgLQCaYfPB4oVHBpofnSpofvCY4HND9oAPD9IhTDpYfhd6IftN6IPtAH4A/AH4A/AH4A/AH4A9A=")); +var boom = + require("heatshrink").decompress(atob("kEgxH+AH4AFJYIHND9YTFAoYJJD9YRNMLKhbX/IRBV6JvND7p//f/4RHAoYJJD9a//AH4A/AH4A/AH4A9A==")); +var inv_shot = + require("heatshrink").decompress(atob("kEgxH+AH4A/ABaRBD/pB/Hv69/IP4A/AH4A/AH4A/AH4A/AH4AzA")); + +// turret sprites +var turret = + require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/ABcAgAf7DoIADD/4fxC4oAPD84dVEJIf/D/4f/D74=")); +var tur_exp_a = + require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/AAcAgATdD7YbJBJYLFAoYffDKqLXD6qlVB86lHLYoFDS5offA5YbRD8YZHABLbRD7aZLD5IlJD7YA=")); +var tur_exp_b = + require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/AAcAgATdD7YbJBJYLFAoYffDKqLXD6qlVB86lHLYoFDS5offA5YbRD8YZHABLbRD7aZLD5IlJD7YA=")); +var shot = + require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/ABcAgAf/D/4f9AH4A/AH4A/AH4A/AH4A/AGY")); + + + +// - setup stuff --------------------------------------- +function gameStart() { + setInterval(onFrame, 50); +} + + + +// - main loop ----------------------------------------- +function onFrame() { + // if not game over + if(game_over == false) { + g.clear(); + + + // check input (screen presses) + if(BTNL.read()) { + tur_x -= 5; + } + else if(BTNR.read()) { + tur_x += 5; + } + else if(BTNF.read()) { + tur_y -= 5; + } + + + // - draw sprites ---------------------------------- + // draw invader sprites + g.drawImage(invader_a, inv_x, inv_y); + //g.drawImage(invader_b, inv_x + 30, inv_y); + //g.drawImage(boom, inv_x + 60, inv_y); + //g.drawImage(inv_shot, inv_x - 30, inv_y); + + // draw turret sprites + g.drawImage(turret, tur_x, tur_y); + //g.drawImage(tur_exp_a, tur_x + 30, tur_y); + //g.drawImage(tur_exp_b, tur_x + 60, tur_y); + //g.drawImage(shot, tur_x - 30, tur_y); + + + // - draw text ------------------------------------- + g.setFont("4x6", 2); + g.setColor(0,0,0); + g.drawString("SCORE:" + score ,5,5); // + g.drawString("LIVES:" + lives ,117,5); // + + + g.flip(); + } +} + + + +gameStart(); + + diff --git a/apps/invader/app.png b/apps/invader/app.png new file mode 100644 index 0000000000000000000000000000000000000000..3b9f822056531de84e9fe8641d57c4ab7e43c300 GIT binary patch literal 665 zcmV;K0%rY*P)EX>4Tx04R}tkv&MmKpe$iQ%gl!MC>5ykfAzRkSgLRRV;#q(pG5I!Q|2}Xws0h zxHt-~1qVMCs}3&Cx;nTDg5U>;qmz@Oi)x!1rQVA7g-j7icvs>-*TUS|@<_8Mx9q{%RAL{Up87 z(ZWYS|2A-O-O=Pd;Bp5TdeS9BvL!D~p-=$c&*+n`u^?e6X0GwuF<0Hy{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j&GE5i~ng^xj1P005OqL_t(&-tCx63cw%?L{0Jj zS5DUz#L#@&z?+>Q!ox|%D5|QXv98fv0000$b4}|;5qYemyYJicu@C@NHL!ZpTN6<= zg@pj{wqNUWdi89!$N>Pp&ViHXPr2aD6>CmlApoLspt{dT{gk(LU(SP%HFop!|0#d)WR+w3 zw

r=6?}^4FYys8yf7tJ}v&lbnU=$u^$Exjz9jmU;O*8%J+XiE_kM95NciAm|UGv1ecuvFpd-u}n8U9}_IREcK z?azku|5(odJF?EM-fYI^_X_26&%gN@U;FRHuU@D5U#o5JZ~lFL-?{#0f4|CBlrU}9 z|M2Sb`F$4_a~GHXKau?HPnrGyH$VIGKA!v6@V}Vx{J)mIxC2=Z>%XThwsr59KP!1R zyI1bM?4wtIb~E|K&ez^vu>4))`nn3?4_RH=$2or-%{4u6as7ge){oz8=UeQ*b+!G= z^yY}uy7gCXewMxKBvX63pzPlZ^Pe}v?P~dLeud8EiaL<4|M1S|b8O#IneD3In>R@@ z&aG{a_@t#IZ&Reug?*57nyk=e5)eSg^JMBR41 z2Xmgjw7(%xz!!VK(t9!&6O-P8=$XO-1?Mg;X=-TTei8PJg=NlWla&ez514jMwPa*` zuH&o4!Lg$uFV)XsRLf|H4dn#GuWl>XKfm90{(0$bwd+Nh_C2iPu8`l<@crh#z3snu z9kMP2WsB4HYMd3y@77;rx|gBzpmzt;KF06Y+s(HN{9dz{Ievp}Rr_9pOWQ>!S1`?E z`Th4L)4m3AtB?cS6LudeU2Rxz$YPUU_T%e~Lo4|CKbGE(2sx0v_;P%|ZjaChR})5k zhFz@@4!27>8pIP=_dv5QFuUho2Il4l(GN_wmN~QRVbFfSy2ZDhqe6Ji#_t>)KjhM* f%{cM#{;)rs6=x$HfA9&g_F?dJ^>bP0l+XkKTNVEM literal 0 HcmV?d00001 From d89d15ec78714567a1a90b78b5822579c432c4c9 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 11:56:40 -0800 Subject: [PATCH 076/306] Add files via upload --- apps/invader/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index e211ac3f6..43b832cb8 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -2,9 +2,9 @@ "name": "Invader", "shortName":"Invader", "version":"0.01", - "description": "A Space Invader game-like demo", + "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", - "tags": "", + "tags": "game", "supports" : ["BANGLEJS2"], "readme": "README.md", "storage": [ From a8e348dd59c197564f06d1e15f095fcfa774a2fa Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 12:03:35 -0800 Subject: [PATCH 077/306] Add files via upload --- apps/invader/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/invader/README.md b/apps/invader/README.md index dc139bc9a..1b04e585e 100644 --- a/apps/invader/README.md +++ b/apps/invader/README.md @@ -6,20 +6,20 @@ Add screen shots (if possible) to the app folder and link then into this file wi ## Usage -Describe how to use it +For fun, I'm learning js with the Bangle ## Features -Name the function +Shoot the Alien ## Controls -Name the buttons and what they are used for +Lower Left and Right hand sides of the screen to move turret left or right, upper Right hand part of screen to fire ## Requests -Name who should be contacted for support/update requests +Brian Kumanchik ## Creator -Your name +Brian Kumanchik From 8574ef736a97242e80686c017ea079337494b826 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 12:17:31 -0800 Subject: [PATCH 078/306] Add files via upload --- apps/invader/README.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/invader/README.md b/apps/invader/README.md index 1b04e585e..7941deafa 100644 --- a/apps/invader/README.md +++ b/apps/invader/README.md @@ -1,24 +1,22 @@ # App Name -Describe the app... - -Add screen shots (if possible) to the app folder and link then into this file with ![](.png) +Invader, I'm creating this demo to learn JavaScript with the Bangle.js 2 ## Usage -For fun, I'm learning js with the Bangle +For fun! ## Features -Shoot the Alien +Shoot the Alien, you have three lives ## Controls -Lower Left and Right hand sides of the screen to move turret left or right, upper Right hand part of screen to fire +Touch the lower Left or Right hand sides of the screen to move turret left or right, tap upper Right hand part of screen to fire ## Requests -Brian Kumanchik +bkumanchik on Espruino Forums ## Creator From cae5f1b9277312a84aa05cb9a9449f4fc0227907 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 12:35:00 -0800 Subject: [PATCH 079/306] Add files via upload --- apps/invader/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index 43b832cb8..b1c1805d3 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -4,6 +4,7 @@ "version":"0.01", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", + "screenshots" : "screenshot.png", "tags": "game", "supports" : ["BANGLEJS2"], "readme": "README.md", From 1c9f6e7879ef3c3f04657ea1f22838c7231202b3 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 12:40:57 -0800 Subject: [PATCH 080/306] Add files via upload --- apps/invader/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index b1c1805d3..f3beedb50 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -4,7 +4,7 @@ "version":"0.01", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", - "screenshots" : "screenshot.png", + "screenshots" : [ { "url":"screenshot.png" } ], "tags": "game", "supports" : ["BANGLEJS2"], "readme": "README.md", From e6fe23211609f9caab3cf3228b7ae96b1240ddd7 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 13:41:12 -0800 Subject: [PATCH 081/306] Add files via upload --- apps/invader/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invader/README.md b/apps/invader/README.md index 7941deafa..d7c091ebf 100644 --- a/apps/invader/README.md +++ b/apps/invader/README.md @@ -1,6 +1,6 @@ # App Name -Invader, I'm creating this demo to learn JavaScript with the Bangle.js 2 +Invader - I'm creating this demo to learn JavaScript with the Bangle.js 2 ## Usage From 94d97f8d8d232aaacb04cf89c44fafc86a199929 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 15:42:20 -0800 Subject: [PATCH 082/306] Add files via upload --- apps/invader/app.js | 169 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 140 insertions(+), 29 deletions(-) diff --git a/apps/invader/app.js b/apps/invader/app.js index aabc0022a..9a06b6f41 100644 --- a/apps/invader/app.js +++ b/apps/invader/app.js @@ -3,18 +3,40 @@ // My Invader Demo, for Bangle.js 2, written JavaScript - using Espruino Web IDE +// resolution 176x176 + + +// to do: +// add buzz + // - variables ----------------------------------------- // invader variables -var inv_x = 77; -var inv_y = 20; +var inv_x = 77; +var inv_y = 20; +var i_anim_delay = 10; // invader animation (and move) delay +var inv_frame = 1; // invader start animation frame +var ix_speed = 6; // march speed +var i_dir = 1; // 1 = right, 0 = left +var been_hit = false; // invader hit state +//// shoot variables +var inv_shot_x = -32; +var inv_shot_y = -32; +var inv_fire_pause = 30; +var inv_fired = false; // invader fired state +//// explode variables +var been_hit = false; // invader hit state +var bx = -32; // blast x +var by = -32; // blast y +var blast_delay = 60; // invader blast delay - pause after explosion +var boom_play = false; // turret variables var tur_x = 77; -var tur_y = 138; +var tur_y = 148; // misc variables -var score = 999; +var score = 0; var lives = 3; var game_over = false; @@ -28,27 +50,81 @@ BTNR = { read : _=>tap.b && tap.x > 88 && tap.y > 88}; BTNF = { read : _=>tap.b && tap.x > 88 && tap.y < 88}; - // - sprites ------------------------------------------- // invader sprites var invader_a = - require("heatshrink").decompress(atob("kEgwkBiMRgACBAAQFFBJIPJBQgOKB55MGB64JCBoYQIB5yOKB+qvIA6pxHX5YPOAH4A/AH4A8A==")); + require("heatshrink").decompress(atob("hcIwkBiIBBAQoECCQQFBgEQAIMBEhUBDoYWDAYI=")); var invader_b = - require("heatshrink").decompress(atob("kEgxH+AAYJBAwgLQCaYfPB4oVHBpofnSpofvCY4HND9oAPD9IhTDpYfhd6IftN6IPtAH4A/AH4A/AH4A/AH4A9A=")); + require("heatshrink").decompress(atob("hcIwkBiIBBAQMQAoQEBgISCAYUQAIQAEB4YEBEAgEDAYIA==")); var boom = - require("heatshrink").decompress(atob("kEgxH+AH4AFJYIHND9YTFAoYJJD9YRNMLKhbX/IRBV6JvND7p//f/4RHAoYJJD9a//AH4A/AH4A/AH4A9A==")); + require("heatshrink").decompress(atob("hcJwkBiMQAIURgMQAgIKBAIICFAIMAAwIWBBAYSIEAgrDiA=")); var inv_shot = - require("heatshrink").decompress(atob("kEgxH+AH4A/ABaRBD/pB/Hv69/IP4A/AH4A/AH4A/AH4A/AH4AzA")); + require("heatshrink").decompress(atob("gcFwkBiERiAABAYQ")); // turret sprites -var turret = - require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/ABcAgAf7DoIADD/4fxC4oAPD84dVEJIf/D/4f/D74=")); -var tur_exp_a = - require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/AAcAgATdD7YbJBJYLFAoYffDKqLXD6qlVB86lHLYoFDS5offA5YbRD8YZHABLbRD7aZLD5IlJD7YA=")); -var tur_exp_b = - require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/AAcAgATdD7YbJBJYLFAoYffDKqLXD6qlVB86lHLYoFDS5offA5YbRD8YZHABLbRD7aZLD5IlJD7YA=")); +var turret = + require("heatshrink").decompress(atob("h8IwkBiIABAYYACgAHFiEABggADCAInFgITBAAgOPA==")); +var tur_exp_a = + require("heatshrink").decompress(atob("h8IwkBiMRiACBAAwJEiAABBQgZCAAkAiAJBBoIUBgIABBgQACDIQ9ECQIA==")); +var tur_exp_b = + require("heatshrink").decompress(atob("h8IwkBiIBBAAUBiADCiMQAwQFDCIYXEB4IABgMAEYQXBiEAAQIQBAoIABDAQUCAAIVBA")); var shot = - require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/ABcAgAf/D/4f9AH4A/AH4A/AH4A/AH4A/AGY")); + require("heatshrink").decompress(atob("gMDwkBAoIA==")); + + +// function to move and animate invader +function move_anim_inv() { + // invader anim code + i_anim_delay -= 1; + if ((i_anim_delay < 0) && !(been_hit)) { + i_anim_delay = 10; + + inv_frame += 1; + if (inv_frame > 2) { + inv_frame = 1; + } + + // move right + if (i_dir == 1){ + inv_x += ix_speed; + if (inv_x >= 142) { + inv_y += 8; // step down + i_dir = -1; + } + } + + // move left + if (i_dir < 1){ + inv_x -= ix_speed; + if (inv_x <= 10) { + inv_y += 8; // step down + i_dir = 1; + } + } + } +} + + + +// function to make invader fire +function invader_fire() { + inv_fire_pause -= 1; + + if (!(inv_fired)) { // so once invader shot is fired it doesn't follow the invader still + inv_shot_x = inv_x + 8; + inv_shot_y = inv_y + 18; + } + + if (inv_fire_pause < 0) { + inv_fired = true; + inv_shot_y += 8; + } +} + + + + + @@ -64,32 +140,67 @@ function onFrame() { // if not game over if(game_over == false) { g.clear(); + + // call function to move and animate invader + move_anim_inv(); + + // call function to make invader fire + invader_fire(); // check input (screen presses) - if(BTNL.read()) { - tur_x -= 5; + if(BTNL.read() && tur_x >= 12) { + tur_x -= 6; } - else if(BTNR.read()) { - tur_x += 5; + else if(BTNR.read() && tur_x <= 140) { + tur_x += 6; } else if(BTNF.read()) { tur_y -= 5; } + + + + // check for invader shot going off screen before allowing to fire again + if (inv_shot_y > 150 + ) { + inv_fired = false; + inv_shot_x = inv_x - 1; + inv_shot_y = inv_y + 7; + inv_fire_pause = 30; + } + + + + // - draw sprites ---------------------------------- // draw invader sprites - g.drawImage(invader_a, inv_x, inv_y); - //g.drawImage(invader_b, inv_x + 30, inv_y); - //g.drawImage(boom, inv_x + 60, inv_y); - //g.drawImage(inv_shot, inv_x - 30, inv_y); + if(inv_frame == 1) { + g.drawImage(invader_a, inv_x, inv_y, {scale:2}); + } + else if(inv_frame == 2) { + g.drawImage(invader_b, inv_x, inv_y, {scale:2}); + } + //g.drawImage(invader_b, inv_x + 30, inv_y, {scale:2}); + //g.drawImage(boom, inv_x + 60, inv_y, {scale:2}); + // - invader shot + if (inv_fired) { + //DrawTexture(inv_shot, inv_shot_x, inv_shot_y, WHITE); + g.drawImage(inv_shot, inv_shot_x, inv_shot_y, {scale:2}); + } + else { + //DrawTexture(inv_shot, -32, -32, WHITE); + g.drawImage(inv_shot, -32, -32, {scale:2}); + } + - // draw turret sprites - g.drawImage(turret, tur_x, tur_y); - //g.drawImage(tur_exp_a, tur_x + 30, tur_y); - //g.drawImage(tur_exp_b, tur_x + 60, tur_y); - //g.drawImage(shot, tur_x - 30, tur_y); + // draw turret sprites + g.drawImage(turret, tur_x, tur_y, {scale:2}); + //g.drawImage(tur_exp_a, tur_x + 30, tur_y, {scale:2}); + //g.drawImage(tur_exp_b, tur_x + 60, tur_y, {scale:2}); + //g.drawImage(shot, tur_x - 30, tur_y, {scale:2}); // - draw text ------------------------------------- From a5ed2385d47807d8ea2ea6dc84212e562a5d351b Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Fri, 27 May 2022 15:48:02 -0800 Subject: [PATCH 083/306] Add files via upload --- apps/invader/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index f3beedb50..7e7f5dee2 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.01", + "version":"0.02", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot.png" } ], From c1e9600c1a0ff3d3079410b3afbae33c51fd8095 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Sat, 28 May 2022 08:50:12 +0200 Subject: [PATCH 084/306] Added widshipbell A widget that buzzes according to a nautical bell, one strike at 04:30, two strikes at 05:00, up to eight strikes at 08:00 and so on. --- apps/widshipbell/metadata.json | 16 ++++++++++++ apps/widshipbell/settings.js | 26 ++++++++++++++++++++ apps/widshipbell/widget.js | 43 +++++++++++++++++++++++++++++++++ apps/widshipbell/widget.png | Bin 0 -> 1358 bytes 4 files changed, 85 insertions(+) create mode 100644 apps/widshipbell/metadata.json create mode 100644 apps/widshipbell/settings.js create mode 100644 apps/widshipbell/widget.js create mode 100644 apps/widshipbell/widget.png diff --git a/apps/widshipbell/metadata.json b/apps/widshipbell/metadata.json new file mode 100644 index 000000000..c130b04ee --- /dev/null +++ b/apps/widshipbell/metadata.json @@ -0,0 +1,16 @@ +{ + "id": "widshipbell", + "name": "Ship's bell Widget", + "shortName": "Ship's bell", + "version": "0.01", + "description": "A widget that buzzes according to a nautical bell, one strike at 04:30, two strikes at 05:00, up to eight strikes at 08:00 and so on.", + "icon": "widget.png", + "type": "widget", + "tags": "widget", + "supports": ["BANGLEJS","BANGLEJS2"], + "storage": [ + {"name":"widshipbell.wid.js","url":"widget.js"}, + {"name":"widshipbell.settings.js","url":"settings.js"} + ], + "data": [{"name":"widshipbell.json"}] +} diff --git a/apps/widshipbell/settings.js b/apps/widshipbell/settings.js new file mode 100644 index 000000000..e14a84a90 --- /dev/null +++ b/apps/widshipbell/settings.js @@ -0,0 +1,26 @@ +(function(back) { + var FILE = "widshipbell.json"; + // Load settings + var settings = Object.assign({ + enabled: true, + }, require('Storage').readJSON(FILE, true) || {}); + + function writeSettings() { + require('Storage').writeJSON(FILE, settings); + } + + // Show the menu + E.showMenu({ + "" : { "title" : "Ship's bell" }, + "< Back" : () => back(), + 'Enable?': { + value: !!settings.enabled, // !! converts undefined to false + format: v => v?"Yes":"No", + onchange: v => { + settings.enabled = v; + writeSettings(); + } + }, + }); +}) + diff --git a/apps/widshipbell/widget.js b/apps/widshipbell/widget.js new file mode 100644 index 000000000..7f0716201 --- /dev/null +++ b/apps/widshipbell/widget.js @@ -0,0 +1,43 @@ +(() => { + var settings = Object.assign({ + enabled: true, + }, require('Storage').readJSON("widshipbell.json", true) || {}); + + function check() { + const now = new Date(); + const currentMinute = now.getMinutes(); + const currentSecond = now.getSeconds(); + const etaMinute = 30-(currentMinute % 30); + + if (etaMinute === 30 && currentSecond === 0) { + const strikeHour = now.getHours() % 4; + // buzz now + let pattern=''; + if (strikeHour === 0 && currentMinute == 0) { + pattern = '.. .. .. ..'; + } else if (strikeHour === 0 && currentMinute == 30) { + pattern = '.'; + } else if (strikeHour === 1 && currentMinute == 0) { + pattern = '..'; + } else if (strikeHour === 1 && currentMinute == 30) { + pattern = '.. .'; + } else if (strikeHour === 2 && currentMinute == 0) { + pattern = '.. ..'; + } else if (strikeHour === 2 && currentMinute == 30) { + pattern = '.. .. .'; + } else if (strikeHour === 3 && currentMinute == 0) { + pattern = '.. .. ..'; + } else if (strikeHour === 3 && currentMinute == 30) { + pattern = '.. .. .. .'; + } + require("buzz").pattern(pattern); + } + + const etaSecond = etaMinute*60-currentSecond; + setTimeout(check, etaSecond*1000); + } + + if (settings.enabled === true) { + check(); + } +})(); diff --git a/apps/widshipbell/widget.png b/apps/widshipbell/widget.png new file mode 100644 index 0000000000000000000000000000000000000000..891679f7d6c79d2bebb4883546c51fa2284e9e3f GIT binary patch literal 1358 zcmV-U1+n^xP)V<(Q zdS^5SqJeOwBw!+3P}Ia2L)Ab;;++^sh<^bAfl`bjh>{SXUWcWqeEi$W zK=WF2xxiaMB-@k%T|IeKa$T;N+r~h1y}3}7ZGf$+I{-xF3Fl81Oj;S=K3H7I%@nD7 zLsJo%4^$zTAngQ49jCNv&zbE<*EsztOQyV$_!!{K+UR0MH`uCcfLmuk8zZ%-y$)n1 z0FenWaympNf)N2bq2nG2>7R!VlhU3of5)ZcpAj@S2;7$|_rGdD6`?WoI;!;`1|=h* z>?trO_K`AIp=+<0#wn?+$xtrWG2?pE*49+=om{nwz6%Wy9~tk6mvEMlhD%!^*^)QU<+FUz*-FEdRo1S2 zyrLQyIBoj%yq$teTfq9mO}brDYduzoR5SznBjqH*2a)WKF=)?kf#f;2DJ_E5XnB}K zK9a9BpvMVuB{CDyMOeIy;B>Wr@c?1c;YzSh=OYctfPPMZF~J827bHBbYL>=T?79lqPy+oRJUIJ)nVAMpU0 zl6FXYGobq-vk~11YNGv?N=X@nE5WP+vl@)(zyyB9!(}=WZG}j=N5Ih4C?*6TbQgrj zJ99f+34vJdjGBS?N$A=SnJ!Ptvx&ZzMf4V8krHgN>o@xgq8@aK}StZs7{44rh8Kesgvg%|BO%i1ji%{i_>dZUdQXJp{|0gNvpi z)ehEq=a*~+JMZ@F2YZNFuel}XHjp^Ajcc7RkZOZ;2dG^Xb$KB)VOR^~!2(;)4Iw$8 zP0DYNJvN|=%Bfy|0uMEJzNG8gbD-U-bE-D_52*e8Gy`FK8Y zmVi~`MLgsg0RX8>w4$u?rppCHQv|G9ui~MA0RU>P281TB1@c2y$Sgd+s=`O;dOT0GXS(0LDTf<+tEJa8TxR)o&741^}cs@jb|5xbZCN8LGRB zk;b(F0I5xW3M?x|VQk$~j5I?s03fy22dMhpnY!pmAN837@L&Ky9!=FFyh8TY$pa3! zIV!t>Cj$U$zOyzqACYf+GoIGOey?@=!}CY|yq@Th^PNn;(hk#R^fIDs2*I{pGy|SS zpk-~WW^_zz0tUpB@Ka-eb0=Kh&Q9+`!Ws2#B$} z7h3@lfl)DtMWC}A5^3ma3%o1KdUoo8NHxkFlnJP|V;f&eU81#^20ULao~}37qb%*; zp33Ov``=8y3#xRC4jQ>9V0!25 Date: Sat, 28 May 2022 13:40:41 +0200 Subject: [PATCH 085/306] README updates --- apps/barcode/README.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/barcode/README.md b/apps/barcode/README.md index 72d4d2abd..e9a012413 100644 --- a/apps/barcode/README.md +++ b/apps/barcode/README.md @@ -1,10 +1,10 @@ -# Barcode clock(watch)face +# Barcode clockwatchface -A scannable EAN-8 compatible face for your Bangle 2 +A scannable EAN-8 compatible clockwatchface for your Bangle 2 The format of the bars are -`[HHmm] [MMwc]` +`||HHmm||MMwc||` * Left section: HHmm * H: Hours @@ -14,4 +14,9 @@ The format of the bars are * w: Day of week * c: Calculated EAN-8 digit checksum -This face is aware of theme choice, so it will adapt to Light/Dark themes. +Apart from that + +* The upper left section displays total number of steps per day +* The upper right section displays total number of steps from last boot ("stepuptime") + +This clockwathface is aware of theme choice, so it will adapt to Light/Dark themes. From 41377d6c0304d833f950fde9e1f58263b13e3740 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Sat, 28 May 2022 14:01:20 +0200 Subject: [PATCH 086/306] Clarifying update intervals --- apps/barcode/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/barcode/README.md b/apps/barcode/README.md index e9a012413..17b365d45 100644 --- a/apps/barcode/README.md +++ b/apps/barcode/README.md @@ -18,5 +18,6 @@ Apart from that * The upper left section displays total number of steps per day * The upper right section displays total number of steps from last boot ("stepuptime") +* The face updates every 5 minutes or on demant by pressing the hardware button This clockwathface is aware of theme choice, so it will adapt to Light/Dark themes. From 87a33e16d5e61afe2034ab1494fa645350a825c3 Mon Sep 17 00:00:00 2001 From: Matrixes <46491408+matrixes@users.noreply.github.com> Date: Sat, 28 May 2022 14:37:08 +0200 Subject: [PATCH 087/306] Icon updates --- apps/barcode/barcode.clock.png | Bin 1907 -> 2727 bytes apps/barcode/barcode.icon.png | Bin 574 -> 2393 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/barcode/barcode.clock.png b/apps/barcode/barcode.clock.png index 4df621607c8d32f8caf26b8aa52a2d6a6c5e87af..7d249cdebd5303d03f93b34043021db5f33a986a 100644 GIT binary patch literal 2727 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 mDVb@N2n`k?hL%=FrdCE45DiU#{oVmJFnGH9xvX Date: Sat, 28 May 2022 09:53:00 -0800 Subject: [PATCH 088/306] Add files via upload --- apps/invader/README.md | 6 +- apps/invader/app.js | 361 ++++++++++++++++++++++++---------- apps/invader/metadata.json | 2 +- apps/invader/screenshot_2.png | Bin 0 -> 1878 bytes 4 files changed, 262 insertions(+), 107 deletions(-) create mode 100644 apps/invader/screenshot_2.png diff --git a/apps/invader/README.md b/apps/invader/README.md index d7c091ebf..e0036cb8a 100644 --- a/apps/invader/README.md +++ b/apps/invader/README.md @@ -1,10 +1,10 @@ # App Name -Invader - I'm creating this demo to learn JavaScript with the Bangle.js 2 +Invader ## Usage -For fun! +For fun! - I'm creating this demo to learn JavaScript with the Bangle.js 2 ## Features @@ -12,7 +12,7 @@ Shoot the Alien, you have three lives ## Controls -Touch the lower Left or Right hand sides of the screen to move turret left or right, tap upper Right hand part of screen to fire +Touch the lower Left or Right hand sides of the screen to move turret left or right, tap upper Right hand part of screen to fire, tap upper Left hand part of screen to restart ## Requests diff --git a/apps/invader/app.js b/apps/invader/app.js index 9a06b6f41..59dbb8d42 100644 --- a/apps/invader/app.js +++ b/apps/invader/app.js @@ -1,4 +1,4 @@ -// Brian Kumanchik +// Brian Kumanchik // Started 05-25-22 // My Invader Demo, for Bangle.js 2, written JavaScript - using Espruino Web IDE @@ -7,7 +7,9 @@ // to do: -// add buzz +// random invader restart x +// stop auto fire + // - variables ----------------------------------------- @@ -19,21 +21,29 @@ var inv_frame = 1; // invader start animation frame var ix_speed = 6; // march speed var i_dir = 1; // 1 = right, 0 = left var been_hit = false; // invader hit state -//// shoot variables +// - shoot variables var inv_shot_x = -32; var inv_shot_y = -32; var inv_fire_pause = 30; var inv_fired = false; // invader fired state -//// explode variables +// - explode variables var been_hit = false; // invader hit state var bx = -32; // blast x var by = -32; // blast y -var blast_delay = 60; // invader blast delay - pause after explosion -var boom_play = false; +var blast_delay = 15; // invader blast delay - pause after explosion +var boom_play = false; // turret variables -var tur_x = 77; -var tur_y = 148; +var tur_x = 77; +var tur_y = 148; +var shot_fired = false; // turret fired state +var sx = -20; // turret shot starting x - off screen +var sy = -20; // turret shot starting y - off screen +var turret_been_hit = false; +var turret_blast_delay = 21; // keep blast active on screen for 60 frames +var turret_exp_frame = 1; // turret explode start animation frame +var turret_anim_delay = 3; // turret explode animation delay +var explosion_play = false; // misc variables var score = 0; @@ -41,20 +51,21 @@ var lives = 3; var game_over = false; // input(screen controller) variables -var BTNL, BTNR, BTNF; +var BTNL, BTNR, BTNF, BTNS; // button - left, right, fire, start var tap = {}; // use tapping on screen for left and right Bangle.on('drag',e=>tap=e); BTNL = { read : _=>tap.b && tap.x < 88 && tap.y > 88}; BTNR = { read : _=>tap.b && tap.x > 88 && tap.y > 88}; BTNF = { read : _=>tap.b && tap.x > 88 && tap.y < 88}; +BTNS = { read : _=>tap.b && tap.x < 88 && tap.y < 88}; // - sprites ------------------------------------------- // invader sprites -var invader_a = - require("heatshrink").decompress(atob("hcIwkBiIBBAQoECCQQFBgEQAIMBEhUBDoYWDAYI=")); -var invader_b = +var invader_a = + require("heatshrink").decompress(atob("hcIwkBiIBBAQoECCQQFBgEQAIMBEhUBDoYWDAYI=")); +var invader_b = require("heatshrink").decompress(atob("hcIwkBiIBBAQMQAoQEBgISCAYUQAIQAEB4YEBEAgEDAYIA==")); var boom = require("heatshrink").decompress(atob("hcJwkBiMQAIURgMQAgIKBAIICFAIMAAwIWBBAYSIEAgrDiA=")); @@ -62,152 +73,297 @@ var inv_shot = require("heatshrink").decompress(atob("gcFwkBiERiAABAYQ")); // turret sprites -var turret = +var turret = require("heatshrink").decompress(atob("h8IwkBiIABAYYACgAHFiEABggADCAInFgITBAAgOPA==")); -var tur_exp_a = +var tur_exp_a = require("heatshrink").decompress(atob("h8IwkBiMRiACBAAwJEiAABBQgZCAAkAiAJBBoIUBgIABBgQACDIQ9ECQIA==")); -var tur_exp_b = +var tur_exp_b = require("heatshrink").decompress(atob("h8IwkBiIBBAAUBiADCiMQAwQFDCIYXEB4IABgMAEYQXBiEAAQIQBAoIABDAQUCAAIVBA")); var shot = require("heatshrink").decompress(atob("gMDwkBAoIA==")); // function to move and animate invader -function move_anim_inv() { - // invader anim code - i_anim_delay -= 1; - if ((i_anim_delay < 0) && !(been_hit)) { - i_anim_delay = 10; - - inv_frame += 1; - if (inv_frame > 2) { - inv_frame = 1; - } - - // move right - if (i_dir == 1){ - inv_x += ix_speed; - if (inv_x >= 142) { - inv_y += 8; // step down - i_dir = -1; - } - } - - // move left - if (i_dir < 1){ - inv_x -= ix_speed; - if (inv_x <= 10) { - inv_y += 8; // step down - i_dir = 1; - } - } - } -} +function move_anim_inv() { + // invader anim code + i_anim_delay -= 1; + if ((i_anim_delay < 0) && !(been_hit)) { + i_anim_delay = 10; + inv_frame += 1; + if (inv_frame > 2) { + inv_frame = 1; + } + + // move right + if (i_dir == 1){ + inv_x += ix_speed; + if (inv_x >= 142) { + inv_y += 8; // step down + i_dir = -1; + } + } + + // move left + if (i_dir < 1){ + inv_x -= ix_speed; + if (inv_x <= 10) { + inv_y += 8; // step down + i_dir = 1; + } + } + } +} // function to make invader fire -function invader_fire() { - inv_fire_pause -= 1; +function invader_fire() { + inv_fire_pause -= 1; - if (!(inv_fired)) { // so once invader shot is fired it doesn't follow the invader still - inv_shot_x = inv_x + 8; - inv_shot_y = inv_y + 18; - } - - if (inv_fire_pause < 0) { - inv_fired = true; - inv_shot_y += 8; - } + if (!(inv_fired)) { // so once invader shot is fired it doesn't follow the invader still + inv_shot_x = inv_x + 8; + inv_shot_y = inv_y + 18; + } + + if (inv_fire_pause < 0) { + inv_fired = true; + inv_shot_y += 8; + } } +// function to make turret explode (when hit) then start back in center +function turret_hit() { + if (turret_been_hit) { + if (!(explosion_play)) { + Bangle.buzz(); + //Bangle.beep(); + } + + explosion_play = true; + turret_anim_delay -= 1; + turret_blast_delay -= 1; + + if (turret_anim_delay < 0) { + turret_exp_frame += 1; + if (turret_exp_frame > 2) { + turret_exp_frame = 1; + } + turret_anim_delay = 3; + } + + if (turret_blast_delay < 0) { + turret_blast_delay = 21; + turret_been_hit = false; + explosion_play = false; + tur_x = 77; // reset turret x + tur_y = 148; // reset turret y + } + } +} +// function to make invader explode (when hit) then randomly start somewhere else +function invader_hit() { + if (been_hit) { + if (!(boom_play)) { + Bangle.buzz(); + //Bangle.beep(); + } + inv_shot_x = -32; // hide shot + inv_shot_y = -32; // hide shot + inv_fire_pause = 30; // and reset pause + boom_play = true; + blast_delay -= 1; + + if (blast_delay < 0) { + blast_delay = 15; + boom_play = false; + been_hit = false; + bx = -32; // move boom off screen (following invader) + by = -32; + //inv_x = rand() % (464 - 16) + 4; // move invader to random x position + inv_x = 77; // move invader back up after being hit + inv_y = 20; // move invader back up after being hit + i_dir = 1; // reset invader direction + } + } +} // - setup stuff --------------------------------------- function gameStart() { - setInterval(onFrame, 50); + setInterval(onFrame, 50); } - // - main loop ----------------------------------------- function onFrame() { - // if not game over - if(game_over == false) { + + // game over state + if(game_over) { g.clear(); - + + // draw text during game over state + g.setFont("4x6", 2); // set font and size x 2 + g.setColor(0,0,0); // set color (black) + g.drawString("SCORE:" + score ,5, 5); + g.drawString("LIVES:" + lives ,117, 5); + g.drawString("GAME OVER", 52, 80); + + + // draw sprites during game over state + // - invader frame 2 + g.drawImage(invader_b, inv_x, inv_y, {scale:2}); + g.drawImage(tur_exp_b, tur_x, tur_y, {scale:2}); + g.drawImage(inv_shot, inv_shot_x, inv_shot_y, {scale:2}); + + + // reset stuff + if(BTNS.read()) { + turret_been_hit = false; + tur_x = 77; // reset turret to center of screen + tur_y = 148; // reset turret y + inv_x = 77; // reset invader to center of screen + inv_y = 20; // reset invader back to top + i_dir = 1; // reset invader direction + lives = 3; // reset lives + score = 0; // reset score + explosion_play = false; + game_over = false; + } + + + g.flip(); + } + + + // not game over state (game running) + if(!(game_over)) { + g.clear(); + // call function to move and animate invader move_anim_inv(); - + // call function to make invader fire invader_fire(); // check input (screen presses) - if(BTNL.read() && tur_x >= 12) { + if(BTNL.read() && tur_x >= 12 && !(turret_been_hit)) { tur_x -= 6; } - else if(BTNR.read() && tur_x <= 140) { + else if(BTNR.read() && tur_x <= 140 && !(turret_been_hit)) { tur_x += 6; } - else if(BTNF.read()) { - tur_y -= 5; + else if(BTNF.read() && !(turret_been_hit)) { + shot_fired = true; + sx=tur_x + 12; + sy=tur_y - 7; + } + + + // check for turret shot going off screen before allowing to fire again + if (shot_fired) { + sy -= 8; + if (sy < 22) { + shot_fired = false; + sx = -32; + sy = -32; + } } - - - // check for invader shot going off screen before allowing to fire again if (inv_shot_y > 150 ) { - inv_fired = false; - inv_shot_x = inv_x - 1; - inv_shot_y = inv_y + 7; - inv_fire_pause = 30; + inv_fired = false; + inv_shot_x = inv_x - 1; + inv_shot_y = inv_y + 7; + inv_fire_pause = 30; } - - - - + + + // check for turret shot and invader collision + if ((sx >= inv_x) && (sx <= inv_x + 20) && (sy <= inv_y + 14)) { + sx = -32; + sy = -32; + been_hit = true; + score += 10; + } + + + // check for invader shot and turret collision + if ((inv_shot_x + 4) >= (tur_x) && (inv_shot_x) <= (tur_x + 24) && (inv_shot_y + 8) >= (tur_y + 6)) { + if (!(turret_been_hit)) { + lives -= 1; + + if (lives == 0) { + game_over = true; + } + turret_been_hit = true; + } + } + + // - draw sprites ---------------------------------- - // draw invader sprites - if(inv_frame == 1) { - g.drawImage(invader_a, inv_x, inv_y, {scale:2}); - } - else if(inv_frame == 2) { - g.drawImage(invader_b, inv_x, inv_y, {scale:2}); - } - //g.drawImage(invader_b, inv_x + 30, inv_y, {scale:2}); - //g.drawImage(boom, inv_x + 60, inv_y, {scale:2}); - // - invader shot - if (inv_fired) { - //DrawTexture(inv_shot, inv_shot_x, inv_shot_y, WHITE); - g.drawImage(inv_shot, inv_shot_x, inv_shot_y, {scale:2}); + // invader sprites + if(!(been_hit)) { + if(inv_frame == 1) { + // - invader frame 1 + g.drawImage(invader_a, inv_x, inv_y, {scale:2}); + } + else if(inv_frame == 2) { + // - invader frame 2 + g.drawImage(invader_b, inv_x, inv_y, {scale:2}); + } + } + else { + // - invader explosion + g.drawImage(boom, inv_x, inv_y, {scale:2}); + } + // - invader shot + if (inv_fired) { + g.drawImage(inv_shot, inv_shot_x, inv_shot_y, {scale:2}); } else { - //DrawTexture(inv_shot, -32, -32, WHITE); g.drawImage(inv_shot, -32, -32, {scale:2}); - } - + } - // draw turret sprites - g.drawImage(turret, tur_x, tur_y, {scale:2}); - //g.drawImage(tur_exp_a, tur_x + 30, tur_y, {scale:2}); - //g.drawImage(tur_exp_b, tur_x + 60, tur_y, {scale:2}); - //g.drawImage(shot, tur_x - 30, tur_y, {scale:2}); + // turret sprites + if(!(turret_been_hit)) { + // - undamaged turret + g.drawImage(turret, tur_x, tur_y, {scale:2}); + } + else { + if(turret_exp_frame == 1) { + // - turret explosion frame 1 + g.drawImage(tur_exp_a, tur_x, tur_y, {scale:2}); + } + else if(turret_exp_frame == 2) { + // - turret explosion frame 2 + g.drawImage(tur_exp_b, tur_x, tur_y, {scale:2}); + } + } + // - turret shot + g.drawImage(shot, sx, sy, {scale:2}); + + + // call function to make invader explode then randomly start somewhere else + invader_hit(); + + + // call function to make turret explode (when hit) then start back in center + turret_hit(); // - draw text ------------------------------------- - g.setFont("4x6", 2); - g.setColor(0,0,0); - g.drawString("SCORE:" + score ,5,5); // - g.drawString("LIVES:" + lives ,117,5); // + g.setFont("4x6", 2); // set font and size x 2 + g.setColor(0,0,0); // set color (black) + g.drawString("SCORE:" + score ,5,5); + g.drawString("LIVES:" + lives ,117,5); g.flip(); @@ -215,7 +371,6 @@ function onFrame() { } - gameStart(); diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index 7e7f5dee2..bae9baea4 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.02", + "version":"0.03", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot.png" } ], diff --git a/apps/invader/screenshot_2.png b/apps/invader/screenshot_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5f6ade79ce4026276af3b84aa01c8e60babe17dc GIT binary patch literal 1878 zcmd^A=~Gh&5Px~TghwnTK|ltPfQW#AFl|+)sRSYzX&h1PfCLG65fPQ7))GR3Nh&&^ zf(HdeE)TRd5WpyR;AuUv615G8NO(=~;tn(+7!vyY2l}}){jmG{u(R{q-P!$Z?v~9A zJEAKQ006tFjS(>z)_*dXfcd(nAvOlM!!ZmxAn$hj001_msEF|I`0TOrzrHUE{)}*V zV*Xk0g-sV)T6xQv;((5^PRC%lEsdUgpZ47EERX3GO%Hx6Tn0Fn4Vd2XSX0pP=bN!}3jw zWU`UMW$NJ$6N7lba_!D=Q0}t7MRa)z9kt)JRUdarF`o%7hbk-tX%5fG{596Cf5JC^yJkj8vPV zDlmwb-Ya$pLu2Nat1t)%*D^64zwC3I{{&ru6MwF#TTj)dB%xneEu-&v`!y3)RIR)# z-H^DyAODzavRG~W!KCEAoD;$_q$h6oUi|I+^ru}H=bJAlmYuh37KBwpz&*9}*Z>8RPS&((Xm;{d}IT_SLKL zz(LkU)n;{bIZGXOH471kgf#y%Mp2aSh@>pzmW z?+}lVd2wfK^Lh&qE%-w^MbZ|%r9B&RUR;%BhF^=MT7y@8GceH4K*tw3)=?z)@$WUE zU`AyX-vS4$3Y#&Ko6XSu5k@i(*V16|91A6{I8yfrqRPhDHB$*!Ml3rosD}+ zPNx~&``RAJd#lp%@SMT0SLv>Ja1wF8G}6c<3ej8gGcx=19=&|YmGQIK#W#`Q_W4}T zPwJ4LKT@NLiJ10(=sEe&HDo0SG9JItUBy?3iagEE(%W42rU^31^wXd5b Date: Sat, 28 May 2022 10:05:25 -0800 Subject: [PATCH 089/306] Add files via upload --- apps/invader/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index bae9baea4..445d165f2 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -4,7 +4,7 @@ "version":"0.03", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", - "screenshots" : [ { "url":"screenshot.png" } ], + "screenshots" : [ { "url":"screenshot.png" }, { "url":"screenshot_2.png" } ], "tags": "game", "supports" : ["BANGLEJS2"], "readme": "README.md", From 32b72e1c1675ce605f3d01ff6dd6bc700a91a3a1 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Sat, 28 May 2022 10:06:21 -0800 Subject: [PATCH 090/306] Add files via upload --- apps/invader/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index 445d165f2..36dbdf9fc 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.03", + "version":"0.04", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot.png" }, { "url":"screenshot_2.png" } ], From f9df01f8cda4607321927dd4f6b57b3d5e45008b Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Sat, 28 May 2022 11:23:50 -0800 Subject: [PATCH 091/306] Add files via upload --- apps/invader/metadata.json | 4 ++-- apps/invader/screenshot_0.png | Bin 0 -> 1598 bytes apps/invader/screenshot_1.png | Bin 0 -> 1707 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 apps/invader/screenshot_0.png create mode 100644 apps/invader/screenshot_1.png diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index 36dbdf9fc..c84271925 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,10 +1,10 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.04", + "version":"0.05", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", - "screenshots" : [ { "url":"screenshot.png" }, { "url":"screenshot_2.png" } ], + "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], "tags": "game", "supports" : ["BANGLEJS2"], "readme": "README.md", diff --git a/apps/invader/screenshot_0.png b/apps/invader/screenshot_0.png new file mode 100644 index 0000000000000000000000000000000000000000..804f3e435fba61068f3902cddd6255f1fc2487dc GIT binary patch literal 1598 zcmeAS@N?(olHy`uVBq!ia0vp^8$g(Y4M?uv{v-}aF%}28J29*~C-ahlf%S){i(^Pd z+}k^Mr(HJSaeeshul%kxtap4Q1Ln->(D=J!tM19@-F?4}ZQ|EofBjIN$(hrJ(`HNY zsehgg2V5k48xAbKy}W{{IKhOGsXuT2BhE987g;!LcGY&N8?d_xD|~qIO>^D>nUSDS zPw~U&k1o1kg-@x+k*OAq~E?d51DP#Kok!6+N8$ZX@G1CQhSWWD=Yg*kF zqWzwJu>_V`}$2D%|o9q|NVv^t=OC=kB*+2#bG^&J}f3&7d(>aaH)qR~279 zR{KrRy8ntZ_-gUiLiK{w11BF(6=3=IJ^Uq$UE~F=KmWyctXgk%uz%h9N9+5-zlOxS zhR;77{_(s_Is3n7d@+pcS*&*L>)LM>ch&hp*M&zrge`t&@8+^^)OPBA%%b)oELE?t zb%kHUD_>958q>JFnrq%Qg#NkuF>8P5-q6qC>lH%(hVBFUgWyPV~czUvpFM=Sc!h z{}Q{S_jH-Rcm26NyC-z(t9&@dCRm}o;#nrkJ&rjCq#aHDl|Q&W0CHAUN;Upx+9UMs zZ(r2edjHM4?#=!2+f8uBfwSppX0nZ(b4*uRN;PucSrY@~)qjrJdpPa(2D!6ye~241 z30M5RTD(vc81AhlG5W0sSmL%nbJFJUdBFX0M;uop=bpT?tziN)4v1eW+$#c9eRmf3 zT7?hsEbHo4PxvRZ?N?*9X`SNoC~rlB#^_dWb!CIb%YIvr0Vy!=gWsa7`Rc2zzf|A) zGPmmawqsyl3RbA^_+Z5Jp2h3I+y{qFbLkf&SW&Q-h2zfY=xqj!Ozn+a q*S#AK?A?>fEvzsqMeopfz^;6V&E~Y|UqN7nz~JfX=d#Wzp$PyM9^8Te literal 0 HcmV?d00001 diff --git a/apps/invader/screenshot_1.png b/apps/invader/screenshot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ae936f6c7adf3ca353f737179adfab9fa5a1c80e GIT binary patch literal 1707 zcmeAS@N?(olHy`uVBq!ia0vp^8$g(Y4M?uv{v-}aF%}28J29*~C-ahlfi2b3#WAEJ z?(OZ1MVCE9Trd9kZ+|N|U`dyu#@f8O*A!3A+O8S>{gk(LU(SP%HFop!|0#d)WR+w3 zw

r=6?}^4FYys8yf7tJ}v&lbnU=$u^$Exjz9jmU;O*8%J+XiE_kM95NciAm|UGv1ecuvFpd-u}n8U9}_IREcK z?azku|5(odJF?EM-fYI^_X_26&%gN@U;FRHuU@D5U#o5JZ~lFL-?{#0f4|CBlrU}9 z|M2Sb`F$4_a~GHXKau?HPnrGyH$VIGKA!v6@V}Vx{J)mIxC2=Z>%XThwsr59KP!1R zyI1bM?4wtIb~E|K&ez^vu>4))`nn3?4_RH=$2or-%{4u6as7ge){oz8=UeQ*b+!G= z^yY}uy7gCXewMxKBvX63pzPlZ^Pe}v?P~dLeud8EiaL<4|M1S|b8O#IneD3In>R@@ z&aG{a_@t#IZ&Reug?*57nyk=e5)eSg^JMBR41 z2Xmgjw7(%xz!!VK(t9!&6O-P8=$XO-1?Mg;X=-TTei8PJg=NlWla&ez514jMwPa*` zuH&o4!Lg$uFV)XsRLf|H4dn#GuWl>XKfm90{(0$bwd+Nh_C2iPu8`l<@crh#z3snu z9kMP2WsB4HYMd3y@77;rx|gBzpmzt;KF06Y+s(HN{9dz{Ievp}Rr_9pOWQ>!S1`?E z`Th4L)4m3AtB?cS6LudeU2Rxz$YPUU_T%e~Lo4|CKbGE(2sx0v_;P%|ZjaChR})5k zhFz@@4!27>8pIP=_dv5QFuUho2Il4l(GN_wmN~QRVbFfSy2ZDhqe6Ji#_t>)KjhM* f%{cM#{;)rs6=x$HfA9&g_F?dJ^>bP0l+XkKTNVEM literal 0 HcmV?d00001 From dc0157cf1f392c8a8424e164b20ca6783f34d118 Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Sat, 28 May 2022 21:30:30 +0200 Subject: [PATCH 092/306] [time_utils] Fix typo --- modules/time_utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/time_utils.js b/modules/time_utils.js index 5ca153710..0fdc788ba 100644 --- a/modules/time_utils.js +++ b/modules/time_utils.js @@ -55,7 +55,7 @@ exports.decodeTime = (millis) => { */ exports.formatTime = (value) => { var time = safeTime(typeof value === "object" ? value : exports.decodeTime(value)); - if (time.d != 0) throw "(d)ays not supported here"; + if (time.d != 0) throw "days not supported here"; if (time.h < 0 || time.h > 23) throw "Invalid value: must be 0 <= h <= 23"; if (time.m < 0 || time.m > 59) throw "Invalid value: must be 0 <= m <= 59"; return time.h + ":" + ("0" + time.m).substr(-2); From 889de43d263d5dbd6f971370b722059d4aa6d481 Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Sat, 28 May 2022 21:30:50 +0200 Subject: [PATCH 093/306] [time_utils] Add compact mode to formatDuration --- modules/time_utils.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/time_utils.js b/modules/time_utils.js index 0fdc788ba..6a3ed6faf 100644 --- a/modules/time_utils.js +++ b/modules/time_utils.js @@ -63,16 +63,19 @@ exports.formatTime = (value) => { /** * @param {object|int} value {d, h, m, s} object or milliseconds - * @returns an human-readable duration string like "3d 1h 10m 45s" + * @param {boolean} compact `true` to remove all whitespaces between the values + * @returns an human-readable duration string like "3d 1h 10m 45s" (or "3d1h10m45s" if `compact` is `true`) */ -exports.formatDuration = (value) => { +exports.formatDuration = (value, compact) => { + compact = compact || false; var duration = ""; var time = safeTime(typeof value === "object" ? value : exports.decodeTime(value)); if (time.d > 0) duration += time.d + "d "; if (time.h > 0) duration += time.h + "h "; if (time.m > 0) duration += time.m + "m "; if (time.s > 0) duration += time.s + "s" - return duration.trim(); + duration = duration.trim() + return compact ? duration.replace(" ", "") : duration; } exports.getCurrentTimeMillis = () => { From f3ff034439d87e6c8567ad5bd9af9ad362d7e064 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Sat, 28 May 2022 12:22:44 -0800 Subject: [PATCH 094/306] Add files via upload --- apps/invader/app.js | 112 +++++++++++++++++++++++++++++-------- apps/invader/metadata.json | 2 +- 2 files changed, 89 insertions(+), 25 deletions(-) diff --git a/apps/invader/app.js b/apps/invader/app.js index 59dbb8d42..af73aaeb3 100644 --- a/apps/invader/app.js +++ b/apps/invader/app.js @@ -6,12 +6,6 @@ // resolution 176x176 -// to do: -// random invader restart x -// stop auto fire - - - // - variables ----------------------------------------- // invader variables var inv_x = 77; @@ -22,10 +16,10 @@ var ix_speed = 6; // march speed var i_dir = 1; // 1 = right, 0 = left var been_hit = false; // invader hit state // - shoot variables -var inv_shot_x = -32; -var inv_shot_y = -32; +var inv_shot_x = -32; +var inv_shot_y = -32; var inv_fire_pause = 30; -var inv_fired = false; // invader fired state +var inv_fired = false; // invader fired state // - explode variables var been_hit = false; // invader hit state var bx = -32; // blast x @@ -42,13 +36,16 @@ var sy = -20; // turret shot starting y - off screen var turret_been_hit = false; var turret_blast_delay = 21; // keep blast active on screen for 60 frames var turret_exp_frame = 1; // turret explode start animation frame -var turret_anim_delay = 3; // turret explode animation delay +var turret_anim_delay = 3; // turret explode animation delay var explosion_play = false; // misc variables -var score = 0; -var lives = 3; -var game_over = false; +var score = 0; // starting score +var lives = 3; // starting lives +var game_state = 0; // game state - 0 = game not started, 1 = game running, 3 = game over +var ang = 0.1; +var start_been_pressed = false; // stops double press on restart +var fire_been_pressed = false; // stops auto fire // input(screen controller) variables var BTNL, BTNR, BTNF, BTNS; // button - left, right, fire, start @@ -184,8 +181,9 @@ function invader_hit() { been_hit = false; bx = -32; // move boom off screen (following invader) by = -32; - //inv_x = rand() % (464 - 16) + 4; // move invader to random x position - inv_x = 77; // move invader back up after being hit + // to gerate a random rounded number between 10 and 142; + inv_x = Math.floor(Math.random() * 142) + 10; + //inv_x = 77; // move invader back up after being hit inv_y = 20; // move invader back up after being hit i_dir = 1; // reset invader direction } @@ -199,11 +197,68 @@ function gameStart() { } -// - main loop ----------------------------------------- +// - main loop ------------------------------------------------------------- function onFrame() { + // game not started state (title screen) + if(game_state == 0) { + g.clear(); + + + if (!(BTNS.read())) { + start_been_pressed = false; // stops double press on restart + } + + + // draw text during game over state + g.setFont("4x6", 4); // set font and size x 2 + g.setColor(0,1,0); // set color (black) + g.drawString("INVADER", 33, 55); + + + // just animate invader + // invader anim code + i_anim_delay -= 1; + if(i_anim_delay < 0) { + i_anim_delay = 25; + + inv_frame += 1; + if (inv_frame > 2) { + inv_frame = 1; + } + } + + + // draw sprites during game over state + //ang += 0.1; + //g.drawImage(invader_a, 88, 98, {scale:4, rotate:ang}); + if(inv_frame == 1) { + g.drawImage(invader_a, 88-22, 85, {scale:4}); + } + else if(inv_frame == 2) { + g.drawImage(invader_b, 88-22, 85, {scale:4}); + } + + // reset stuff + if(BTNS.read() && !(start_been_pressed)) { + turret_been_hit = false; + tur_x = 77; // reset turret to center of screen + tur_y = 148; // reset turret y + inv_x = 77; // reset invader to center of screen + inv_y = 20; // reset invader back to top + i_dir = 1; // reset invader direction + lives = 3; // reset lives + score = 0; // reset score + explosion_play = false; + game_state = 1; + } + + + g.flip(); + } + // game over state - if(game_over) { + if(game_state == 3) { g.clear(); // draw text during game over state @@ -232,7 +287,8 @@ function onFrame() { lives = 3; // reset lives score = 0; // reset score explosion_play = false; - game_over = false; + game_state = 0; + start_been_pressed = true; } @@ -241,9 +297,15 @@ function onFrame() { // not game over state (game running) - if(!(game_over)) { + if(game_state == 1) { g.clear(); + + if (!(BTNF.read())) { + fire_been_pressed = false; // stops auto fire + } + + // call function to move and animate invader move_anim_inv(); @@ -258,8 +320,9 @@ function onFrame() { else if(BTNR.read() && tur_x <= 140 && !(turret_been_hit)) { tur_x += 6; } - else if(BTNF.read() && !(turret_been_hit)) { + else if(BTNF.read() && !(turret_been_hit) && !(fire_been_pressed) && !(shot_fired)) { shot_fired = true; + fire_been_pressed = true; // stops auto fire sx=tur_x + 12; sy=tur_y - 7; } @@ -301,7 +364,7 @@ function onFrame() { lives -= 1; if (lives == 0) { - game_over = true; + game_state = 3; } turret_been_hit = true; } @@ -332,7 +395,7 @@ function onFrame() { g.drawImage(inv_shot, -32, -32, {scale:2}); } - // turret sprites + // turret sprites if(!(turret_been_hit)) { // - undamaged turret g.drawImage(turret, tur_x, tur_y, {scale:2}); @@ -363,12 +426,13 @@ function onFrame() { g.setFont("4x6", 2); // set font and size x 2 g.setColor(0,0,0); // set color (black) g.drawString("SCORE:" + score ,5,5); - g.drawString("LIVES:" + lives ,117,5); + g.drawString("LIVES:" + lives ,117,5); g.flip(); } -} + +} // end main loop --------------------------------------------------------- gameStart(); diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index c84271925..b7f6b0c88 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.05", + "version":"0.06", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], From 21fdba71d345a44dafc79d1b26647d6633806783 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Sat, 28 May 2022 12:50:18 -0800 Subject: [PATCH 095/306] Add files via upload --- apps/invader/screenshot_1.png | Bin 1707 -> 1719 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/invader/screenshot_1.png b/apps/invader/screenshot_1.png index ae936f6c7adf3ca353f737179adfab9fa5a1c80e..14164bc6e2a46a8df943511f499278884afbcf66 100644 GIT binary patch literal 1719 zcmeAS@N?(olHy`uVBq!ia0vp^8$g(Y4M?uv{v-}aF%}28J29*~C-ahlfvwQf#WAEJ z?(N-&MRTlp93Fo9$A5P2Y%^oc*lUMQZ1dRn@3n&WqZbdDZu)Moz5hM_pTdU#Ch10b zE6dz^0R;m=Ip2l@{c`i4ah_>(7p~C$ur0TK?wya7??3;zS^VJU$BcW*H&>sZz4o7+ z?N0Nv+t2+z@!$BW`u)ehHt*m5?DDM7H#K7--5=y%^tN>U)s5HqicIfc zeiZ%rx6S-(`zKtil>O=Q+I{D~)8C8O^Gq)Ysr;_^;&Pttveo?6KUW`jKmYwUSIt+h z+}OswPV(>1MwN2>nSDT~vHJPtPuf*~9>?7OtDs!fy6uS4hdZ{j53t|c%e3v?!gK2$ zykLm(-IA0q(?9qfUBPfa?7@rb9bzlQ z7QEoQyE}OMuieU?Pq!ZbDf@G4-}bU|*M9B(x8>9StAi~giJcdn|G3xl@ z&)IjAzSuo+{he)hr1zkFP>rlFT*pd zKTb~nv-Y&$j062*a}MP1W4U=Na9|FwmRG|8SN6qgB^XC}gC->Q_TJj|_VJH>?>TQS+2Pc1AUtF4 z5g`l4q;xK(@}}yoJtsO1npbkju!wRh7qkTB@iYoo2$@5rfA8u!z$suIEU-iP&i~UL z)y#31f|%|zcs`K+Flidl5S59-3T4X_3e+vWAK-i-6eM85xJcwRhd_mF^;BVw5ywl? zZvB6Bh3ks{7LC7ewuTE?^t>ukXw+Bk*8d^$eMi#$?-fE5^Em}77AUaDaeVjBV&YHn zdC*wEX~Xz#+g_bVVoLpcWq+`p-Yomg?Nt9#mVRNCf;m_1C$j8g)X&sxw07tdx_-Os z^{gk(LU(SP%HFop!|0#d)WR+w3 zw

r=6?}^4FYys8yf7tJ}v&lbnU=$u^$Exjz9jmU;O*8%J+XiE_kM95NciAm|UGv1ecuvFpd-u}n8U9}_IREcK z?azku|5(odJF?EM-fYI^_X_26&%gN@U;FRHuU@D5U#o5JZ~lFL-?{#0f4|CBlrU}9 z|M2Sb`F$4_a~GHXKau?HPnrGyH$VIGKA!v6@V}Vx{J)mIxC2=Z>%XThwsr59KP!1R zyI1bM?4wtIb~E|K&ez^vu>4))`nn3?4_RH=$2or-%{4u6as7ge){oz8=UeQ*b+!G= z^yY}uy7gCXewMxKBvX63pzPlZ^Pe}v?P~dLeud8EiaL<4|M1S|b8O#IneD3In>R@@ z&aG{a_@t#IZ&Reug?*57nyk=e5)eSg^JMBR41 z2Xmgjw7(%xz!!VK(t9!&6O-P8=$XO-1?Mg;X=-TTei8PJg=NlWla&ez514jMwPa*` zuH&o4!Lg$uFV)XsRLf|H4dn#GuWl>XKfm90{(0$bwd+Nh_C2iPu8`l<@crh#z3snu z9kMP2WsB4HYMd3y@77;rx|gBzpmzt;KF06Y+s(HN{9dz{Ievp}Rr_9pOWQ>!S1`?E z`Th4L)4m3AtB?cS6LudeU2Rxz$YPUU_T%e~Lo4|CKbGE(2sx0v_;P%|ZjaChR})5k zhFz@@4!27>8pIP=_dv5QFuUho2Il4l(GN_wmN~QRVbFfSy2ZDhqe6Ji#_t>)KjhM* f%{cM#{;)rs6=x$HfA9&g_F?dJ^>bP0l+XkKTNVEM From c00820190c50ef343a857e7fa483e662c90003d4 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Sat, 28 May 2022 13:00:06 -0800 Subject: [PATCH 096/306] Add files via upload --- apps/invader/README.md | 2 +- apps/invader/metadata.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/invader/README.md b/apps/invader/README.md index e0036cb8a..7ed98defb 100644 --- a/apps/invader/README.md +++ b/apps/invader/README.md @@ -20,4 +20,4 @@ bkumanchik on Espruino Forums ## Creator -Brian Kumanchik +Brian Kumanchik 2022 diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index b7f6b0c88..add8a05e1 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.06", + "version":"0.07", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], From 3d296473d4a15b2083122bf5f8ce188b0d49f599 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Sat, 28 May 2022 13:15:33 -0800 Subject: [PATCH 097/306] Add files via upload --- apps/invader/app.js | 50 +++++++++++++++++++++++--------------- apps/invader/metadata.json | 2 +- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/apps/invader/app.js b/apps/invader/app.js index af73aaeb3..fa53c608d 100644 --- a/apps/invader/app.js +++ b/apps/invader/app.js @@ -3,7 +3,12 @@ // My Invader Demo, for Bangle.js 2, written JavaScript - using Espruino Web IDE -// resolution 176x176 +// note: resolution is 176x176 + + +// to do: +// make invader clock +// upload to official app page // - variables ----------------------------------------- @@ -34,7 +39,7 @@ var shot_fired = false; // turret fired state var sx = -20; // turret shot starting x - off screen var sy = -20; // turret shot starting y - off screen var turret_been_hit = false; -var turret_blast_delay = 21; // keep blast active on screen for 60 frames +var turret_blast_delay = 25; // keep blast active on screen for 60 frames var turret_exp_frame = 1; // turret explode start animation frame var turret_anim_delay = 3; // turret explode animation delay var explosion_play = false; @@ -50,7 +55,7 @@ var fire_been_pressed = false; // stops auto fire // input(screen controller) variables var BTNL, BTNR, BTNF, BTNS; // button - left, right, fire, start var tap = {}; -// use tapping on screen for left and right +// use tapping on screen for left, right, fire, start Bangle.on('drag',e=>tap=e); BTNL = { read : _=>tap.b && tap.x < 88 && tap.y > 88}; BTNR = { read : _=>tap.b && tap.x > 88 && tap.y > 88}; @@ -133,7 +138,7 @@ function invader_fire() { function turret_hit() { if (turret_been_hit) { if (!(explosion_play)) { - Bangle.buzz(); + //Bangle.buzz(); //Bangle.beep(); } @@ -144,6 +149,7 @@ function turret_hit() { if (turret_anim_delay < 0) { turret_exp_frame += 1; if (turret_exp_frame > 2) { + Bangle.buzz(); turret_exp_frame = 1; } turret_anim_delay = 3; @@ -181,9 +187,8 @@ function invader_hit() { been_hit = false; bx = -32; // move boom off screen (following invader) by = -32; - // to gerate a random rounded number between 10 and 142; - inv_x = Math.floor(Math.random() * 142) + 10; - //inv_x = 77; // move invader back up after being hit + // generate a random rounded number between 10 and 142; + inv_x = Math.floor(Math.random() * 142) + 10; inv_y = 20; // move invader back up after being hit i_dir = 1; // reset invader direction } @@ -200,7 +205,7 @@ function gameStart() { // - main loop ------------------------------------------------------------- function onFrame() { - // game not started state (title screen) + // game not started state (title screen) *************************** if(game_state == 0) { g.clear(); @@ -230,6 +235,7 @@ function onFrame() { // draw sprites during game over state + // next 2 line for a rotating invader on the title screen //ang += 0.1; //g.drawImage(invader_a, 88, 98, {scale:4, rotate:ang}); if(inv_frame == 1) { @@ -251,13 +257,15 @@ function onFrame() { score = 0; // reset score explosion_play = false; game_state = 1; + turret_blast_delay = 25; } g.flip(); } - // game over state + + // game over state ************************************************* if(game_state == 3) { g.clear(); @@ -278,17 +286,18 @@ function onFrame() { // reset stuff if(BTNS.read()) { - turret_been_hit = false; - tur_x = 77; // reset turret to center of screen - tur_y = 148; // reset turret y - inv_x = 77; // reset invader to center of screen - inv_y = 20; // reset invader back to top - i_dir = 1; // reset invader direction - lives = 3; // reset lives - score = 0; // reset score - explosion_play = false; + //turret_been_hit = false; + //tur_x = 77; // reset turret to center of screen + //tur_y = 148; // reset turret y + //inv_x = 77; // reset invader to center of screen + //inv_y = 20; // reset invader back to top + //i_dir = 1; // reset invader direction + //lives = 3; // reset lives + //score = 0; // reset score + //explosion_play = false; game_state = 0; start_been_pressed = true; + //turret_blast_delay = 25; } @@ -296,7 +305,7 @@ function onFrame() { } - // not game over state (game running) + // not game over state (game running) ****************************** if(game_state == 1) { g.clear(); @@ -364,7 +373,8 @@ function onFrame() { lives -= 1; if (lives == 0) { - game_state = 3; + game_state = 3; + Bangle.buzz(); } turret_been_hit = true; } diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index add8a05e1..9ef8d7f31 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.07", + "version":"0.08", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], From 840abf6e384f25225c0b60423fee5aa7bd616063 Mon Sep 17 00:00:00 2001 From: nujw Date: Sun, 29 May 2022 15:22:30 +1200 Subject: [PATCH 098/306] Update README.md --- apps/speedalt2/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/speedalt2/README.md b/apps/speedalt2/README.md index c124e0c00..aebc71e32 100644 --- a/apps/speedalt2/README.md +++ b/apps/speedalt2/README.md @@ -37,7 +37,7 @@ When the GPS obtains a fix the number of satellites is displayed as 'Sats:nn'. W ## Power Saving -The The GPS Adv Sport app obeys the watch screen off timeouts as a power saving measure. Restore the screen as per any of the colck/watch apps. Use BTN2 to lock the screen on but doing this will use more battery. +The The GPS Adv Sport app obeys the watch screen off timeouts as a power saving measure. Restore the screen as per any of the clock/watch apps. Use BTN2 to lock the screen on but doing this will use more battery. This app will work quite happily on its own but will use the [GPS Setup App](https://banglejs.com/apps/#gps%20setup) if it is installed. You may choose to use the GPS Setup App to gain significantly longer battery life while the GPS is on. Please read the Low Power GPS Setup App Readme to understand what this does. From b094ce2b918c257a549cc0177dbf6612b74aad8f Mon Sep 17 00:00:00 2001 From: nujw Date: Sun, 29 May 2022 15:26:10 +1200 Subject: [PATCH 099/306] Update README.md --- apps/speedalt2/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/speedalt2/README.md b/apps/speedalt2/README.md index aebc71e32..a86f787cf 100644 --- a/apps/speedalt2/README.md +++ b/apps/speedalt2/README.md @@ -65,7 +65,7 @@ The Droidscript script file is called : **GPS Adv Sports II.js** Start/Stop buttons tell the Bangle.js to start or stop sending BLE data packets to the Android device. While stopped the Bangle.js reverts to full power saving mode when the screen is asleep. -When runnig a blue 'led' will flash each time a data packet is recieved to refresh the android display. +When running a blue 'led' will flash each time a data packet is recieved to refresh the android display. An orange 'led' will flash for each reconnection attempt if no data is received for 30 seconds. It will keep trying to reconnect so you can restart the Bangle, run another Bangle app or temprarily turn off bluetooth. The android mirror display will automatically reconnect when the GPS Adv Sports II app is running on the Bangle again. ( Designed to leave the Android device running as the display mirror in a sealed case all day while retaining the ability to do other functions on the Bangle.js and returning to the GPS Speed Alt II app. ) From bd88e4bbca4aea4cbc68fa7f0844d19b98b66120 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Sun, 29 May 2022 11:22:00 +0200 Subject: [PATCH 100/306] widshipbell: Adapt to new weak/strong buzz patterns --- apps/widshipbell/settings.js | 11 ++++++----- apps/widshipbell/widget.js | 28 ++++++++++++++++++---------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/apps/widshipbell/settings.js b/apps/widshipbell/settings.js index e14a84a90..bb47e9b20 100644 --- a/apps/widshipbell/settings.js +++ b/apps/widshipbell/settings.js @@ -2,7 +2,7 @@ var FILE = "widshipbell.json"; // Load settings var settings = Object.assign({ - enabled: true, + strength: 1, }, require('Storage').readJSON(FILE, true) || {}); function writeSettings() { @@ -13,11 +13,12 @@ E.showMenu({ "" : { "title" : "Ship's bell" }, "< Back" : () => back(), - 'Enable?': { - value: !!settings.enabled, // !! converts undefined to false - format: v => v?"Yes":"No", + 'Strength': { + value: settings.strength, + min: 0, max: 2, + format: v => ["Off", "Weak", "Strong"][v], onchange: v => { - settings.enabled = v; + settings.strength = v; writeSettings(); } }, diff --git a/apps/widshipbell/widget.js b/apps/widshipbell/widget.js index 7f0716201..bfcffa633 100644 --- a/apps/widshipbell/widget.js +++ b/apps/widshipbell/widget.js @@ -1,7 +1,11 @@ (() => { - var settings = Object.assign({ - enabled: true, - }, require('Storage').readJSON("widshipbell.json", true) || {}); + const strength = Object.assign({ + strength: 1, + }, require('Storage').readJSON("widshipbell.json", true) || {}).strength; + + function replaceAll(target, search, replacement) { + return target.split(search).join(replacement); + } function check() { const now = new Date(); @@ -14,21 +18,25 @@ // buzz now let pattern=''; if (strikeHour === 0 && currentMinute == 0) { - pattern = '.. .. .. ..'; + pattern = '.. .. .. ..'; } else if (strikeHour === 0 && currentMinute == 30) { pattern = '.'; } else if (strikeHour === 1 && currentMinute == 0) { pattern = '..'; } else if (strikeHour === 1 && currentMinute == 30) { - pattern = '.. .'; + pattern = '.. .'; } else if (strikeHour === 2 && currentMinute == 0) { - pattern = '.. ..'; + pattern = '.. ..'; } else if (strikeHour === 2 && currentMinute == 30) { - pattern = '.. .. .'; + pattern = '.. .. .'; } else if (strikeHour === 3 && currentMinute == 0) { - pattern = '.. .. ..'; + pattern = '.. .. ..'; } else if (strikeHour === 3 && currentMinute == 30) { - pattern = '.. .. .. .'; + pattern = '.. .. .. .'; + } + pattern = replaceAll(pattern, ' ', ' '); // longer pause + if (strength === 2) { // strong selected + pattern = replaceAll(pattern, '.', ':'); } require("buzz").pattern(pattern); } @@ -37,7 +45,7 @@ setTimeout(check, etaSecond*1000); } - if (settings.enabled === true) { + if (strength !== 0) { check(); } })(); From 5d773b7751df3e2b6f2f9c65f1c974b2ffaf663a Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Sun, 29 May 2022 14:30:38 +0200 Subject: [PATCH 101/306] widshipbell: longer pauses --- apps/widshipbell/widget.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/widshipbell/widget.js b/apps/widshipbell/widget.js index bfcffa633..e37edb6fd 100644 --- a/apps/widshipbell/widget.js +++ b/apps/widshipbell/widget.js @@ -19,22 +19,23 @@ let pattern=''; if (strikeHour === 0 && currentMinute == 0) { pattern = '.. .. .. ..'; - } else if (strikeHour === 0 && currentMinute == 30) { + } else if (strikeHour === 0 && currentMinute === 30) { pattern = '.'; - } else if (strikeHour === 1 && currentMinute == 0) { + } else if (strikeHour === 1 && currentMinute === 0) { pattern = '..'; - } else if (strikeHour === 1 && currentMinute == 30) { + } else if (strikeHour === 1 && currentMinute === 30) { pattern = '.. .'; - } else if (strikeHour === 2 && currentMinute == 0) { + } else if (strikeHour === 2 && currentMinute === 0) { pattern = '.. ..'; - } else if (strikeHour === 2 && currentMinute == 30) { + } else if (strikeHour === 2 && currentMinute === 30) { pattern = '.. .. .'; - } else if (strikeHour === 3 && currentMinute == 0) { + } else if (strikeHour === 3 && currentMinute === 0) { pattern = '.. .. ..'; - } else if (strikeHour === 3 && currentMinute == 30) { + } else if (strikeHour === 3 && currentMinute === 30) { pattern = '.. .. .. .'; } - pattern = replaceAll(pattern, ' ', ' '); // longer pause + pattern = replaceAll(pattern, ' ', ' '); // 4x pause + pattern = replaceAll(pattern, '.', '. '); // pause between bells if (strength === 2) { // strong selected pattern = replaceAll(pattern, '.', ':'); } From 99f3c6ab26f1da7a0eec8afc08e983555b2646ed Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Sat, 28 May 2022 22:16:23 +0200 Subject: [PATCH 102/306] [Alarms & Timers] Fix "enable all" --- apps/alarm/ChangeLog | 1 + apps/alarm/app.js | 25 ++++++++++++++++--------- apps/alarm/metadata.json | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/apps/alarm/ChangeLog b/apps/alarm/ChangeLog index b00055334..00187fa7c 100644 --- a/apps/alarm/ChangeLog +++ b/apps/alarm/ChangeLog @@ -29,3 +29,4 @@ 0.27: New UI! 0.28: Fix bug with alarms not firing when configured to fire only once 0.29: Fix wrong 'dow' handling in new timer if first day of week is Monday +0.30: Fix "Enable All" diff --git a/apps/alarm/app.js b/apps/alarm/app.js index fe0f67dbb..2aff43de2 100644 --- a/apps/alarm/app.js +++ b/apps/alarm/app.js @@ -86,7 +86,8 @@ function showEditAlarmMenu(selectedAlarm, alarmIndex) { const menu = { "": { "title": isNew ? /*LANG*/"New Alarm" : /*LANG*/"Edit Alarm" }, "< Back": () => { - saveAlarm(alarm, alarmIndex, time); + prepareAlarmForSave(alarm, alarmIndex, time); + saveAndReload(); showMainMenu(); }, /*LANG*/"Hour": { @@ -144,7 +145,7 @@ function showEditAlarmMenu(selectedAlarm, alarmIndex) { E.showMenu(menu); } -function saveAlarm(alarm, alarmIndex, time) { +function prepareAlarmForSave(alarm, alarmIndex, time) { alarm.t = require("time_utils").encodeTime(time); alarm.last = alarm.t < require("time_utils").getCurrentTimeMillis() ? new Date().getDate() : 0; @@ -153,8 +154,6 @@ function saveAlarm(alarm, alarmIndex, time) { } else { alarms[alarmIndex] = alarm; } - - saveAndReload(); } function saveAndReload() { @@ -251,7 +250,8 @@ function showEditTimerMenu(selectedTimer, timerIndex) { const menu = { "": { "title": isNew ? /*LANG*/"New Timer" : /*LANG*/"Edit Timer" }, "< Back": () => { - saveTimer(timer, timerIndex, time); + prepareTimerForSave(timer, timerIndex, time); + saveAndReload(); showMainMenu(); }, /*LANG*/"Hours": { @@ -293,7 +293,7 @@ function showEditTimerMenu(selectedTimer, timerIndex) { E.showMenu(menu); } -function saveTimer(timer, timerIndex, time) { +function prepareTimerForSave(timer, timerIndex, time) { timer.timer = require("time_utils").encodeTime(time); timer.t = require("time_utils").getCurrentTimeMillis() + timer.timer; timer.last = 0; @@ -303,8 +303,6 @@ function saveTimer(timer, timerIndex, time) { } else { alarms[timerIndex] = timer; } - - saveAndReload(); } function showAdvancedMenu() { @@ -327,7 +325,16 @@ function enableAll(on) { } else { E.showPrompt(/*LANG*/"Are you sure?", { title: on ? /*LANG*/"Enable All" : /*LANG*/"Disable All" }).then((confirm) => { if (confirm) { - alarms.forEach(alarm => alarm.on = on); + alarms.forEach((alarm, i) => { + alarm.on = on; + if (on) { + if (alarm.timer) { + prepareTimerForSave(alarm, i, require("time_utils").decodeTime(alarm.timer)) + } else { + prepareAlarmForSave(alarm, i, require("time_utils").decodeTime(alarm.t)) + } + } + }); saveAndReload(); showMainMenu(); } else { diff --git a/apps/alarm/metadata.json b/apps/alarm/metadata.json index cac837b5e..3c17ee177 100644 --- a/apps/alarm/metadata.json +++ b/apps/alarm/metadata.json @@ -2,7 +2,7 @@ "id": "alarm", "name": "Alarms & Timers", "shortName": "Alarms", - "version": "0.29", + "version": "0.30", "description": "Set alarms and timers on your Bangle", "icon": "app.png", "tags": "tool,alarm,widget", From e564efbcea74f5df4467428c612d6be5f15e60d6 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Sun, 29 May 2022 07:21:23 -0800 Subject: [PATCH 103/306] Add files via upload --- apps/invader/app.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/invader/app.js b/apps/invader/app.js index fa53c608d..e4aef423d 100644 --- a/apps/invader/app.js +++ b/apps/invader/app.js @@ -7,8 +7,9 @@ // to do: -// make invader clock // upload to official app page +// make invader clock + // - variables ----------------------------------------- @@ -225,7 +226,7 @@ function onFrame() { // invader anim code i_anim_delay -= 1; if(i_anim_delay < 0) { - i_anim_delay = 25; + i_anim_delay = 15; inv_frame += 1; if (inv_frame > 2) { From fcde17946da3add20468a7a6b1d2ecfc790c3d5c Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Sun, 29 May 2022 07:22:40 -0800 Subject: [PATCH 104/306] Add files via upload --- apps/invader/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index 9ef8d7f31..d3a70728b 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.08", + "version":"0.09", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], From f01dd23bab991e8f91a88df403036f74b6a59e0c Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Mon, 2 May 2022 23:15:06 +0200 Subject: [PATCH 105/306] [Settings] Improve "Turn Off" user experience - User must confirm - Show a goodbye message - Clear the screen --- apps/setting/ChangeLog | 1 + apps/setting/metadata.json | 2 +- apps/setting/settings.js | 20 +++++++++++++++++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index eca2b7938..5a225b96d 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -50,3 +50,4 @@ UI improvements to Locale and Date & Time menu 0.45: Add calibrate battery option 0.46: Fix regression after making 'calibrate battery' only for Bangle.js 2 +0.47: Improve "Turn Off" user experience diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index 183290a85..ce4e5b337 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.46", + "version": "0.47", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 150251e7d..359bc47a2 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -569,7 +569,25 @@ function showUtilMenu() { } else showUtilMenu(); }); }; - menu[/*LANG*/'Turn Off'] = ()=>{ if (Bangle.softOff) Bangle.softOff(); else Bangle.off() }; + menu[/*LANG*/"Turn Off"] = () => { + E.showPrompt(/*LANG*/"Are you sure? Alarms and timers won't fire", { + title:/*LANG*/"Turn Off" + }).then((confirmed) => { + if (confirmed) { + E.showMessage(/*LANG*/"See you\nlater!", /*LANG*/"Goodbye"); + setTimeout(() => { + // clear the screen so when the user will turn on the watch they'll see + // an empty screen instead of the latest displayed screen + E.showMessage(); + g.clear(true); + + Bangle.softOff ? Bangle.softOff() : Bangle.off(); + }, 2500); + } else { + showUtilMenu(); + } + }); + }; if (Bangle.factoryReset) { menu[/*LANG*/'Factory Reset'] = ()=>{ From fa6943ef185518c71455b36d98ec596fec204afe Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 31 May 2022 00:19:29 +0200 Subject: [PATCH 106/306] barclock: fix Vector font size on Bangle.js 2 --- apps/barclock/clock-bar.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/barclock/clock-bar.js b/apps/barclock/clock-bar.js index 55c4da074..61ce07dfb 100644 --- a/apps/barclock/clock-bar.js +++ b/apps/barclock/clock-bar.js @@ -78,11 +78,12 @@ const ClockFace = require("ClockFace"), } this.layout.bar.height = thickness+1; if (this.font===1) { // vector + const B2 = process.env.HWVERSION>1; if (this.is12Hour && locale.hasMeridian) { - this.layout.time.font = "Vector:60"; - this.layout.ampm.font = "Vector:40"; + this.layout.time.font = "Vector:"+(B2 ? 50 : 60); + this.layout.ampm.font = "Vector:"+(B2 ? 20 : 40); } else { - this.layout.time.font = "Vector:80"; + this.layout.time.font = "Vector:"+(B2 ? 60 : 80); } } else { this.layout.time.font = "6x8:"+thickness; From 4f807796f4aa47f09626d48a21c7a50eae098c93 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Tue, 31 May 2022 08:18:39 -0800 Subject: [PATCH 107/306] Add files via upload --- apps/invader/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index d3a70728b..168d83235 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.09", + "version":"0.10", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], From 37cd4a1f5e9bc357175272acc963e1a028bfe140 Mon Sep 17 00:00:00 2001 From: Brian Kumanchik Date: Tue, 31 May 2022 09:00:45 -0800 Subject: [PATCH 108/306] Add files via upload --- apps/invader/app.js | 3 ++- apps/invader/metadata.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/invader/app.js b/apps/invader/app.js index e4aef423d..89e7462f6 100644 --- a/apps/invader/app.js +++ b/apps/invader/app.js @@ -207,7 +207,7 @@ function gameStart() { function onFrame() { // game not started state (title screen) *************************** - if(game_state == 0) { + if(game_state == 0) { g.clear(); @@ -308,6 +308,7 @@ function onFrame() { // not game over state (game running) ****************************** if(game_state == 1) { + Bangle.setLCDPower(1); // optional - this keeps the watch LCD lit up g.clear(); diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index 168d83235..bb74f5122 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.10", + "version":"0.11", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], From cfe2278fcf3c0aeee7c83228a1f25d31e77f36da Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Wed, 1 Jun 2022 17:39:48 +0200 Subject: [PATCH 109/306] miclock2: Fix typo in redraw check --- apps/miclock2/ChangeLog | 1 + apps/miclock2/clock-mixed.js | 2 +- apps/miclock2/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/miclock2/ChangeLog b/apps/miclock2/ChangeLog index 55c60accd..534332e63 100644 --- a/apps/miclock2/ChangeLog +++ b/apps/miclock2/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! 0.02: Redraw only when seconds change +0.03: Fix typo in redraw check diff --git a/apps/miclock2/clock-mixed.js b/apps/miclock2/clock-mixed.js index edc68959c..bb1537313 100644 --- a/apps/miclock2/clock-mixed.js +++ b/apps/miclock2/clock-mixed.js @@ -48,7 +48,7 @@ function setLineWidth(x1, y1, x2, y2, lw) { function drawMixedClock(force) { var date = new Date(); - if ((force || Bangle.isLCDOn()) && buf.buffer && date.getSeconds() === lastDate.getSeconds()) { + if ((force || Bangle.isLCDOn()) && buf.buffer && date.getSeconds() !== lastDate.getSeconds()) { lastDate = date; var dateArray = date.toString().split(" "); var isEn = locale.name.startsWith("en"); diff --git a/apps/miclock2/metadata.json b/apps/miclock2/metadata.json index e1481dbd2..094d0995a 100644 --- a/apps/miclock2/metadata.json +++ b/apps/miclock2/metadata.json @@ -1,7 +1,7 @@ { "id": "miclock2", "name": "Mixed Clock 2", - "version": "0.02", + "version": "0.03", "description": "White color variant of the Mixed Clock with thicker clock hands for better readability in the bright sunlight, extra space under the clock for widgets and seconds in the digital clock.", "icon": "clock-mixed.png", "type": "clock", From 4f92dcc00229ef57c056ad163124a96e49664172 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Wed, 1 Jun 2022 17:39:48 +0200 Subject: [PATCH 110/306] miclock2: Fix typo in redraw check --- apps/miclock2/ChangeLog | 1 + apps/miclock2/clock-mixed.js | 2 +- apps/miclock2/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/miclock2/ChangeLog b/apps/miclock2/ChangeLog index 55c60accd..534332e63 100644 --- a/apps/miclock2/ChangeLog +++ b/apps/miclock2/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! 0.02: Redraw only when seconds change +0.03: Fix typo in redraw check diff --git a/apps/miclock2/clock-mixed.js b/apps/miclock2/clock-mixed.js index edc68959c..bb1537313 100644 --- a/apps/miclock2/clock-mixed.js +++ b/apps/miclock2/clock-mixed.js @@ -48,7 +48,7 @@ function setLineWidth(x1, y1, x2, y2, lw) { function drawMixedClock(force) { var date = new Date(); - if ((force || Bangle.isLCDOn()) && buf.buffer && date.getSeconds() === lastDate.getSeconds()) { + if ((force || Bangle.isLCDOn()) && buf.buffer && date.getSeconds() !== lastDate.getSeconds()) { lastDate = date; var dateArray = date.toString().split(" "); var isEn = locale.name.startsWith("en"); diff --git a/apps/miclock2/metadata.json b/apps/miclock2/metadata.json index e1481dbd2..094d0995a 100644 --- a/apps/miclock2/metadata.json +++ b/apps/miclock2/metadata.json @@ -1,7 +1,7 @@ { "id": "miclock2", "name": "Mixed Clock 2", - "version": "0.02", + "version": "0.03", "description": "White color variant of the Mixed Clock with thicker clock hands for better readability in the bright sunlight, extra space under the clock for widgets and seconds in the digital clock.", "icon": "clock-mixed.png", "type": "clock", From f9001e1969d73749af0e4210dc46be4d0b175d76 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 19 Feb 2022 02:34:37 +0100 Subject: [PATCH 111/306] customclock - Initial work on easily customizable clock --- apps/imageclock/app-icon.js | 1 + apps/imageclock/app.js | 361 ++++++++++++++++++++++++++++++++++ apps/imageclock/app.png | Bin 0 -> 929 bytes apps/imageclock/custom.html | 174 ++++++++++++++++ apps/imageclock/metadata.json | 17 ++ 5 files changed, 553 insertions(+) create mode 100644 apps/imageclock/app-icon.js create mode 100644 apps/imageclock/app.js create mode 100644 apps/imageclock/app.png create mode 100644 apps/imageclock/custom.html create mode 100644 apps/imageclock/metadata.json diff --git a/apps/imageclock/app-icon.js b/apps/imageclock/app-icon.js new file mode 100644 index 000000000..06f93e2ef --- /dev/null +++ b/apps/imageclock/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwIdah/wAof//4ECgYFB4AFBg4FB8AFBj/wh/4AoM/wEB/gFBvwCEBAU/AQP4gfAj8AgPwAoMPwED8AFBg/AAYIBDA4ngg4TB4EBApkPKgJSBJQIFTMgIFCJIIFDKoIFEvgFBGoMAnw7DP4IFEh+BAoItBg+DNIQwBMIaeCKoKxCPoIzCEgKVHUIqtFXIrFFaIrdFdIwAV")) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js new file mode 100644 index 000000000..3e77e8c63 --- /dev/null +++ b/apps/imageclock/app.js @@ -0,0 +1,361 @@ +var face = require("Storage").readJSON("imageclock.face.json"); +var resources = require("Storage").readJSON("imageclock.resources.json"); + +function getImg(resource){ + //print("getImg: ", resource); + var buffer; + if (resource.img){ + buffer = E.toArrayBuffer(atob(resource.img)); + //print("buffer from img"); + } else if (resource.file){ + buffer = E.toArrayBuffer(atob(require("Storage").read(resource.file))); + //print("buffer from file"); + } + + var result = { + width: resource.width, + height: resource.height, + bpp: resource.bpp, + buffer: buffer + }; + if (resource.transparent) result.transparent = resource.transparent; + + return result; +} + +function getByPath(object, path, lastElem){ + var current = object; + for (var c of path){ + if (!current[c]) return undefined; + current = current[c]; + } + if (lastElem!==undefined){ + if (!current["" + lastElem]) return undefined; + current = current["" + lastElem]; + } + return current; +} + +function splitNumberToDigits(num){ + return String(num).split('').map(item => Number(item)); +} + +function drawNumber(element, offset, number){ + //print("drawNumber: ", element, number); + var isNegative; + var digits; + if (number == undefined){ + isNegative = false; + digits = ["minus","minus","minus"]; + } else { + isNegative = number < 0; + if (isNegative) number *= -1; + digits = splitNumberToDigits(number); + } + + //print("digits: ", digits); + var numberOfDigits = element.Digits; + if (!numberOfDigits) numberOfDigits = digits.length; + var firstDigitX = element.TopLeftX; + var firstDigitY = element.TopLeftY; + var firstImage = getByPath(resources, element.ImagePath, 0); + + if (element.Alignment == "BottomRight"){ + var digitWidth = firstImage.width + element.Spacing; + var numberWidth = (numberOfDigits * digitWidth); + if (isNegative){ + numberWidth += firstImage.width + element.Spacing; + } + //print("Number width: ", numberWidth, firstImage.width, element.Spacing); + firstDigitX = element.BottomRightX - numberWidth + 1; + firstDigitY = element.BottomRightY - firstImage.height + 1; + //print("Calculated start " + firstDigitX + "," + firstDigitY + " From:" + element.BottomRightX + " " + firstImage.width + " " + element.Spacing); + } + var currentX = firstDigitX; + + if (isNegative){ + drawElement({X:currentX,Y:firstDigitY}, offset, element.ImagePath, "minus"); + currentX += firstImage.width + element.Spacing; + } + + for (var d = 0; d < numberOfDigits; d++){ + var currentDigit; + var difference = numberOfDigits - digits.length; + if (d >= difference){ + currentDigit = digits[d-difference]; + } else { + currentDigit = 0; + } + //print("Digit " + currentDigit + " " + currentX); + drawElement({X:currentX,Y:firstDigitY}, offset, element.ImagePath, currentDigit); + currentX += firstImage.width + element.Spacing; + } +} + +function setColors(properties){ + if (properties.fg) g.setColor(properties.fg); + if (properties.bg) g.setBgColor(properties.bg); +} + +function drawElement(pos, offset, path, lastElem){ + //print("drawElement ",pos, offset, path, lastElem); + var image = getByPath(resources, path, lastElem); + if (image){ + setColors(offset); + g.drawImage(getImg(image),offset.X + pos.X,offset.Y + pos.Y); + } else { + print("Could not create image from", path, lastElem); + } +} + +function drawScale(scale, offset, value){ + var segments = scale.Segments; + for (var i = 0; i < value * segments.length; i++){ + drawElement(segments[i], offset, scale.ImagePath, i); + } +} + +function drawDigit(element, offset, digit){ + drawElement(element, offset, element.ImagePath, digit); +} + +function drawMonthAndDay(element, offset){ + var date = new Date(); + + var dateOffset = updateOffset(element, offset); + + if (element.Separate){ + var separateOffset = updateOffset(element.Separate, dateOffset); + drawNumber(element.Separate.Month, separateOffset, date.getMonth() + 1); + drawNumber(element.Separate.Day, separateOffset, date.getDate()); + } +} + +function drawImage(image, offset, name){ + if (image.ImagePath) { + //print("drawImage", image, offset, name); + drawElement(image, offset, image.ImagePath, name ? "" + name: undefined); + } else if (image.ImageFile) { + var file = require("Storage").readJSON(image.ImageFile); + setColors(offset); + g.drawImage(getImg(file),image.X + offset.X, image.Y + offsetY); + } +} + +function drawWeather(element, offset){ + var jsonWeather = require("Storage").readJSON('weather.json'); + var weather = jsonWeather && jsonWeather.weather ? jsonWeather.weather : undefined; + + var weatherOffset = updateOffset(element, offset); + + var iconOffset = updateOffset(element.Icon, weatherOffset); + if (weather && weather.code && element.Icon){ + var weathercode = weather.code; + //print(getByPath(resources, element.Icon.CustomIcon.ImagePath, weathercode)); + if (!getByPath(resources, element.Icon.CustomIcon.ImagePath, weathercode)){ + weathercode = Math.floor(weathercode/10)*10; + //print("Weathercode ", weathercode); + } + if (!getByPath(resources, element.Icon.CustomIcon.ImagePath, weathercode)){ + weathercode = Math.floor(weathercode/100)*100; + //print("Weathercode ", weathercode); + } + if (getByPath(resources, element.Icon.CustomIcon.ImagePath, weathercode)){ + //print("Weathercode ", weathercode); + drawImage(element.Icon.CustomIcon, offset, weathercode); + } + } else if (getByPath(resources, element.Icon.CustomIcon.ImagePath, "000")) { + drawImage(element.Icon.CustomIcon, iconOffset, "000"); + } + + if (element.Temperature){ + var tempOffset = updateOffset(element.Temperature, weatherOffset); + if (weather && weather.temp && element.Temperature){ + drawNumber(element.Temperature.Current.Number, tempOffset, (weather.temp - 273.15).toFixed(0)); + } else { + drawNumber(element.Temperature.Current.Number, tempOffset); + } + drawImage(element.Temperature.Current, tempOffset, "centigrade"); + } + +} + +function updateOffset(element, offset){ + var newOffset = { X: offset.X, Y: offset.Y }; + if (element.X) newOffset.X += element.X; + if (element.Y) newOffset.Y += element.Y; + newOffset.fg = element.ForegroundColor ? element.ForegroundColor: offset.fg; + newOffset.bg = element.BackgroundColor ? element.BackgroundColor: offset.bg; + //print("Updated offset from ", offset, "to", newOffset); + return newOffset; +} + +function drawTime(element, offset){ + var date = new Date(); + var hours = date.getHours(); + var minutes = date.getMinutes(); + + var offsetTime = updateOffset(element, offset); + + var offsetHours = updateOffset(element.Hours, offsetTime); + if (element.Hours.Tens) { + drawDigit(element.Hours.Tens, offsetHours, Math.floor(hours/10)); + } + + if (element.Hours.Ones) { + drawDigit(element.Hours.Ones, offsetHours, hours % 10); + } + + var offsetMinutes = updateOffset(element.Minutes, offsetTime); + if (element.Minutes.Tens) { + drawDigit(element.Minutes.Tens, offsetMinutes, Math.floor(minutes/10)); + } + + if (element.Minutes.Ones) { + drawDigit(element.Minutes.Ones, offsetMinutes, minutes % 10); + } +} + +function drawSteps(element, offset){ + //print("drawSteps", element, offset); + if (Bangle.getHealthStatus) { + drawNumber(element.Number, offset, Bangle.getHealthStatus("day").steps); + } else { + drawNumber(element.Number, offset); + } +} + +function drawBattery(element, offset){ + if (element.Scale){ + drawScale(element.Scale, offset, E.getBattery()/100); + } +} + +function drawStatus(element, offset){ + var statusOffset = updateOffset(element, offset); + if (element.Lock) drawImage(element.Lock, statusOffset, Bangle.isLocked() ? "on" : "off"); + if (element.Charge) drawImage(element.Charge, statusOffset, Bangle.isCharging() ? "on" : "off"); + if (element.Bluetooth) drawImage(element.Bluetooth, statusOffset, NRF.getSecurityStatus().connected ? "on" : "off"); + if (element.Alarm) drawImage(element.Alarm, statusOffset, (require('Storage').readJSON('alarm.json',1)||[]).some(alarm=>alarm.on) ? "on" : "off"); + if (element.Notifications) drawImage(element.Notifications, statusOffset, ((require("Storage").readJSON("setting.json", 1) || {}).quiet|0) ? "soundoff" : "vibrate"); +} + +function draw(element, offset){ + if (!element){ + element = face; + g.clear(); + } + g.setColor(g.theme.fg); + g.setBgColor(g.theme.bg); + + var elementOffset = updateOffset(element, offset); + setColors(elementOffset); + //print("Using offset", elementOffset); + + //print("Starting drawing loop", element); + for (var current in element){ + //print("Handling ", current, " with offset ", elementOffset); + var currentElement = element[current]; + switch(current){ + case "X": + case "Y": + case "Properties": + case "ForegroundColor": + case "BackgroundColor": + //Nothing to draw for these + break; + case "Background": + drawImage(currentElement, elementOffset); + break; + case "Time": + drawTime(currentElement, elementOffset); + break; + case "Battery": + drawBattery(currentElement, elementOffset); + break; + case "Steps": + drawSteps(currentElement, elementOffset); + break; + case "Pulse": + if (pulse) drawNumber(currentElement.Number, elementOffset, pulse); + break; + case "Pressure": + if (press) drawNumber(currentElement.Number, elementOffset, press.toFixed(0)); + break; + case "Altitude": + if (alt) drawNumber(currentElement.Number, elementOffset, alt.toFixed(0)); + break; + case "Temperature": + if (temp) drawNumber(currentElement.Number, elementOffset, temp.toFixed(0)); + break; + case "MonthAndDay": + drawMonthAndDay(currentElement, elementOffset); + break; + case "Weather": + drawWeather(currentElement, elementOffset); + break; + case "Status": + drawStatus(currentElement, elementOffset); + break; + default: + //print("Enter next level", currentElement, elementOffset); + draw(currentElement, elementOffset); + } + } + //print("Finished drawing loop"); +} + +var pulse,alt,temp,press; + + +var zeroOffset={X:0,Y:0}; + + +function handleHrm(e){ + if (e.confidence > 70){ + pulse = e.bpm; + } +} + +function handlePressure(e){ + alt = e.altitude; + temp = e.temperature; + press = e.pressure; +} + + +var unlockedDrawInterval; + +var lockedRedraw = getByPath(face, ["Properties","Redraw","Locked"]); +var unlockedRedraw = getByPath(face, ["Properties","Redraw","Unlocked"]); + +function handleLock(isLocked){ + if (!isLocked){ + Bangle.setHRMPower(1, "imageclock"); + Bangle.setBarometerPower(1, 'imageclock'); + unlockedDrawInterval = setInterval(()=>{ + draw(face, zeroOffset); + },unlockedRedraw?unlockedRedraw:1000); + draw(face, zeroOffset); + } else { + Bangle.setHRMPower(0, "imageclock"); + Bangle.setBarometerPower(0, 'imageclock'); + clearInterval(unlockedDrawInterval); + } + +} + +Bangle.setUI("clock"); + +Bangle.on('pressure', handlePressure); +Bangle.on('HRM', handleHrm); +Bangle.on('lock', handleLock); + + + +draw(face, zeroOffset); + + +setInterval(()=>{ + draw(face, zeroOffset); +}, lockedRedraw ? lockedRedraw : 6000); diff --git a/apps/imageclock/app.png b/apps/imageclock/app.png new file mode 100644 index 0000000000000000000000000000000000000000..cf057046be6eca51564a213bc3e7307271464009 GIT binary patch literal 929 zcmV;S177@zP)hL^4Q9~j~`7LX9JB(!Q` zf!g{&{RcFW&Q~mny+EQd5wRkG(GU|*v#i00#krWf=gz{s+-Te{nPTqF`ObG{=bo84 z7wV|v|Hht3JPkk}FaUG|9Y7m!Ao=|p@Bx?yW`SwoCGazne{UQEt^-TJmSbB2t^w^e zR}HiRcY*JgVs~m~;0|!8R^p4mY6RiBtpaENr0^Uv>(vCT0r!Cspcg0r`;t~jo{azx zfb|`CCKF##(F8oL;_xjnl#FrV8%ADg6Xz30z8#UnEWQMc5jI;nU_9Z{{Eq{QD8L7t!&STXpy9ZFm@kj^1Fem7{l-O!eBYr8>b)d^b3W}9W~#A6U*g95Oi>^=c4 z)~Zv`8K;EXvhfK3pp)!7am&FTkR7(HNX8sFd;lS+^%_N}!U1DH{Ly|K9>B#6_hueBM`PvzgXPMrIx>vGBiU)6Z4 zEpn3sb9fkCLB-z-YcKpmwJ#|r9RWl zC5~dFfRx^~zcZo4lLpcS%$dU%U1Vo|3%C)3JcraOHF*iC9^?bK^S~v{rNu|U-T>|j zG$FN0?PUAC7)9=|wrEE3yiS#A@zILA+sGlcN|VDaIFIb+1>`8+h@2|>kwB-& z?yx%JM4NdN29eBAO@MFvNQ4*G7A;7*Pj7ZUZ3CJ0gS8T$MjKKwTeK9b&o&dl(GUSK zKeKitb( + + + + + + + + + +

Upload watchface

+ + +
+
+
+
+ + + + + diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json new file mode 100644 index 000000000..9807b5271 --- /dev/null +++ b/apps/imageclock/metadata.json @@ -0,0 +1,17 @@ +{ + "id": "imageclock", + "name": "imageclock", + "shortName": "imageclock", + "version": "0.01", + "type": "clock", + "description": "", + "icon": "app.png", + "tags": "clock", + "supports": ["BANGLEJS2"], + "custom": "custom.html", + "customConnect": false, + "storage": [ + {"name":"imageclock.app.js","url":"app.js"}, + {"name":"imageclock.img","url":"app-icon.js","evaluate":true} + ] +} From 80e5eff3bdb5f7b6e0ce4e0a0c60b3296358e9fd Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 19 Feb 2022 02:58:08 +0100 Subject: [PATCH 112/306] Adds readme file --- apps/imageclock/README.md | 49 +++++++++++++++++++++++++++++++++++ apps/imageclock/metadata.json | 1 + 2 files changed, 50 insertions(+) create mode 100644 apps/imageclock/README.md diff --git a/apps/imageclock/README.md b/apps/imageclock/README.md new file mode 100644 index 000000000..5d45d4f2c --- /dev/null +++ b/apps/imageclock/README.md @@ -0,0 +1,49 @@ +# Imageclock + +This app is a highly customizable watchface. To use it, you need to select +a watchface from another source. + +## Usage + +Choose the folder which contains the watchface, then clock "Upload to watch". + +## Design watch faces + +### Folder structure + + +* watchfacename + * resources/ + * face.json + * info.json + + +#### resources + +This folder contains image files. It can have subfolders. These files will +be read and converted into a resource bundle used by the clock + +#### face.json + +This file contains the description of the watch face elements. + +#### info.json + +This file contains information for the conversion process, it will not be +stored on the watch + +## TODO + +* Performance improvements + * Mark elements with how often they need to be redrawn + * Use less RAM (maybe dedicated parser for JSON working on a stack/queue) +* Allow watchfaces to declare if the want to show widgets +* Temporarily show widgets with slide up/down +* Analog Hands? +* Finalize the file format +* Description of the file format +* Allow additional files for upload declared in info.json + +## Creator + +[halemmerich](https://github.com/halemmerich) diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json index 9807b5271..319cf17aa 100644 --- a/apps/imageclock/metadata.json +++ b/apps/imageclock/metadata.json @@ -10,6 +10,7 @@ "supports": ["BANGLEJS2"], "custom": "custom.html", "customConnect": false, + "readme": "README.md", "storage": [ {"name":"imageclock.app.js","url":"app.js"}, {"name":"imageclock.img","url":"app-icon.js","evaluate":true} From 299a66b0c7e350a56907129f66a98d09ad8d820c Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 19 Feb 2022 19:22:44 +0100 Subject: [PATCH 113/306] Use fewer predefined element types and instead rely on datasources --- apps/imageclock/README.md | 166 ++++++++++++++++++- apps/imageclock/app.js | 335 ++++++++++++++++++++------------------ 2 files changed, 333 insertions(+), 168 deletions(-) diff --git a/apps/imageclock/README.md b/apps/imageclock/README.md index 5d45d4f2c..8fe8aa6c2 100644 --- a/apps/imageclock/README.md +++ b/apps/imageclock/README.md @@ -3,13 +3,13 @@ This app is a highly customizable watchface. To use it, you need to select a watchface from another source. -## Usage +# Usage Choose the folder which contains the watchface, then clock "Upload to watch". -## Design watch faces +# Design watch faces -### Folder structure +## Folder structure * watchfacename @@ -18,21 +18,169 @@ Choose the folder which contains the watchface, then clock "Upload to watch". * info.json -#### resources +### resources This folder contains image files. It can have subfolders. These files will be read and converted into a resource bundle used by the clock -#### face.json +Folder types: -This file contains the description of the watch face elements. +* Number + * Contains files named 0.ext to 9.ext and minus.ext +* WeatherIcon + * Contains files named with 3 digits for openweathermap weather codes, i.e. 721.ext +* Icon + * Notifications: sound.ext, silent.ext, vibrate.ext + * other status icons: on.ext, off.ext +* Scale + * Contains the components of the scale, named 0.ext to y.ext, y beeing the last element of the scale -#### info.json +### face.json + +This file contains the description of the watch face elements. + +#### Object types: + +##### Properties +``` +Properties: { + "Redraw": { + "Unlocked": 5000, + "Locked": 6000 + }" +} +``` +##### Images +``` +Image: { + "X": 0, + "Y": 0, + ImagePath: [ "path", "in", "resources", "file" ] +} +``` + +##### Coded Images +``` +CodedImage: { + "X": 0, + "Y": 0, + "Value": "WeatherCode", + ImagePath: [ "path", "in", "resources", "file" ] +} +``` +The `Value` field is one of the implemented numerical values. + +##### Number + +Can bottom right, or top left aligned. Will currently force all numbers to +be integer. + +``` +"Number": { + "X": 123, + "Y": 123, + "Alignment": "BottomRight", + "Value": "Temperature", + "Spacing": 1, + "ImagePath": [ "path", "to", "numbers", "folder" ] +} +``` +The `Value` field is one of the implemented numerical values. +`Alignment` is either `BottomRight` or `TopLeft` + +##### Scale + +``` +"Scale": { + "X": 123, + "Y": 123, + "Value": "Temperature", + "MinValue": "-20", + "MaxValue": "50", + "ImagePath": [ "path", "to", "scale", "folder" ] +} +``` +The `Value` field is one of the implemented numerical values. +`MaxValue` and `MinValue` set the start and endpoints of the scale. + +##### MultiState + +``` +"MultiState": { + "X": 0, + "Y": 0, + "Value": "Lock", + "ImagePath": ["icons", "status", "lock"] +} +``` +The `Value` field is one of the implemented multi state values. + +##### Nesting +``` +Container: { + "X": 10, + "Y": 10, + OtherContainer: { + "X": 5, + "Y": 5, + SomeElement: { + "X": 2, + "Y": 2, + + } + } +} +``` +`SomeElement` will be drawn at X- and Y-position 2+5+10=17, because positions are relative to parent element. +Container names can be everything but other object names. + +#### Implemented data sources + +##### For Number objects + +* Hour +* HourTens +* HourOnes +* Minute +* MinuteTens +* MinuteOnes +* Day +* DayTens +* DayOnes +* Month +* MonthTens +* MonthOnes +* Pulse +* Steps +* Temperature +* Pressure +* Altitude +* BatteryPercentage +* BatteryVoltage +* WeatherCode +* WeatherTemperature + +##### For MultiState + +* on/off + * Lock + * Charge + * Alarm + * Bluetooth + * BluetoothPeripheral + * HRM + * Barometer + * Compass + * GPS +* on/off/vibrate + * Notifications + +### info.json This file contains information for the conversion process, it will not be stored on the watch -## TODO +# TODO * Performance improvements * Mark elements with how often they need to be redrawn @@ -44,6 +192,6 @@ stored on the watch * Description of the file format * Allow additional files for upload declared in info.json -## Creator +# Creator [halemmerich](https://github.com/halemmerich) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 3e77e8c63..3c03f31e5 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -40,8 +40,15 @@ function splitNumberToDigits(num){ return String(num).split('').map(item => Number(item)); } -function drawNumber(element, offset, number){ - //print("drawNumber: ", element, number); +function drawNumber(element, offset){ + var number = numbers[element.Value](); + //print("drawNumber: ", number, element, offset); + if (number) number = number.toFixed(0); + + + //var numberOffset = updateOffset(element, offset); + var numberOffset = offset; + var isNegative; var digits; if (number == undefined){ @@ -56,8 +63,8 @@ function drawNumber(element, offset, number){ //print("digits: ", digits); var numberOfDigits = element.Digits; if (!numberOfDigits) numberOfDigits = digits.length; - var firstDigitX = element.TopLeftX; - var firstDigitY = element.TopLeftY; + var firstDigitX = element.X; + var firstDigitY = element.Y; var firstImage = getByPath(resources, element.ImagePath, 0); if (element.Alignment == "BottomRight"){ @@ -67,14 +74,14 @@ function drawNumber(element, offset, number){ numberWidth += firstImage.width + element.Spacing; } //print("Number width: ", numberWidth, firstImage.width, element.Spacing); - firstDigitX = element.BottomRightX - numberWidth + 1; - firstDigitY = element.BottomRightY - firstImage.height + 1; + firstDigitX = element.X - numberWidth + 1; + firstDigitY = element.Y - firstImage.height + 1; //print("Calculated start " + firstDigitX + "," + firstDigitY + " From:" + element.BottomRightX + " " + firstImage.width + " " + element.Spacing); } var currentX = firstDigitX; if (isNegative){ - drawElement({X:currentX,Y:firstDigitY}, offset, element.ImagePath, "minus"); + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); currentX += firstImage.width + element.Spacing; } @@ -87,7 +94,7 @@ function drawNumber(element, offset, number){ currentDigit = 0; } //print("Digit " + currentDigit + " " + currentX); - drawElement({X:currentX,Y:firstDigitY}, offset, element.ImagePath, currentDigit); + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, currentDigit); currentX += firstImage.width + element.Spacing; } } @@ -99,19 +106,37 @@ function setColors(properties){ function drawElement(pos, offset, path, lastElem){ //print("drawElement ",pos, offset, path, lastElem); - var image = getByPath(resources, path, lastElem); - if (image){ - setColors(offset); - g.drawImage(getImg(image),offset.X + pos.X,offset.Y + pos.Y); + var resource = getByPath(resources, path, lastElem); + if (resource){ + var image = getImg(resource); + if (image){ + setColors(offset); + //print("drawImage from drawElement", image, pos, offset); + g.drawImage(image ,offset.X + pos.X,offset.Y + pos.Y); + } else { + //print("Could not create image from", resource); + } } else { - print("Could not create image from", path, lastElem); + //print("Could not get resource from", path, lastElem); } } -function drawScale(scale, offset, value){ +function drawScale(scale, offset){ + //print("drawScale", scale, offset); var segments = scale.Segments; + var value = numbers[scale.Value](); + var maxValue = scale.MaxValue ? scale.MaxValue : 1; + var minValue = scale.MinValue ? scale.MinValue : 0; + + value = value/maxValue; + value -= minValue; + + //print("Value is ", value, "(", maxValue, ",", minValue, ")"); + + var scaleOffset = updateOffset(scale, offset); + for (var i = 0; i < value * segments.length; i++){ - drawElement(segments[i], offset, scale.ImagePath, i); + drawElement(segments[i], scaleOffset, scale.ImagePath, i); } } @@ -119,18 +144,6 @@ function drawDigit(element, offset, digit){ drawElement(element, offset, element.ImagePath, digit); } -function drawMonthAndDay(element, offset){ - var date = new Date(); - - var dateOffset = updateOffset(element, offset); - - if (element.Separate){ - var separateOffset = updateOffset(element.Separate, dateOffset); - drawNumber(element.Separate.Month, separateOffset, date.getMonth() + 1); - drawNumber(element.Separate.Day, separateOffset, date.getDate()); - } -} - function drawImage(image, offset, name){ if (image.ImagePath) { //print("drawImage", image, offset, name); @@ -142,42 +155,49 @@ function drawImage(image, offset, name){ } } -function drawWeather(element, offset){ - var jsonWeather = require("Storage").readJSON('weather.json'); - var weather = jsonWeather && jsonWeather.weather ? jsonWeather.weather : undefined; - - var weatherOffset = updateOffset(element, offset); - - var iconOffset = updateOffset(element.Icon, weatherOffset); - if (weather && weather.code && element.Icon){ - var weathercode = weather.code; - //print(getByPath(resources, element.Icon.CustomIcon.ImagePath, weathercode)); - if (!getByPath(resources, element.Icon.CustomIcon.ImagePath, weathercode)){ - weathercode = Math.floor(weathercode/10)*10; - //print("Weathercode ", weathercode); +function drawCodedImage(image, offset){ + var code = numbers[image.Value](); + //print("drawCodedImage", image, offset, code); + if (image.ImagePath) { + var factor = 1; + var currentCode = code; + while (code / factor > 1){ + currentCode = Math.floor(currentCode/factor)*factor; + //print("currentCode", currentCode); + if (getByPath(resources, image.ImagePath, currentCode)){ + break; + } + factor *= 10; } - if (!getByPath(resources, element.Icon.CustomIcon.ImagePath, weathercode)){ - weathercode = Math.floor(weathercode/100)*100; - //print("Weathercode ", weathercode); - } - if (getByPath(resources, element.Icon.CustomIcon.ImagePath, weathercode)){ - //print("Weathercode ", weathercode); - drawImage(element.Icon.CustomIcon, offset, weathercode); - } - } else if (getByPath(resources, element.Icon.CustomIcon.ImagePath, "000")) { - drawImage(element.Icon.CustomIcon, iconOffset, "000"); - } - - if (element.Temperature){ - var tempOffset = updateOffset(element.Temperature, weatherOffset); - if (weather && weather.temp && element.Temperature){ - drawNumber(element.Temperature.Current.Number, tempOffset, (weather.temp - 273.15).toFixed(0)); + if (code / factor > 1){ + //print("found match"); + drawImage(image, offset, currentCode); } else { - drawNumber(element.Temperature.Current.Number, tempOffset); + //print("fallback"); + drawImage(image, offset, "fallback"); } - drawImage(element.Temperature.Current, tempOffset, "centigrade"); } +} +function getWeatherCode(){ + var jsonWeather = require("Storage").readJSON('weather.json'); + var weather = (jsonWeather && jsonWeather.weather) ? jsonWeather.weather : undefined; + + if (weather && weather.code){ + return weather.code; + } + return undefined; +} + +function getWeatherTemperature(){ + var jsonWeather = require("Storage").readJSON('weather.json'); + var weather = (jsonWeather && jsonWeather.weather) ? jsonWeather.weather : undefined; + + if (weather && weather.temp){ + //print("Weather temp is", weather.temp); + return weather.temp - 273.15; + } + return undefined; } function updateOffset(element, offset){ @@ -190,58 +210,60 @@ function updateOffset(element, offset){ return newOffset; } -function drawTime(element, offset){ - var date = new Date(); - var hours = date.getHours(); - var minutes = date.getMinutes(); - - var offsetTime = updateOffset(element, offset); +var numbers = {}; +numbers.Hour = () => { return new Date().getHours(); }; +numbers.HourTens = () => { return Math.floor(new Date().getHours()/10); }; +numbers.HourOnes = () => { return Math.floor(new Date().getHours()%10); }; +numbers.Hour12 = () => { return new Date().getHours()%12; }; +numbers.Hour12Tens = () => { return Math.floor((new Date().getHours()%12)/10); }; +numbers.Hour12Ones = () => { return Math.floor((new Date().getHours()%12)%10); }; +numbers.Minute = () => { return new Date().getMinutes(); }; +numbers.MinuteTens = () => { return Math.floor(new Date().getMinutes()/10); }; +numbers.MinuteOnes = () => { return Math.floor(new Date().getMinutes()%10); }; +numbers.Second = () => { return new Date().getSeconds(); }; +numbers.SecondTens = () => { return Math.floor(new Date().getSeconds()/10); }; +numbers.SecondOnes = () => { return Math.floor(new Date().getSeconds()%10); }; +numbers.Day = () => { return new Date().getDate(); }; +numbers.DayTens = () => { return Math.floor(new Date().getDate()/10); }; +numbers.DayOnes = () => { return Math.floor(new Date().getDate()%10); }; +numbers.Month = () => { return new Date().getMonth() + 1; }; +numbers.MonthTens = () => { return Math.floor((new Date().getMonth() + 1)/10); }; +numbers.MonthOnes = () => { return Math.floor((new Date().getMonth() + 1)%10); }; +numbers.Pulse = () => { return pulse; }; +numbers.Steps = () => { return Bangle.getHealthStatus ? Bangle.getHealthStatus("day").steps : undefined; }; +numbers.Temperature = () => { return temp; }; +numbers.Pressure = () => { return press; }; +numbers.Altitude = () => { return alt; }; +numbers.BatteryPercentage = () => { return E.getBattery(); }; +numbers.BatteryVoltage = () => { return NRF.getBattery(); }; +numbers.WeatherCode = () => getWeatherCode(); +numbers.WeatherTemperature = () => getWeatherTemperature(); - var offsetHours = updateOffset(element.Hours, offsetTime); - if (element.Hours.Tens) { - drawDigit(element.Hours.Tens, offsetHours, Math.floor(hours/10)); - } +var multistates = {}; +multistates.Lock = () => { return Bangle.isLocked() ? "on" : "off"; }; +multistates.Charge = () => { return Bangle.isCharging() ? "on" : "off"; }; +multistates.Notifications = () => { return ((require("Storage").readJSON("setting.json", 1) || {}).quiet|0) ? "off" : "vibrate"; }; +multistates.Alarm = () => { return (require('Storage').readJSON('alarm.json',1)||[]).some(alarm=>alarm.on) ? "on" : "off"; }; +multistates.Bluetooth = () => { return NRF.getSecurityStatus().connected ? "on" : "off"; }; +//TODO: Implement peripheral connection status +multistates.BluetoothPeripheral = () => { return NRF.getSecurityStatus().connected ? "on" : "off"; }; +multistates.HRM = () => { return Bangle.isHRMOn ? "on" : "off"; }; +multistates.Barometer = () => { return Bangle.isBarometerOn() ? "on" : "off"; }; +multistates.Compass = () => { return Bangle.isCompassOn() ? "on" : "off"; }; +multistates.GPS = () => { return Bangle.isGPSOn() ? "on" : "off"; }; - if (element.Hours.Ones) { - drawDigit(element.Hours.Ones, offsetHours, hours % 10); - } - - var offsetMinutes = updateOffset(element.Minutes, offsetTime); - if (element.Minutes.Tens) { - drawDigit(element.Minutes.Tens, offsetMinutes, Math.floor(minutes/10)); - } - - if (element.Minutes.Ones) { - drawDigit(element.Minutes.Ones, offsetMinutes, minutes % 10); - } +function drawMultiState(element, offset){ + //print("drawMultiState", element, offset); + drawImage(element, offset, multistates[element.Value]()); } -function drawSteps(element, offset){ - //print("drawSteps", element, offset); - if (Bangle.getHealthStatus) { - drawNumber(element.Number, offset, Bangle.getHealthStatus("day").steps); - } else { - drawNumber(element.Number, offset); - } -} - -function drawBattery(element, offset){ - if (element.Scale){ - drawScale(element.Scale, offset, E.getBattery()/100); - } -} - -function drawStatus(element, offset){ - var statusOffset = updateOffset(element, offset); - if (element.Lock) drawImage(element.Lock, statusOffset, Bangle.isLocked() ? "on" : "off"); - if (element.Charge) drawImage(element.Charge, statusOffset, Bangle.isCharging() ? "on" : "off"); - if (element.Bluetooth) drawImage(element.Bluetooth, statusOffset, NRF.getSecurityStatus().connected ? "on" : "off"); - if (element.Alarm) drawImage(element.Alarm, statusOffset, (require('Storage').readJSON('alarm.json',1)||[]).some(alarm=>alarm.on) ? "on" : "off"); - if (element.Notifications) drawImage(element.Notifications, statusOffset, ((require("Storage").readJSON("setting.json", 1) || {}).quiet|0) ? "soundoff" : "vibrate"); -} +var drawing = false; function draw(element, offset){ - if (!element){ + var initial = !element; + if (initial){ + if (drawing) return; + drawing = true; element = face; g.clear(); } @@ -252,57 +274,46 @@ function draw(element, offset){ setColors(elementOffset); //print("Using offset", elementOffset); - //print("Starting drawing loop", element); for (var current in element){ //print("Handling ", current, " with offset ", elementOffset); var currentElement = element[current]; - switch(current){ - case "X": - case "Y": - case "Properties": - case "ForegroundColor": - case "BackgroundColor": - //Nothing to draw for these - break; - case "Background": - drawImage(currentElement, elementOffset); - break; - case "Time": - drawTime(currentElement, elementOffset); - break; - case "Battery": - drawBattery(currentElement, elementOffset); - break; - case "Steps": - drawSteps(currentElement, elementOffset); - break; - case "Pulse": - if (pulse) drawNumber(currentElement.Number, elementOffset, pulse); - break; - case "Pressure": - if (press) drawNumber(currentElement.Number, elementOffset, press.toFixed(0)); - break; - case "Altitude": - if (alt) drawNumber(currentElement.Number, elementOffset, alt.toFixed(0)); - break; - case "Temperature": - if (temp) drawNumber(currentElement.Number, elementOffset, temp.toFixed(0)); - break; - case "MonthAndDay": - drawMonthAndDay(currentElement, elementOffset); - break; - case "Weather": - drawWeather(currentElement, elementOffset); - break; - case "Status": - drawStatus(currentElement, elementOffset); - break; - default: - //print("Enter next level", currentElement, elementOffset); - draw(currentElement, elementOffset); + try { + switch(current){ + case "X": + case "Y": + case "Properties": + case "ForegroundColor": + case "BackgroundColor": + //Nothing to draw for these + break; + case "MultiState": + drawMultiState(currentElement, elementOffset); + break; + case "Image": + drawImage(currentElement, elementOffset); + break; + case "CodedImage": + drawCodedImage(currentElement, elementOffset); + break; + case "Number": + drawNumber(currentElement, elementOffset); + break; + case "Scale": + drawScale(currentElement, elementOffset); + break; + default: + //print("Enter next level", elementOffset); + draw(currentElement, elementOffset); + //print("Done next level"); + } + } catch (e){ + print("Error during drawing of", current, "in", element, e); } } //print("Finished drawing loop"); + if (initial){ + drawing = false; + } } var pulse,alt,temp,press; @@ -311,9 +322,12 @@ var pulse,alt,temp,press; var zeroOffset={X:0,Y:0}; +function initialDraw(){ draw(undefined, zeroOffset); } + function handleHrm(e){ if (e.confidence > 70){ pulse = e.bpm; + initialDraw(); } } @@ -321,6 +335,7 @@ function handlePressure(e){ alt = e.altitude; temp = e.temperature; press = e.pressure; + initialDraw(); } @@ -334,28 +349,30 @@ function handleLock(isLocked){ Bangle.setHRMPower(1, "imageclock"); Bangle.setBarometerPower(1, 'imageclock'); unlockedDrawInterval = setInterval(()=>{ - draw(face, zeroOffset); + initialDraw(); },unlockedRedraw?unlockedRedraw:1000); draw(face, zeroOffset); } else { Bangle.setHRMPower(0, "imageclock"); Bangle.setBarometerPower(0, 'imageclock'); - clearInterval(unlockedDrawInterval); + if (unlockedDrawInterval) clearInterval(unlockedDrawInterval); } } Bangle.setUI("clock"); +Bangle.on('GPS', initialDraw); +Bangle.on('charging', initialDraw); +Bangle.on('mag', initialDraw); +Bangle.on('health', initialDraw); Bangle.on('pressure', handlePressure); Bangle.on('HRM', handleHrm); Bangle.on('lock', handleLock); - - - -draw(face, zeroOffset); - - setInterval(()=>{ - draw(face, zeroOffset); -}, lockedRedraw ? lockedRedraw : 6000); + initialDraw(); +}, lockedRedraw ? lockedRedraw : 60000); + +initialDraw(); + + From 84b03366a776968150506936fa148b422ddbccf6 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 00:01:16 +0100 Subject: [PATCH 114/306] Allow per object refresh policy --- apps/imageclock/app.js | 161 ++++++++++++++++++++++++----------------- 1 file changed, 94 insertions(+), 67 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 3c03f31e5..f26f08eb1 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -45,57 +45,57 @@ function drawNumber(element, offset){ //print("drawNumber: ", number, element, offset); if (number) number = number.toFixed(0); + if (!element.Refresh || element.Refresh == "Always" || (element.Refresh == "Change" && element.lastDrawnValue && element.lastDrawnValue != number)){ + //var numberOffset = updateOffset(element, offset); + var numberOffset = offset; - //var numberOffset = updateOffset(element, offset); - var numberOffset = offset; - - var isNegative; - var digits; - if (number == undefined){ - isNegative = false; - digits = ["minus","minus","minus"]; - } else { - isNegative = number < 0; - if (isNegative) number *= -1; - digits = splitNumberToDigits(number); - } - - //print("digits: ", digits); - var numberOfDigits = element.Digits; - if (!numberOfDigits) numberOfDigits = digits.length; - var firstDigitX = element.X; - var firstDigitY = element.Y; - var firstImage = getByPath(resources, element.ImagePath, 0); - - if (element.Alignment == "BottomRight"){ - var digitWidth = firstImage.width + element.Spacing; - var numberWidth = (numberOfDigits * digitWidth); - if (isNegative){ - numberWidth += firstImage.width + element.Spacing; - } - //print("Number width: ", numberWidth, firstImage.width, element.Spacing); - firstDigitX = element.X - numberWidth + 1; - firstDigitY = element.Y - firstImage.height + 1; - //print("Calculated start " + firstDigitX + "," + firstDigitY + " From:" + element.BottomRightX + " " + firstImage.width + " " + element.Spacing); - } - var currentX = firstDigitX; - - if (isNegative){ - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); - currentX += firstImage.width + element.Spacing; - } - - for (var d = 0; d < numberOfDigits; d++){ - var currentDigit; - var difference = numberOfDigits - digits.length; - if (d >= difference){ - currentDigit = digits[d-difference]; + var isNegative; + var digits; + if (number == undefined){ + isNegative = false; + digits = ["minus","minus","minus"]; } else { - currentDigit = 0; + isNegative = number < 0; + if (isNegative) number *= -1; + digits = splitNumberToDigits(number); } - //print("Digit " + currentDigit + " " + currentX); - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, currentDigit); - currentX += firstImage.width + element.Spacing; + + //print("digits: ", digits); + var numberOfDigits = element.Digits; + if (!numberOfDigits) numberOfDigits = digits.length; + var firstDigitX = element.X; + var firstDigitY = element.Y; + var firstImage = getByPath(resources, element.ImagePath, 0); + + if (element.Alignment == "BottomRight"){ + var digitWidth = firstImage.width + element.Spacing; + var numberWidth = (numberOfDigits * digitWidth); + if (isNegative){ + numberWidth += firstImage.width + element.Spacing; + } + //print("Number width: ", numberWidth, firstImage.width, element.Spacing); + firstDigitX = element.X - numberWidth + 1; + firstDigitY = element.Y - firstImage.height + 1; + //print("Calculated start " + firstDigitX + "," + firstDigitY + " From:" + element.BottomRightX + " " + firstImage.width + " " + element.Spacing); + } + var currentX = firstDigitX; + if (isNegative){ + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); + currentX += firstImage.width + element.Spacing; + } + for (var d = 0; d < numberOfDigits; d++){ + var currentDigit; + var difference = numberOfDigits - digits.length; + if (d >= difference){ + currentDigit = digits[d-difference]; + } else { + currentDigit = 0; + } + //print("Digit " + currentDigit + " " + currentX); + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, currentDigit); + currentX += firstImage.width + element.Spacing; + } + element.lastDrawnValue = number; } } @@ -121,6 +121,19 @@ function drawElement(pos, offset, path, lastElem){ } } +function checkRedraw(element, newValue){ + var redrawConfig = element.Redraw ? element.Redraw : defaultRedraw; + switch(redrawConfig){ + case "Change": + return !element.lastDrawnValue || element.lastDrawnValue != newValue; + case "Never": + return false; + case "Always": + default: + return true; + } +} + function drawScale(scale, offset){ //print("drawScale", scale, offset); var segments = scale.Segments; @@ -134,9 +147,14 @@ function drawScale(scale, offset){ //print("Value is ", value, "(", maxValue, ",", minValue, ")"); var scaleOffset = updateOffset(scale, offset); + + var segmentsToDraw = Math.ceil(value * segments.length); - for (var i = 0; i < value * segments.length; i++){ - drawElement(segments[i], scaleOffset, scale.ImagePath, i); + if (checkRedraw(scale, segmentsToDraw)){ + for (var i = 0; i < segmentsToDraw; i++){ + drawElement(segments[i], scaleOffset, scale.ImagePath, i); + } + scale.lastDrawnValue = segmentsToDraw; } } @@ -158,24 +176,28 @@ function drawImage(image, offset, name){ function drawCodedImage(image, offset){ var code = numbers[image.Value](); //print("drawCodedImage", image, offset, code); - if (image.ImagePath) { - var factor = 1; - var currentCode = code; - while (code / factor > 1){ - currentCode = Math.floor(currentCode/factor)*factor; - //print("currentCode", currentCode); - if (getByPath(resources, image.ImagePath, currentCode)){ - break; + + if (checkRedraw(image, code)){ + if (image.ImagePath) { + var factor = 1; + var currentCode = code; + while (code / factor > 1){ + currentCode = Math.floor(currentCode/factor)*factor; + //print("currentCode", currentCode); + if (getByPath(resources, image.ImagePath, currentCode)){ + break; + } + factor *= 10; + } + if (code / factor > 1){ + //print("found match"); + drawImage(image, offset, currentCode); + } else { + //print("fallback"); + drawImage(image, offset, "fallback"); } - factor *= 10; - } - if (code / factor > 1){ - //print("found match"); - drawImage(image, offset, currentCode); - } else { - //print("fallback"); - drawImage(image, offset, "fallback"); } + image.lastDrawnValue = code; } } @@ -254,7 +276,11 @@ multistates.GPS = () => { return Bangle.isGPSOn() ? "on" : "off"; }; function drawMultiState(element, offset){ //print("drawMultiState", element, offset); - drawImage(element, offset, multistates[element.Value]()); + var value = multistates[element.Value](); + if (checkRedraw(element, value)){ + drawImage(element, offset, value); + element.lastDrawnValue = value; + } } var drawing = false; @@ -343,6 +369,7 @@ var unlockedDrawInterval; var lockedRedraw = getByPath(face, ["Properties","Redraw","Locked"]); var unlockedRedraw = getByPath(face, ["Properties","Redraw","Unlocked"]); +var defaultRedraw = getByPath(face, ["Properties","Redraw","Default"]) || "Always"; function handleLock(isLocked){ if (!isLocked){ From 9a24086101c76d81822444aed9e22f9a608d524e Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 00:01:45 +0100 Subject: [PATCH 115/306] Do no use events just for redrawing --- apps/imageclock/app.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index f26f08eb1..cc8b59c40 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -353,7 +353,6 @@ function initialDraw(){ draw(undefined, zeroOffset); } function handleHrm(e){ if (e.confidence > 70){ pulse = e.bpm; - initialDraw(); } } @@ -361,7 +360,6 @@ function handlePressure(e){ alt = e.altitude; temp = e.temperature; press = e.pressure; - initialDraw(); } @@ -389,10 +387,6 @@ function handleLock(isLocked){ Bangle.setUI("clock"); -Bangle.on('GPS', initialDraw); -Bangle.on('charging', initialDraw); -Bangle.on('mag', initialDraw); -Bangle.on('health', initialDraw); Bangle.on('pressure', handlePressure); Bangle.on('HRM', handleHrm); Bangle.on('lock', handleLock); From a547bdec9c1b96a77e32d282f1208a0d7e1e4e5a Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 01:52:28 +0100 Subject: [PATCH 116/306] Initial implementation of zip upload --- apps/imageclock/custom.html | 80 +++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 4 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index e2c0e808c..9d35cb6b3 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -7,11 +7,13 @@ +

Upload watchface


+



@@ -19,6 +21,8 @@ From d2903cb97beb7b23ec4f675060f536a71da663de Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 02:00:27 +0100 Subject: [PATCH 117/306] Refactor customizer --- apps/imageclock/custom.html | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 9d35cb6b3..162b0aa60 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -9,13 +9,14 @@ -

Upload watchface

+

Upload watchface:

-
-
-
-
+

Select watchface folder:

+

or

+

Select watchface zip file:


+ +

From 2bda4e41f342e0cd2fe8843cf9a96f1fb7a4b943 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 19:14:19 +0100 Subject: [PATCH 122/306] Update readme --- apps/imageclock/README.md | 50 +++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/apps/imageclock/README.md b/apps/imageclock/README.md index 8fe8aa6c2..723b09920 100644 --- a/apps/imageclock/README.md +++ b/apps/imageclock/README.md @@ -27,9 +27,11 @@ Folder types: * Number * Contains files named 0.ext to 9.ext and minus.ext -* WeatherIcon - * Contains files named with 3 digits for openweathermap weather codes, i.e. 721.ext -* Icon +* CodedImage + * Contains files named with only digits for codes, i.e. 721.ext + * Contains a file named fallback.ext in case no code matches + * Codes are evaluated as follows: 721 -> if not found check 720 -> if not found check 700 -> if found use +* MultiState * Notifications: sound.ext, silent.ext, vibrate.ext * other status icons: on.ext, off.ext * Scale @@ -46,18 +48,30 @@ This file contains the description of the watch face elements. Properties: { "Redraw": { "Unlocked": 5000, - "Locked": 6000 - }" + "Locked": 60000, + "Default": "Always" + } } ``` + +Possible values for `Default` are `Always`, `Change` + ##### Images ``` Image: { "X": 0, "Y": 0, + "Scale": 1, + "RotationValue": "Seconds", + "MinRotationValue": 0, + "MaxRotationValue": 60, ImagePath: [ "path", "in", "resources", "file" ] } ``` +`RotationValue` references one of the implemented numerical values. + +Mandatory: +* `ImagePath` ##### Coded Images ``` @@ -88,6 +102,10 @@ be integer. The `Value` field is one of the implemented numerical values. `Alignment` is either `BottomRight` or `TopLeft` +Mandatory: +* `ImagePath` +* `Value` + ##### Scale ``` @@ -103,6 +121,10 @@ The `Value` field is one of the implemented numerical values. The `Value` field is one of the implemented numerical values. `MaxValue` and `MinValue` set the start and endpoints of the scale. +Mandatory: +* `ImagePath` +* `Value` + ##### MultiState ``` @@ -115,6 +137,10 @@ The `Value` field is one of the implemented numerical values. ``` The `Value` field is one of the implemented multi state values. +Mandatory: +* `ImagePath` +* `Value` + ##### Nesting ``` Container: { @@ -136,7 +162,7 @@ Container names can be everything but other object names. #### Implemented data sources -##### For Number objects +##### Numerical * Hour * HourTens @@ -144,6 +170,9 @@ Container names can be everything but other object names. * Minute * MinuteTens * MinuteOnes +* Second +* SecondTens +* SecondOnes * Day * DayTens * DayOnes @@ -160,7 +189,7 @@ Container names can be everything but other object names. * WeatherCode * WeatherTemperature -##### For MultiState +##### Multistate * on/off * Lock @@ -182,15 +211,16 @@ stored on the watch # TODO +* Handle events and redraws better, actually hit minutes/seconds for redraw * Performance improvements - * Mark elements with how often they need to be redrawn + * Mark elements with how often they need to be redrawn * Use less RAM (maybe dedicated parser for JSON working on a stack/queue) * Allow watchfaces to declare if the want to show widgets * Temporarily show widgets with slide up/down -* Analog Hands? * Finalize the file format -* Description of the file format * Allow additional files for upload declared in info.json +* Settings +* Localization # Creator From 1742e08b451680caa73b2947bf24faf5202d7ac2 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 21:00:09 +0100 Subject: [PATCH 123/306] Better logic for detemining not needed draws --- apps/imageclock/app.js | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index e9a4f0ebf..2f1dc4e06 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -304,13 +304,9 @@ function drawMultiState(element, offset){ } } -var drawing = false; - function draw(element, offset){ var initial = !element; if (initial){ - if (drawing) return; - drawing = true; element = face; g.clear(); } @@ -356,9 +352,6 @@ function draw(element, offset){ } } //print("Finished drawing loop"); - if (initial){ - drawing = false; - } } var pulse,alt,temp,press; @@ -367,7 +360,27 @@ var pulse,alt,temp,press; var zeroOffset={X:0,Y:0}; -function initialDraw(){ draw(undefined, zeroOffset); } +var requestedDraws = 0; +var isDrawing = false; + +function initialDraw(){ + print("Free memory", process.memory(false).free); + requestedDraws++; + if (!isDrawing){ + //print(new Date().toISOString(), "Can draw,", requestedDraws, "draws requested so far"); + isDrawing = true; + requestedDraws = 0; + //print(new Date().toISOString(), "Drawing start"); + draw(undefined, zeroOffset); + //print(new Date().toISOString(), "Drawing done"); + isDrawing = false; + if (requestedDraws > 0){ + //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); + requestedDraws = 0; + draw(undefined, zeroOffset); + } + } +} function handleHrm(e){ if (e.confidence > 70){ From 64d0b6fccb9fd9f05d17b907fb951187c28ad449 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 21:00:28 +0100 Subject: [PATCH 124/306] Adds additional prints --- apps/imageclock/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 2f1dc4e06..8e284f39a 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -109,6 +109,7 @@ function drawElement(pos, offset, path, lastElem){ //print("drawElement ",pos, offset, path, lastElem); var resource = getByPath(resources, path, lastElem); if (resource){ + //print("resource ",pos, offset, path, lastElem); var image = getImg(resource); if (image){ offset = updateColors(pos, offset); @@ -299,6 +300,7 @@ function drawMultiState(element, offset){ //print("drawMultiState", element, offset); var value = multistates[element.Value](); if (checkRedraw(element, value)){ + //print("drawImage from drawMultiState", element, offset, value); drawImage(element, offset, value); element.lastDrawnValue = value; } @@ -427,5 +429,3 @@ setInterval(()=>{ }, lockedRedraw ? lockedRedraw : 60000); initialDraw(); - - From bb88d06c782c54f964bac244a5560a41115e8eba Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 21:15:34 +0100 Subject: [PATCH 125/306] Allow compression to be used --- apps/imageclock/app.js | 2 ++ apps/imageclock/custom.html | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 8e284f39a..4c8b80d16 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -10,6 +10,8 @@ function getImg(resource){ } else if (resource.file){ buffer = E.toArrayBuffer(atob(require("Storage").read(resource.file))); //print("buffer from file"); + } else if (resource.compressed){ + buffer = require("heatshrink").decompress(atob(resource.compressed)); } var result = { diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 3389c3504..490379af3 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -31,7 +31,7 @@ var options = {}; options.diffusion = infoJson.diffusion ? infoJson.diffusion : "none"; - options.compression = false; + options.compression = infoJson.compression ? infoJson.compression : false; options.alphaToColor = false; options.transparent = false; options.inverted = false; From 9c6793e815130963a549db76afcb0e922d4fc93e Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 21:54:42 +0100 Subject: [PATCH 126/306] Add configurability for events --- apps/imageclock/app.js | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 4c8b80d16..30df8a8d7 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -389,6 +389,9 @@ function initialDraw(){ function handleHrm(e){ if (e.confidence > 70){ pulse = e.bpm; + if (!redrawEvents || redrawEvents.includes("HRM")){ + initialDraw(); + } } } @@ -396,14 +399,21 @@ function handlePressure(e){ alt = e.altitude; temp = e.temperature; press = e.pressure; + if (!redrawEvents || redrawEvents.includes("pressure")){ + initialDraw(); + } } - var unlockedDrawInterval; var lockedRedraw = getByPath(face, ["Properties","Redraw","Locked"]); var unlockedRedraw = getByPath(face, ["Properties","Redraw","Unlocked"]); var defaultRedraw = getByPath(face, ["Properties","Redraw","Default"]) || "Always"; +var redrawEvents = getByPath(face, ["Properties","Redraw","Events"]); +var events = getByPath(face, ["Properties","Events"]); + +//print("events", events); +//print("redrawEvents", redrawEvents); function handleLock(isLocked){ if (!isLocked){ @@ -412,20 +422,30 @@ function handleLock(isLocked){ unlockedDrawInterval = setInterval(()=>{ initialDraw(); },unlockedRedraw?unlockedRedraw:1000); - draw(face, zeroOffset); } else { Bangle.setHRMPower(0, "imageclock"); Bangle.setBarometerPower(0, 'imageclock'); if (unlockedDrawInterval) clearInterval(unlockedDrawInterval); } - + if (!redrawEvents || redrawEvents.includes("lock")){ + initialDraw(); + } } Bangle.setUI("clock"); -Bangle.on('pressure', handlePressure); -Bangle.on('HRM', handleHrm); -Bangle.on('lock', handleLock); +if (!events || events.includes("pressure")){ + Bangle.on('pressure', handlePressure); + Bangle.setBarometerPower(1, 'imageclock'); +} +if (!events || events.includes("HRM")) { + Bangle.on('HRM', handleHrm); + Bangle.setHRMPower(1, "imageclock"); +} +if (!events || events.includes("lock")) { + Bangle.on('lock', handleLock); +} + setInterval(()=>{ initialDraw(); }, lockedRedraw ? lockedRedraw : 60000); From 5dc3d12a8d3a30b43f44c9a9abd2df4dae202fcf Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 20 Feb 2022 02:37:03 +0100 Subject: [PATCH 127/306] Add digitalretro demo watchface --- apps/imageclock/custom.html | 1 + apps/imageclock/digitalretro.zip | Bin 0 -> 60334 bytes 2 files changed, 1 insertion(+) create mode 100644 apps/imageclock/digitalretro.zip diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 490379af3..e6d203925 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -18,6 +18,7 @@

+

Download Demo Watchface here: digitalretro.zip

diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json index 93c87e842..cfbe19657 100644 --- a/apps/imageclock/metadata.json +++ b/apps/imageclock/metadata.json @@ -2,7 +2,7 @@ "id": "imageclock", "name": "Imageclock", "shortName": "imageclock", - "version": "0.02", + "version": "0.03", "type": "clock", "description": "BETA!!! File formats still subject to change --- This app is a highly customizable watchface. To use it, you need to select a watchface. You can build the watchfaces yourself without programming anything. All you need to do is write some json and create image files.", "icon": "app.png", From fbc62eed03aba19563b1d4a3b56fd73279a19a65 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 27 Feb 2022 14:12:54 +0100 Subject: [PATCH 144/306] Allow writing image data to separate file to keep it out of memory --- apps/imageclock/ChangeLog | 1 + apps/imageclock/app.js | 41 ++++++++++++++++++++++-------- apps/imageclock/custom.html | 47 +++++++++++++++++++++++++++++++++++ apps/imageclock/metadata.json | 2 +- 4 files changed, 79 insertions(+), 12 deletions(-) diff --git a/apps/imageclock/ChangeLog b/apps/imageclock/ChangeLog index b67a4bac0..344935dc4 100644 --- a/apps/imageclock/ChangeLog +++ b/apps/imageclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App 0.02: Allow drawing polys 0.03: Allow partly importing Amazfit decompiler formatted watchfaces +0.04: Allow writing all image data to separate file to save some RAM diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index d5dd28435..51faaecfe 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -4,29 +4,47 @@ var resources = require("Storage").readJSON("imageclock.resources.json"); function prepareImg(resource){ //print("prepareImg: ", resource); + var result = cacheBuffers ? resource : { + width: resource.width, + height: resource.height, + bpp: resource.bpp + }; + if (!cacheBuffers && resource.transparent) result.transparent = resource.transparent; + if (resource.img){ - resource.buffer = E.toArrayBuffer(atob(resource.img)); - resource.img = undefined; //print("buffer from img"); + result.buffer = E.toArrayBuffer(atob(resource.img)); + result.img = undefined; } else if (resource.file){ - resource.buffer = E.toArrayBuffer(atob(require("Storage").read(resource.file))); - resource.file = undefined; //print("buffer from file"); - } else if (resource.compressed){ - resource.buffer = require("heatshrink").decompress(atob(resource.compressed)); - resource.compressed = undefined; + result.buffer = E.toArrayBuffer(atob(require("Storage").read(resource.file))); + result.file = undefined; + } else if (resource.compressed && (resource.dataOffset == undefined)){ //print("buffer from compressed"); + result.buffer = require("heatshrink").decompress(atob(resource.compressed)); + result.compressed = undefined; } else if (resource.buffer){ //print("buffer cached"); - resource.buffer = resource.buffer; + } else if (resource.dataOffset !== undefined){ + //print("buffer from data file"); + if (resource.compressed){ + result.buffer = require("heatshrink").decompress(atob(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength))); + } else { + result.buffer = E.toArrayBuffer(atob(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength))); + } + result.compressed = undefined; + result.dataOffset = undefined; + result.dataLength = undefined; + } else { + print("Could not get image data for resource", resource); } - - if (resource.paletteData){ + + if (result.paletteData){ result.palette = new Uint16Array(resource.paletteData); result.paletteData = undefined; } - return resource; + return result; } function getByPath(object, path, lastElem){ @@ -609,6 +627,7 @@ var lockedRedraw = getByPath(face, ["Properties","Redraw","Locked"]) || 60000; var unlockedRedraw = getByPath(face, ["Properties","Redraw","Unlocked"]) || 1000; var defaultRedraw = getByPath(face, ["Properties","Redraw","Default"]) || "Always"; var redrawEvents = getByPath(face, ["Properties","Redraw","Events"]); +var cacheBuffers = getByPath(face, ["Properties","CacheBuffers"]) || false; var events = getByPath(face, ["Properties","Events"]); var stepsgoal = 2000; diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index fe531ea8a..a1c8fac03 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -19,6 +19,12 @@

+

+ Options:
+ +
+

+

Select watchface folder:

or

Select watchface zip file:


@@ -38,6 +44,8 @@ var resultJson = {}; var infoJson; var faceJson; + var resourceDataString = ""; + var resourceDataOffset = 0; var handledFiles = 0; var expectedFiles = 0; var rootZip = new JSZip(); @@ -586,12 +594,22 @@ performFileChanges().then(()=>{ rootZip.file("face.json", JSON.stringify(faceJson, null, 2)); rootZip.file("info.json", JSON.stringify(infoJson, null, 2)); + + if (document.getElementById('useDataFile').checked){ + moveData(resultJson); + console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); + } document.getElementById('btnSave').disabled = false; document.getElementById('btnSaveFace').disabled = false; document.getElementById('btnSaveZip').disabled = false; document.getElementById('btnUpload').disabled = false; }); } else { + + if (true){ + moveData(resultJson); + console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); + } document.getElementById('btnSave').disabled = false; document.getElementById('btnSaveFace').disabled = false; document.getElementById('btnUpload').disabled = false; @@ -706,6 +724,30 @@ }; document.getElementById('fileLoader').addEventListener('change', handleFileSelect, false); + function moveData(json){ + console.log("MoveData for", json); + for (var k in json){ + var c = json[k]; + if (c.img){ + var currentData = c.img; + delete c.img; + c.dataOffset = resourceDataOffset; + c.dataLength = currentData.length; + resourceDataString += currentData; + resourceDataOffset += currentData.length; + } else if (c.compressed){ + var currentData = c.compressed; + c.compressed = true; + c.dataOffset = resourceDataOffset; + c.dataLength = currentData.length; + resourceDataString += currentData; + resourceDataOffset += currentData.length; + } else { + moveData(c); + } + } + } + document.getElementById("btnSave").addEventListener("click", function() { var h = document.createElement('a'); h.href = 'data:text/json;charset=utf-8,' + encodeURI(JSON.stringify(resultJson)); @@ -714,6 +756,7 @@ h.click(); }); document.getElementById("btnUpload").addEventListener("click", function() { + var appDef = { id : "imageclock", storage:[ @@ -723,6 +766,10 @@ {name:"imageclock.img", url:"app-icon.js", evaluate:true}, ] }; + if (resourceDataString.length > 0){ + appDef.storage.push({name:"imageclock.resources.data", content: resourceDataString}); + } + console.log("Uploading app:", appDef); sendCustomizedApp(appDef); diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json index cfbe19657..ecaadadf6 100644 --- a/apps/imageclock/metadata.json +++ b/apps/imageclock/metadata.json @@ -2,7 +2,7 @@ "id": "imageclock", "name": "Imageclock", "shortName": "imageclock", - "version": "0.03", + "version": "0.04", "type": "clock", "description": "BETA!!! File formats still subject to change --- This app is a highly customizable watchface. To use it, you need to select a watchface. You can build the watchfaces yourself without programming anything. All you need to do is write some json and create image files.", "icon": "app.png", From 995f339b48e9b3e47b9fa0d68180379dc3f74077 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 27 Feb 2022 15:04:40 +0100 Subject: [PATCH 145/306] Fix getting rotation values --- apps/imageclock/app.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 51faaecfe..67329810e 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -207,7 +207,7 @@ function drawElement(pos, offset, path, lastElem){ //print("drawImage from drawElement", image, pos, offset); var options={}; if (pos.RotationValue){ - options.rotate = scaledown(numbers[pos.RotationValue](), pos.MinRotationValue, pos.MaxRotationValue); + options.rotate = scaledown(pos.RotationValue, pos.MinRotationValue, pos.MaxRotationValue); options.rotate = options.rotate * Math.PI* 2; } if (pos.Scale){ @@ -381,14 +381,14 @@ function updateColors(element, offset){ function scaledown(value, min, max){ //print("scaledown", value, min, max); - var scaled = E.clip(value,getValue(min,0),getValue(max,1)); + var scaled = E.clip(getValue(value),getValue(min,0),getValue(max,1)); scaled -= getValue(min,0); scaled /= getValue(max,1); return scaled; } function rotate(center, coords, rotation) { - var value = scaledown(numbers[rotation.RotationValue](), rotation.MinRotationValue, rotation.MaxRotationValue); + var value = scaledown(rotation.RotationValue, rotation.MinRotationValue, rotation.MaxRotationValue); value -= rotation.RotationOffset ? rotation.RotationOffset : 0; value *= 360; value -= 180; @@ -500,6 +500,7 @@ function draw(element, offset){ if (!offset.Y) offset.Y = 0; g.clear(); } + var elementOffset = updateOffset(element, offset); setColors(elementOffset); @@ -507,7 +508,9 @@ function draw(element, offset){ for (var current in element){ //print("Handling ", current, " with offset ", elementOffset); + //print("Handling ", current); var currentElement = element[current]; + var start = Date.now(); try { switch(current){ case "X": @@ -540,11 +543,12 @@ function draw(element, offset){ draw(currentElement, elementOffset); //print("Done next level"); } + //print("Drawing of", current, "in", (Date.now() - start).toFixed(0), "ms"); } catch (e){ print("Error during drawing of", current, "in", element, e); } } - //print("Finished drawing loop"); + //print("Finished drawing loop in", Date.now() - start); } var pulse,alt,temp,press; @@ -564,8 +568,9 @@ function initialDraw(){ isDrawing = true; requestedDraws = 0; //print(new Date().toISOString(), "Drawing start"); + var start = Date.now(); draw(undefined, zeroOffset); - //print(new Date().toISOString(), "Drawing done"); + print(new Date().toISOString(), "Drawing done", (Date.now() - start).toFixed(0)); isDrawing = false; if (requestedDraws > 0){ //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); From 90a2a47d6a80c5ad8047b27e23ce7b21a86e4bc6 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 27 Feb 2022 18:58:25 +0100 Subject: [PATCH 146/306] Update demo apps --- apps/imageclock/digitalretro.zip | Bin 60354 -> 60354 bytes apps/imageclock/simpleanalog.zip | Bin 5878 -> 5892 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/imageclock/digitalretro.zip b/apps/imageclock/digitalretro.zip index dab94fc2497fe93bd0587a8834532c4f9787bd5b..42833e1b90a5b0eb2044b20e48f5a82fcbb06fea 100644 GIT binary patch delta 1513 zcmZvce@t6d6vyA=HS$C4R;bYS(RQP3W9`Xg%vQHj7&z; z&bo-=V8^jdw_pPC$ChS4?tTyvR!O!QV@Ql9nCaq_2%<|E`iHvA>E1oJZ=Lb4_r0I< zJ?EZx-+6a(T9}*`99uRE3N^=ZG2HpisYTN3WKi`z3Tw8QZVz z+W*7br`5SVU(OYcEROw|Qdzie;O;2zAs2WPAJslXu1DGUnBc^VZI0lz1yCufg!~>6 z+7*?;$e2hzS7?+%T89WeQ3wCTXGlTfOz_UfM4UH8+@v{$m$y4s5X}}RgM}Kv>@|g-G&Ih7E;CSEVhmE8{!ac z!zUWxL~f{{AwM z+1BMx%HFS+*UG#kq|?{w&jt(3xH$dsaCrW&TBGEG#&}`Ilr*MFxIDslGn5 zAi|FWXm7BsM^S*udbjA$@RjIQ5@NvfT3XVJ4iN_ z{D{K#%xx;b?n@vUrE?D!>E&sdR8tX$qGekjCf(USgW_iOD2jJ$HR!qcT<3!l`34t{-tBG*?avW?@C`t6h*xG*q0x1Mq delta 1513 zcmZvce@s(X6vyA=HKX8GE!5Id+A0NwR@;>dEunVk7FQHR2Z%rTAq;SXAuKv1{%Wdr z%h>9`vms6iCirVC#K|2>#=wq5T^2)PG{Kme`6JU|mLS<5o5s2M?zw%|Wq-Zz{haSP z_q_YgyJHi=*o5F%wL*}oIF6HZYX(b;ubQ(SJrX$XfrjH^xFoKw>g`%<{g$T9CB-qE zP}HZc-q@$^aI|L+_Y__pxP2x)=zBav7~A*Metl){FODO6dAVxnV$r~Z&{IXser@aC z+n=9SxprTJGUPW#i??N8jD-=)ZItl(G#%;Fubk zWNU>5Z_Xw^$utUKhg=PQT_XGwmnjB`Gk%Xu=ftHLy$ur-vR^pelVqnS<&Oax4N;B~riuLtb z-UvSqpxNn{&g@5L7ClqmRYHBroNfqRjfTHn(c!f+!&=?gOn(t^+Qbol=2ANTj~>WT zurxe2WzJS`xSfbUm8FOe)S zyo18F`XLoy_s5gWqWjMm86|0$R9+g3qJCWvlOC_Xi{e(<5Q@VU8uXmq*z&x@(&~E{ zw$!+282Y!HNqb!<%&nUL;S7XD$_5vg~J9<#~AW0DVQt=iX>a^0Uak6t{-YYNM b*g!^1;tdT|7uE3ad@L-NDM<9_@WOuqfk`1d diff --git a/apps/imageclock/simpleanalog.zip b/apps/imageclock/simpleanalog.zip index f457ed31c60d5f21a7ad2b4e915535e9fdaaa6a8..609b777d565d9433e133ac9853ab30b38086c9a2 100644 GIT binary patch delta 632 zcmeyS+oD$=;LXe;!oa}5!H_*YI^=HDwRaVa3=DRx3=EtMG7M>n$*Fo-#rb)mA)E}% zKX*$f{R86C3T_5QmJ93*3}9kyNNn~Y1Cd(sKm4lITPIjO>&l<)Bcn07_Jm6fNA9YF zGkR|13BRn5pA>fcNP@Y<7e(9WclwKqPcFRs$)?^w^bd3Qln1ges@YjRKS&;Dsts*u zxhL`TBHM8x9)*^m}0)j}1CA_Jr*C*~FT><#^J9hpSeWSMnWB z{&D9=wQ6+EmeohLragQ1eggL%A)Dln4Z(UUoa=-*9G6Ob^m+42QuW&oSM8jn^rK9 z!tbfIq-t)vyEBbRIO6@=di8)U7vJn{hxf1VwLL@pxW& z!1veevb8G@mfkD8upuRX&YPz<@(v#IUifdVb#df%{<|0JoOjf(idCQcJJ>GnS8vw# zC*PSTuVpk~e$ym9`2k}T^W@#qn{Am)Ihj9Am708jTV!%4w+WOT0#dYDoF|SEtlE}I zdGl=E6h`Kw&eA}YQj=x)wV0OzwR`ffVBtkc2$TN_D}y3_@;OnN$qpiNjJqeti}*2$ zOzp85Jh) N5VK(WEDTI(3;_Hv5M=-W delta 630 zcmZqC`=(nT;LXe;!oa}5!SKR6Jft{AEhLMPfkBRyfq|1jh9NC6IaM#KI6p5mgp+~! z$_LS;yFgr8!Og(Pa)F(J0Zgn7iOy~|kf_!FV(;;7m4NK+CHc{jHy5zpT)Jh79ZPSR z)Z~fBa+m(NKYhhoDd*emjr=DqpYNWdZ`l6uz@~bK12@H=DIK*o*u=**>49{g#ji{T z&f1_uhjjZ?UN~{Q6*e?IeE$9nuBpXa*KJtztYq1tgCcJY&E~-CH&s-Z?77hN{72JV zt<`zzOKlgvd!}{z*yYBJ%c`6nZd?D!^lHrCCkuBmtTxMwWG|i4mu)cp`SW{X+Zx+U ztJ71?AFmSSKHqA^|Lja@>~V8B*}aBND*q zIGI<}pShKrVe$rUk;%oP4$K#T?BCo9ldl2U`n(L2qj;4jTZ=g`UYT4Y=E*2D`Iwjm L+f!j+I%5C;!!QWA From 8e161940d5d5157cb5edd7ff4e1315b2ee651219 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 27 Feb 2022 18:59:06 +0100 Subject: [PATCH 147/306] Allow hiding elements on lock --- apps/imageclock/ChangeLog | 1 + apps/imageclock/app.js | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/ChangeLog b/apps/imageclock/ChangeLog index 344935dc4..59288bdd3 100644 --- a/apps/imageclock/ChangeLog +++ b/apps/imageclock/ChangeLog @@ -2,3 +2,4 @@ 0.02: Allow drawing polys 0.03: Allow partly importing Amazfit decompiler formatted watchfaces 0.04: Allow writing all image data to separate file to save some RAM + Allow hiding elements on lock diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 67329810e..181683b63 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -510,7 +510,8 @@ function draw(element, offset){ //print("Handling ", current, " with offset ", elementOffset); //print("Handling ", current); var currentElement = element[current]; - var start = Date.now(); + + //var start = Date.now(); try { switch(current){ case "X": @@ -518,6 +519,7 @@ function draw(element, offset){ case "Properties": case "ForegroundColor": case "BackgroundColor": + case "HideOn": //Nothing to draw for these break; case "MultiState": @@ -540,6 +542,10 @@ function draw(element, offset){ break; default: //print("Enter next level", elementOffset); + if (currentElement.HideOn && currentElement.HideOn == "Lock" && Bangle.isLocked()){ + //print("Hiding", current); + continue; + } draw(currentElement, elementOffset); //print("Done next level"); } @@ -570,7 +576,7 @@ function initialDraw(){ //print(new Date().toISOString(), "Drawing start"); var start = Date.now(); draw(undefined, zeroOffset); - print(new Date().toISOString(), "Drawing done", (Date.now() - start).toFixed(0)); + //print(new Date().toISOString(), "Drawing done", (Date.now() - start).toFixed(0)); isDrawing = false; if (requestedDraws > 0){ //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); From 755ba01ef2eb4542a88e8a4dc6219b543dd183ed Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 27 Feb 2022 21:06:30 +0100 Subject: [PATCH 148/306] Fix data file checkbox --- apps/imageclock/custom.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index a1c8fac03..477eb3371 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -21,7 +21,7 @@

Options:
- +

@@ -704,7 +704,7 @@ } else { infoJson = { "color": "3bit", - "compression": true, + "compression": false, "transparent": true }; if (current.name.includes(".png")){ @@ -806,7 +806,7 @@ } else { infoJson = { "color": "3bit", - "compression": true, + "compression": false, "transparent": true }; From 093d250722603142156c0512a3a005fc768c7045 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 27 Feb 2022 22:12:10 +0100 Subject: [PATCH 149/306] Get value for coded image with helper --- apps/imageclock/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 181683b63..9cc6c89db 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -304,7 +304,7 @@ function drawImage(image, offset, name){ } function drawCodedImage(image, offset){ - var code = numbers[image.Value](); + var code = getValue(image.Value); //print("drawCodedImage", image, offset, code); if (checkRedraw(image, code)){ From cdab89b414bc4b86eda8a9f9c0c669b1c81bada2 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 27 Feb 2022 23:08:01 +0100 Subject: [PATCH 150/306] Print stack on error --- apps/imageclock/app.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 9cc6c89db..fcb41d3b4 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -551,7 +551,7 @@ function draw(element, offset){ } //print("Drawing of", current, "in", (Date.now() - start).toFixed(0), "ms"); } catch (e){ - print("Error during drawing of", current, "in", element, e); + print("Error during drawing of", current, "in", element, e, e.stack); } } //print("Finished drawing loop in", Date.now() - start); @@ -588,28 +588,30 @@ function initialDraw(){ function handleHrm(e){ if (e.confidence > 70){ + var change = pulse != e.bpm pulse = e.bpm; if (!redrawEvents || redrawEvents.includes("HRM") && !Bangle.isLocked()){ //print("Redrawing on HRM"); - initialDraw(); + changeFromEvent |= change; } } } function handlePressure(e){ + var change = (alt != e.altitude) || (temp != e.temperature) || (press != e.pressure); alt = e.altitude; temp = e.temperature; press = e.pressure; if (!redrawEvents || redrawEvents.includes("pressure") && !Bangle.isLocked()){ //print("Redrawing on pressure"); - initialDraw(); + changeFromEvent |= change; } } function handleCharging(e){ if (!redrawEvents || redrawEvents.includes("charging") && !Bangle.isLocked()){ //print("Redrawing on charging"); - initialDraw(); + changeFromEvent = true; } } @@ -634,6 +636,8 @@ function setMatchedInterval(callable, time, intervalHandler){ var unlockedDrawInterval; var lockedDrawInterval; +var changeFromEvent = false; + var lockedRedraw = getByPath(face, ["Properties","Redraw","Locked"]) || 60000; var unlockedRedraw = getByPath(face, ["Properties","Redraw","Unlocked"]) || 1000; var defaultRedraw = getByPath(face, ["Properties","Redraw","Default"]) || "Always"; From 9fdad181e093d8d277ec701093ff36d25ccb695c Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 28 Feb 2022 20:14:19 +0100 Subject: [PATCH 151/306] Adds performance logging --- apps/imageclock/app.js | 109 ++++++++++++++++++++++++++++++++--------- 1 file changed, 87 insertions(+), 22 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index fcb41d3b4..46c323ece 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -1,7 +1,46 @@ var face = require("Storage").readJSON("imageclock.face.json"); var resources = require("Storage").readJSON("imageclock.resources.json"); +var performanceLog = {}; + +var startPerfLog = ()=>{}; +var endPerfLog = ()=>{}; +var printPerfLog = ()=>print("Deactivated"); + +if (true){ + startPerfLog = function(name){ + var time = getTime(); + if (!performanceLog.start) performanceLog.start={}; + performanceLog.start[name] = time; + }; + endPerfLog = function (name){ + var time = getTime(); + if (!performanceLog.last) performanceLog.last={}; + var duration = time - performanceLog.start[name]; + performanceLog.last[name] = duration; + if (!performanceLog.cum) performanceLog.cum={}; + if (!performanceLog.cum[name]) performanceLog.cum[name] = 0; + performanceLog.cum[name] += duration; + if (!performanceLog.count) performanceLog.count={}; + if (!performanceLog.count[name]) performanceLog.count[name] = 0; + performanceLog.count[name]++; + }; + + printPerfLog = function(){ + var result = ""; + var keys = []; + for (var c in performanceLog.cum){ + keys.push(c); + } + keys.sort(); + for (var k of keys){ + print(k, "last:", (performanceLog.last[k] * 1000).toFixed(0), "average:", (performanceLog.cum[k]/performanceLog.count[k]*1000).toFixed(0), "total:", (performanceLog.cum[k] * 1000).toFixed(0)); + } + }; +} + function prepareImg(resource){ + startPerfLog("prepareImg"); //print("prepareImg: ", resource); var result = cacheBuffers ? resource : { @@ -19,7 +58,7 @@ function prepareImg(resource){ //print("buffer from file"); result.buffer = E.toArrayBuffer(atob(require("Storage").read(resource.file))); result.file = undefined; - } else if (resource.compressed && (resource.dataOffset == undefined)){ + } else if (resource.compressed && (resource.dataOffset === undefined)){ //print("buffer from compressed"); result.buffer = require("heatshrink").decompress(atob(resource.compressed)); result.compressed = undefined; @@ -44,10 +83,12 @@ function prepareImg(resource){ result.paletteData = undefined; } + endPerfLog("prepareImg"); return result; } function getByPath(object, path, lastElem){ + startPerfLog("getByPath"); //print("getByPath", path,lastElem); var current = object; if (path.length) { @@ -61,6 +102,7 @@ function getByPath(object, path, lastElem){ //print("Found by lastElem", lastElem); current = current["" + lastElem]; } + endPerfLog("getByPath"); if (typeof current == "function"){ //print("current was function"); return undefined; @@ -73,6 +115,7 @@ function splitNumberToDigits(num){ } function drawNumber(element, offset){ + startPerfLog("drawNumber"); var number = numbers[element.Value](); var spacing = element.Spacing ? element.Spacing : 0; var unit = element.Unit; @@ -85,13 +128,13 @@ function drawNumber(element, offset){ //print("drawNumber: ", number, element, offset); if (number) number = number.toFixed(0); - if (!element.Refresh || element.Refresh == "Always" || (element.Refresh == "Change" && element.lastDrawnValue && element.lastDrawnValue != number)){ + if (checkRedraw(element,number)){ //var numberOffset = updateOffset(element, offset); var numberOffset = offset; var isNegative; var digits; - if (number == undefined){ + if (typeof number !== "number"){ isNegative = true; digits = []; numberOfDigits = 0; @@ -185,6 +228,8 @@ function drawNumber(element, offset){ drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, getMultistate(element.Unit,"unknown")); } element.lastDrawnValue = number; + + endPerfLog("drawNumber"); } } @@ -194,6 +239,7 @@ function setColors(properties){ } function drawElement(pos, offset, path, lastElem){ + startPerfLog("drawElement"); //print("drawElement ",pos, offset, path, lastElem); //print("drawElement offset", offset, pos.X, pos.Y); var resource = getByPath(resources, path, lastElem); @@ -215,13 +261,16 @@ function drawElement(pos, offset, path, lastElem){ } //print("options", options); //print("Memory before drawing", process.memory(false)); + startPerfLog("drawElement_g.drawImage"); g.drawImage(image ,(imageOffset.X ? imageOffset.X : 0) + (pos.X ? pos.X : 0),(imageOffset.Y ? imageOffset.Y :0) + (pos.Y ? pos.Y : 0), options); + endPerfLog("drawElement_g.drawImage"); } else { //print("Could not create image from", resource); } } else { //print("Could not get resource from", path, lastElem); } + endPerfLog("drawElement"); } function checkRedraw(element, newValue){ @@ -255,15 +304,12 @@ function getMultistate(name, defaultValue){ } function drawScale(scale, offset){ + startPerfLog("drawScale"); //print("drawScale", scale, offset); var segments = scale.Segments; - var value = numbers[scale.Value](); - var maxValue = getValue(scale.MaxValue, 1); - var minValue = getValue(scale.MinValue, 0); var imageIndex = scale.ImageIndex !== undefined ? scale.ImageIndex : 0; - value = value/maxValue; - value -= minValue; + var value = scaledown(scale.Value, scale.MinValue, scale.MaxValue); //print("Value is ", value, "(", maxValue, ",", minValue, ")"); @@ -277,6 +323,7 @@ function drawScale(scale, offset){ } scale.lastDrawnValue = segmentsToDraw; } + endPerfLog("drawScale"); } function drawDigit(element, offset, digit){ @@ -284,11 +331,12 @@ function drawDigit(element, offset, digit){ } function drawImage(image, offset, name){ + startPerfLog("drawImage"); var imageOffset = updateColors(image, offset); if (image.ImagePath) { //print("drawImage", image, offset, name); if (image.Value && image.Steps){ - var steps = Math.floor(scaledown(getValue(image.Value), getValue(image.MinValue, 0), getValue(image.MaxValue, 1)) * (image.Steps - 1)); + var steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1)); //print("Step", steps, "of", image.Steps); drawElement(image, imageOffset, image.ImagePath, "" + steps); } else if (image.ImageIndex !== undefined) { @@ -301,9 +349,11 @@ function drawImage(image, offset, name){ setColors(imageOffset); g.drawImage(prepareImg(file),image.X + imageOffset.X, image.Y + imageOffset.Y); } + endPerfLog("drawImage"); } function drawCodedImage(image, offset){ + startPerfLog("drawCodedImage"); var code = getValue(image.Value); //print("drawCodedImage", image, offset, code); @@ -329,6 +379,7 @@ function drawCodedImage(image, offset){ } image.lastDrawnValue = code; } + startPerfLog("drawCodedImage"); } function getWeatherCode(){ @@ -361,11 +412,13 @@ function getWeatherTemperature(){ } function updateOffset(element, offset){ + startPerfLog("updateOffset"); var newOffset = { X: offset.X ? offset.X : 0, Y: offset.Y ? offset.Y : 0 }; if (element && element.X) newOffset.X += element.X; if (element && element.Y) newOffset.Y += element.Y; newOffset = updateColors(element, newOffset); //print("Updated offset from ", offset, "to", newOffset); + endPerfLog("updateOffset"); return newOffset; } @@ -388,6 +441,7 @@ function scaledown(value, min, max){ } function rotate(center, coords, rotation) { + startPerfLog("rotate"); var value = scaledown(rotation.RotationValue, rotation.MinRotationValue, rotation.MaxRotationValue); value -= rotation.RotationOffset ? rotation.RotationOffset : 0; value *= 360; @@ -400,15 +454,19 @@ function rotate(center, coords, rotation) { sin = Math.sin(radians), x = (cos * (coords.X - center.X)) + (sin * (coords.Y - center.Y)) + center.X, y = (cos * (coords.Y - center.Y)) - (sin * (coords.X - center.X)) + center.Y; + + endPerfLog("rotate"); return {X:x,Y:y}; } function drawPoly(element, offset){ + startPerfLog("drawPoly"); var vertices = []; var primitiveOffset = offset.clone(); if (element.X) primitiveOffset.X += element.X; if (element.Y) primitiveOffset.Y += element.Y; + startPerfLog("drawPoly_transform"); for (var c of element.Vertices){ if (element.RotationValue){ var rotated = rotate({X:0,Y:0}, c, element); @@ -419,15 +477,22 @@ function drawPoly(element, offset){ vertices.push(c.Y + primitiveOffset.Y); } } + endPerfLog("drawPoly_transform"); if (element.ForegroundColor) g.setColor(element.ForegroundColor); if (element.Filled){ + startPerfLog("drawPoly_g.fillPoly"); g.fillPoly(vertices,true); + endPerfLog("drawPoly_g.fillPoly"); } if (element.BackgroundColor) g.setColor(element.BackgroundColor); + startPerfLog("drawPoly_g.drawPoly"); g.drawPoly(vertices,true); + endPerfLog("drawPoly_g.drawPoly"); + + startPerfLog("drawPoly"); } var numbers = {}; @@ -482,6 +547,7 @@ multistates.WeatherTemperatureUnit = () => { return getWeatherTemperature().unit multistates.StepsGoal = () => { return (numbers.Steps() >= stepsgoal) ? "on": "off"; }; function drawMultiState(element, offset){ + startPerfLog("drawMultiState"); //print("drawMultiState", element, offset); var value = multistates[element.Value](); if (checkRedraw(element, value)){ @@ -489,9 +555,11 @@ function drawMultiState(element, offset){ drawImage(element, offset, value); element.lastDrawnValue = value; } + endPerfLog("drawMultiState"); } function draw(element, offset){ + startPerfLog("draw_"+ path.join("_")); var initial = !element; if (initial){ element = face; @@ -500,7 +568,6 @@ function draw(element, offset){ if (!offset.Y) offset.Y = 0; g.clear(); } - var elementOffset = updateOffset(element, offset); setColors(elementOffset); @@ -508,10 +575,8 @@ function draw(element, offset){ for (var current in element){ //print("Handling ", current, " with offset ", elementOffset); - //print("Handling ", current); + startPerfLog("draw_handling_"+ path.join("_")+"_"+current); var currentElement = element[current]; - - //var start = Date.now(); try { switch(current){ case "X": @@ -549,12 +614,15 @@ function draw(element, offset){ draw(currentElement, elementOffset); //print("Done next level"); } + endPerfLog("draw_handling_"+ path.join("_")+"_"+current); //print("Drawing of", current, "in", (Date.now() - start).toFixed(0), "ms"); } catch (e){ print("Error during drawing of", current, "in", element, e, e.stack); } } - //print("Finished drawing loop in", Date.now() - start); + //print("Finished drawing loop"); + + endPerfLog("draw_"+ path.join("_")); } var pulse,alt,temp,press; @@ -574,8 +642,9 @@ function initialDraw(){ isDrawing = true; requestedDraws = 0; //print(new Date().toISOString(), "Drawing start"); - var start = Date.now(); + startPerfLog("initialDraw"); draw(undefined, zeroOffset); + endPerfLog("initialDraw"); //print(new Date().toISOString(), "Drawing done", (Date.now() - start).toFixed(0)); isDrawing = false; if (requestedDraws > 0){ @@ -588,30 +657,28 @@ function initialDraw(){ function handleHrm(e){ if (e.confidence > 70){ - var change = pulse != e.bpm pulse = e.bpm; if (!redrawEvents || redrawEvents.includes("HRM") && !Bangle.isLocked()){ //print("Redrawing on HRM"); - changeFromEvent |= change; + initialDraw(); } } } function handlePressure(e){ - var change = (alt != e.altitude) || (temp != e.temperature) || (press != e.pressure); alt = e.altitude; temp = e.temperature; press = e.pressure; if (!redrawEvents || redrawEvents.includes("pressure") && !Bangle.isLocked()){ //print("Redrawing on pressure"); - changeFromEvent |= change; + initialDraw(); } } function handleCharging(e){ if (!redrawEvents || redrawEvents.includes("charging") && !Bangle.isLocked()){ //print("Redrawing on charging"); - changeFromEvent = true; + initialDraw(); } } @@ -636,8 +703,6 @@ function setMatchedInterval(callable, time, intervalHandler){ var unlockedDrawInterval; var lockedDrawInterval; -var changeFromEvent = false; - var lockedRedraw = getByPath(face, ["Properties","Redraw","Locked"]) || 60000; var unlockedRedraw = getByPath(face, ["Properties","Redraw","Unlocked"]) || 1000; var defaultRedraw = getByPath(face, ["Properties","Redraw","Default"]) || "Always"; From 8f7bd346939fd8e1cc38ddee391bb1ab16694c23 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 28 Feb 2022 20:19:44 +0100 Subject: [PATCH 152/306] Fix rendering issues --- apps/imageclock/app.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 46c323ece..605d26027 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -58,7 +58,7 @@ function prepareImg(resource){ //print("buffer from file"); result.buffer = E.toArrayBuffer(atob(require("Storage").read(resource.file))); result.file = undefined; - } else if (resource.compressed && (resource.dataOffset === undefined)){ + } else if (resource.compressed && (resource.dataOffset == undefined)){ //print("buffer from compressed"); result.buffer = require("heatshrink").decompress(atob(resource.compressed)); result.compressed = undefined; @@ -134,7 +134,7 @@ function drawNumber(element, offset){ var isNegative; var digits; - if (typeof number !== "number"){ + if (number == undefined){ isNegative = true; digits = []; numberOfDigits = 0; @@ -206,7 +206,6 @@ function drawNumber(element, offset){ } else { drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); } - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); currentX += minusImage.width + spacing; } for (var d = 0; d < numberOfDigits; d++){ From dfd127f4983db2fa8fa674cc3b89ed814f9ef64c Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 28 Feb 2022 20:20:37 +0100 Subject: [PATCH 153/306] Use Graphics.transformVertices and convert rotation to radians --- apps/imageclock/app.js | 44 ++++++++++++++++-------------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 605d26027..38f7752c3 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -252,8 +252,7 @@ function drawElement(pos, offset, path, lastElem){ //print("drawImage from drawElement", image, pos, offset); var options={}; if (pos.RotationValue){ - options.rotate = scaledown(pos.RotationValue, pos.MinRotationValue, pos.MaxRotationValue); - options.rotate = options.rotate * Math.PI* 2; + options.rotate = radians(pos); } if (pos.Scale){ options.scale = pos.ScaleValue; @@ -439,23 +438,12 @@ function scaledown(value, min, max){ return scaled; } -function rotate(center, coords, rotation) { - startPerfLog("rotate"); - var value = scaledown(rotation.RotationValue, rotation.MinRotationValue, rotation.MaxRotationValue); - value -= rotation.RotationOffset ? rotation.RotationOffset : 0; - value *= 360; - value -= 180; - - //print("Angle", value); - - var radians = (Math.PI / 180) * value, - cos = -Math.cos(radians), - sin = Math.sin(radians), - x = (cos * (coords.X - center.X)) + (sin * (coords.Y - center.Y)) + center.X, - y = (cos * (coords.Y - center.Y)) - (sin * (coords.X - center.X)) + center.Y; - - endPerfLog("rotate"); - return {X:x,Y:y}; +function radians(rotation){ + var value = scaledown(rotation.RotationValue, rotation.MinRotationValue, rotation.MaxRotationValue); + value -= rotation.RotationOffset ? rotation.RotationOffset : 0; + value *= 360; + value *= Math.PI / 180; + return value; } function drawPoly(element, offset){ @@ -467,15 +455,17 @@ function drawPoly(element, offset){ startPerfLog("drawPoly_transform"); for (var c of element.Vertices){ - if (element.RotationValue){ - var rotated = rotate({X:0,Y:0}, c, element); - vertices.push(rotated.X + primitiveOffset.X); - vertices.push(rotated.Y + primitiveOffset.Y); - } else { - vertices.push(c.X + primitiveOffset.X); - vertices.push(c.Y + primitiveOffset.Y); - } + vertices.push(c.X); + vertices.push(c.Y); } + var transform = { x: primitiveOffset.X, + y: primitiveOffset.Y + }; + if (element.RotationValue){ + transform.rotate = radians(element); + } + vertices = g.transformVertices(vertices, transform); + endPerfLog("drawPoly_transform"); if (element.ForegroundColor) g.setColor(element.ForegroundColor); From 0cca59144d150548472c4d3e723e51a07d748d52 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 28 Feb 2022 20:21:31 +0100 Subject: [PATCH 154/306] Allow collapsing the watchface tree down to an array --- apps/imageclock/app.js | 144 ++++++++++++++++++++++-------------- apps/imageclock/custom.html | 65 +++++++++++++--- 2 files changed, 146 insertions(+), 63 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 38f7752c3..c4d31c09c 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -547,66 +547,99 @@ function drawMultiState(element, offset){ endPerfLog("drawMultiState"); } -function draw(element, offset){ - startPerfLog("draw_"+ path.join("_")); - var initial = !element; - if (initial){ - element = face; - if (!offset) offset ={}; - if (!offset.X) offset.X = 0; - if (!offset.Y) offset.Y = 0; - g.clear(); +function drawIteratively(items){ + //print("drawIteratively"); + startPerfLog("drawIteratively"); + for (var c of items){ + startPerfLog("drawIteratively_handling_" + c.type); + if (c.value.HideOn && c.value.HideOn == "Lock" && Bangle.isLocked()){ + //print("Hiding", current); + continue; + } + switch(c.type){ + case "MultiState": + drawMultiState(c.value, zeroOffset); + break; + case "Image": + drawImage(c.value, zeroOffset); + break; + case "CodedImage": + drawCodedImage(c.value, zeroOffset); + break; + case "Number": + drawNumber(c.value, zeroOffset); + break; + case "Poly": + drawPoly(c.value, zeroOffset); + break; + case "Scale": + drawScale(c.value, zeroOffset); + break; + } + endPerfLog("drawIteratively_handling_" + c.type); } + endPerfLog("drawIteratively"); +} +function draw(root, path, offset){ + //print("draw", path); + startPerfLog("draw_"+ path.join("_")); + + var element = getByPath(root, path); var elementOffset = updateOffset(element, offset); setColors(elementOffset); //print("Using offset", elementOffset); + if (Array.isArray(element)) + drawIteratively(element); + else { + //print("Using offset", elementOffset); - for (var current in element){ - //print("Handling ", current, " with offset ", elementOffset); - startPerfLog("draw_handling_"+ path.join("_")+"_"+current); - var currentElement = element[current]; - try { - switch(current){ - case "X": - case "Y": - case "Properties": - case "ForegroundColor": - case "BackgroundColor": - case "HideOn": - //Nothing to draw for these - break; - case "MultiState": - drawMultiState(currentElement, elementOffset); - break; - case "Image": - drawImage(currentElement, elementOffset); - break; - case "CodedImage": - drawCodedImage(currentElement, elementOffset); - break; - case "Number": - drawNumber(currentElement, elementOffset); - break; - case "Poly": - drawPoly(currentElement, elementOffset); - break; - case "Scale": - drawScale(currentElement, elementOffset); - break; - default: - //print("Enter next level", elementOffset); - if (currentElement.HideOn && currentElement.HideOn == "Lock" && Bangle.isLocked()){ + for (var current in element){ + //print("Handling ", current, " with offset ", elementOffset); + startPerfLog("draw_handling_"+ path.join("_")+"_"+current); + var currentElement = element[current]; + try { + switch(current){ + case "X": + case "Y": + case "Properties": + case "ForegroundColor": + case "BackgroundColor": + case "HideOn": //print("Hiding", current); - continue; - } - draw(currentElement, elementOffset); - //print("Done next level"); + break; + case "MultiState": + drawMultiState(currentElement, elementOffset); + break; + case "Image": + drawImage(currentElement, elementOffset); + break; + case "CodedImage": + drawCodedImage(currentElement, elementOffset); + break; + case "Number": + drawNumber(currentElement, elementOffset); + break; + case "Poly": + drawPoly(currentElement, elementOffset); + break; + case "Scale": + drawScale(currentElement, elementOffset); + break; + default: + //print("Enter next level", elementOffset); + if (currentElement.HideOn && currentElement.HideOn == "Lock" && Bangle.isLocked()){ + //print("Hiding", current); + continue; + } + draw(root, path.concat(current), elementOffset); + //print("Done next level"); + } + endPerfLog("draw_handling_"+ path.join("_")+"_"+current); + //print("Drawing of", current, "in", (Date.now() - start).toFixed(0), "ms"); + } catch (e){ + print("Error during drawing of", current, "in", element, e, e.stack); } - endPerfLog("draw_handling_"+ path.join("_")+"_"+current); - //print("Drawing of", current, "in", (Date.now() - start).toFixed(0), "ms"); - } catch (e){ - print("Error during drawing of", current, "in", element, e, e.stack); } } //print("Finished drawing loop"); @@ -629,17 +662,20 @@ function initialDraw(){ if (!isDrawing){ //print(new Date().toISOString(), "Can draw,", requestedDraws, "draws requested so far"); isDrawing = true; + startPerfLog("initialDraw_g.clear"); + g.clear(); + endPerfLog("initialDraw_g.clear"); requestedDraws = 0; //print(new Date().toISOString(), "Drawing start"); startPerfLog("initialDraw"); - draw(undefined, zeroOffset); + draw(face, [], zeroOffset); endPerfLog("initialDraw"); //print(new Date().toISOString(), "Drawing done", (Date.now() - start).toFixed(0)); isDrawing = false; if (requestedDraws > 0){ //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); requestedDraws = 0; - draw(undefined, zeroOffset); + setTimeout(initialDraw, 10); } } } diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 477eb3371..29686b8a3 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -23,6 +23,8 @@ Options:

+ +

Select watchface folder:

@@ -510,6 +512,56 @@ return restructureAmazfitFormat(jsonString); } } + + function combineProperty(name, source, target){ + if (source[name] && target[name]){ + if (Array.isArray(target[name])){ + target[name] = target[name].concat(source[name]); + target[name].filter((item, i) => target[name].indexOf(item) === i) + } else if (typeof target[name] == "number"){ + target[name] = source[name] + target[name]; + } + } else if (source[name]){ + target[name] = source[name] + } + } + + function collapseTree(element, props){ + var result = []; + if (typeof element == "string" || typeof element == "number") return []; + for (var c in element){ + var next = element[c]; + + combineProperty("X",element,next); + combineProperty("Y",element,next); + combineProperty("HideOn",element,next); + combineProperty("ForegroundColor",element,next); + combineProperty("BackgroundColor",element,next); + combineProperty("RotationValue",element,next); + combineProperty("RotationOffset",element,next); + combineProperty("MinRotationValue",element,next); + combineProperty("MaxRotationValue",element,next); + + if (["MultiState","Image","CodedImage","Number","Poly","Scale"].includes(c)){ + result.push({type:c, value: element[c]}); + } else { + result = result.concat(collapseTree(element[c])); + } + } + return result; + } + + function postProcess(){ + if (document.getElementById('useDataFile').checked){ + moveData(resultJson); + console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); + } + + if (document.getElementById('collapseTree').checked){ + faceJson = { Collapsed: collapseTree(faceJson,{X:0,Y:0})}; + console.log("After collapsing", faceJson); + } + } function imageLoaded() { var options = {}; @@ -592,24 +644,19 @@ if (handledFiles == expectedFiles){ if (!isNativeFormat()) { performFileChanges().then(()=>{ + postProcess(); + rootZip.file("face.json", JSON.stringify(faceJson, null, 2)); rootZip.file("info.json", JSON.stringify(infoJson, null, 2)); - if (document.getElementById('useDataFile').checked){ - moveData(resultJson); - console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); - } document.getElementById('btnSave').disabled = false; document.getElementById('btnSaveFace').disabled = false; document.getElementById('btnSaveZip').disabled = false; document.getElementById('btnUpload').disabled = false; }); } else { - - if (true){ - moveData(resultJson); - console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); - } + postProcess(); + document.getElementById('btnSave').disabled = false; document.getElementById('btnSaveFace').disabled = false; document.getElementById('btnUpload').disabled = false; From 16e43930928316bc4723bb1902650ba36b7e1bab Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 28 Feb 2022 22:22:38 +0100 Subject: [PATCH 155/306] Allow resetting perflog --- apps/imageclock/app.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index c4d31c09c..8da8f53b0 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -3,11 +3,12 @@ var resources = require("Storage").readJSON("imageclock.resources.json"); var performanceLog = {}; -var startPerfLog = ()=>{}; -var endPerfLog = ()=>{}; -var printPerfLog = ()=>print("Deactivated"); +var startPerfLog = () => {}; +var endPerfLog = () => {}; +var printPerfLog = () => print("Deactivated"); +var resetPerfLog = () => {performanceLog = {};}; -if (true){ +if (false){ startPerfLog = function(name){ var time = getTime(); if (!performanceLog.start) performanceLog.start={}; @@ -34,7 +35,7 @@ if (true){ } keys.sort(); for (var k of keys){ - print(k, "last:", (performanceLog.last[k] * 1000).toFixed(0), "average:", (performanceLog.cum[k]/performanceLog.count[k]*1000).toFixed(0), "total:", (performanceLog.cum[k] * 1000).toFixed(0)); + print(k, "last:", (performanceLog.last[k] * 1000).toFixed(0), "average:", (performanceLog.cum[k]/performanceLog.count[k]*1000).toFixed(0), "count:", performanceLog.count[k], "total:", (performanceLog.cum[k] * 1000).toFixed(0)); } }; } @@ -662,6 +663,7 @@ function initialDraw(){ if (!isDrawing){ //print(new Date().toISOString(), "Can draw,", requestedDraws, "draws requested so far"); isDrawing = true; + resetPerfLog(); startPerfLog("initialDraw_g.clear"); g.clear(); endPerfLog("initialDraw_g.clear"); From a500fd26a944942e04af8068fb328169c58d007e Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 18:27:59 +0100 Subject: [PATCH 156/306] Write binary data in imageclock.resources.data --- apps/imageclock/app.js | 4 ++-- apps/imageclock/custom.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 8da8f53b0..65e4b60b5 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -68,9 +68,9 @@ function prepareImg(resource){ } else if (resource.dataOffset !== undefined){ //print("buffer from data file"); if (resource.compressed){ - result.buffer = require("heatshrink").decompress(atob(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength))); + result.buffer = require("heatshrink").decompress(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength)); } else { - result.buffer = E.toArrayBuffer(atob(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength))); + result.buffer = E.toArrayBuffer(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength)); } result.compressed = undefined; result.dataOffset = undefined; diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 29686b8a3..3cfb56b20 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -776,14 +776,14 @@ for (var k in json){ var c = json[k]; if (c.img){ - var currentData = c.img; + var currentData = atob(c.img); delete c.img; c.dataOffset = resourceDataOffset; c.dataLength = currentData.length; resourceDataString += currentData; resourceDataOffset += currentData.length; } else if (c.compressed){ - var currentData = c.compressed; + var currentData = atob(c.compressed); c.compressed = true; c.dataOffset = resourceDataOffset; c.dataLength = currentData.length; From 0e6e627b7c433a5bec2f0dab034493dcfe5dce38 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 18:32:28 +0100 Subject: [PATCH 157/306] Precompile watchface to JS --- apps/imageclock/app.js | 15 +++++++++++++- apps/imageclock/custom.html | 39 ++++++++++++++++++++++++++++++++----- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 65e4b60b5..bfa4199e0 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -1,5 +1,6 @@ var face = require("Storage").readJSON("imageclock.face.json"); var resources = require("Storage").readJSON("imageclock.resources.json"); +var precompiledJs = require("Storage").read("imageclock.draw.js"); var performanceLog = {}; @@ -670,7 +671,17 @@ function initialDraw(){ requestedDraws = 0; //print(new Date().toISOString(), "Drawing start"); startPerfLog("initialDraw"); - draw(face, [], zeroOffset); + //var start = Date.now(); + if (precompiledJs && precompiledJs.length > 7){ + //print("Precompiled"); + eval(precompiledJs); + } else if (face.Collapsed){ + //print("Collapsed"); + drawIteratively(face.Collapsed); + } else { + //print("Full"); + draw(face, [], zeroOffset); + } endPerfLog("initialDraw"); //print(new Date().toISOString(), "Drawing done", (Date.now() - start).toFixed(0)); isDrawing = false; @@ -679,6 +690,8 @@ function initialDraw(){ requestedDraws = 0; setTimeout(initialDraw, 10); } + } else { + print("queued draw"); } } diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 3cfb56b20..22199d8c8 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -25,6 +25,8 @@

+ +

Select watchface folder:

@@ -46,6 +48,7 @@ var resultJson = {}; var infoJson; var faceJson; + var precompiledJs = ""; var resourceDataString = ""; var resourceDataOffset = 0; var handledFiles = 0; @@ -550,6 +553,24 @@ } return result; } + + function convertToCode(elements){ + var code = ""; + + for (var i = 0; i< elements.length; i++){ + var c = elements[i] + console.log("convert to code", c); + + var condition = ""; + if (c.value.HideOn && c.value.HideOn.includes("Lock")){ + condition = 'if (!Bangle.isLocked())'; + } + + code += condition + " draw" + c.type + "(face.Collapsed[" + i + "].value, zeroOffset);\n"; + } + console.log("Code:", code); + return code + } function postProcess(){ if (document.getElementById('useDataFile').checked){ @@ -557,10 +578,18 @@ console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); } + + var properties = faceJson.Properties; + if (document.getElementById('collapseTree').checked){ - faceJson = { Collapsed: collapseTree(faceJson,{X:0,Y:0})}; + faceJson = { Properties: properties, Collapsed: collapseTree(faceJson,{X:0,Y:0})}; console.log("After collapsing", faceJson); } + + if (document.getElementById('precompile').checked){ + precompiledJs = convertToCode(faceJson.Collapsed); + console.log("After precompiling", precompiledJs); + } } function imageLoaded() { @@ -808,7 +837,6 @@ id : "imageclock", storage:[ {name:"imageclock.app.js", url:"app.js"}, - {name:"imageclock.face.json", content: JSON.stringify(faceJson)}, {name:"imageclock.resources.json", content: JSON.stringify(resultJson)}, {name:"imageclock.img", url:"app-icon.js", evaluate:true}, ] @@ -816,9 +844,10 @@ if (resourceDataString.length > 0){ appDef.storage.push({name:"imageclock.resources.data", content: resourceDataString}); } - - - console.log("Uploading app:", appDef); + appDef.storage.push({name:"imageclock.draw.js", content: precompiledJs.length > 0 ? precompiledJs : "//empty"}); + appDef.storage.push({name:"imageclock.face.json", content: JSON.stringify(faceJson)}); + + console.log("Uploading app:", appDef); sendCustomizedApp(appDef); }); From d03734fe3fb0045c6bfcfad5dfb9ab10ce0538c6 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 18:33:55 +0100 Subject: [PATCH 158/306] Clear and reset graphics on every draw --- apps/imageclock/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index bfa4199e0..912ee2d6e 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -666,7 +666,7 @@ function initialDraw(){ isDrawing = true; resetPerfLog(); startPerfLog("initialDraw_g.clear"); - g.clear(); + g.clear(true); endPerfLog("initialDraw_g.clear"); requestedDraws = 0; //print(new Date().toISOString(), "Drawing start"); From 7e5891d8296a804838a40e74b5e797e3ebacca26 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 18:35:00 +0100 Subject: [PATCH 159/306] Run callable on defining the matched interval as not to miss the first one --- apps/imageclock/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 912ee2d6e..3cffa76e7 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -732,14 +732,14 @@ function getMatchedWaitingTime(time){ function setMatchedInterval(callable, time, intervalHandler){ - //print("Setting matched timeout for", time); + //print("Setting matched interval for", time); setTimeout(()=>{ var interval = setInterval(callable, time); if (intervalHandler) intervalHandler(interval); + callable(); }, getMatchedWaitingTime(time)); } - var unlockedDrawInterval; var lockedDrawInterval; From 73e05fdb5de7d49ce55dfc16fe0e57329c493da6 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 18:36:29 +0100 Subject: [PATCH 160/306] Redraw before setting intervals to minimize error --- apps/imageclock/app.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 3cffa76e7..4c01b3ba0 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -757,30 +757,30 @@ var stepsgoal = 2000; function handleLock(isLocked, forceRedraw){ //print("isLocked", Bangle.isLocked()); - if (unlockedDrawInterval) clearInterval(unlockedDrawInterval); + if (forceRedraw || !redrawEvents || redrawEvents.includes("lock")){ + //print("Redrawing on lock", isLocked); + initialDraw(); + } if (lockedDrawInterval) clearInterval(lockedDrawInterval); + if (unlockedDrawInterval) clearInterval(unlockedDrawInterval); if (!isLocked){ - Bangle.setHRMPower(1, "imageclock"); - Bangle.setBarometerPower(1, 'imageclock'); setMatchedInterval(()=>{ //print("Redrawing on unlocked interval"); initialDraw(); },unlockedRedraw, (v)=>{ unlockedDrawInterval = v; }); + Bangle.setHRMPower(1, "imageclock"); + Bangle.setBarometerPower(1, 'imageclock'); } else { - Bangle.setHRMPower(0, "imageclock"); - Bangle.setBarometerPower(0, 'imageclock'); setMatchedInterval(()=>{ //print("Redrawing on locked interval"); initialDraw(); },lockedRedraw, (v)=>{ lockedDrawInterval = v; }); - } - if (forceRedraw || !redrawEvents || redrawEvents.includes("lock")){ - //print("Redrawing on lock", isLocked); - initialDraw(); + Bangle.setHRMPower(0, "imageclock"); + Bangle.setBarometerPower(0, 'imageclock'); } } From a2db5542399d23c5e9b74763a37f00830a945e8b Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 18:37:40 +0100 Subject: [PATCH 161/306] Correctly set properties on amazfit conversion --- apps/imageclock/custom.html | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 22199d8c8..78cd0c7bf 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -422,7 +422,7 @@ return { Poly: result }; } - function convertAmazfitAnalog(analog){ + function convertAmazfitAnalog(analog, face){ var result = { }; @@ -436,6 +436,10 @@ if (analog.Minutes){ result.Minutes = {}; result.Minutes.Hand = convertAmazfitHand(analog.Minutes, "Minute", 0, 60); + if (!face.Properties) face.Properties = {}; + if (!face.Properties.Redraw) face.Properties.Redraw = {}; + face.Properties.Redraw.Unlocked = 1000; + face.Properties.Redraw.Locked = 60000; if (analog.Minutes.CenterImage){ result.Minutes.Center = convertAmazfitImage(analog.Minutes.CenterImage); } @@ -443,10 +447,13 @@ if (analog.Seconds){ result.Seconds = {}; result.Seconds = convertAmazfitHand(analog.Seconds, "Second", 0, 60); - if (!faceJson.Properties) faceJson.Properties = {}; - if (!faceJson.Properties.Redraw) faceJson.Properties.Redraw = {}; - if (!faceJson.Properties.Redraw.Unlocked) faceJson.Properties.Redraw.Unlocked = 1000; - if (!faceJson.Properties.Redraw.Unlocked) faceJson.Properties.Redraw.Locked = 15000; + result.Seconds.Poly.HideOn = ["Lock"]; + if (!face.Properties) face.Properties = {}; + if (!face.Properties.Redraw) face.Properties.Redraw = {}; + face.Properties.Redraw.Unlocked = 1000; + face.Properties.Redraw.Locked = 60000; + if (!face.Properties.Redraw.Events) face.Properties.Redraw.Events = []; + if (!face.Properties.Redraw.Events.includes("lock")) face.Properties.Redraw.Events.push("lock"); if (analog.Seconds.CenterImage){ result.Seconds.Center = convertAmazfitImage(analog.Seconds.CenterImage); } @@ -501,7 +508,7 @@ result.Battery = convertAmazfitBattery(json.Battery); } if (json.AnalogDialFace){ - result.Analog = convertAmazfitAnalog(json.AnalogDialFace); + result.Analog = convertAmazfitAnalog(json.AnalogDialFace, result); } console.log("Converted to native:", result); return result; From 70b0c509469e84b76c941b4f45141a5c337f9470 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 19:24:40 +0100 Subject: [PATCH 162/306] Update simpleanalog demo watchface --- apps/imageclock/simpleanalog.zip | Bin 5892 -> 8272 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/imageclock/simpleanalog.zip b/apps/imageclock/simpleanalog.zip index 609b777d565d9433e133ac9853ab30b38086c9a2..d5ebb938dc308ed62f89e1e009238356f4c826fb 100644 GIT binary patch delta 3014 zcmZXWX*kqv8^-@LBiUw*ZAfF^cd}>6zDCMe60%cjG{%-~lr5C-w>6~29*=~^5`|gw<5)_9F2zJ&m25tZVn1K8wPYj)Z zax@bH03VM505gCF{5-vV6|drhunrhz0Cvt$(97Xap%JVAgkk770Q}kh!ng%?Ds#sO z?FdRfesfN(`@YF|miYjSUhx=&joMqRM()Qu^W1d;6AU>>U)Y>y&v==s5A*3&TB;bRFlcgT?et)XJ|m2hK-mPn!}W_l^5 zF`fwkj>LBuieO)SP-w8XFJ8&Z(>u^VI4BhBqj&@B|0g5q`hs5h`bQmP2n>h0I`&$A z^zeXsS(}>xRG7*=&%+z@4U3C-060?Y*%8ji&b@D`F%2>fH0BjXgXJ76=~DUtUdlWDiqL z;>p<4ZZrslu)&0i!@^LDBzBJ7rKzRv&6{zVzoq;q(Me?+;_Y;?v;mQGa(7?h}A~o2Np5 zsC9XLKAAIHv3qwnBhP#0X-V_VfmL=-4B9#&T4TPFpeXt+i9-0o7P+iKxve4OMsR7C z{L#(%gvCJQ*%P&2^cBlu76lh|j%E&zYqEUsxTGJ{On9Loj3yJImr$B*P8xq& zYK->j`jF+BEnr$;Cx36+B^VKbp5~nDCKBBkHW-&YzWB&BmYx?BTt&NFC{ll&tI&7LW5a*i8(CZcg%2WBDs5rNW!p~rgR#j2xwd7>m zp~oFNZF13>_}bY?36A#I;)A5@@>BA3mCF#dt;8)j4dvZ<7B^aiI#oF{It_WhW=M|p zN=`#!x3MV!F9T6R)Tt*$8)0E;$lC;CR6<8PRwkiZd6+7ZGU+qmh+PiU_5m3UTAZ^J z3@M@(CUw-*njYCH3w=B>O|dOsQ+1bQYvVL>mBCu%Tbq{7y}MFZaBQ19>O&cY$LhB8 z1gmuBPMfvLPGZB~z|gd3UsaO~lK+PC?*3-YG~s3=l1(S;c;34-7jtO&9VcWtX=&P< z8zV3+CKW1oy;xL3)cz)}me*^QH2d0gb-KOH@7fN1TeTD3qdNe9ZlpA*vTmBjw&6c% z7xLod9a2Zi*SdqAvrcvW7aUa#w#FsHXe>w_dW<{P%Q$tXCdJc zOA!rMC_rzudt%e(`LKFe8)ox zu|x9xiS2g11W6TpfQU{$XYIGuWgo*=xWOm&s|RP=`gOu)0;x$o|Lt8GuTmb;=X3VB zbz@>i^v0r6dK0r!TUE3bt{w3eEaY8>M$u;9k<~$0(IKU2r>jmx0=avb!^k;Cazod+ z16i9Z^(JcNe0u!!0iIXgvQVpF(^Xd$ok5tsd zyNtC6c3`QK*=xsQa#o6aCvV4q>1qMrS;n@=fkCR@uQ9dD4c#%G8R;ho zG;x;7tqSx%&5kW`!}XCtNPF7=yW7q=cUEJ5&3rm_Ea%D8>@9Kcz2^Qg!zAkGnNX$-#Gl0!aa)!x2{Aj))4;pNR(bpfv0 zKCAv$S30fP2m3j;G1Y-d`#n|M@Ci7Fea07|+22;7iXuB^l~iesN8i6Wd*>fp8Y0M} z!x%2<*YB_M(s$f%zNI{WF$2|jkmLkM*SMxGEyK4NJ0&_SlLnp{l z(kjOc3DTo9kM`T;cW6@yH!h}ZYqt3gtXH+SK4x_Ci_eVDzJ7uqnz%C=+Yc_piO?O4 z*x0SnQRQ79 z!Aa#P9aun}SxPP^?pH$uoS{@Ku7%2ax@&dq&k*H8oo-h-IsnzH zmR})^bsTa9U}Wc$_?Uq3}D-bexFqs z{Cwyg;Q;6Y7X@`tqDKFZPkcw;{Ig1K?IZp@;D2H2aNHqGfrhBl&>>zh24w+7@PR!j RB?Jq=0$hXv00n*2=Rbb-dNcq4 delta 655 zcmccM(4to#;LXe;!oa}5!H_*YI^=HDwRaVa3=DRx3=EtMG7M>n$*Fo-#rb)mA)E}% zKX*$f{R86C3T_5QmJ93*3}9kyNNn~Y1Cd(sKm4lITPIjO>&l<)Bcn07_Jm6fNA9YF zGkR|13BRn5pA>fcNP@Y<7e(9WclwKqPcFRs$)?^w^bd3Qln1ges@YjRKS&;Dsts*u zxhL`TBHM8x9)*^m}0)j}1CA_Jr*C*~FT><#^J9hpSeWSMnWB z{&D9=wQ6+EmeohLragQ1eggL%A)Dln4Z(UUoa=-*9G6Ob^m+42QuW&oSM8jn^rK9 z!tbfIq-t)vyEBbRIO6@=di8)U7vJn{hxf1VwLL@pxW& z!1veevb8G@mfkD8upuRX&YPz<@(v#IUifdVb#df%{<|0JoOjf(idCQcJJ>GnS8vw# zC*PSTUtu(0e$ynqnVl({lX-nZ$mCLP1@@g0LP?*dN==@_?ZFJ9|A|XYZk7|8EX<<; zR&2);#|UQ3=S^drd`n!B`KYt>=6~YvS$I(r!Q@{u%AiP}tRQQ}xO;N6tRJJ;j1$`h1+gH1?Z`f#I_-Faa_E02VS9ivR!s From 841f098f2ac78f5921ccc903ebaef3c1dd5324e7 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 20:58:24 +0100 Subject: [PATCH 163/306] Remove all code for compression and other resource types than data file --- apps/imageclock/app.js | 63 +++++++++---------------------------- apps/imageclock/custom.html | 12 ++----- 2 files changed, 18 insertions(+), 57 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 4c01b3ba0..c469d1206 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -45,44 +45,16 @@ function prepareImg(resource){ startPerfLog("prepareImg"); //print("prepareImg: ", resource); - var result = cacheBuffers ? resource : { + var result = { width: resource.width, height: resource.height, - bpp: resource.bpp + bpp: resource.bpp, + buffer: E.toArrayBuffer(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength)) }; - if (!cacheBuffers && resource.transparent) result.transparent = resource.transparent; - if (resource.img){ - //print("buffer from img"); - result.buffer = E.toArrayBuffer(atob(resource.img)); - result.img = undefined; - } else if (resource.file){ - //print("buffer from file"); - result.buffer = E.toArrayBuffer(atob(require("Storage").read(resource.file))); - result.file = undefined; - } else if (resource.compressed && (resource.dataOffset == undefined)){ - //print("buffer from compressed"); - result.buffer = require("heatshrink").decompress(atob(resource.compressed)); - result.compressed = undefined; - } else if (resource.buffer){ - //print("buffer cached"); - } else if (resource.dataOffset !== undefined){ - //print("buffer from data file"); - if (resource.compressed){ - result.buffer = require("heatshrink").decompress(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength)); - } else { - result.buffer = E.toArrayBuffer(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength)); - } - result.compressed = undefined; - result.dataOffset = undefined; - result.dataLength = undefined; - } else { - print("Could not get image data for resource", resource); - } - - if (result.paletteData){ + if (resource.transparent) result.transparent = resource.transparent; + if (resource.paletteData){ result.palette = new Uint16Array(resource.paletteData); - result.paletteData = undefined; } endPerfLog("prepareImg"); @@ -333,22 +305,17 @@ function drawDigit(element, offset, digit){ function drawImage(image, offset, name){ startPerfLog("drawImage"); var imageOffset = updateColors(image, offset); - if (image.ImagePath) { - //print("drawImage", image, offset, name); - if (image.Value && image.Steps){ - var steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1)); - //print("Step", steps, "of", image.Steps); - drawElement(image, imageOffset, image.ImagePath, "" + steps); - } else if (image.ImageIndex !== undefined) { - drawElement(image, imageOffset, image.ImagePath, image.ImageIndex); - } else { - drawElement(image, imageOffset, image.ImagePath, name ? "" + name: undefined); - } - } else if (image.ImageFile) { - var file = require("Storage").readJSON(image.ImageFile); - setColors(imageOffset); - g.drawImage(prepareImg(file),image.X + imageOffset.X, image.Y + imageOffset.Y); + //print("drawImage", image, offset, name); + if (image.Value && image.Steps){ + var steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1)); + //print("Step", steps, "of", image.Steps); + drawElement(image, imageOffset, image.ImagePath, "" + steps); + } else if (image.ImageIndex !== undefined) { + drawElement(image, imageOffset, image.ImagePath, image.ImageIndex); + } else { + drawElement(image, imageOffset, image.ImagePath, name ? "" + name: undefined); } + endPerfLog("drawImage"); } diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 78cd0c7bf..8b5520c60 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -21,8 +21,6 @@

Options:
- -

@@ -580,10 +578,8 @@ } function postProcess(){ - if (document.getElementById('useDataFile').checked){ - moveData(resultJson); - console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); - } + moveData(resultJson); + console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); var properties = faceJson.Properties; @@ -603,7 +599,7 @@ var options = {}; options.diffusion = infoJson.diffusion ? infoJson.diffusion : "none"; - options.compression = infoJson.compression ? infoJson.compression : false; + options.compression = false; options.alphaToColor = false; options.transparent = infoJson.transparent ? infoJson.transparent : false; options.inverted = false; @@ -787,7 +783,6 @@ } else { infoJson = { "color": "3bit", - "compression": false, "transparent": true }; if (current.name.includes(".png")){ @@ -889,7 +884,6 @@ } else { infoJson = { "color": "3bit", - "compression": false, "transparent": true }; From 10884bbbc27a82942206d80e646eceb5b77b14a5 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 21:37:33 +0100 Subject: [PATCH 164/306] Remove checkRedraw --- apps/imageclock/app.js | 267 +++++++++++++++++++---------------------- 1 file changed, 124 insertions(+), 143 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index c469d1206..b56cd48cb 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -102,108 +102,106 @@ function drawNumber(element, offset){ //print("drawNumber: ", number, element, offset); if (number) number = number.toFixed(0); - if (checkRedraw(element,number)){ - //var numberOffset = updateOffset(element, offset); - var numberOffset = offset; + //var numberOffset = updateOffset(element, offset); + var numberOffset = offset; - var isNegative; - var digits; - if (number == undefined){ - isNegative = true; - digits = []; - numberOfDigits = 0; - } else { - isNegative = number < 0; - if (isNegative) number *= -1; - digits = splitNumberToDigits(number); - } - - //print("digits: ", digits); - if (!numberOfDigits) numberOfDigits = digits.length; - var firstDigitX = element.X; - var firstDigitY = element.Y; - var imageIndex = element.ImageIndex ? element.ImageIndex : 0; - - var firstImage; - if (imageIndex){ - firstImage = getByPath(resources, [], "" + (0 + imageIndex)); - } else { - firstImage = getByPath(resources, element.ImagePath, 0); - } - - var minusImage; - if (imageIndexMinus){ - minusImage = getByPath(resources, [], "" + (0 + imageIndexMinus)); - } else { - minusImage = getByPath(resources, element.ImagePath, "minus"); - } - - var unitImage; - //print("Get image for unit", imageIndexUnit); - if (imageIndexUnit !== undefined){ - unitImage = getByPath(resources, [], "" + (0 + imageIndexUnit)); - //print("Unit image is", unitImage); - } else if (element.Unit){ - unitImage = getByPath(resources, element.ImagePath, getMultistate(element.Unit, "unknown")); - } - - var numberWidth = (numberOfDigits * firstImage.width) + (Math.max((numberOfDigits - 1),0) * spacing); - if (isNegative && minusImage){ - //print("Adding to width", minusImage); - numberWidth += minusImage.width + spacing; - } - if (unitImage){ - //print("Adding to width", unitImage); - numberWidth += unitImage.width + spacing; - } - //print("numberWidth:", numberWidth); - - if (element.Alignment == "Center") { - firstDigitX = Math.round(element.X - (numberWidth/2)) + 1; - firstDigitY = Math.round(element.Y - (firstImage.height/2)) + 1; - } else if (element.Alignment == "BottomRight"){ - firstDigitX = element.X - numberWidth + 1; - firstDigitY = element.Y - firstImage.height + 1; - } else if (element.Alignment == "TopRight") { - firstDigitX = element.X - numberWidth + 1; - firstDigitY = element.Y; - } else if (element.Alignment == "BottomLeft") { - firstDigitX = element.X; - firstDigitY = element.Y - firstImage.height + 1; - } - - var currentX = firstDigitX; - if (isNegative && minusImage){ - //print("Draw minus at", currentX); - if (imageIndexMinus){ - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexMinus)); - } else { - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); - } - currentX += minusImage.width + spacing; - } - for (var d = 0; d < numberOfDigits; d++){ - var currentDigit; - var difference = numberOfDigits - digits.length; - if (d >= difference){ - currentDigit = digits[d-difference]; - } else { - currentDigit = 0; - } - //print("Digit " + currentDigit + " " + currentX); - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, currentDigit + imageIndex); - currentX += firstImage.width + spacing; - } - if (imageIndexUnit){ - //print("Draw unit at", currentX); - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexUnit)); - } else if (element.Unit){ - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, getMultistate(element.Unit,"unknown")); - } - element.lastDrawnValue = number; - - endPerfLog("drawNumber"); + var isNegative; + var digits; + if (number == undefined){ + isNegative = true; + digits = []; + numberOfDigits = 0; + } else { + isNegative = number < 0; + if (isNegative) number *= -1; + digits = splitNumberToDigits(number); } + + //print("digits: ", digits); + if (!numberOfDigits) numberOfDigits = digits.length; + var firstDigitX = element.X; + var firstDigitY = element.Y; + var imageIndex = element.ImageIndex ? element.ImageIndex : 0; + + var firstImage; + if (imageIndex){ + firstImage = getByPath(resources, [], "" + (0 + imageIndex)); + } else { + firstImage = getByPath(resources, element.ImagePath, 0); + } + + var minusImage; + if (imageIndexMinus){ + minusImage = getByPath(resources, [], "" + (0 + imageIndexMinus)); + } else { + minusImage = getByPath(resources, element.ImagePath, "minus"); + } + + var unitImage; + //print("Get image for unit", imageIndexUnit); + if (imageIndexUnit !== undefined){ + unitImage = getByPath(resources, [], "" + (0 + imageIndexUnit)); + //print("Unit image is", unitImage); + } else if (element.Unit){ + unitImage = getByPath(resources, element.ImagePath, getMultistate(element.Unit, "unknown")); + } + + var numberWidth = (numberOfDigits * firstImage.width) + (Math.max((numberOfDigits - 1),0) * spacing); + if (isNegative && minusImage){ + //print("Adding to width", minusImage); + numberWidth += minusImage.width + spacing; + } + if (unitImage){ + //print("Adding to width", unitImage); + numberWidth += unitImage.width + spacing; + } + //print("numberWidth:", numberWidth); + + if (element.Alignment == "Center") { + firstDigitX = Math.round(element.X - (numberWidth/2)) + 1; + firstDigitY = Math.round(element.Y - (firstImage.height/2)) + 1; + } else if (element.Alignment == "BottomRight"){ + firstDigitX = element.X - numberWidth + 1; + firstDigitY = element.Y - firstImage.height + 1; + } else if (element.Alignment == "TopRight") { + firstDigitX = element.X - numberWidth + 1; + firstDigitY = element.Y; + } else if (element.Alignment == "BottomLeft") { + firstDigitX = element.X; + firstDigitY = element.Y - firstImage.height + 1; + } + + var currentX = firstDigitX; + if (isNegative && minusImage){ + //print("Draw minus at", currentX); + if (imageIndexMinus){ + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexMinus)); + } else { + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); + } + currentX += minusImage.width + spacing; + } + for (var d = 0; d < numberOfDigits; d++){ + var currentDigit; + var difference = numberOfDigits - digits.length; + if (d >= difference){ + currentDigit = digits[d-difference]; + } else { + currentDigit = 0; + } + //print("Digit " + currentDigit + " " + currentX); + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, currentDigit + imageIndex); + currentX += firstImage.width + spacing; + } + if (imageIndexUnit){ + //print("Draw unit at", currentX); + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexUnit)); + } else if (element.Unit){ + drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, getMultistate(element.Unit,"unknown")); + } + element.lastDrawnValue = number; + + endPerfLog("drawNumber"); } function setColors(properties){ @@ -245,19 +243,6 @@ function drawElement(pos, offset, path, lastElem){ endPerfLog("drawElement"); } -function checkRedraw(element, newValue){ - var redrawConfig = element.Redraw ? element.Redraw : defaultRedraw; - switch(redrawConfig){ - case "Change": - return !element.lastDrawnValue || element.lastDrawnValue != newValue; - case "Never": - return false; - case "Always": - default: - return true; - } -} - function getValue(value, defaultValue){ if (typeof value == "string"){ return numbers[value](); @@ -289,12 +274,11 @@ function drawScale(scale, offset){ var segmentsToDraw = Math.ceil(value * segments.length); - if (checkRedraw(scale, segmentsToDraw)){ - for (var i = 0; i < segmentsToDraw; i++){ - drawElement(segments[i], scaleOffset, scale.ImagePath, imageIndex + i); - } - scale.lastDrawnValue = segmentsToDraw; + for (var i = 0; i < segmentsToDraw; i++){ + drawElement(segments[i], scaleOffset, scale.ImagePath, imageIndex + i); } + scale.lastDrawnValue = segmentsToDraw; + endPerfLog("drawScale"); } @@ -323,29 +307,28 @@ function drawCodedImage(image, offset){ startPerfLog("drawCodedImage"); var code = getValue(image.Value); //print("drawCodedImage", image, offset, code); - - if (checkRedraw(image, code)){ - if (image.ImagePath) { - var factor = 1; - var currentCode = code; - while (code / factor > 1){ - currentCode = Math.floor(currentCode/factor)*factor; - //print("currentCode", currentCode); - if (getByPath(resources, image.ImagePath, currentCode)){ - break; - } - factor *= 10; - } - if (code / factor > 1){ - //print("found match"); - drawImage(image, offset, currentCode); - } else { - //print("fallback"); - drawImage(image, offset, "fallback"); + + if (image.ImagePath) { + var factor = 1; + var currentCode = code; + while (code / factor > 1){ + currentCode = Math.floor(currentCode/factor)*factor; + //print("currentCode", currentCode); + if (getByPath(resources, image.ImagePath, currentCode)){ + break; } + factor *= 10; + } + if (code / factor > 1){ + //print("found match"); + drawImage(image, offset, currentCode); + } else { + //print("fallback"); + drawImage(image, offset, "fallback"); } - image.lastDrawnValue = code; } + image.lastDrawnValue = code; + startPerfLog("drawCodedImage"); } @@ -508,11 +491,9 @@ function drawMultiState(element, offset){ startPerfLog("drawMultiState"); //print("drawMultiState", element, offset); var value = multistates[element.Value](); - if (checkRedraw(element, value)){ - //print("drawImage from drawMultiState", element, offset, value); - drawImage(element, offset, value); - element.lastDrawnValue = value; - } + //print("drawImage from drawMultiState", element, offset, value); + drawImage(element, offset, value); + element.lastDrawnValue = value; endPerfLog("drawMultiState"); } From 2c9939578e1c2414fff7b425c4ae1f0ed5458829 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 22:04:01 +0100 Subject: [PATCH 165/306] Remove option to only collapse, precompile is always faster --- apps/imageclock/custom.html | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 8b5520c60..2883fe160 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -21,8 +21,6 @@

Options:
- -

@@ -581,15 +579,11 @@ moveData(resultJson); console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); - var properties = faceJson.Properties; - if (document.getElementById('collapseTree').checked){ + if (document.getElementById('precompile').checked){ faceJson = { Properties: properties, Collapsed: collapseTree(faceJson,{X:0,Y:0})}; console.log("After collapsing", faceJson); - } - - if (document.getElementById('precompile').checked){ precompiledJs = convertToCode(faceJson.Collapsed); console.log("After precompiling", precompiledJs); } From ec7125c7ddb82b141be8d63253d16b2114bedb7f Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Tue, 1 Mar 2022 22:20:20 +0100 Subject: [PATCH 166/306] Update metadata and README --- apps/imageclock/ChangeLog | 1 + apps/imageclock/README.md | 16 +++++++++++----- apps/imageclock/metadata.json | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/apps/imageclock/ChangeLog b/apps/imageclock/ChangeLog index 59288bdd3..ea461aed1 100644 --- a/apps/imageclock/ChangeLog +++ b/apps/imageclock/ChangeLog @@ -3,3 +3,4 @@ 0.03: Allow partly importing Amazfit decompiler formatted watchfaces 0.04: Allow writing all image data to separate file to save some RAM Allow hiding elements on lock +0.05: Add precompilation to js for performance diff --git a/apps/imageclock/README.md b/apps/imageclock/README.md index d74916fcd..7e9b0aedf 100644 --- a/apps/imageclock/README.md +++ b/apps/imageclock/README.md @@ -100,7 +100,7 @@ The `Value` field is one of the implemented numerical values. ##### Number -Can bottom right, or top left aligned. Will currently force all numbers to +Can be aligned to bottom left, top left, bottom right, top right and center. Will currently force all numbers to be integer. ``` @@ -215,6 +215,8 @@ Container names can be everything but other object names. * SecondAnalog * SecondTens * SecondOnes +* WeekDay +* WeekDayMondayFirst * Day * DayTens * DayOnes @@ -228,6 +230,7 @@ Container names can be everything but other object names. * Altitude * BatteryPercentage * BatteryVoltage +* StepsGoal * WeatherCode * WeatherTemperature @@ -243,8 +246,12 @@ Container names can be everything but other object names. * Barometer * Compass * GPS + * StepsGoal + * WeatherTemperatureNegative * on/off/vibrate * Notifications +* celsius/fahrenheit/unknown + * WeatherTemperatureUnit ### info.json @@ -253,14 +260,13 @@ stored on the watch # TODO -* Handle events and redraws better, actually hit minutes/seconds for redraw +* Handle events and redraws better * Performance improvements - * Mark elements with how often they need to be redrawn - * Use less RAM (maybe dedicated parser for JSON working on a stack/queue) + * Mark elements with how often they need to be redrawn + * Drawing to buffers and compositing later * Allow watchfaces to declare if the want to show widgets * Temporarily show widgets with slide up/down * Finalize the file format -* Allow additional files for upload declared in info.json * Settings * Localization diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json index ecaadadf6..4012a58b9 100644 --- a/apps/imageclock/metadata.json +++ b/apps/imageclock/metadata.json @@ -2,7 +2,7 @@ "id": "imageclock", "name": "Imageclock", "shortName": "imageclock", - "version": "0.04", + "version": "0.05", "type": "clock", "description": "BETA!!! File formats still subject to change --- This app is a highly customizable watchface. To use it, you need to select a watchface. You can build the watchfaces yourself without programming anything. All you need to do is write some json and create image files.", "icon": "app.png", From 0bbf574613f8bc5963eed773bf416b72325b11c4 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Wed, 2 Mar 2022 21:39:10 +0100 Subject: [PATCH 167/306] Do not use resources/face variables from global scope but as parameters --- apps/imageclock/app.js | 109 ++++++++++++++++++------------------ apps/imageclock/custom.html | 2 +- 2 files changed, 55 insertions(+), 56 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index b56cd48cb..de0ece4b5 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -1,5 +1,5 @@ -var face = require("Storage").readJSON("imageclock.face.json"); -var resources = require("Storage").readJSON("imageclock.resources.json"); +var watchface = require("Storage").readJSON("imageclock.face.json"); +var watchfaceResources = require("Storage").readJSON("imageclock.resources.json"); var precompiledJs = require("Storage").read("imageclock.draw.js"); var performanceLog = {}; @@ -88,7 +88,7 @@ function splitNumberToDigits(num){ return String(num).split('').map(item => Number(item)); } -function drawNumber(element, offset){ +function drawNumber(resources, element, offset){ startPerfLog("drawNumber"); var number = numbers[element.Value](); var spacing = element.Spacing ? element.Spacing : 0; @@ -175,9 +175,9 @@ function drawNumber(element, offset){ if (isNegative && minusImage){ //print("Draw minus at", currentX); if (imageIndexMinus){ - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexMinus)); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexMinus)); } else { - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); } currentX += minusImage.width + spacing; } @@ -190,14 +190,14 @@ function drawNumber(element, offset){ currentDigit = 0; } //print("Digit " + currentDigit + " " + currentX); - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, currentDigit + imageIndex); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, currentDigit + imageIndex); currentX += firstImage.width + spacing; } if (imageIndexUnit){ //print("Draw unit at", currentX); - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexUnit)); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexUnit)); } else if (element.Unit){ - drawElement({X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, getMultistate(element.Unit,"unknown")); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, getMultistate(element.Unit,"unknown")); } element.lastDrawnValue = number; @@ -209,7 +209,7 @@ function setColors(properties){ if (properties.bg) g.setBgColor(properties.bg); } -function drawElement(pos, offset, path, lastElem){ +function drawElement(resources, pos, offset, path, lastElem){ startPerfLog("drawElement"); //print("drawElement ",pos, offset, path, lastElem); //print("drawElement offset", offset, pos.X, pos.Y); @@ -260,7 +260,7 @@ function getMultistate(name, defaultValue){ return undefined; } -function drawScale(scale, offset){ +function drawScale(resources, scale, offset){ startPerfLog("drawScale"); //print("drawScale", scale, offset); var segments = scale.Segments; @@ -275,35 +275,35 @@ function drawScale(scale, offset){ var segmentsToDraw = Math.ceil(value * segments.length); for (var i = 0; i < segmentsToDraw; i++){ - drawElement(segments[i], scaleOffset, scale.ImagePath, imageIndex + i); + drawElement(resources, segments[i], scaleOffset, scale.ImagePath, imageIndex + i); } scale.lastDrawnValue = segmentsToDraw; endPerfLog("drawScale"); } -function drawDigit(element, offset, digit){ - drawElement(element, offset, element.ImagePath, digit); +function drawDigit(resources, element, offset, digit){ + drawElement(resources, element, offset, element.ImagePath, digit); } -function drawImage(image, offset, name){ +function drawImage(resources, image, offset, name){ startPerfLog("drawImage"); var imageOffset = updateColors(image, offset); //print("drawImage", image, offset, name); if (image.Value && image.Steps){ var steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1)); //print("Step", steps, "of", image.Steps); - drawElement(image, imageOffset, image.ImagePath, "" + steps); + drawElement(resources, image, imageOffset, image.ImagePath, "" + steps); } else if (image.ImageIndex !== undefined) { - drawElement(image, imageOffset, image.ImagePath, image.ImageIndex); + drawElement(resources, image, imageOffset, image.ImagePath, image.ImageIndex); } else { - drawElement(image, imageOffset, image.ImagePath, name ? "" + name: undefined); + drawElement(resources, image, imageOffset, image.ImagePath, name ? "" + name: undefined); } endPerfLog("drawImage"); } -function drawCodedImage(image, offset){ +function drawCodedImage(resources, image, offset){ startPerfLog("drawCodedImage"); var code = getValue(image.Value); //print("drawCodedImage", image, offset, code); @@ -321,10 +321,10 @@ function drawCodedImage(image, offset){ } if (code / factor > 1){ //print("found match"); - drawImage(image, offset, currentCode); + drawImage(resources, image, offset, currentCode); } else { //print("fallback"); - drawImage(image, offset, "fallback"); + drawImage(resources, image, offset, "fallback"); } } image.lastDrawnValue = code; @@ -398,7 +398,7 @@ function radians(rotation){ return value; } -function drawPoly(element, offset){ +function drawPoly(resources, element, offset){ startPerfLog("drawPoly"); var vertices = []; var primitiveOffset = offset.clone(); @@ -433,7 +433,7 @@ function drawPoly(element, offset){ g.drawPoly(vertices,true); endPerfLog("drawPoly_g.drawPoly"); - startPerfLog("drawPoly"); + endPerfLog("drawPoly"); } var numbers = {}; @@ -487,17 +487,17 @@ multistates.WeatherTemperatureNegative = () => { return getWeatherTemperature(). multistates.WeatherTemperatureUnit = () => { return getWeatherTemperature().unit; }; multistates.StepsGoal = () => { return (numbers.Steps() >= stepsgoal) ? "on": "off"; }; -function drawMultiState(element, offset){ +function drawMultiState(resources, element, offset){ startPerfLog("drawMultiState"); //print("drawMultiState", element, offset); var value = multistates[element.Value](); //print("drawImage from drawMultiState", element, offset, value); - drawImage(element, offset, value); + drawImage(resources, element, offset, value); element.lastDrawnValue = value; endPerfLog("drawMultiState"); } -function drawIteratively(items){ +function drawIteratively(resources, items){ //print("drawIteratively"); startPerfLog("drawIteratively"); for (var c of items){ @@ -508,22 +508,22 @@ function drawIteratively(items){ } switch(c.type){ case "MultiState": - drawMultiState(c.value, zeroOffset); + drawMultiState(resources, c.value, zeroOffset); break; case "Image": - drawImage(c.value, zeroOffset); + drawImage(resources, c.value, zeroOffset); break; case "CodedImage": - drawCodedImage(c.value, zeroOffset); + drawCodedImage(resources, c.value, zeroOffset); break; case "Number": - drawNumber(c.value, zeroOffset); + drawNumber(resources, c.value, zeroOffset); break; case "Poly": - drawPoly(c.value, zeroOffset); + drawPoly(resources, c.value, zeroOffset); break; case "Scale": - drawScale(c.value, zeroOffset); + drawScale(resources, c.value, zeroOffset); break; } endPerfLog("drawIteratively_handling_" + c.type); @@ -531,10 +531,10 @@ function drawIteratively(items){ endPerfLog("drawIteratively"); } -function draw(root, path, offset){ +function draw(resources, root, path, offset){ //print("draw", path); startPerfLog("draw_"+ path.join("_")); - + var element = getByPath(root, path); var elementOffset = updateOffset(element, offset); setColors(elementOffset); @@ -559,22 +559,22 @@ function draw(root, path, offset){ //print("Hiding", current); break; case "MultiState": - drawMultiState(currentElement, elementOffset); + drawMultiState(resources, currentElement, elementOffset); break; case "Image": - drawImage(currentElement, elementOffset); + drawImage(resources, currentElement, elementOffset); break; case "CodedImage": - drawCodedImage(currentElement, elementOffset); + drawCodedImage(resources, currentElement, elementOffset); break; case "Number": - drawNumber(currentElement, elementOffset); + drawNumber(resources, currentElement, elementOffset); break; case "Poly": drawPoly(currentElement, elementOffset); break; case "Scale": - drawScale(currentElement, elementOffset); + drawScale(resources, currentElement, elementOffset); break; default: //print("Enter next level", elementOffset); @@ -582,7 +582,7 @@ function draw(root, path, offset){ //print("Hiding", current); continue; } - draw(root, path.concat(current), elementOffset); + draw(resources, root, path.concat(current), elementOffset); //print("Done next level"); } endPerfLog("draw_handling_"+ path.join("_")+"_"+current); @@ -606,7 +606,7 @@ var zeroOffset={X:0,Y:0}; var requestedDraws = 0; var isDrawing = false; -function initialDraw(){ +function initialDraw(resources, face){ //print("Free memory", process.memory(false).free); requestedDraws++; if (!isDrawing){ @@ -625,10 +625,10 @@ function initialDraw(){ eval(precompiledJs); } else if (face.Collapsed){ //print("Collapsed"); - drawIteratively(face.Collapsed); + drawIteratively(resources, face.Collapsed); } else { //print("Full"); - draw(face, [], zeroOffset); + draw(resources, face, [], zeroOffset); } endPerfLog("initialDraw"); //print(new Date().toISOString(), "Drawing done", (Date.now() - start).toFixed(0)); @@ -636,7 +636,7 @@ function initialDraw(){ if (requestedDraws > 0){ //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); requestedDraws = 0; - setTimeout(initialDraw, 10); + setTimeout(()=>{initialDraw(resources, face);}, 10); } } else { print("queued draw"); @@ -648,7 +648,7 @@ function handleHrm(e){ pulse = e.bpm; if (!redrawEvents || redrawEvents.includes("HRM") && !Bangle.isLocked()){ //print("Redrawing on HRM"); - initialDraw(); + initialDraw(watchfaceResources, watchface); } } } @@ -659,14 +659,14 @@ function handlePressure(e){ press = e.pressure; if (!redrawEvents || redrawEvents.includes("pressure") && !Bangle.isLocked()){ //print("Redrawing on pressure"); - initialDraw(); + initialDraw(watchfaceResources, watchface); } } function handleCharging(e){ if (!redrawEvents || redrawEvents.includes("charging") && !Bangle.isLocked()){ //print("Redrawing on charging"); - initialDraw(); + initialDraw(watchfaceResources, watchface); } } @@ -691,12 +691,11 @@ function setMatchedInterval(callable, time, intervalHandler){ var unlockedDrawInterval; var lockedDrawInterval; -var lockedRedraw = getByPath(face, ["Properties","Redraw","Locked"]) || 60000; -var unlockedRedraw = getByPath(face, ["Properties","Redraw","Unlocked"]) || 1000; -var defaultRedraw = getByPath(face, ["Properties","Redraw","Default"]) || "Always"; -var redrawEvents = getByPath(face, ["Properties","Redraw","Events"]); -var cacheBuffers = getByPath(face, ["Properties","CacheBuffers"]) || false; -var events = getByPath(face, ["Properties","Events"]); +var lockedRedraw = getByPath(watchface, ["Properties","Redraw","Locked"]) || 60000; +var unlockedRedraw = getByPath(watchface, ["Properties","Redraw","Unlocked"]) || 1000; +var defaultRedraw = getByPath(watchface, ["Properties","Redraw","Default"]) || "Always"; +var redrawEvents = getByPath(watchface, ["Properties","Redraw","Events"]); +var events = getByPath(watchface, ["Properties","Events"]); var stepsgoal = 2000; @@ -707,14 +706,14 @@ function handleLock(isLocked, forceRedraw){ //print("isLocked", Bangle.isLocked()); if (forceRedraw || !redrawEvents || redrawEvents.includes("lock")){ //print("Redrawing on lock", isLocked); - initialDraw(); + initialDraw(watchfaceResources, watchface); } if (lockedDrawInterval) clearInterval(lockedDrawInterval); if (unlockedDrawInterval) clearInterval(unlockedDrawInterval); if (!isLocked){ setMatchedInterval(()=>{ //print("Redrawing on unlocked interval"); - initialDraw(); + initialDraw(watchfaceResources, watchface); },unlockedRedraw, (v)=>{ unlockedDrawInterval = v; }); @@ -723,7 +722,7 @@ function handleLock(isLocked, forceRedraw){ } else { setMatchedInterval(()=>{ //print("Redrawing on locked interval"); - initialDraw(); + initialDraw(watchfaceResources, watchface); },lockedRedraw, (v)=>{ lockedDrawInterval = v; }); diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 2883fe160..31fc89b32 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -569,7 +569,7 @@ condition = 'if (!Bangle.isLocked())'; } - code += condition + " draw" + c.type + "(face.Collapsed[" + i + "].value, zeroOffset);\n"; + code += condition + " draw" + c.type + "(watchfaceResources, watchface.Collapsed[" + i + "].value, {X:0,Y:0});\n"; } console.log("Code:", code); return code From 87c74b7536d858b4a31dd707acfa03d38e406262 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Thu, 3 Mar 2022 18:44:50 +0100 Subject: [PATCH 168/306] Modify resource directly, making caching the default --- apps/imageclock/app.js | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index de0ece4b5..df1b8a349 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -45,20 +45,17 @@ function prepareImg(resource){ startPerfLog("prepareImg"); //print("prepareImg: ", resource); - var result = { - width: resource.width, - height: resource.height, - bpp: resource.bpp, - buffer: E.toArrayBuffer(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength)) - }; - - if (resource.transparent) result.transparent = resource.transparent; - if (resource.paletteData){ - result.palette = new Uint16Array(resource.paletteData); + if (resource.dataOffset !== undefined){ + resource.buffer = E.toArrayBuffer(require("Storage").read("imageclock.resources.data", resource.dataOffset, resource.dataLength)); + delete resource.dataOffset; + delete resource.dataLength; + if (resource.paletteData){ + result.palette = new Uint16Array(resource.paletteData); + delete resource.paletteData; + } } - endPerfLog("prepareImg"); - return result; + return resource; } function getByPath(object, path, lastElem){ From 20f4c10c9c8663237b4ac06b603c81aecb83c483 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Thu, 3 Mar 2022 18:38:12 +0100 Subject: [PATCH 169/306] Load widgets in timeout --- apps/imageclock/app.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index df1b8a349..0ab039e15 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -754,7 +754,9 @@ function clearWidgetsDraw(){ } } -Bangle.loadWidgets(); -clearWidgetsDraw(); +setTimeout(()=>{ + Bangle.loadWidgets(); + clearWidgetsDraw(); +}, 100); handleLock(Bangle.isLocked(), true); From 1b733dd330b5ec1bf184a257b9d27e6da0829629 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Thu, 3 Mar 2022 18:42:48 +0100 Subject: [PATCH 170/306] Use the last draw time to set better timeouts --- apps/imageclock/app.js | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 0ab039e15..3d8bfceb0 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -603,6 +603,9 @@ var zeroOffset={X:0,Y:0}; var requestedDraws = 0; var isDrawing = false; + +var start; + function initialDraw(resources, face){ //print("Free memory", process.memory(false).free); requestedDraws++; @@ -628,7 +631,8 @@ function initialDraw(resources, face){ draw(resources, face, [], zeroOffset); } endPerfLog("initialDraw"); - //print(new Date().toISOString(), "Drawing done", (Date.now() - start).toFixed(0)); + lastDrawTime = (Date.now() - start); + //print(new Date().toISOString(), "Drawing done", lastDrawTime.toFixed(0)); isDrawing = false; if (requestedDraws > 0){ //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); @@ -676,18 +680,21 @@ function getMatchedWaitingTime(time){ -function setMatchedInterval(callable, time, intervalHandler){ +function setMatchedInterval(callable, time, intervalHandler, delay){ //print("Setting matched interval for", time); + var matchedTime = getMatchedWaitingTime(time + delay); setTimeout(()=>{ var interval = setInterval(callable, time); if (intervalHandler) intervalHandler(interval); callable(); - }, getMatchedWaitingTime(time)); + }, matchedTime); } var unlockedDrawInterval; var lockedDrawInterval; +var lastDrawTime = 0; + var lockedRedraw = getByPath(watchface, ["Properties","Redraw","Locked"]) || 60000; var unlockedRedraw = getByPath(watchface, ["Properties","Redraw","Unlocked"]) || 1000; var defaultRedraw = getByPath(watchface, ["Properties","Redraw","Default"]) || "Always"; @@ -701,28 +708,32 @@ var stepsgoal = 2000; function handleLock(isLocked, forceRedraw){ //print("isLocked", Bangle.isLocked()); - if (forceRedraw || !redrawEvents || redrawEvents.includes("lock")){ - //print("Redrawing on lock", isLocked); - initialDraw(watchfaceResources, watchface); - } if (lockedDrawInterval) clearInterval(lockedDrawInterval); if (unlockedDrawInterval) clearInterval(unlockedDrawInterval); if (!isLocked){ + if (forceRedraw || !redrawEvents || (redrawEvents.includes("unlock"))){ + //print("Redrawing on unlock", isLocked); + initialDraw(watchfaceResources, watchface); + } setMatchedInterval(()=>{ //print("Redrawing on unlocked interval"); initialDraw(watchfaceResources, watchface); },unlockedRedraw, (v)=>{ unlockedDrawInterval = v; - }); + }, lastDrawTime); Bangle.setHRMPower(1, "imageclock"); Bangle.setBarometerPower(1, 'imageclock'); } else { + if (forceRedraw || !redrawEvents || (redrawEvents.includes("lock"))){ + //print("Redrawing on lock", isLocked); + initialDraw(watchfaceResources, watchface); + } setMatchedInterval(()=>{ //print("Redrawing on locked interval"); initialDraw(watchfaceResources, watchface); },lockedRedraw, (v)=>{ lockedDrawInterval = v; - }); + }, lastDrawTime); Bangle.setHRMPower(0, "imageclock"); Bangle.setBarometerPower(0, 'imageclock'); } @@ -759,4 +770,4 @@ setTimeout(()=>{ clearWidgetsDraw(); }, 100); -handleLock(Bangle.isLocked(), true); +handleLock(Bangle.isLocked()); From c24be8c698a889ffd01bd40ee300246755389552 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 6 Mar 2022 16:19:46 +0100 Subject: [PATCH 171/306] Allow refreshing selectively --- apps/imageclock/app.js | 17 +++++-- apps/imageclock/custom.html | 98 +++++++++++++++++++++++++++++++------ 2 files changed, 96 insertions(+), 19 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 3d8bfceb0..928eaaaa3 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -85,9 +85,17 @@ function splitNumberToDigits(num){ return String(num).split('').map(item => Number(item)); } +function isChangedNumber(element){ + return element.lastDrawnValue != getValue(element.Value); +} + +function isChangedMultistate(element){ + return element.lastDrawnValue != getMultistate(element.Value); +} + function drawNumber(resources, element, offset){ startPerfLog("drawNumber"); - var number = numbers[element.Value](); + var number = getValue(element.Value); var spacing = element.Spacing ? element.Spacing : 0; var unit = element.Unit; @@ -613,13 +621,11 @@ function initialDraw(resources, face){ //print(new Date().toISOString(), "Can draw,", requestedDraws, "draws requested so far"); isDrawing = true; resetPerfLog(); - startPerfLog("initialDraw_g.clear"); - g.clear(true); - endPerfLog("initialDraw_g.clear"); requestedDraws = 0; //print(new Date().toISOString(), "Drawing start"); startPerfLog("initialDraw"); //var start = Date.now(); + if (clearOnRedraw) g.clear(true); if (precompiledJs && precompiledJs.length > 7){ //print("Precompiled"); eval(precompiledJs); @@ -633,6 +639,7 @@ function initialDraw(resources, face){ endPerfLog("initialDraw"); lastDrawTime = (Date.now() - start); //print(new Date().toISOString(), "Drawing done", lastDrawTime.toFixed(0)); + firstDraw = false; isDrawing = false; if (requestedDraws > 0){ //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); @@ -694,11 +701,13 @@ var unlockedDrawInterval; var lockedDrawInterval; var lastDrawTime = 0; +var firstDraw = true; var lockedRedraw = getByPath(watchface, ["Properties","Redraw","Locked"]) || 60000; var unlockedRedraw = getByPath(watchface, ["Properties","Redraw","Unlocked"]) || 1000; var defaultRedraw = getByPath(watchface, ["Properties","Redraw","Default"]) || "Always"; var redrawEvents = getByPath(watchface, ["Properties","Redraw","Events"]); +var clearOnRedraw = getByPath(watchface, ["Properties","Redraw","Clear"]); var events = getByPath(watchface, ["Properties","Events"]); var stepsgoal = 2000; diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 31fc89b32..7a80f8cfb 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -541,35 +541,103 @@ combineProperty("X",element,next); combineProperty("Y",element,next); combineProperty("HideOn",element,next); + combineProperty("Type",element,next); combineProperty("ForegroundColor",element,next); combineProperty("BackgroundColor",element,next); - combineProperty("RotationValue",element,next); - combineProperty("RotationOffset",element,next); - combineProperty("MinRotationValue",element,next); - combineProperty("MaxRotationValue",element,next); + combineProperty("RotationValue",element,next); + combineProperty("RotationOffset",element,next); + combineProperty("MinRotationValue",element,next); + combineProperty("MaxRotationValue",element,next); + next.Layer = element.Layer ? (element.Layer) : "" + c; if (["MultiState","Image","CodedImage","Number","Poly","Scale"].includes(c)){ - result.push({type:c, value: element[c]}); + result.push({type:c, value: next}); } else { - result = result.concat(collapseTree(element[c])); + result = result.concat(collapseTree(next)); } } return result; } - function convertToCode(elements){ - var code = ""; + function convertToCode(elements, properties){ + var code = "var layerchanged;\n"; + //get mapped by layer + var layers = {}; + var counter = 0; for (var i = 0; i< elements.length; i++){ - var c = elements[i] - console.log("convert to code", c); + var c = elements[i].value; + console.log("Check element", c); + var name = c.Layer; + if (c.type == "Standalone") name = "standalone" + counter++; + if (!layers[name]) layers[name] = []; + layers[name].push({index: i, element: c}); + } + + console.log("Got layers", layers); + + for (var layername in layers){ + var layerElements = layers[layername]; - var condition = ""; - if (c.value.HideOn && c.value.HideOn.includes("Lock")){ - condition = 'if (!Bangle.isLocked())'; + console.log("Layer elements", layername, layerElements); + //code for whole layer + + var checkForLayerChange = false; + var checkcode = ""; + + if (!(properties.Redraw && properties.Redraw.Clear)){ + checkcode = 'layerchanged = firstDraw;' + "\n"; + for (var i = 0; i< layerElements.length; i++){ + var layerElement = layerElements[i]; + var referencedElement = elements[layerElements[i].index]; + var elementType = referencedElement.type; + console.log("Check for change:", layerElement, referencedElement); + if (layerElement.element.Value){ + if (elementType == "MultiState" && layerElement.element.Value) { + checkcode += 'layerchanged |= isChangedMultistate(watchface.Collapsed[' + layerElement.index + '].value);' + "\n"; + } else { + checkcode += 'layerchanged |= isChangedNumber(watchface.Collapsed[' + layerElement.index + '].value);' + "\n"; + } + checkForLayerChange = true; + } + } } - code += condition + " draw" + c.type + "(watchfaceResources, watchface.Collapsed[" + i + "].value, {X:0,Y:0});\n"; + code += checkcode; + + //code for elements + for (var i = 0; i< layerElements.length; i++){ + var elementIndex = layerElements[i].index; + var c = elements[elementIndex]; + console.log("convert to code", c); + + var condition = ""; + if (checkcode.length > 0 && checkForLayerChange){ + if (condition.length > 0) condition += " && "; + condition = 'layerchanged'; + } + + if (c.value.HideOn && c.value.HideOn.includes("Lock")){ + if (condition.length > 0) condition += " && "; + condition = '!Bangle.isLocked()'; + } + + if (c.value.Type == "Once"){ + if (condition.length > 0) condition += " && "; + condition += "firstDraw"; + } + + var colorsetting = ""; + if (c.value.ForegroundColor) colorsetting += "g.setColor(\"" + c.value.ForegroundColor + "\");\n"; + else colorsetting += "g.setColor(g.theme.fg);\n"; + if (c.value.BackgroundColor) colorsetting += "g.setBgColor(\"" + c.value.BackgroundColor + "\");\n"; + else colorsetting += "g.setBgColor(g.theme.bg);\n"; + + code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); + code += colorsetting; + code += "draw" + c.type + "(watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});"; + code += (condition.length > 0 ? "}\n" : ""); + } } console.log("Code:", code); return code @@ -584,7 +652,7 @@ if (document.getElementById('precompile').checked){ faceJson = { Properties: properties, Collapsed: collapseTree(faceJson,{X:0,Y:0})}; console.log("After collapsing", faceJson); - precompiledJs = convertToCode(faceJson.Collapsed); + precompiledJs = convertToCode(faceJson.Collapsed, properties); console.log("After precompiling", precompiledJs); } } From 1a6683695c56f7119e18f9569940e5444d83064d Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 6 Mar 2022 13:18:46 +0100 Subject: [PATCH 172/306] Allow drawing rectangles --- apps/imageclock/app.js | 21 +++++++++++++++++++++ apps/imageclock/custom.html | 4 +++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 928eaaaa3..b22ca7f95 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -441,6 +441,27 @@ function drawPoly(resources, element, offset){ endPerfLog("drawPoly"); } +function drawRect(resources, element, offset){ + startPerfLog("drawRect"); + var vertices = []; + var primitiveOffset = offset.clone(); + if (element.X) primitiveOffset.X += element.X; + if (element.Y) primitiveOffset.Y += element.Y; + + if (element.ForegroundColor) g.setColor(element.ForegroundColor); + + if (element.Filled){ + startPerfLog("drawRect_g.fillRect"); + g.fillRect(primitiveOffset.X, primitiveOffset.Y, primitiveOffset.X + element.Width, primitiveOffset.Y + element.Height); + endPerfLog("drawRect_g.fillRect"); + } else { + startPerfLog("drawRect_g.fillRect"); + g.drawRect(primitiveOffset.X, primitiveOffset.Y, primitiveOffset.X + element.Width, primitiveOffset.Y + element.Height); + endPerfLog("drawRect_g.fillRect"); + } + endPerfLog("drawRect"); +} + var numbers = {}; numbers.Hour = () => { return new Date().getHours(); }; numbers.HourTens = () => { return Math.floor(new Date().getHours()/10); }; diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 7a80f8cfb..341b23dac 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -540,6 +540,8 @@ combineProperty("X",element,next); combineProperty("Y",element,next); + combineProperty("Width",element,next); + combineProperty("Height",element,next); combineProperty("HideOn",element,next); combineProperty("Type",element,next); combineProperty("ForegroundColor",element,next); @@ -550,7 +552,7 @@ combineProperty("MaxRotationValue",element,next); next.Layer = element.Layer ? (element.Layer) : "" + c; - if (["MultiState","Image","CodedImage","Number","Poly","Scale"].includes(c)){ + if (["MultiState","Image","CodedImage","Number","Poly","Rect","Scale"].includes(c)){ result.push({type:c, value: next}); } else { result = result.concat(collapseTree(next)); From f25d5d577e04af362d40f0c2ffea868853d797dc Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 6 Mar 2022 21:39:14 +0100 Subject: [PATCH 173/306] Update ChangeLog --- apps/imageclock/ChangeLog | 1 + apps/imageclock/metadata.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/imageclock/ChangeLog b/apps/imageclock/ChangeLog index ea461aed1..341191239 100644 --- a/apps/imageclock/ChangeLog +++ b/apps/imageclock/ChangeLog @@ -4,3 +4,4 @@ 0.04: Allow writing all image data to separate file to save some RAM Allow hiding elements on lock 0.05: Add precompilation to js for performance +0.06: Watchfaces can be refreshed partly diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json index 4012a58b9..db8ab7554 100644 --- a/apps/imageclock/metadata.json +++ b/apps/imageclock/metadata.json @@ -2,7 +2,7 @@ "id": "imageclock", "name": "Imageclock", "shortName": "imageclock", - "version": "0.05", + "version": "0.06", "type": "clock", "description": "BETA!!! File formats still subject to change --- This app is a highly customizable watchface. To use it, you need to select a watchface. You can build the watchfaces yourself without programming anything. All you need to do is write some json and create image files.", "icon": "app.png", From eb3dd9e401d404b64b3a8c94d3afed77e3a13b34 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 6 Mar 2022 21:39:25 +0100 Subject: [PATCH 174/306] Update demo apps --- apps/imageclock/digitalretro.zip | Bin 60354 -> 60419 bytes apps/imageclock/simpleanalog.zip | Bin 8272 -> 8283 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/imageclock/digitalretro.zip b/apps/imageclock/digitalretro.zip index 42833e1b90a5b0eb2044b20e48f5a82fcbb06fea..14a216b4e25eee6077c36b50da6e0fb62eb4847f 100644 GIT binary patch delta 3821 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 delta 3839 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 Vh=ZgdK5-nXhFHUPUzVP6{{yiNDcAr2 diff --git a/apps/imageclock/simpleanalog.zip b/apps/imageclock/simpleanalog.zip index d5ebb938dc308ed62f89e1e009238356f4c826fb..147c67277f550e327ff35de30d0586fc2a4c51de 100644 GIT binary patch delta 677 zcmccMaND6iz?+#xgn@y9gJFAHT8M|(M4LH`3=Gd%85lSjWEj#ClT-Dwiu3bALpT|j zxo)Z?2?KFy1vdjD%LR4@1~9QUBsTkyfk>_RAAZ&9trM)Cb>+|Yk^?^U1koHb{c?D2ZW;&b;5{gY}KoS&;GGTJ?wu-KoK z<3+2G*qZ_k2Y#m;t2;AU`4=?auT7YBVxhKz^}(n>i@x6%&#BY9{&_|Is*_2%SEoH&t{c1LQfC*Z_fN<98K+YMH?0tjJ})%o zNROU?=hL2;1F!D~xZGfyvDNs?Rh{p@(mHp}STW~OLvCL6+N{m5OoMNx8Tty}@kzh? zk>l09f90%P(r<6Fe<;8CJ$22rFa8z@COOOIA5pAZaA}%Nh1-iHOJ#Qh6XpJ7r%#tP z&qsNmbJ{S|c-dK}AJ3<5kiWD-G1YpNz^~p_t$Wro{S04Ia;MO*s6KZ6^!!!jGr#JX z=-kxSuHLsje#3{D)z!K4V_xmrxA%5#W_fn*+%5m?f5~2b+woj_@)bq{=J!`sCbKg| zG4EKZGI>6)^5g`5w#~gvJe@6aWAK2mqLdVO0Mb-PMr+007Yi000R98~|ovV`VOCb8l`{ zR0#kBPeC4HRY4wNb$AN^0R+$o000Eg2LJ%AR9$PrFcf_s_#aC4Y9V#Z72h_QI8Y}0 zkcs$^wW$_sGGe+-r2lK6YpVI z3oNX!mvm=;tI1+xeHQkoD_x?~iHb4J+1{M!%H&XTsHsh+9PyNrIm&W5qZ9~ww*+N$ z4eZ(}`fip7J-ftSOjJ$rz^1gl(zQkXTIg)kl;j*Y(>ZrMfu^_rT>)jIJ$oPiF8i*E z)sp@hN0h|P^y4(fk3`y%N6ZR6quBur?8u`u%gS?C$XSkCaw@@Q&XhC@;h$H+eMpmr zluRR0>?)sX=J0MU~L9U}uzK^~JU9XbKjlV%-G0WXua9Z&&ilLj770;~&@5g!wi xY92xY_Y0E|9}|#PlMo+d0{ae=b{|{;(38_2NdXR%9UwRc;T!+}000!T9w-0+ From ebfc73ebd8efe02aa3b185c67343ab0ab0729d1f Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 7 Mar 2022 21:23:41 +0100 Subject: [PATCH 175/306] Cache complete image in elements for faster drawing --- apps/imageclock/app.js | 87 +++++++++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 36 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index b22ca7f95..9c80eeb25 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -180,9 +180,9 @@ function drawNumber(resources, element, offset){ if (isNegative && minusImage){ //print("Draw minus at", currentX); if (imageIndexMinus){ - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexMinus)); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "" + (0 + imageIndexMinus)); } else { - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "minus"); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "minus"); } currentX += minusImage.width + spacing; } @@ -195,14 +195,14 @@ function drawNumber(resources, element, offset){ currentDigit = 0; } //print("Digit " + currentDigit + " " + currentX); - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, currentDigit + imageIndex); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, currentDigit + imageIndex); currentX += firstImage.width + spacing; } if (imageIndexUnit){ //print("Draw unit at", currentX); - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, "" + (0 + imageIndexUnit)); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "" + (0 + imageIndexUnit)); } else if (element.Unit){ - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element.ImagePath, getMultistate(element.Unit,"unknown")); + drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, getMultistate(element.Unit,"unknown")); } element.lastDrawnValue = number; @@ -214,36 +214,51 @@ function setColors(properties){ if (properties.bg) g.setBgColor(properties.bg); } -function drawElement(resources, pos, offset, path, lastElem){ +function drawElement(resources, pos, offset, element, lastElem){ startPerfLog("drawElement"); - //print("drawElement ",pos, offset, path, lastElem); - //print("drawElement offset", offset, pos.X, pos.Y); - var resource = getByPath(resources, path, lastElem); - //print("Got resource", resource); - if (resource){ - //print("resource ", resource,pos, offset, path, lastElem); - var image = prepareImg(resource); - if (image){ - var imageOffset = updateColors(pos, offset); - setColors(imageOffset); - //print("drawImage from drawElement", image, pos, offset); - var options={}; - if (pos.RotationValue){ - options.rotate = radians(pos); + var cacheKey = "_"+(lastElem?lastElem:"nole"); + if (!element.cachedImage) element.cachedImage={}; + if (!element.cachedImage[cacheKey]){ + var resource = getByPath(resources, element.ImagePath, lastElem); + if (resource){ + prepareImg(resource); + //print("lastElem", typeof resource) + if (resource) { + element.cachedImage[cacheKey] = resource; + //print("cache res ",typeof element.cachedImage[cacheKey]); + } else { + element.cachedImage[cacheKey] = null; + //print("cache null",typeof element.cachedImage[cacheKey]); + //print("Could not create image from", resource); } - if (pos.Scale){ - options.scale = pos.ScaleValue; - } - //print("options", options); - //print("Memory before drawing", process.memory(false)); - startPerfLog("drawElement_g.drawImage"); - g.drawImage(image ,(imageOffset.X ? imageOffset.X : 0) + (pos.X ? pos.X : 0),(imageOffset.Y ? imageOffset.Y :0) + (pos.Y ? pos.Y : 0), options); - endPerfLog("drawElement_g.drawImage"); } else { - //print("Could not create image from", resource); + //print("Could not get resource from", element, lastElem); } - } else { - //print("Could not get resource from", path, lastElem); + } + + //print("cache ",typeof element.cachedImage[cacheKey], element.ImagePath, lastElem); + if(element.cachedImage[cacheKey]){ + //print("drawElement ",pos, offset, path, lastElem); + //print("drawElement offset", offset, pos.X, pos.Y); + //print("resource ", resource,pos, offset, path, lastElem); + var imageOffset = updateColors(pos, offset); + setColors(imageOffset); + //print("drawImage from drawElement", image, pos, offset); + var options={}; + if (pos.RotationValue){ + options.rotate = radians(pos); + } + if (pos.Scale){ + options.scale = pos.ScaleValue; + } + //print("options", options); + //print("Memory before drawing", process.memory(false)); + startPerfLog("drawElement_g.drawImage"); + try{ + g.drawImage(element.cachedImage[cacheKey] ,(imageOffset.X ? imageOffset.X : 0) + (pos.X ? pos.X : 0),(imageOffset.Y ? imageOffset.Y :0) + (pos.Y ? pos.Y : 0), options);} catch (e) { + //print("Error", e, element.cachedImage[cacheKey]); + } + endPerfLog("drawElement_g.drawImage"); } endPerfLog("drawElement"); } @@ -280,7 +295,7 @@ function drawScale(resources, scale, offset){ var segmentsToDraw = Math.ceil(value * segments.length); for (var i = 0; i < segmentsToDraw; i++){ - drawElement(resources, segments[i], scaleOffset, scale.ImagePath, imageIndex + i); + drawElement(resources, segments[i], scaleOffset, scale, imageIndex + i); } scale.lastDrawnValue = segmentsToDraw; @@ -288,7 +303,7 @@ function drawScale(resources, scale, offset){ } function drawDigit(resources, element, offset, digit){ - drawElement(resources, element, offset, element.ImagePath, digit); + drawElement(resources, element, offset, element, digit); } function drawImage(resources, image, offset, name){ @@ -298,11 +313,11 @@ function drawImage(resources, image, offset, name){ if (image.Value && image.Steps){ var steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1)); //print("Step", steps, "of", image.Steps); - drawElement(resources, image, imageOffset, image.ImagePath, "" + steps); + drawElement(resources, image, imageOffset, image, "" + steps); } else if (image.ImageIndex !== undefined) { - drawElement(resources, image, imageOffset, image.ImagePath, image.ImageIndex); + drawElement(resources, image, imageOffset, image, image.ImageIndex); } else { - drawElement(resources, image, imageOffset, image.ImagePath, name ? "" + name: undefined); + drawElement(resources, image, imageOffset, image, name ? "" + name: undefined); } endPerfLog("drawImage"); From 163b59dac9d7418bbc8af0efe4bc76b21130b78e Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 6 Mar 2022 18:35:32 +0100 Subject: [PATCH 176/306] Draw into buffer to prevent visible refreshing --- apps/imageclock/app.js | 81 ++++++++++++++++++++++++++++--------- apps/imageclock/custom.html | 14 +++++-- 2 files changed, 72 insertions(+), 23 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 9c80eeb25..1dca2b2ea 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -1,6 +1,6 @@ var watchface = require("Storage").readJSON("imageclock.face.json"); var watchfaceResources = require("Storage").readJSON("imageclock.resources.json"); -var precompiledJs = require("Storage").read("imageclock.draw.js"); +var precompiledJs = eval(require("Storage").read("imageclock.draw.js")); var performanceLog = {}; @@ -9,6 +9,7 @@ var endPerfLog = () => {}; var printPerfLog = () => print("Deactivated"); var resetPerfLog = () => {performanceLog = {};}; +var graphics = Graphics.createArrayBuffer(176,176,16,{msb:true}); if (false){ startPerfLog = function(name){ var time = getTime(); @@ -41,6 +42,12 @@ if (false){ }; } +function delay(t) { + return new Promise(function (resolve) { + setTimeout(resolve, t); + }); +} + function prepareImg(resource){ startPerfLog("prepareImg"); //print("prepareImg: ", resource); @@ -210,8 +217,8 @@ function drawNumber(resources, element, offset){ } function setColors(properties){ - if (properties.fg) g.setColor(properties.fg); - if (properties.bg) g.setBgColor(properties.bg); + if (properties.fg) graphics.setColor(properties.fg); + if (properties.bg) graphics.setBgColor(properties.bg); } function drawElement(resources, pos, offset, element, lastElem){ @@ -255,7 +262,7 @@ function drawElement(resources, pos, offset, element, lastElem){ //print("Memory before drawing", process.memory(false)); startPerfLog("drawElement_g.drawImage"); try{ - g.drawImage(element.cachedImage[cacheKey] ,(imageOffset.X ? imageOffset.X : 0) + (pos.X ? pos.X : 0),(imageOffset.Y ? imageOffset.Y :0) + (pos.Y ? pos.Y : 0), options);} catch (e) { + graphics.drawImage(element.cachedImage[cacheKey] ,(imageOffset.X ? imageOffset.X : 0) + (pos.X ? pos.X : 0),(imageOffset.Y ? imageOffset.Y :0) + (pos.Y ? pos.Y : 0), options);} catch (e) { //print("Error", e, element.cachedImage[cacheKey]); } endPerfLog("drawElement_g.drawImage"); @@ -436,21 +443,21 @@ function drawPoly(resources, element, offset){ if (element.RotationValue){ transform.rotate = radians(element); } - vertices = g.transformVertices(vertices, transform); + vertices = graphics.transformVertices(vertices, transform); endPerfLog("drawPoly_transform"); - if (element.ForegroundColor) g.setColor(element.ForegroundColor); + if (element.ForegroundColor) graphics.setColor(element.ForegroundColor); if (element.Filled){ startPerfLog("drawPoly_g.fillPoly"); - g.fillPoly(vertices,true); + graphics.fillPoly(vertices,true); endPerfLog("drawPoly_g.fillPoly"); } - if (element.BackgroundColor) g.setColor(element.BackgroundColor); + if (element.BackgroundColor) graphics.setColor(element.BackgroundColor); startPerfLog("drawPoly_g.drawPoly"); - g.drawPoly(vertices,true); + graphics.drawPoly(vertices,true); endPerfLog("drawPoly_g.drawPoly"); endPerfLog("drawPoly"); @@ -463,15 +470,15 @@ function drawRect(resources, element, offset){ if (element.X) primitiveOffset.X += element.X; if (element.Y) primitiveOffset.Y += element.Y; - if (element.ForegroundColor) g.setColor(element.ForegroundColor); + if (element.ForegroundColor) graphics.setColor(element.ForegroundColor); if (element.Filled){ startPerfLog("drawRect_g.fillRect"); - g.fillRect(primitiveOffset.X, primitiveOffset.Y, primitiveOffset.X + element.Width, primitiveOffset.Y + element.Height); + graphics.fillRect(primitiveOffset.X, primitiveOffset.Y, primitiveOffset.X + element.Width, primitiveOffset.Y + element.Height); endPerfLog("drawRect_g.fillRect"); } else { startPerfLog("drawRect_g.fillRect"); - g.drawRect(primitiveOffset.X, primitiveOffset.Y, primitiveOffset.X + element.Width, primitiveOffset.Y + element.Height); + graphics.drawRect(primitiveOffset.X, primitiveOffset.Y, primitiveOffset.X + element.Width, primitiveOffset.Y + element.Height); endPerfLog("drawRect_g.fillRect"); } endPerfLog("drawRect"); @@ -647,6 +654,7 @@ var zeroOffset={X:0,Y:0}; var requestedDraws = 0; var isDrawing = false; +var drawingTime; var start; @@ -661,22 +669,55 @@ function initialDraw(resources, face){ //print(new Date().toISOString(), "Drawing start"); startPerfLog("initialDraw"); //var start = Date.now(); - if (clearOnRedraw) g.clear(true); - if (precompiledJs && precompiledJs.length > 7){ + drawingTime = 0; + if (typeof precompiledJs == "function"){ //print("Precompiled"); - eval(precompiledJs); + var promise = Promise.resolve(); + if (clearOnRedraw){ + promise = promise.then(()=>{ + var currentDrawingTime = Date.now(); + startPerfLog("initialDraw_g.clear"); + graphics.clear(true); + endPerfLog("initialDraw_g.clear"); + drawingTime += Date.now() - currentDrawingTime; + }); + } + promise = promise.then(()=>precompiledJs(watchfaceResources, watchface)); + + promise.then(()=>{ + var currentDrawingTime = Date.now(); + g.drawImage({width: graphics.getWidth(), height: graphics.getHeight(), bpp: graphics.getBPP(), buffer: graphics.buffer}); + lastDrawTime = Date.now() - start; + drawingTime += Date.now() - currentDrawingTime; + //print(new Date().toISOString(), "Drawing done in", lastDrawTime.toFixed(0), "active:", drawingTime.toFixed(0)); + isDrawing=false; + firstDraw=false; + requestRefresh = false; + endPerfLog("initialDraw"); + }); } else if (face.Collapsed){ //print("Collapsed"); + startPerfLog("initialDraw_g.clear"); + if (clearOnRedraw) graphics.clear(true); + endPerfLog("initialDraw_g.clear"); drawIteratively(resources, face.Collapsed); + endPerfLog("initialDraw"); + lastDrawTime = (Date.now() - start); + //print(new Date().toISOString(), "Drawing done", lastDrawTime.toFixed(0)); + firstDraw = false; + isDrawing = false; } else { + startPerfLog("initialDraw_g.clear"); + if (clearOnRedraw) graphics.clear(true); + endPerfLog("initialDraw_g.clear"); //print("Full"); draw(resources, face, [], zeroOffset); + endPerfLog("initialDraw"); + lastDrawTime = (Date.now() - start); + //print(new Date().toISOString(), "Drawing done", lastDrawTime.toFixed(0)); + firstDraw = false; + isDrawing = false; } - endPerfLog("initialDraw"); - lastDrawTime = (Date.now() - start); - //print(new Date().toISOString(), "Drawing done", lastDrawTime.toFixed(0)); - firstDraw = false; - isDrawing = false; if (requestedDraws > 0){ //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); requestedDraws = 0; diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 341b23dac..e4973ca98 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -562,7 +562,9 @@ } function convertToCode(elements, properties){ - var code = "var layerchanged;\n"; + var code = "(function (watchfaceResources, watchface) {\n"; + code += "var layerchanged;\n"; + code += "var promise = Promise.resolve();\n"; //get mapped by layer var layers = {}; @@ -636,11 +638,17 @@ else colorsetting += "g.setBgColor(g.theme.bg);\n"; code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); - code += colorsetting; - code += "draw" + c.type + "(watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});"; + code += " promise = promise.then(()=>delay(0)).then(()=>{\n"; + code += " var currentDrawTime=Date.now();\n"; + code += " " + colorsetting; + code += " draw" + c.type + "(watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});"; + code += " drawingTime += Date.now() - currentDrawTime;\n"; + code += " });\n"; code += (condition.length > 0 ? "}\n" : ""); } } + + code += "return promise;})"; console.log("Code:", code); return code } From 23eb62f9a661288a254b4385aeb977149b01d759 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 11 Mar 2022 21:53:04 +0100 Subject: [PATCH 177/306] Remove obsolete drawing methods --- apps/imageclock/app.js | 165 ++++++----------------------------------- 1 file changed, 21 insertions(+), 144 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 1dca2b2ea..82087b94d 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -545,106 +545,6 @@ function drawMultiState(resources, element, offset){ endPerfLog("drawMultiState"); } -function drawIteratively(resources, items){ - //print("drawIteratively"); - startPerfLog("drawIteratively"); - for (var c of items){ - startPerfLog("drawIteratively_handling_" + c.type); - if (c.value.HideOn && c.value.HideOn == "Lock" && Bangle.isLocked()){ - //print("Hiding", current); - continue; - } - switch(c.type){ - case "MultiState": - drawMultiState(resources, c.value, zeroOffset); - break; - case "Image": - drawImage(resources, c.value, zeroOffset); - break; - case "CodedImage": - drawCodedImage(resources, c.value, zeroOffset); - break; - case "Number": - drawNumber(resources, c.value, zeroOffset); - break; - case "Poly": - drawPoly(resources, c.value, zeroOffset); - break; - case "Scale": - drawScale(resources, c.value, zeroOffset); - break; - } - endPerfLog("drawIteratively_handling_" + c.type); - } - endPerfLog("drawIteratively"); -} - -function draw(resources, root, path, offset){ - //print("draw", path); - startPerfLog("draw_"+ path.join("_")); - - var element = getByPath(root, path); - var elementOffset = updateOffset(element, offset); - setColors(elementOffset); - //print("Using offset", elementOffset); - if (Array.isArray(element)) - drawIteratively(element); - else { - //print("Using offset", elementOffset); - - for (var current in element){ - //print("Handling ", current, " with offset ", elementOffset); - startPerfLog("draw_handling_"+ path.join("_")+"_"+current); - var currentElement = element[current]; - try { - switch(current){ - case "X": - case "Y": - case "Properties": - case "ForegroundColor": - case "BackgroundColor": - case "HideOn": - //print("Hiding", current); - break; - case "MultiState": - drawMultiState(resources, currentElement, elementOffset); - break; - case "Image": - drawImage(resources, currentElement, elementOffset); - break; - case "CodedImage": - drawCodedImage(resources, currentElement, elementOffset); - break; - case "Number": - drawNumber(resources, currentElement, elementOffset); - break; - case "Poly": - drawPoly(currentElement, elementOffset); - break; - case "Scale": - drawScale(resources, currentElement, elementOffset); - break; - default: - //print("Enter next level", elementOffset); - if (currentElement.HideOn && currentElement.HideOn == "Lock" && Bangle.isLocked()){ - //print("Hiding", current); - continue; - } - draw(resources, root, path.concat(current), elementOffset); - //print("Done next level"); - } - endPerfLog("draw_handling_"+ path.join("_")+"_"+current); - //print("Drawing of", current, "in", (Date.now() - start).toFixed(0), "ms"); - } catch (e){ - print("Error during drawing of", current, "in", element, e, e.stack); - } - } - } - //print("Finished drawing loop"); - - endPerfLog("draw_"+ path.join("_")); -} - var pulse,alt,temp,press; @@ -670,54 +570,31 @@ function initialDraw(resources, face){ startPerfLog("initialDraw"); //var start = Date.now(); drawingTime = 0; - if (typeof precompiledJs == "function"){ - //print("Precompiled"); - var promise = Promise.resolve(); - if (clearOnRedraw){ - promise = promise.then(()=>{ - var currentDrawingTime = Date.now(); - startPerfLog("initialDraw_g.clear"); - graphics.clear(true); - endPerfLog("initialDraw_g.clear"); - drawingTime += Date.now() - currentDrawingTime; - }); - } - promise = promise.then(()=>precompiledJs(watchfaceResources, watchface)); - - promise.then(()=>{ + //print("Precompiled"); + var promise = Promise.resolve(); + if (clearOnRedraw){ + promise = promise.then(()=>{ var currentDrawingTime = Date.now(); - g.drawImage({width: graphics.getWidth(), height: graphics.getHeight(), bpp: graphics.getBPP(), buffer: graphics.buffer}); - lastDrawTime = Date.now() - start; + startPerfLog("initialDraw_g.clear"); + graphics.clear(true); + endPerfLog("initialDraw_g.clear"); drawingTime += Date.now() - currentDrawingTime; - //print(new Date().toISOString(), "Drawing done in", lastDrawTime.toFixed(0), "active:", drawingTime.toFixed(0)); - isDrawing=false; - firstDraw=false; - requestRefresh = false; - endPerfLog("initialDraw"); }); - } else if (face.Collapsed){ - //print("Collapsed"); - startPerfLog("initialDraw_g.clear"); - if (clearOnRedraw) graphics.clear(true); - endPerfLog("initialDraw_g.clear"); - drawIteratively(resources, face.Collapsed); - endPerfLog("initialDraw"); - lastDrawTime = (Date.now() - start); - //print(new Date().toISOString(), "Drawing done", lastDrawTime.toFixed(0)); - firstDraw = false; - isDrawing = false; - } else { - startPerfLog("initialDraw_g.clear"); - if (clearOnRedraw) graphics.clear(true); - endPerfLog("initialDraw_g.clear"); - //print("Full"); - draw(resources, face, [], zeroOffset); - endPerfLog("initialDraw"); - lastDrawTime = (Date.now() - start); - //print(new Date().toISOString(), "Drawing done", lastDrawTime.toFixed(0)); - firstDraw = false; - isDrawing = false; } + promise = promise.then(()=>precompiledJs(watchfaceResources, watchface)); + + promise.then(()=>{ + var currentDrawingTime = Date.now(); + g.drawImage({width: graphics.getWidth(), height: graphics.getHeight(), bpp: graphics.getBPP(), buffer: graphics.buffer}); + lastDrawTime = Date.now() - start; + drawingTime += Date.now() - currentDrawingTime; + //print(new Date().toISOString(), "Drawing done in", lastDrawTime.toFixed(0), "active:", drawingTime.toFixed(0)); + isDrawing=false; + firstDraw=false; + requestRefresh = false; + endPerfLog("initialDraw"); + }); + if (requestedDraws > 0){ //print(new Date().toISOString(), "Had deferred drawing left, drawing again"); requestedDraws = 0; From 092a042c842a1e493c317d810a937c8dc722fd5b Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 11 Mar 2022 21:54:21 +0100 Subject: [PATCH 178/306] Catch barometer errors --- apps/imageclock/app.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 82087b94d..93b87a2d9 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -706,7 +706,11 @@ Bangle.setUI("clock"); if (!events || events.includes("pressure")){ Bangle.on('pressure', handlePressure); - Bangle.setBarometerPower(1, 'imageclock'); + try{ + Bangle.setBarometerPower(1, 'imageclock'); + } catch (e){ + print("Error during barometer power up", e); + } } if (!events || events.includes("HRM")) { Bangle.on('HRM', handleHrm); From 36e2a64cda473d7a79c57b297b2868f20500d878 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Fri, 11 Mar 2022 21:55:52 +0100 Subject: [PATCH 179/306] Optionally wrap in timeouts --- apps/imageclock/custom.html | 45 +++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index e4973ca98..4e807ab9b 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -21,8 +21,8 @@

Options:
- -
+ +

Select watchface folder:

@@ -561,8 +561,11 @@ return result; } - function convertToCode(elements, properties){ + function convertToCode(elements, properties, wrapInPromises){ var code = "(function (watchfaceResources, watchface) {\n"; + if (!wrapInPromises){ + code += "var currentDrawTime=Date.now();\n"; + } code += "var layerchanged;\n"; code += "var promise = Promise.resolve();\n"; @@ -586,6 +589,11 @@ console.log("Layer elements", layername, layerElements); //code for whole layer + if (wrapInPromises){ + code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; + code += "var currentDrawTime=Date.now();\n"; + } + var checkForLayerChange = false; var checkcode = ""; @@ -638,16 +646,22 @@ else colorsetting += "g.setBgColor(g.theme.bg);\n"; code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); - code += " promise = promise.then(()=>delay(0)).then(()=>{\n"; - code += " var currentDrawTime=Date.now();\n"; - code += " " + colorsetting; - code += " draw" + c.type + "(watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});"; - code += " drawingTime += Date.now() - currentDrawTime;\n"; - code += " });\n"; + code += "" + colorsetting; + code += "draw" + c.type + "(watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; + code += (condition.length > 0 ? "}\n" : ""); } + + if (wrapInPromises){ + code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "});\n"; + } } + if (!wrapInPromises){ + code += "drawingTime += Date.now() - currentDrawTime;\n"; + } + code += "return promise;})"; console.log("Code:", code); return code @@ -657,14 +671,11 @@ moveData(resultJson); console.log("Created data file", resourceDataString, resourceDataOffset, resultJson); - var properties = faceJson.Properties; - - if (document.getElementById('precompile').checked){ - faceJson = { Properties: properties, Collapsed: collapseTree(faceJson,{X:0,Y:0})}; - console.log("After collapsing", faceJson); - precompiledJs = convertToCode(faceJson.Collapsed, properties); - console.log("After precompiling", precompiledJs); - } + var properties = faceJson.Properties; + faceJson = { Properties: properties, Collapsed: collapseTree(faceJson,{X:0,Y:0})}; + console.log("After collapsing", faceJson); + precompiledJs = convertToCode(faceJson.Collapsed, properties, document.getElementById('promisewrap').checked); + console.log("After precompiling", precompiledJs); } function imageLoaded() { From 627c58e8cd8ded9262a2dae4f7146714aaff34c4 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 12 Mar 2022 01:46:37 +0100 Subject: [PATCH 180/306] Allow optionally drawing using timeouts --- apps/imageclock/app.js | 65 +++++++++++++++++-------------------- apps/imageclock/custom.html | 65 ++++++++++++++++++++++++++++--------- 2 files changed, 79 insertions(+), 51 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 93b87a2d9..3c27c512a 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -9,7 +9,9 @@ var endPerfLog = () => {}; var printPerfLog = () => print("Deactivated"); var resetPerfLog = () => {performanceLog = {};}; -var graphics = Graphics.createArrayBuffer(176,176,16,{msb:true}); +var plane0 = g; +var plane1; + if (false){ startPerfLog = function(name){ var time = getTime(); @@ -100,7 +102,7 @@ function isChangedMultistate(element){ return element.lastDrawnValue != getMultistate(element.Value); } -function drawNumber(resources, element, offset){ +function drawNumber(graphics, resources, element, offset){ startPerfLog("drawNumber"); var number = getValue(element.Value); var spacing = element.Spacing ? element.Spacing : 0; @@ -187,9 +189,9 @@ function drawNumber(resources, element, offset){ if (isNegative && minusImage){ //print("Draw minus at", currentX); if (imageIndexMinus){ - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "" + (0 + imageIndexMinus)); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "" + (0 + imageIndexMinus)); } else { - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "minus"); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "minus"); } currentX += minusImage.width + spacing; } @@ -202,14 +204,14 @@ function drawNumber(resources, element, offset){ currentDigit = 0; } //print("Digit " + currentDigit + " " + currentX); - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, currentDigit + imageIndex); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, currentDigit + imageIndex); currentX += firstImage.width + spacing; } if (imageIndexUnit){ //print("Draw unit at", currentX); - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "" + (0 + imageIndexUnit)); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "" + (0 + imageIndexUnit)); } else if (element.Unit){ - drawElement(resources, {X:currentX,Y:firstDigitY}, numberOffset, element, getMultistate(element.Unit,"unknown")); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, getMultistate(element.Unit,"unknown")); } element.lastDrawnValue = number; @@ -221,7 +223,7 @@ function setColors(properties){ if (properties.bg) graphics.setBgColor(properties.bg); } -function drawElement(resources, pos, offset, element, lastElem){ +function drawElement(graphics, resources, pos, offset, element, lastElem){ startPerfLog("drawElement"); var cacheKey = "_"+(lastElem?lastElem:"nole"); if (!element.cachedImage) element.cachedImage={}; @@ -287,7 +289,7 @@ function getMultistate(name, defaultValue){ return undefined; } -function drawScale(resources, scale, offset){ +function drawScale(graphics, resources, scale, offset){ startPerfLog("drawScale"); //print("drawScale", scale, offset); var segments = scale.Segments; @@ -302,35 +304,35 @@ function drawScale(resources, scale, offset){ var segmentsToDraw = Math.ceil(value * segments.length); for (var i = 0; i < segmentsToDraw; i++){ - drawElement(resources, segments[i], scaleOffset, scale, imageIndex + i); + drawElement(graphics, resources, segments[i], scaleOffset, scale, imageIndex + i); } scale.lastDrawnValue = segmentsToDraw; endPerfLog("drawScale"); } -function drawDigit(resources, element, offset, digit){ - drawElement(resources, element, offset, element, digit); +function drawDigit(graphics, resources, element, offset, digit){ + drawElement(graphics, resources, element, offset, element, digit); } -function drawImage(resources, image, offset, name){ +function drawImage(graphics, resources, image, offset, name){ startPerfLog("drawImage"); var imageOffset = updateColors(image, offset); //print("drawImage", image, offset, name); if (image.Value && image.Steps){ var steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1)); //print("Step", steps, "of", image.Steps); - drawElement(resources, image, imageOffset, image, "" + steps); + drawElement(graphics, resources, image, imageOffset, image, "" + steps); } else if (image.ImageIndex !== undefined) { - drawElement(resources, image, imageOffset, image, image.ImageIndex); + drawElement(graphics, resources, image, imageOffset, image, image.ImageIndex); } else { - drawElement(resources, image, imageOffset, image, name ? "" + name: undefined); + drawElement(graphics, resources, image, imageOffset, image, name ? "" + name: undefined); } endPerfLog("drawImage"); } -function drawCodedImage(resources, image, offset){ +function drawCodedImage(graphics, resources, image, offset){ startPerfLog("drawCodedImage"); var code = getValue(image.Value); //print("drawCodedImage", image, offset, code); @@ -348,10 +350,10 @@ function drawCodedImage(resources, image, offset){ } if (code / factor > 1){ //print("found match"); - drawImage(resources, image, offset, currentCode); + drawImage(graphics, resources, image, offset, currentCode); } else { //print("fallback"); - drawImage(resources, image, offset, "fallback"); + drawImage(graphics, resources, image, offset, "fallback"); } } image.lastDrawnValue = code; @@ -425,7 +427,7 @@ function radians(rotation){ return value; } -function drawPoly(resources, element, offset){ +function drawPoly(graphics, resources, element, offset){ startPerfLog("drawPoly"); var vertices = []; var primitiveOffset = offset.clone(); @@ -463,7 +465,7 @@ function drawPoly(resources, element, offset){ endPerfLog("drawPoly"); } -function drawRect(resources, element, offset){ +function drawRect(graphics, resources, element, offset){ startPerfLog("drawRect"); var vertices = []; var primitiveOffset = offset.clone(); @@ -535,12 +537,12 @@ multistates.WeatherTemperatureNegative = () => { return getWeatherTemperature(). multistates.WeatherTemperatureUnit = () => { return getWeatherTemperature().unit; }; multistates.StepsGoal = () => { return (numbers.Steps() >= stepsgoal) ? "on": "off"; }; -function drawMultiState(resources, element, offset){ +function drawMultiState(graphics, resources, element, offset){ startPerfLog("drawMultiState"); //print("drawMultiState", element, offset); var value = multistates[element.Value](); //print("drawImage from drawMultiState", element, offset, value); - drawImage(resources, element, offset, value); + drawImage(graphics, resources, element, offset, value); element.lastDrawnValue = value; endPerfLog("drawMultiState"); } @@ -568,24 +570,13 @@ function initialDraw(resources, face){ requestedDraws = 0; //print(new Date().toISOString(), "Drawing start"); startPerfLog("initialDraw"); - //var start = Date.now(); + //start = Date.now(); drawingTime = 0; //print("Precompiled"); - var promise = Promise.resolve(); - if (clearOnRedraw){ - promise = promise.then(()=>{ - var currentDrawingTime = Date.now(); - startPerfLog("initialDraw_g.clear"); - graphics.clear(true); - endPerfLog("initialDraw_g.clear"); - drawingTime += Date.now() - currentDrawingTime; - }); - } - promise = promise.then(()=>precompiledJs(watchfaceResources, watchface)); + var promise = precompiledJs(watchfaceResources, watchface); promise.then(()=>{ var currentDrawingTime = Date.now(); - g.drawImage({width: graphics.getWidth(), height: graphics.getHeight(), bpp: graphics.getBPP(), buffer: graphics.buffer}); lastDrawTime = Date.now() - start; drawingTime += Date.now() - currentDrawingTime; //print(new Date().toISOString(), "Drawing done in", lastDrawTime.toFixed(0), "active:", drawingTime.toFixed(0)); @@ -593,6 +584,8 @@ function initialDraw(resources, face){ firstDraw=false; requestRefresh = false; endPerfLog("initialDraw"); + }).catch((e)=>{ + print("Error during drawing", e); }); if (requestedDraws > 0){ diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 4e807ab9b..91a28c25d 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -21,8 +21,8 @@

Options:
- -
+ +

Select watchface folder:

@@ -561,26 +561,50 @@ return result; } - function convertToCode(elements, properties, wrapInPromises){ + function convertToCode(elements, properties, wrapInTimeouts){ var code = "(function (watchfaceResources, watchface) {\n"; - if (!wrapInPromises){ + if (!wrapInTimeouts){ code += "var currentDrawTime=Date.now();\n"; } - code += "var layerchanged;\n"; + code += "var layerchanged;\n"; code += "var promise = Promise.resolve();\n"; //get mapped by layer var layers = {}; var counter = 0; + var planes = 0; for (var i = 0; i< elements.length; i++){ var c = elements[i].value; console.log("Check element", c); var name = c.Layer; if (c.type == "Standalone") name = "standalone" + counter++; + if (c.Plane) planes = Math.max(c.Plane, planes); if (!layers[name]) layers[name] = []; layers[name].push({index: i, element: c}); } + console.log("Found planes", planes) + + if (wrapInTimeouts && planes == 0) planes = 1; + + code += "plane0 = g;\n"; + + if (planes > 0){ + for (var i = 1; i <= planes; i++){ + code += "if (!plane" + i + ") plane" + i + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),16,{msb:true});\n"; + } + } + + code += ` +if (clearOnRedraw){ + var currentDrawingTime = Date.now(); + startPerfLog("initialDraw_g.clear"); + g.clear(true); + endPerfLog("initialDraw_g.clear"); + drawingTime += Date.now() - currentDrawingTime; +} +` + console.log("Got layers", layers); for (var layername in layers){ @@ -589,7 +613,7 @@ console.log("Layer elements", layername, layerElements); //code for whole layer - if (wrapInPromises){ + if (wrapInTimeouts){ code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; code += "var currentDrawTime=Date.now();\n"; } @@ -616,7 +640,7 @@ } code += checkcode; - + //code for elements for (var i = 0; i< layerElements.length; i++){ var elementIndex = layerElements[i].index; @@ -639,27 +663,38 @@ condition += "firstDraw"; } + var planeName = "plane" + (typeof c.value.Plane == "number" ? c.value.Plane : planes) ; + var colorsetting = ""; - if (c.value.ForegroundColor) colorsetting += "g.setColor(\"" + c.value.ForegroundColor + "\");\n"; - else colorsetting += "g.setColor(g.theme.fg);\n"; - if (c.value.BackgroundColor) colorsetting += "g.setBgColor(\"" + c.value.BackgroundColor + "\");\n"; - else colorsetting += "g.setBgColor(g.theme.bg);\n"; + if (c.value.ForegroundColor) colorsetting += planeName + ".setColor(\"" + c.value.ForegroundColor + "\");\n"; + else colorsetting += planeName + ".setColor(g.theme.fg);\n"; + if (c.value.BackgroundColor) colorsetting += planeName + ".setBgColor(\"" + c.value.BackgroundColor + "\");\n"; + else colorsetting += planeName + ".setBgColor(g.theme.bg);\n"; code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); code += "" + colorsetting; - code += "draw" + c.type + "(watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; + code += "draw" + c.type + "(" + planeName + ", watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; code += (condition.length > 0 ? "}\n" : ""); } - if (wrapInPromises){ + if (wrapInTimeouts){ code += "drawingTime += Date.now() - currentDrawTime;\n"; code += "});\n"; } } - if (!wrapInPromises){ + if (planes > 0){ + code += "promise = promise.then(()=>{\n"; + code += "var currentDrawTime=Date.now();\n"; + + for (var i = 1; i <= planes; i++){ + //code += "g.drawImage(plane" + i + ".asImage());"; + code += "g.drawImage(g.drawImage({width: plane" + i + ".getWidth(), height: plane" + i + ".getHeight(), bpp: plane" + i + ".getBPP(), buffer: plane" + i + ".buffer}));"; + } + code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "});\n"; } code += "return promise;})"; @@ -674,7 +709,7 @@ var properties = faceJson.Properties; faceJson = { Properties: properties, Collapsed: collapseTree(faceJson,{X:0,Y:0})}; console.log("After collapsing", faceJson); - precompiledJs = convertToCode(faceJson.Collapsed, properties, document.getElementById('promisewrap').checked); + precompiledJs = convertToCode(faceJson.Collapsed, properties, document.getElementById('timeoutwrap').checked); console.log("After precompiling", precompiledJs); } From 0efe1dd6a5323bcaef67a500a4d73b04ad2abcf5 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 12 Mar 2022 01:47:18 +0100 Subject: [PATCH 181/306] Only switch sensors on on unlock if used by watchface --- apps/imageclock/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 3c27c512a..a42a4c1db 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -677,8 +677,8 @@ function handleLock(isLocked, forceRedraw){ },unlockedRedraw, (v)=>{ unlockedDrawInterval = v; }, lastDrawTime); - Bangle.setHRMPower(1, "imageclock"); - Bangle.setBarometerPower(1, 'imageclock'); + if (!events || events.includes("HRM")) Bangle.setHRMPower(1, "imageclock"); + if (!events || events.includes("pressure")) Bangle.setBarometerPower(1, 'imageclock'); } else { if (forceRedraw || !redrawEvents || (redrawEvents.includes("lock"))){ //print("Redrawing on lock", isLocked); From 555a5e34b5456fd2399e018a308abdbd2fb69ba3 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 12 Mar 2022 08:43:01 +0100 Subject: [PATCH 182/306] Render in planes --- apps/imageclock/app.js | 4 +- apps/imageclock/custom.html | 187 +++++++++++++++++++----------------- 2 files changed, 99 insertions(+), 92 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index a42a4c1db..e6bd80781 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -218,7 +218,7 @@ function drawNumber(graphics, resources, element, offset){ endPerfLog("drawNumber"); } -function setColors(properties){ +function setColors(graphics, properties){ if (properties.fg) graphics.setColor(properties.fg); if (properties.bg) graphics.setBgColor(properties.bg); } @@ -251,7 +251,7 @@ function drawElement(graphics, resources, pos, offset, element, lastElem){ //print("drawElement offset", offset, pos.X, pos.Y); //print("resource ", resource,pos, offset, path, lastElem); var imageOffset = updateColors(pos, offset); - setColors(imageOffset); + setColors(graphics, imageOffset); //print("drawImage from drawElement", image, pos, offset); var options={}; if (pos.RotationValue){ diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 91a28c25d..f8e658476 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -550,6 +550,7 @@ combineProperty("RotationOffset",element,next); combineProperty("MinRotationValue",element,next); combineProperty("MaxRotationValue",element,next); + if (typeof element.Plane == "number") next.Plane = element.Plane; next.Layer = element.Layer ? (element.Layer) : "" + c; if (["MultiState","Image","CodedImage","Number","Poly","Rect","Scale"].includes(c)){ @@ -570,31 +571,32 @@ code += "var promise = Promise.resolve();\n"; //get mapped by layer - var layers = {}; var counter = 0; - var planes = 0; + var planes = {}; + var planeNumbers = []; for (var i = 0; i< elements.length; i++){ var c = elements[i].value; console.log("Check element", c); var name = c.Layer; if (c.type == "Standalone") name = "standalone" + counter++; - if (c.Plane) planes = Math.max(c.Plane, planes); - if (!layers[name]) layers[name] = []; - layers[name].push({index: i, element: c}); + var plane = wrapInTimeouts ? 1 : 0; + if (typeof c.Plane == "number"){ + plane = c.Plane; + } + console.log("Found plane for element", plane, c); + if (!planeNumbers.includes(plane)) planeNumbers.push(plane); + if (!planes[plane]) planes[plane] = {}; + if (!planes[plane][name]) planes[plane][name] = []; + planes[plane][name].push({index: i, element: c}); } + planeNumbers.sort().reverse(); - console.log("Found planes", planes) + console.log("Found planes", planes, "with numbers", planeNumbers) if (wrapInTimeouts && planes == 0) planes = 1; code += "plane0 = g;\n"; - if (planes > 0){ - for (var i = 1; i <= planes; i++){ - code += "if (!plane" + i + ") plane" + i + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),16,{msb:true});\n"; - } - } - code += ` if (clearOnRedraw){ var currentDrawingTime = Date.now(); @@ -605,97 +607,102 @@ if (clearOnRedraw){ } ` - console.log("Got layers", layers); - - for (var layername in layers){ - var layerElements = layers[layername]; + for (var planeIndex = 0; planeIndex < planeNumbers.length; planeIndex++){ + var layers = planes[planeNumbers[planeIndex]]; + var plane = planeNumbers[planeIndex]; - console.log("Layer elements", layername, layerElements); - //code for whole layer - if (wrapInTimeouts){ - code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; - code += "var currentDrawTime=Date.now();\n"; - } + if (plane != 0) code += "if (!plane" + plane + ") plane" + plane + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),16,{msb:true});\n"; - var checkForLayerChange = false; - var checkcode = ""; - - if (!(properties.Redraw && properties.Redraw.Clear)){ - checkcode = 'layerchanged = firstDraw;' + "\n"; - for (var i = 0; i< layerElements.length; i++){ - var layerElement = layerElements[i]; - var referencedElement = elements[layerElements[i].index]; - var elementType = referencedElement.type; - console.log("Check for change:", layerElement, referencedElement); - if (layerElement.element.Value){ - if (elementType == "MultiState" && layerElement.element.Value) { - checkcode += 'layerchanged |= isChangedMultistate(watchface.Collapsed[' + layerElement.index + '].value);' + "\n"; - } else { - checkcode += 'layerchanged |= isChangedNumber(watchface.Collapsed[' + layerElement.index + '].value);' + "\n"; + console.log("Got layers", layers); + for (var layername in layers){ + var layerElements = layers[layername]; + + console.log("Layer elements", layername, layerElements); + //code for whole layer + + if (wrapInTimeouts && plane != 0){ + code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; + code += "var currentDrawTime=Date.now();\n"; + } + + var checkForLayerChange = false; + var checkcode = ""; + + if (!(properties.Redraw && properties.Redraw.Clear)){ + checkcode = 'layerchanged = firstDraw;' + "\n"; + for (var i = 0; i< layerElements.length; i++){ + var layerElement = layerElements[i]; + var referencedElement = elements[layerElements[i].index]; + var elementType = referencedElement.type; + console.log("Check for change:", layerElement, referencedElement); + if (layerElement.element.Value){ + if (elementType == "MultiState" && layerElement.element.Value) { + checkcode += 'layerchanged |= isChangedMultistate(watchface.Collapsed[' + layerElement.index + '].value);' + "\n"; + } else { + checkcode += 'layerchanged |= isChangedNumber(watchface.Collapsed[' + layerElement.index + '].value);' + "\n"; + } + checkForLayerChange = true; } - checkForLayerChange = true; } } - } - - code += checkcode; - //code for elements - for (var i = 0; i< layerElements.length; i++){ - var elementIndex = layerElements[i].index; - var c = elements[elementIndex]; - console.log("convert to code", c); - - var condition = ""; - if (checkcode.length > 0 && checkForLayerChange){ - if (condition.length > 0) condition += " && "; - condition = 'layerchanged'; - } - - if (c.value.HideOn && c.value.HideOn.includes("Lock")){ - if (condition.length > 0) condition += " && "; - condition = '!Bangle.isLocked()'; - } - - if (c.value.Type == "Once"){ - if (condition.length > 0) condition += " && "; - condition += "firstDraw"; - } - - var planeName = "plane" + (typeof c.value.Plane == "number" ? c.value.Plane : planes) ; - - var colorsetting = ""; - if (c.value.ForegroundColor) colorsetting += planeName + ".setColor(\"" + c.value.ForegroundColor + "\");\n"; - else colorsetting += planeName + ".setColor(g.theme.fg);\n"; - if (c.value.BackgroundColor) colorsetting += planeName + ".setBgColor(\"" + c.value.BackgroundColor + "\");\n"; - else colorsetting += planeName + ".setBgColor(g.theme.bg);\n"; - - code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); - code += "" + colorsetting; - code += "draw" + c.type + "(" + planeName + ", watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; + code += checkcode; + + //code for elements + for (var i = 0; i< layerElements.length; i++){ + var elementIndex = layerElements[i].index; + var c = elements[elementIndex]; + console.log("convert to code", c); + + var condition = ""; + if (checkcode.length > 0 && checkForLayerChange){ + if (condition.length > 0) condition += " && "; + condition = 'layerchanged'; + } + + if (c.value.HideOn && c.value.HideOn.includes("Lock")){ + if (condition.length > 0) condition += " && "; + condition = '!Bangle.isLocked()'; + } + + if (c.value.Type == "Once"){ + if (condition.length > 0) condition += " && "; + condition += "firstDraw"; + } + + var planeName = "plane" + plane; + var colorsetting = ""; + if (c.value.ForegroundColor) colorsetting += planeName + ".setColor(\"" + c.value.ForegroundColor + "\");\n"; + else colorsetting += planeName + ".setColor(g.theme.fg);\n"; + if (c.value.BackgroundColor) colorsetting += planeName + ".setBgColor(\"" + c.value.BackgroundColor + "\");\n"; + else colorsetting += planeName + ".setBgColor(g.theme.bg);\n"; + + code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); + code += "" + colorsetting; + code += "draw" + c.type + "(" + planeName + ", watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; - code += (condition.length > 0 ? "}\n" : ""); + code += (condition.length > 0 ? "}\n" : ""); + } + + if (wrapInTimeouts && plane != 0){ + code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "});\n"; + } } - - if (wrapInTimeouts){ + console.log("Current plane is", plane); + if (plane != 0){ + code += "promise = promise.then(()=>{\n"; + code += "var currentDrawTime=Date.now();\n"; + + //code += "g.drawImage(plane" + i + ".asImage());"; + code += "g.drawImage({width: plane" + plane + ".getWidth(), height: plane" + plane + ".getHeight(), bpp: plane" + plane + ".getBPP(), buffer: plane" + plane + ".buffer});\n"; + + code += "drawingTime += Date.now() - currentDrawTime;\n"; code += "});\n"; } } - - if (planes > 0){ - code += "promise = promise.then(()=>{\n"; - code += "var currentDrawTime=Date.now();\n"; - - for (var i = 1; i <= planes; i++){ - //code += "g.drawImage(plane" + i + ".asImage());"; - code += "g.drawImage(g.drawImage({width: plane" + i + ".getWidth(), height: plane" + i + ".getHeight(), bpp: plane" + i + ".getBPP(), buffer: plane" + i + ".buffer}));"; - } - - code += "drawingTime += Date.now() - currentDrawTime;\n"; - code += "});\n"; - } code += "return promise;})"; console.log("Code:", code); From e246b762b61db932371d3eaca4df88d73d570a32 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 12 Mar 2022 10:26:32 +0100 Subject: [PATCH 183/306] Clear all panes if clear is requested --- apps/imageclock/custom.html | 62 +++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 24 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index f8e658476..c31459906 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -597,16 +597,6 @@ code += "plane0 = g;\n"; - code += ` -if (clearOnRedraw){ - var currentDrawingTime = Date.now(); - startPerfLog("initialDraw_g.clear"); - g.clear(true); - endPerfLog("initialDraw_g.clear"); - drawingTime += Date.now() - currentDrawingTime; -} -` - for (var planeIndex = 0; planeIndex < planeNumbers.length; planeIndex++){ var layers = planes[planeNumbers[planeIndex]]; var plane = planeNumbers[planeIndex]; @@ -614,6 +604,37 @@ if (clearOnRedraw){ if (plane != 0) code += "if (!plane" + plane + ") plane" + plane + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),16,{msb:true});\n"; + if (properties.Redraw && properties.Redraw.Clear){ + if (wrapInTimeouts && plane != 0){ + code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; + code += "var currentDrawTime=Date.now();\n"; + } else { + code += "promise = promise.then(()=>{\n"; + } + code += "var currentDrawTime=Date.now();\n" + code += 'print("Clear for redraw of plane ' + plane + '");'+"\n"; + code += 'startPerfLog("initialDraw_g.clear");'+"\n"; + code += "plane" + plane + ".clear(true);\n"; + code += 'endPerfLog("initialDraw_g.clear");'+ "\n"; + + } + code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "});\n"; + + var previousPlane = plane + 1; + if (previousPlane < planeNumbers.length){ + code += "promise = promise.then(()=>{\n"; + code += "var currentDrawTime=Date.now();\n"; + + code += 'print("Copying of plane ' + previousPlane + ' to display");'+"\n"; + //code += "g.drawImage(plane" + i + ".asImage());"; + code += "plane0.drawImage({width: plane" + previousPlane + ".getWidth(), height: plane" + previousPlane + ".getHeight(), bpp: plane" + previousPlane + ".getBPP(), buffer: plane" + previousPlane + ".buffer});\n"; + + + code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "});\n"; + } + console.log("Got layers", layers); for (var layername in layers){ var layerElements = layers[layername]; @@ -624,7 +645,10 @@ if (clearOnRedraw){ if (wrapInTimeouts && plane != 0){ code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; code += "var currentDrawTime=Date.now();\n"; + } else { + code += "promise = promise.then(()=>{\n"; } + code += "var currentDrawTime=Date.now();\n"; var checkForLayerChange = false; var checkcode = ""; @@ -685,23 +709,13 @@ if (clearOnRedraw){ code += (condition.length > 0 ? "}\n" : ""); } - if (wrapInTimeouts && plane != 0){ - code += "drawingTime += Date.now() - currentDrawTime;\n"; - code += "});\n"; - } - } - console.log("Current plane is", plane); - if (plane != 0){ - code += "promise = promise.then(()=>{\n"; - code += "var currentDrawTime=Date.now();\n"; - - //code += "g.drawImage(plane" + i + ".asImage());"; - code += "g.drawImage({width: plane" + plane + ".getWidth(), height: plane" + plane + ".getHeight(), bpp: plane" + plane + ".getBPP(), buffer: plane" + plane + ".buffer});\n"; - - code += "drawingTime += Date.now() - currentDrawTime;\n"; code += "});\n"; } + console.log("Current plane is", plane); + + + } code += "return promise;})"; From 73c9ea2c1a1f6697ffabde7848008bad2a071366 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 12 Mar 2022 13:41:49 +0100 Subject: [PATCH 184/306] Set planes for Amazfit conversion --- apps/imageclock/custom.html | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index c31459906..1938a092b 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -475,36 +475,46 @@ result.Background = json.Background; result.Background.Image.ImagePath = []; delete result.Background.Preview; + result.Background.Type = "Once"; + if (json.AnalogDialFace) result.Background.Plane = 1; } if (json.Time){ result.Time = convertAmazfitTime(json.Time); + if (json.AnalogDialFace) result.Time.Plane = 1; } if (json.Date){ result.Date = convertAmazfitDate(json.Date); + if (json.AnalogDialFace) result.Date.Plane = 1; } if (json.Status){ result.Status = convertAmazfitStatus(json.Status); + if (json.AnalogDialFace) result.Status.Plane = 1; } if (json.Weather){ result.Weather = convertAmazfitWeather(json.Weather); + if (json.AnalogDialFace) result.Weather.Plane = 1; } if (json.Activity){ result.Activity = convertAmazfitActivity(json.Activity); + if (json.AnalogDialFace) result.Activity.Plane = 1; } if (json.StepsProgress){ result.StepsProgress = convertAmazfitStepsProgress(json.StepsProgress); + if (json.AnalogDialFace) result.StepsProgress.Plane = 1; } if (json.Battery){ result.Battery = convertAmazfitBattery(json.Battery); + if (json.AnalogDialFace) result.Battery.Plane = 1; } if (json.AnalogDialFace){ result.Analog = convertAmazfitAnalog(json.AnalogDialFace, result); + result.Analog.Plane = 0; } console.log("Converted to native:", result); return result; @@ -617,9 +627,9 @@ code += "plane" + plane + ".clear(true);\n"; code += 'endPerfLog("initialDraw_g.clear");'+ "\n"; + code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "});\n"; } - code += "drawingTime += Date.now() - currentDrawTime;\n"; - code += "});\n"; var previousPlane = plane + 1; if (previousPlane < planeNumbers.length){ From c1f1d0938a22f2f783037d6c0d6f927d63b77aa0 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 12 Mar 2022 13:46:02 +0100 Subject: [PATCH 185/306] Update changelog and metadata --- apps/imageclock/ChangeLog | 1 + apps/imageclock/metadata.json | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/ChangeLog b/apps/imageclock/ChangeLog index 341191239..d76ddca6b 100644 --- a/apps/imageclock/ChangeLog +++ b/apps/imageclock/ChangeLog @@ -5,3 +5,4 @@ Allow hiding elements on lock 0.05: Add precompilation to js for performance 0.06: Watchfaces can be refreshed partly +0.07: Allow wrapping drawing in timeouts to get faster reactions diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json index db8ab7554..cc227e977 100644 --- a/apps/imageclock/metadata.json +++ b/apps/imageclock/metadata.json @@ -1,8 +1,8 @@ { "id": "imageclock", "name": "Imageclock", - "shortName": "imageclock", - "version": "0.06", + "shortName": "Imageclock", + "version": "0.07", "type": "clock", "description": "BETA!!! File formats still subject to change --- This app is a highly customizable watchface. To use it, you need to select a watchface. You can build the watchfaces yourself without programming anything. All you need to do is write some json and create image files.", "icon": "app.png", From 3608574ab261bff72d376f1737521bb9d2f4d73c Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 10:35:10 +0100 Subject: [PATCH 186/306] Convert to json from default JS object --- apps/imageclock/custom.html | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 1938a092b..1e4f048f2 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -743,6 +743,22 @@ precompiledJs = convertToCode(faceJson.Collapsed, properties, document.getElementById('timeoutwrap').checked); console.log("After precompiling", precompiledJs); } + + function convertJsToJson(imgstr){ + var E = {}; + E.toArrayBuffer = (s)=>s; + var atob = (s)=>s; + var imgstr = "imgstr = " + imgstr; + eval(imgstr); + imgstr.img = imgstr.buffer; + delete imgstr.buffer; + if (imgstr.palette) { + imgstr.paletteData = "[" + imgstr.palette.toString() + "]"; + delete imgstr.palette; + } + console.log("converted Image JSON", JSON.stringify(imgstr)); + return JSON.stringify(imgstr); + } function imageLoaded() { var options = {}; @@ -756,7 +772,7 @@ options.brightness = 0; options.contrast = 0; options.mode = infoJson.color ? infoJson.color : "1bit"; - options.output = "jsonobject"; + options.output = "object"; console.log("Loaded image has path", this.path); var jsonPath = this.path.split("/"); @@ -797,7 +813,8 @@ imgstr = imageconverter.RGBAtoString(rgba, options); var outputImageData = new ImageData(options.rgbaOut, options.width, options.height); ctx.putImageData(outputImageData,this.width,0); - + + imgstr = convertJsToJson(imgstr); // checkerboard for transparency on original image var imageData = ctx.getImageData(0, 0, this.width, this.height); From 04bd84b439143f7cfa2ef467db7908dffcc05722 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 11:29:35 +0100 Subject: [PATCH 187/306] Fix setting properties in Amazfit conversion --- apps/imageclock/custom.html | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 1e4f048f2..2343c7c77 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -434,7 +434,7 @@ result.Minutes.Hand = convertAmazfitHand(analog.Minutes, "Minute", 0, 60); if (!face.Properties) face.Properties = {}; if (!face.Properties.Redraw) face.Properties.Redraw = {}; - face.Properties.Redraw.Unlocked = 1000; + face.Properties.Redraw.Unlocked = 10000; face.Properties.Redraw.Locked = 60000; if (analog.Minutes.CenterImage){ result.Minutes.Center = convertAmazfitImage(analog.Minutes.CenterImage); @@ -464,18 +464,19 @@ var json = JSON.parse(dataString); faceJson = json; - if (!json.Properties) faceJson.Properties = {}; - if (!json.Properties.Redraw) faceJson.Properties.Redraw = {}; - if (!json.Properties.Redraw.Unlocked) faceJson.Properties.Redraw.Unlocked = 10000; - if (!json.Properties.Redraw.Unlocked) faceJson.Properties.Redraw.Locked = 60000; - + var result = {}; + result.Properties = {}; + result.Properties.Redraw = {}; + result.Properties.Redraw.Unlocked = 60000; + result.Properties.Redraw.Locked = 60000; + result.Properties.Redraw.Clear = true; + if (json.Background){ result.Background = json.Background; result.Background.Image.ImagePath = []; delete result.Background.Preview; - result.Background.Type = "Once"; if (json.AnalogDialFace) result.Background.Plane = 1; } if (json.Time){ From f9494b592f782b3914709c2c93a48eeed06cd476 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 11:30:21 +0100 Subject: [PATCH 188/306] Fix double variable definition when wrapping in timeouts --- apps/imageclock/custom.html | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 2343c7c77..b0a9cb375 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -618,7 +618,6 @@ if (properties.Redraw && properties.Redraw.Clear){ if (wrapInTimeouts && plane != 0){ code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; - code += "var currentDrawTime=Date.now();\n"; } else { code += "promise = promise.then(()=>{\n"; } From 46b6ba3929862fa8c709be166d724d72cbf500de Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 11:50:04 +0100 Subject: [PATCH 189/306] Generate smaller code --- apps/imageclock/app.js | 4 +- apps/imageclock/custom.html | 79 ++++++++++++++++++++----------------- 2 files changed, 45 insertions(+), 38 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index e6bd80781..aaad34da8 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -9,8 +9,8 @@ var endPerfLog = () => {}; var printPerfLog = () => print("Deactivated"); var resetPerfLog = () => {performanceLog = {};}; -var plane0 = g; -var plane1; +var p0 = g; +var p1; if (false){ startPerfLog = function(name){ diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index b0a9cb375..48967c5a0 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -573,13 +573,13 @@ return result; } - function convertToCode(elements, properties, wrapInTimeouts){ - var code = "(function (watchfaceResources, watchface) {\n"; + function convertToCode(elements, properties, wrapInTimeouts){ + var code = "(function (wr, wf) {\n"; if (!wrapInTimeouts){ - code += "var currentDrawTime=Date.now();\n"; + code += "var ct=Date.now();\n"; } - code += "var layerchanged;\n"; - code += "var promise = Promise.resolve();\n"; + code += "var lc;\n"; + code += "var p = Promise.resolve();\n"; //get mapped by layer var counter = 0; @@ -606,42 +606,47 @@ if (wrapInTimeouts && planes == 0) planes = 1; - code += "plane0 = g;\n"; + code += "p0 = g;\n"; for (var planeIndex = 0; planeIndex < planeNumbers.length; planeIndex++){ var layers = planes[planeNumbers[planeIndex]]; var plane = planeNumbers[planeIndex]; + var lastSetColor; + var lastSetBgColor; - if (plane != 0) code += "if (!plane" + plane + ") plane" + plane + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),16,{msb:true});\n"; + if (plane != 0) code += "if (!p" + plane + ") p" + plane + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),16,{msb:true});\n"; + + code += "p" + plane + ".setBgColor(g.theme.bg);\n"; + code += "p" + plane + ".setColor(g.theme.fg);\n"; if (properties.Redraw && properties.Redraw.Clear){ if (wrapInTimeouts && plane != 0){ - code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; + code += "p = p.then(()=>delay(0)).then(()=>{\n"; } else { - code += "promise = promise.then(()=>{\n"; + code += "p = p.then(()=>{\n"; } - code += "var currentDrawTime=Date.now();\n" - code += 'print("Clear for redraw of plane ' + plane + '");'+"\n"; + code += "var ct=Date.now();\n" + //code += 'print("Clear for redraw of plane ' + p + '");'+"\n"; code += 'startPerfLog("initialDraw_g.clear");'+"\n"; - code += "plane" + plane + ".clear(true);\n"; + code += "p" + plane + ".clear(true);\n"; code += 'endPerfLog("initialDraw_g.clear");'+ "\n"; - code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "drawingTime += Date.now() - ct;\n"; code += "});\n"; } var previousPlane = plane + 1; if (previousPlane < planeNumbers.length){ - code += "promise = promise.then(()=>{\n"; - code += "var currentDrawTime=Date.now();\n"; + code += "p = p.then(()=>{\n"; + code += "var ct=Date.now();\n"; - code += 'print("Copying of plane ' + previousPlane + ' to display");'+"\n"; - //code += "g.drawImage(plane" + i + ".asImage());"; - code += "plane0.drawImage({width: plane" + previousPlane + ".getWidth(), height: plane" + previousPlane + ".getHeight(), bpp: plane" + previousPlane + ".getBPP(), buffer: plane" + previousPlane + ".buffer});\n"; + //code += 'print("Copying of plane ' + previousPlane + ' to display");'+"\n"; + //code += "g.drawImage(p" + i + ".asImage());"; + code += "p0.drawImage({width: p" + previousPlane + ".getWidth(), height: p" + previousPlane + ".getHeight(), bpp: p" + previousPlane + ".getBPP(), buffer: p" + previousPlane + ".buffer});\n"; - code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "drawingTime += Date.now() - ct;\n"; code += "});\n"; } @@ -653,18 +658,17 @@ //code for whole layer if (wrapInTimeouts && plane != 0){ - code += "promise = promise.then(()=>delay(0)).then(()=>{\n"; - code += "var currentDrawTime=Date.now();\n"; + code += "p = p.then(()=>delay(0)).then(()=>{\n"; } else { - code += "promise = promise.then(()=>{\n"; + code += "p = p.then(()=>{\n"; } - code += "var currentDrawTime=Date.now();\n"; + code += "var ct=Date.now();\n"; var checkForLayerChange = false; var checkcode = ""; if (!(properties.Redraw && properties.Redraw.Clear)){ - checkcode = 'layerchanged = firstDraw;' + "\n"; + checkcode = 'firstDraw'; for (var i = 0; i< layerElements.length; i++){ var layerElement = layerElements[i]; var referencedElement = elements[layerElements[i].index]; @@ -672,16 +676,15 @@ console.log("Check for change:", layerElement, referencedElement); if (layerElement.element.Value){ if (elementType == "MultiState" && layerElement.element.Value) { - checkcode += 'layerchanged |= isChangedMultistate(watchface.Collapsed[' + layerElement.index + '].value);' + "\n"; + checkcode += '| isChangedMultistate(wf.Collapsed[' + layerElement.index + '].value)'; } else { - checkcode += 'layerchanged |= isChangedNumber(watchface.Collapsed[' + layerElement.index + '].value);' + "\n"; + checkcode += '| isChangedNumber(wf.Collapsed[' + layerElement.index + '].value)'; } checkForLayerChange = true; } } } - code += checkcode; //code for elements for (var i = 0; i< layerElements.length; i++){ @@ -692,7 +695,7 @@ var condition = ""; if (checkcode.length > 0 && checkForLayerChange){ if (condition.length > 0) condition += " && "; - condition = 'layerchanged'; + condition = '(' + checkcode + ')'; } if (c.value.HideOn && c.value.HideOn.includes("Lock")){ @@ -705,21 +708,25 @@ condition += "firstDraw"; } - var planeName = "plane" + plane; + var planeName = "p" + plane; var colorsetting = ""; - if (c.value.ForegroundColor) colorsetting += planeName + ".setColor(\"" + c.value.ForegroundColor + "\");\n"; - else colorsetting += planeName + ".setColor(g.theme.fg);\n"; - if (c.value.BackgroundColor) colorsetting += planeName + ".setBgColor(\"" + c.value.BackgroundColor + "\");\n"; - else colorsetting += planeName + ".setBgColor(g.theme.bg);\n"; + if (c.value.ForegroundColor && lastSetColor != c.value.ForegroundColor){ + lastSetColor = c.value.ForegroundColor; + colorsetting += planeName + ".setColor(\"" + c.value.ForegroundColor + "\");\n"; + } + if (c.value.BackgroundColor && lastSetBgColor != c.value.BackgroundColor){ + lastSetBgColor = c.value.BackgroundColor; + colorsetting += planeName + ".setBgColor(\"" + c.value.BackgroundColor + "\");\n"; + } code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); code += "" + colorsetting; - code += "draw" + c.type + "(" + planeName + ", watchfaceResources, watchface.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; + code += "draw" + c.type + "(" + planeName + ", wr, wf.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; code += (condition.length > 0 ? "}\n" : ""); } - code += "drawingTime += Date.now() - currentDrawTime;\n"; + code += "drawingTime += Date.now() - ct;\n"; code += "});\n"; } console.log("Current plane is", plane); @@ -728,7 +735,7 @@ } - code += "return promise;})"; + code += "return p;})"; console.log("Code:", code); return code } From 850e76685f5249fa8afd2e4d0017f5970237d416 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 12:34:28 +0100 Subject: [PATCH 190/306] Render watchfaces using additional planes without drawing to p0 correctly --- apps/imageclock/custom.html | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 48967c5a0..2aafc0e8c 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -600,6 +600,7 @@ if (!planes[plane][name]) planes[plane][name] = []; planes[plane][name].push({index: i, element: c}); } + if (!planeNumbers.includes(0)) planeNumbers.push(0); planeNumbers.sort().reverse(); console.log("Found planes", planes, "with numbers", planeNumbers) From eb54751886b30da78812e53226df9d5589687cdd Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 12:52:40 +0100 Subject: [PATCH 191/306] Optionally add debug printing to generated code --- apps/imageclock/custom.html | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 2aafc0e8c..28cbe6c3e 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -21,8 +21,10 @@

Options:
- +
+ +

Select watchface folder:

@@ -56,6 +58,10 @@ return document.getElementById("useNative").checked; } + function addDebug(){ + return document.getElementById("debugprints").checked; + } + function convertAmazfitTime(time){ var result = {}; if (time.Hours){ @@ -628,7 +634,7 @@ code += "p = p.then(()=>{\n"; } code += "var ct=Date.now();\n" - //code += 'print("Clear for redraw of plane ' + p + '");'+"\n"; + if (addDebug()) code += 'print("Clear for redraw of plane ' + p + '");'+"\n"; code += 'startPerfLog("initialDraw_g.clear");'+"\n"; code += "p" + plane + ".clear(true);\n"; code += 'endPerfLog("initialDraw_g.clear");'+ "\n"; @@ -642,7 +648,7 @@ code += "p = p.then(()=>{\n"; code += "var ct=Date.now();\n"; - //code += 'print("Copying of plane ' + previousPlane + ' to display");'+"\n"; + if (addDebug()) code += 'print("Copying of plane ' + previousPlane + ' to display");'+"\n"; //code += "g.drawImage(p" + i + ".asImage());"; code += "p0.drawImage({width: p" + previousPlane + ".getWidth(), height: p" + previousPlane + ".getHeight(), bpp: p" + previousPlane + ".getBPP(), buffer: p" + previousPlane + ".buffer});\n"; @@ -664,6 +670,7 @@ code += "p = p.then(()=>{\n"; } code += "var ct=Date.now();\n"; + if (addDebug()) code += 'print("Starting layer ' + layername + '");' + "\n"; var checkForLayerChange = false; var checkcode = ""; @@ -720,8 +727,10 @@ colorsetting += planeName + ".setBgColor(\"" + c.value.BackgroundColor + "\");\n"; } + if (addDebug()) code += 'print("Element condition is ' + condition + '");' + "\n"; code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); code += "" + colorsetting; + if (addDebug()) code += 'print("Drawing element ' + elementIndex + ' with type ' + c.type + ' on plane ' + planeName + '");' + "\n"; code += "draw" + c.type + "(" + planeName + ", wr, wf.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; code += (condition.length > 0 ? "}\n" : ""); From c047cfda6d85847814ca62c818d4609dfd14bc61 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 14:02:18 +0100 Subject: [PATCH 192/306] Allow hiding/showing widgets on drag up/down --- apps/imageclock/ChangeLog | 1 + apps/imageclock/app.js | 54 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/apps/imageclock/ChangeLog b/apps/imageclock/ChangeLog index d76ddca6b..5b99b5848 100644 --- a/apps/imageclock/ChangeLog +++ b/apps/imageclock/ChangeLog @@ -6,3 +6,4 @@ 0.05: Add precompilation to js for performance 0.06: Watchfaces can be refreshed partly 0.07: Allow wrapping drawing in timeouts to get faster reactions + Show/Hide widgets with swipe up or down diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index aaad34da8..a3551167f 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -577,6 +577,12 @@ function initialDraw(resources, face){ promise.then(()=>{ var currentDrawingTime = Date.now(); + if (showWidgets){ + //print("Draw widgets"); + Bangle.drawWidgets(); + g.setColor(g.theme.fg); + g.drawLine(0,24,g.getWidth(),24); + } lastDrawTime = Date.now() - start; drawingTime += Date.now() - currentDrawingTime; //print(new Date().toISOString(), "Drawing done in", lastDrawTime.toFixed(0), "active:", drawingTime.toFixed(0)); @@ -695,7 +701,42 @@ function handleLock(isLocked, forceRedraw){ } } + +var showWidgets = false; +var showWidgetsChanged = false; +var currentDragDistance = 0; + Bangle.setUI("clock"); +Bangle.on('drag', (e)=>{ + currentDragDistance += e.dy; + if (Math.abs(currentDragDistance) < 10) return; + dragDown = currentDragDistance > 0; + currentDragDistance = 0; + if (!showWidgets && dragDown){ + //print("Enable widgets"); + if (WIDGETS && typeof WIDGETS === "object") { + for (let w in WIDGETS) { + var wd = WIDGETS[w]; + wd.draw = originalWidgetDraw[w]; + wd.area = originalWidgetArea[w]; + } + } + showWidgetsChanged = true; + } + if (showWidgets && !dragDown){ + //print("Disable widgets"); + clearWidgetsDraw(); + firstDraw = true; + showWidgetsChanged = true; + } + if (showWidgetsChanged){ + showWidgetsChanged = false; + //print("Draw after widget change"); + showWidgets = dragDown; + initialDraw(); + } + } +); if (!events || events.includes("pressure")){ Bangle.on('pressure', handlePressure); @@ -716,9 +757,18 @@ if (!events || events.includes("charging")) { Bangle.on('charging', handleCharging); } +var originalWidgetDraw = {}; +var originalWidgetArea = {}; + function clearWidgetsDraw(){ + //print("Clear widget draw calls"); if (WIDGETS && typeof WIDGETS === "object") { - for (let wd of WIDGETS) { + originalWidgetDraw = {}; + originalWidgetArea = {}; + for (let w in WIDGETS) { + var wd = WIDGETS[w]; + originalWidgetDraw[w] = wd.draw; + originalWidgetArea[w] = wd.area; wd.draw = () => {}; wd.area = ""; } @@ -728,6 +778,6 @@ function clearWidgetsDraw(){ setTimeout(()=>{ Bangle.loadWidgets(); clearWidgetsDraw(); -}, 100); +}, 0); handleLock(Bangle.isLocked()); From 09dabad7609c94fad106175962b39a5d87fa67f7 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 17:36:43 +0100 Subject: [PATCH 193/306] Refactoring and removing old code --- apps/imageclock/app.js | 134 ++++++++++++------------------------ apps/imageclock/custom.html | 8 +-- 2 files changed, 45 insertions(+), 97 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index a3551167f..4a027fa9e 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -102,7 +102,7 @@ function isChangedMultistate(element){ return element.lastDrawnValue != getMultistate(element.Value); } -function drawNumber(graphics, resources, element, offset){ +function drawNumber(graphics, resources, element){ startPerfLog("drawNumber"); var number = getValue(element.Value); var spacing = element.Spacing ? element.Spacing : 0; @@ -113,12 +113,9 @@ function drawNumber(graphics, resources, element, offset){ var numberOfDigits = element.Digits; - //print("drawNumber: ", number, element, offset); + //print("drawNumber: ", number, element); if (number) number = number.toFixed(0); - //var numberOffset = updateOffset(element, offset); - var numberOffset = offset; - var isNegative; var digits; if (number == undefined){ @@ -189,9 +186,9 @@ function drawNumber(graphics, resources, element, offset){ if (isNegative && minusImage){ //print("Draw minus at", currentX); if (imageIndexMinus){ - drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "" + (0 + imageIndexMinus)); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, element, "" + (0 + imageIndexMinus)); } else { - drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "minus"); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, element, "minus"); } currentX += minusImage.width + spacing; } @@ -204,26 +201,21 @@ function drawNumber(graphics, resources, element, offset){ currentDigit = 0; } //print("Digit " + currentDigit + " " + currentX); - drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, currentDigit + imageIndex); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, element, currentDigit + imageIndex); currentX += firstImage.width + spacing; } if (imageIndexUnit){ //print("Draw unit at", currentX); - drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, "" + (0 + imageIndexUnit)); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, element, "" + (0 + imageIndexUnit)); } else if (element.Unit){ - drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, numberOffset, element, getMultistate(element.Unit,"unknown")); + drawElement(graphics, resources, {X:currentX,Y:firstDigitY}, element, getMultistate(element.Unit,"unknown")); } element.lastDrawnValue = number; endPerfLog("drawNumber"); } -function setColors(graphics, properties){ - if (properties.fg) graphics.setColor(properties.fg); - if (properties.bg) graphics.setBgColor(properties.bg); -} - -function drawElement(graphics, resources, pos, offset, element, lastElem){ +function drawElement(graphics, resources, pos, element, lastElem){ startPerfLog("drawElement"); var cacheKey = "_"+(lastElem?lastElem:"nole"); if (!element.cachedImage) element.cachedImage={}; @@ -247,24 +239,21 @@ function drawElement(graphics, resources, pos, offset, element, lastElem){ //print("cache ",typeof element.cachedImage[cacheKey], element.ImagePath, lastElem); if(element.cachedImage[cacheKey]){ - //print("drawElement ",pos, offset, path, lastElem); - //print("drawElement offset", offset, pos.X, pos.Y); - //print("resource ", resource,pos, offset, path, lastElem); - var imageOffset = updateColors(pos, offset); - setColors(graphics, imageOffset); - //print("drawImage from drawElement", image, pos, offset); + //print("drawElement ",pos, path, lastElem); + //print("resource ", resource,pos, path, lastElem); + //print("drawImage from drawElement", image, pos); var options={}; - if (pos.RotationValue){ - options.rotate = radians(pos); + if (element.RotationValue){ + options.rotate = radians(element); } - if (pos.Scale){ - options.scale = pos.ScaleValue; + if (element.Scale){ + options.scale = element.ScaleValue; } //print("options", options); //print("Memory before drawing", process.memory(false)); startPerfLog("drawElement_g.drawImage"); try{ - graphics.drawImage(element.cachedImage[cacheKey] ,(imageOffset.X ? imageOffset.X : 0) + (pos.X ? pos.X : 0),(imageOffset.Y ? imageOffset.Y :0) + (pos.Y ? pos.Y : 0), options);} catch (e) { + graphics.drawImage(element.cachedImage[cacheKey] ,(pos.X ? pos.X : 0), (pos.Y ? pos.Y : 0), options);} catch (e) { //print("Error", e, element.cachedImage[cacheKey]); } endPerfLog("drawElement_g.drawImage"); @@ -289,53 +278,46 @@ function getMultistate(name, defaultValue){ return undefined; } -function drawScale(graphics, resources, scale, offset){ +function drawScale(graphics, resources, scale){ startPerfLog("drawScale"); - //print("drawScale", scale, offset); + //print("drawScale", scale); var segments = scale.Segments; var imageIndex = scale.ImageIndex !== undefined ? scale.ImageIndex : 0; var value = scaledown(scale.Value, scale.MinValue, scale.MaxValue); //print("Value is ", value, "(", maxValue, ",", minValue, ")"); - - var scaleOffset = updateOffset(scale, offset); - + var segmentsToDraw = Math.ceil(value * segments.length); for (var i = 0; i < segmentsToDraw; i++){ - drawElement(graphics, resources, segments[i], scaleOffset, scale, imageIndex + i); + drawElement(graphics, resources, segments[i], scale, imageIndex + i); } scale.lastDrawnValue = segmentsToDraw; endPerfLog("drawScale"); } -function drawDigit(graphics, resources, element, offset, digit){ - drawElement(graphics, resources, element, offset, element, digit); -} - -function drawImage(graphics, resources, image, offset, name){ +function drawImage(graphics, resources, image, name){ startPerfLog("drawImage"); - var imageOffset = updateColors(image, offset); - //print("drawImage", image, offset, name); + //print("drawImage", image.X, image.Y, name); if (image.Value && image.Steps){ var steps = Math.floor(scaledown(image.Value, image.MinValue, image.MaxValue) * (image.Steps - 1)); //print("Step", steps, "of", image.Steps); - drawElement(graphics, resources, image, imageOffset, image, "" + steps); + drawElement(graphics, resources, image, image, "" + steps); } else if (image.ImageIndex !== undefined) { - drawElement(graphics, resources, image, imageOffset, image, image.ImageIndex); + drawElement(graphics, resources, image, image, image.ImageIndex); } else { - drawElement(graphics, resources, image, imageOffset, image, name ? "" + name: undefined); + drawElement(graphics, resources, image, image, name ? "" + name: undefined); } endPerfLog("drawImage"); } -function drawCodedImage(graphics, resources, image, offset){ +function drawCodedImage(graphics, resources, image){ startPerfLog("drawCodedImage"); var code = getValue(image.Value); - //print("drawCodedImage", image, offset, code); + //print("drawCodedImage", image, code); if (image.ImagePath) { var factor = 1; @@ -350,10 +332,10 @@ function drawCodedImage(graphics, resources, image, offset){ } if (code / factor > 1){ //print("found match"); - drawImage(graphics, resources, image, offset, currentCode); + drawImage(graphics, resources, image, currentCode); } else { //print("fallback"); - drawImage(graphics, resources, image, offset, "fallback"); + drawImage(graphics, resources, image, "fallback"); } } image.lastDrawnValue = code; @@ -390,27 +372,6 @@ function getWeatherTemperature(){ return result; } -function updateOffset(element, offset){ - startPerfLog("updateOffset"); - var newOffset = { X: offset.X ? offset.X : 0, Y: offset.Y ? offset.Y : 0 }; - if (element && element.X) newOffset.X += element.X; - if (element && element.Y) newOffset.Y += element.Y; - newOffset = updateColors(element, newOffset); - //print("Updated offset from ", offset, "to", newOffset); - endPerfLog("updateOffset"); - return newOffset; -} - -function updateColors(element, offset){ - var newOffset = { X: offset.X ? offset.X : 0, Y: offset.Y ? offset.Y : 0 }; - if (element){ - newOffset.fg = element.ForegroundColor ? element.ForegroundColor: offset.fg; - newOffset.bg = element.BackgroundColor ? element.BackgroundColor: offset.bg; - } - //print("Updated offset from ", offset, "to", newOffset); - return newOffset; -} - function scaledown(value, min, max){ //print("scaledown", value, min, max); var scaled = E.clip(getValue(value),getValue(min,0),getValue(max,1)); @@ -427,20 +388,17 @@ function radians(rotation){ return value; } -function drawPoly(graphics, resources, element, offset){ +function drawPoly(graphics, resources, element){ startPerfLog("drawPoly"); var vertices = []; - var primitiveOffset = offset.clone(); - if (element.X) primitiveOffset.X += element.X; - if (element.Y) primitiveOffset.Y += element.Y; startPerfLog("drawPoly_transform"); for (var c of element.Vertices){ vertices.push(c.X); vertices.push(c.Y); } - var transform = { x: primitiveOffset.X, - y: primitiveOffset.Y + var transform = { x: element.X ? element.X : 0, + y: element.Y ? element.Y : 0 }; if (element.RotationValue){ transform.rotate = radians(element); @@ -461,26 +419,23 @@ function drawPoly(graphics, resources, element, offset){ startPerfLog("drawPoly_g.drawPoly"); graphics.drawPoly(vertices,true); endPerfLog("drawPoly_g.drawPoly"); - + endPerfLog("drawPoly"); } -function drawRect(graphics, resources, element, offset){ +function drawRect(graphics, resources, element){ startPerfLog("drawRect"); var vertices = []; - var primitiveOffset = offset.clone(); - if (element.X) primitiveOffset.X += element.X; - if (element.Y) primitiveOffset.Y += element.Y; if (element.ForegroundColor) graphics.setColor(element.ForegroundColor); if (element.Filled){ startPerfLog("drawRect_g.fillRect"); - graphics.fillRect(primitiveOffset.X, primitiveOffset.Y, primitiveOffset.X + element.Width, primitiveOffset.Y + element.Height); + graphics.fillRect(element.X, element.Y, element.X + element.Width, element.Y + element.Height); endPerfLog("drawRect_g.fillRect"); } else { startPerfLog("drawRect_g.fillRect"); - graphics.drawRect(primitiveOffset.X, primitiveOffset.Y, primitiveOffset.X + element.Width, primitiveOffset.Y + element.Height); + graphics.drawRect(element.X, element.Y, element.X + element.Width, element.Y + element.Height); endPerfLog("drawRect_g.fillRect"); } endPerfLog("drawRect"); @@ -537,12 +492,12 @@ multistates.WeatherTemperatureNegative = () => { return getWeatherTemperature(). multistates.WeatherTemperatureUnit = () => { return getWeatherTemperature().unit; }; multistates.StepsGoal = () => { return (numbers.Steps() >= stepsgoal) ? "on": "off"; }; -function drawMultiState(graphics, resources, element, offset){ +function drawMultiState(graphics, resources, element){ startPerfLog("drawMultiState"); - //print("drawMultiState", element, offset); + //print("drawMultiState", element); var value = multistates[element.Value](); - //print("drawImage from drawMultiState", element, offset, value); - drawImage(graphics, resources, element, offset, value); + //print("drawImage from drawMultiState", element, value); + drawImage(graphics, resources, element, value); element.lastDrawnValue = value; endPerfLog("drawMultiState"); } @@ -550,9 +505,6 @@ function drawMultiState(graphics, resources, element, offset){ var pulse,alt,temp,press; -var zeroOffset={X:0,Y:0}; - - var requestedDraws = 0; var isDrawing = false; @@ -599,9 +551,9 @@ function initialDraw(resources, face){ requestedDraws = 0; setTimeout(()=>{initialDraw(resources, face);}, 10); } - } else { - print("queued draw"); - } + } //else { + //print("queued draw"); + //} } function handleHrm(e){ diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 28cbe6c3e..0fdbe14fd 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -595,7 +595,6 @@ var c = elements[i].value; console.log("Check element", c); var name = c.Layer; - if (c.type == "Standalone") name = "standalone" + counter++; var plane = wrapInTimeouts ? 1 : 0; if (typeof c.Plane == "number"){ plane = c.Plane; @@ -624,9 +623,6 @@ if (plane != 0) code += "if (!p" + plane + ") p" + plane + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),16,{msb:true});\n"; - code += "p" + plane + ".setBgColor(g.theme.bg);\n"; - code += "p" + plane + ".setColor(g.theme.fg);\n"; - if (properties.Redraw && properties.Redraw.Clear){ if (wrapInTimeouts && plane != 0){ code += "p = p.then(()=>delay(0)).then(()=>{\n"; @@ -728,10 +724,10 @@ } if (addDebug()) code += 'print("Element condition is ' + condition + '");' + "\n"; - code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); code += "" + colorsetting; + code += (condition.length > 0 ? "if (" + condition + "){\n" : ""); if (addDebug()) code += 'print("Drawing element ' + elementIndex + ' with type ' + c.type + ' on plane ' + planeName + '");' + "\n"; - code += "draw" + c.type + "(" + planeName + ", wr, wf.Collapsed[" + elementIndex + "].value, {X:0,Y:0});\n"; + code += "draw" + c.type + "(" + planeName + ", wr, wf.Collapsed[" + elementIndex + "].value);\n"; code += (condition.length > 0 ? "}\n" : ""); } From 662b4c1cdaff18b59491b1c26a0df902fb508230 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 20:27:08 +0100 Subject: [PATCH 194/306] Update README --- apps/imageclock/README.md | 40 ++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/apps/imageclock/README.md b/apps/imageclock/README.md index 7e9b0aedf..c05c09a16 100644 --- a/apps/imageclock/README.md +++ b/apps/imageclock/README.md @@ -1,17 +1,23 @@ # Imageclock This app is a highly customizable watchface. To use it, you need to select -a watchface from another source. +a watchface from another source. There is a native format as described here. You can also load decompiled watchfaces for Amazfit BIP fitness trackers. # Usage +## Install a watchface + Choose the folder which contains the watchface, then clock "Upload to watch". +## Usage on the watch + +Slide up/down to hide/show widgets. +Press button to start launcher. + # Design watch faces ## Folder structure - * watchfacename * resources/ * face.json @@ -49,8 +55,9 @@ Properties: { "Redraw": { "Unlocked": 5000, "Locked": 60000, - "Default": "Always" - "Events": ["HRM"] + "Default": "Always", + "Events": ["HRM"], + "Clear": true }, "Events": ["lock","HRM"] } @@ -129,7 +136,11 @@ Mandatory: "Value": "Temperature", "MinValue": "-20", "MaxValue": "50", - "ImagePath": [ "path", "to", "scale", "folder" ] + "ImagePath": [ "path", "to", "scale", "folder" ], + "Segments": [ + { "X": 5, "Y": 5}, + { "X": 10, "Y": 10 } + ] } ``` The `Value` field is one of the implemented numerical values. @@ -179,6 +190,21 @@ Mandatory: ``` The `RotationValue` field is one of the implemented numeric values. +##### Rect + +``` +"Rect":{ + "X": 10, + "Y": 20, + "Width": 30, + "Height": 40, + "Filled": true, + "ForegroundColor": "#00f", + "BackgroundColor": "#008" +} +``` +The `RotationValue` field is one of the implemented numeric values. + ##### Nesting ``` "Container": { @@ -263,11 +289,7 @@ stored on the watch * Handle events and redraws better * Performance improvements * Mark elements with how often they need to be redrawn - * Drawing to buffers and compositing later -* Allow watchfaces to declare if the want to show widgets -* Temporarily show widgets with slide up/down * Finalize the file format -* Settings * Localization # Creator From a7959390ba524a012e2a6700cb4d3bad85a0bfc1 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 20:27:20 +0100 Subject: [PATCH 195/306] Adds settings --- apps/imageclock/app.js | 9 ++++----- apps/imageclock/metadata.json | 1 + apps/imageclock/settings.js | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 apps/imageclock/settings.js diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 4a027fa9e..72f12943a 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -1,6 +1,7 @@ var watchface = require("Storage").readJSON("imageclock.face.json"); var watchfaceResources = require("Storage").readJSON("imageclock.resources.json"); var precompiledJs = eval(require("Storage").read("imageclock.draw.js")); +var settings = require('Storage').readJSON("imageclock.json", true) || {}; var performanceLog = {}; @@ -12,7 +13,7 @@ var resetPerfLog = () => {performanceLog = {};}; var p0 = g; var p1; -if (false){ +if (settings.perflog){ startPerfLog = function(name){ var time = getTime(); if (!performanceLog.start) performanceLog.start={}; @@ -467,7 +468,7 @@ numbers.MonthTens = () => { return Math.floor((new Date().getMonth() + 1)/10); } numbers.MonthOnes = () => { return Math.floor((new Date().getMonth() + 1)%10); }; numbers.Pulse = () => { return pulse; }; numbers.Steps = () => { return Bangle.getHealthStatus ? Bangle.getHealthStatus("day").steps : undefined; }; -numbers.StepsGoal = () => { return stepsgoal; }; +numbers.StepsGoal = () => { return settings.stepsgoal || 10000; }; numbers.Temperature = () => { return temp; }; numbers.Pressure = () => { return press; }; numbers.Altitude = () => { return alt; }; @@ -490,7 +491,7 @@ multistates.Compass = () => { return Bangle.isCompassOn() ? "on" : "off"; }; multistates.GPS = () => { return Bangle.isGPSOn() ? "on" : "off"; }; multistates.WeatherTemperatureNegative = () => { return getWeatherTemperature().value ? getWeatherTemperature().value : 0 < 0; }; multistates.WeatherTemperatureUnit = () => { return getWeatherTemperature().unit; }; -multistates.StepsGoal = () => { return (numbers.Steps() >= stepsgoal) ? "on": "off"; }; +multistates.StepsGoal = () => { return (numbers.Steps() >= (settings.stepsgoal || 10000)) ? "on": "off"; }; function drawMultiState(graphics, resources, element){ startPerfLog("drawMultiState"); @@ -615,8 +616,6 @@ var redrawEvents = getByPath(watchface, ["Properties","Redraw","Events"]); var clearOnRedraw = getByPath(watchface, ["Properties","Redraw","Clear"]); var events = getByPath(watchface, ["Properties","Events"]); -var stepsgoal = 2000; - //print("events", events); //print("redrawEvents", redrawEvents); diff --git a/apps/imageclock/metadata.json b/apps/imageclock/metadata.json index cc227e977..a2594653e 100644 --- a/apps/imageclock/metadata.json +++ b/apps/imageclock/metadata.json @@ -13,6 +13,7 @@ "readme": "README.md", "storage": [ {"name":"imageclock.app.js","url":"app.js"}, + {"name":"imageclock.settings.js","url":"settings.js"}, {"name":"imageclock.img","url":"app-icon.js","evaluate":true} ] } diff --git a/apps/imageclock/settings.js b/apps/imageclock/settings.js new file mode 100644 index 000000000..a86901b9e --- /dev/null +++ b/apps/imageclock/settings.js @@ -0,0 +1,35 @@ +(function(back) { + var FILE = "imageclock.json"; + + var settings = Object.assign({ + stepsgoal: 10000, + perflog: false + }, require('Storage').readJSON(FILE, true) || {}); + + function writeSettings() { + require('Storage').writeJSON(FILE, settings); + } + + E.showMenu({ + '': { 'title': 'Imageclock' }, + '< Back': back, + 'Steps goal': { + value: settings.stepsgoal, + min: 0, + step: 500, + max: 50000, + onchange: v => { + settings.stepsgoal = v; + writeSettings(); + } + }, + 'Performance log': { + value: !!settings.perflog, + format: v => settings.perflog ? "On" : "Off", + onchange: v => { + settings.perflog = v; + writeSettings(); + } + } + }); +}) From be4521d0f537557ea3c99bf9383af5796ef35d30 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 13 Mar 2022 21:07:04 +0100 Subject: [PATCH 196/306] Update demo watchfaces --- apps/imageclock/digitalretro.zip | Bin 60419 -> 60419 bytes apps/imageclock/simpleanalog.zip | Bin 8283 -> 8304 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/imageclock/digitalretro.zip b/apps/imageclock/digitalretro.zip index 14a216b4e25eee6077c36b50da6e0fb62eb4847f..96ab90b6d8e2d738fae05b3ffd44865efc41526e 100644 GIT binary patch delta 1404 zcmZ{ke@IhN6vwyTNR6ENqng`%Q>T`*t@$IJZO$x-m5D18P1A;%idv1VH2Yy{BHAzW zls`gB3iOZYhrP_OvQcPIArw>w6;VcHU`0U%5&7=9doH2B?)QAo_ndd$z4yJkQKoK` z@wBEe5}mk?O#TPq>Z zYL>&JggLN47V=MArkV>~%9&tyxX17`SNr+ry?;lGS$EhazE z%R#_n@`Nd@g)NF~A@xRKBwbkLS;~q?{3gHzg#i^*U!!XhjIu?<#}B+wwUpM#;roye z45@U)_fTzusK87i*Bxjk{6nB~BssJNB?{iT!FhtWId}!-@!+M-6?miC>2D&;xnZ>- zYU*KOI3$MDI&_<0W9WUV^Wad}DHrYqO$&Nyd=wrotatJG!-Mb^8h5}?&32bM188*f zLAJ;)_&+Y{nU)7W<{Ua7u`pEWh!h4U4@04s5_5G-3AF0hP`wF~Bdt^y!Jo)=R2M*h zRGQ!^j?NOeXPgJ*>{-@_9%9Cjr{0ZqA!JWrxp3+V%n&=91|uSvM!N3q$eO|KegP zyf#Z`3s2-PyVaa7OxyEZ3gfF(K6?H1=W|RVJA-e^g(P)}Nq0?I05`V$4hgvKSUrGZG{qNF6RD?>98PWRmP<^t|1W4HF4x9vJUUX+Gj^zqUbv|4+kD;PDR4DoJHXP rB|{Hd4!>G;%w#>In9*A}39a?I#uLN;` zf%!iMT>U2x=9o9C9j(|Z zWQD%2xWh=?whW*ci+94*bmB!Mja%QMFl_rm1mvc;^Oec3k>;j^W5K1=Whi>mn=log z@eYM&)*Te%*<$p3&pn95pr1uiny)1(m@ZfHPYYTJCBeC(GiWjG8@7T^CFGmum8HLs z`tMndJyQ*RNbJh)SqkVnpB?y$WaLmj3e}Mz6w~FDq#Wx&GIN}6(^N$*lCrAzD0bGY z!67}fR`dO}CkVZwt)r7CiuvUF1Onl515b`3t??+0m~B;aKl5a~vTe|poBO50)S!x+`=>(8h!pCCj(ptEUDY2`g7n=0 diff --git a/apps/imageclock/simpleanalog.zip b/apps/imageclock/simpleanalog.zip index 147c67277f550e327ff35de30d0586fc2a4c51de..2db25fe85085fd298e98729788a2f3176f676b85 100644 GIT binary patch delta 695 zcmccZ@WG)zz?+#xgn@y9gCQvn$*Fo-#rb)mA)E}% z*H7psJqF^^3T_5QmJ93*3}9kyNOblg1BqJkKm4lITPIjOJF?wZjZftCvm=UjDY>hT z&hW_D-uY#}{!7!92lEVGI2WHQw|sv3>7Betv4VO_>jb&h9~^AgBAu9O4%)fLiz+NI z_nNW&@ID4vj>P3EYOHsfrT%^C%v9-K*KmgAb(fS-&yEBpmp%*U$#eGlOs+WAV3DgM{6?N-*tdn(uV{+|*-T*ePeXD{#Itonr^QUCO*8@FOJ6Ps_&uHG- zxTK?dQSPd*^@}HMJ147oNc~02PlK<;ntNtQMs&IEk6&|d>s6aOuisAhN|Rfw<7>>Z zO0uKFu={7=+6<%27b!2M$x4bX)JQ35^qAABc4 zw4a|0-WXJP+UoS*t#kc$tvr`|$?$?f`umih$?i96 zCms8|*e>erv>$a0plIg;M*HOFj2g@ht8_ODF-_uRHeRkfc{#TSnEu2a0+#UPiDLvY zCg(FLZ$8Ug0pn;ljLLT6J@P#0nNZ)MPZ7O;!n%ZYFEXS}}f^oF?nX z=s$U@Yye}&WHvc}rZe1=1?7b&XURD+iSvM&2j%=2%O(rRr!Y!SE|rgE{4n{lyeFgH OWLX6ZHbz;Xix~hP6DgDc delta 656 zcmez1aND6iz?+#xgn@y9gJFAHT8M|(M4LH`3=Gd%85lSjWEj#ClT-Dwiu3bALpT|j zxo)Z?2?KFy1vdjD%LR4@1~9QUBsTkyfk>_RAAZ&9trM)Cb>+|Yk^?^U1koHb{c?D2ZW;&b;5{gY}KoS&;GGTJ?wu-KoK z<3+2G*qZ_k2Y#m;t2;AU`4=?auT7YBVxhKz^}(n>i@x6%&#BY9{&_|Is*_2%SEoH&t{c1LQfC*Z_fN<98K+YMH?0tjJ})%o zNROU?=hL2;1F!D~xZGfyvDNs?Rh{p@(mHp}STW~OLvCL6+N{m5OoMNx8Tty}@kzh? zk>l09f90%P(r<6Fe<;8CJ$22rFa8z@COOOIA5pAZaA}%Nh1-iHOJ#Qh6XpJ7r%#tP z&qsNmbJ{S|c-dK}AJ3<5kiWD-G1YpNz^~p_t$Wro{S04Ia;MO*s6KZ6^!!!jGr#JX z=-kxSuHLsje#3{D)z!K4V_xmrxA%5#W_fn*+%5m?f5~2b+woj_@)t$}=J!`sHmfsD z;$%L-sycZOw+FNHf0fB{5>k^F%Lz?3=FtEvh~tT41T*&Y&Ssq4$fUEmjejZ!RH+N| z?_{~nsS+z#_)t^IWNBF?P|}#}AZx{Ve{!{~AEVXeQ?db!#gnDw{28}T&Xx;fWSV?P lE{QR5vZ{OvBirOI`B=u=lV8YtGD=Q1Qm|lqBLhr<3;+W6894v| From 6f8a7b0534d727533521e4f3645822455e656a7f Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 14 Mar 2022 22:29:26 +0100 Subject: [PATCH 197/306] Add drawing of circles and refactor poly --- apps/imageclock/app.js | 28 +++++++++++++++++++--------- apps/imageclock/custom.html | 2 +- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 72f12943a..0cd7722ed 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -408,19 +408,16 @@ function drawPoly(graphics, resources, element){ endPerfLog("drawPoly_transform"); - if (element.ForegroundColor) graphics.setColor(element.ForegroundColor); - if (element.Filled){ startPerfLog("drawPoly_g.fillPoly"); graphics.fillPoly(vertices,true); endPerfLog("drawPoly_g.fillPoly"); + } else { + startPerfLog("drawPoly_g.drawPoly"); + graphics.drawPoly(vertices,true); + endPerfLog("drawPoly_g.drawPoly"); } - if (element.BackgroundColor) graphics.setColor(element.BackgroundColor); - startPerfLog("drawPoly_g.drawPoly"); - graphics.drawPoly(vertices,true); - endPerfLog("drawPoly_g.drawPoly"); - endPerfLog("drawPoly"); } @@ -428,8 +425,6 @@ function drawRect(graphics, resources, element){ startPerfLog("drawRect"); var vertices = []; - if (element.ForegroundColor) graphics.setColor(element.ForegroundColor); - if (element.Filled){ startPerfLog("drawRect_g.fillRect"); graphics.fillRect(element.X, element.Y, element.X + element.Width, element.Y + element.Height); @@ -442,6 +437,21 @@ function drawRect(graphics, resources, element){ endPerfLog("drawRect"); } +function drawCircle(graphics, resources, element){ + startPerfLog("drawCircle"); + + if (element.Filled){ + startPerfLog("drawCircle_g.fillCircle"); + graphics.fillCircle(element.X, element.Y, element.Radius); + endPerfLog("drawCircle_g.fillCircle"); + } else { + startPerfLog("drawCircle_g.drawCircle"); + graphics.drawCircle(element.X, element.Y, element.Radius); + endPerfLog("drawCircle_g.drawCircle"); + } + endPerfLog("drawCircle"); +} + var numbers = {}; numbers.Hour = () => { return new Date().getHours(); }; numbers.HourTens = () => { return Math.floor(new Date().getHours()/10); }; diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 0fdbe14fd..7872a0b1d 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -570,7 +570,7 @@ if (typeof element.Plane == "number") next.Plane = element.Plane; next.Layer = element.Layer ? (element.Layer) : "" + c; - if (["MultiState","Image","CodedImage","Number","Poly","Rect","Scale"].includes(c)){ + if (["MultiState","Image","CodedImage","Number","Circle","Poly","Rect","Scale"].includes(c)){ result.push({type:c, value: next}); } else { result = result.concat(collapseTree(next)); From ebce52ea13c2713f7dbe538b584bd0f3fa858bc6 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 14 Mar 2022 22:30:30 +0100 Subject: [PATCH 198/306] Use a 4 bit buffer --- apps/imageclock/app.js | 30 ++++++++++++++++++++++++++++++ apps/imageclock/custom.html | 14 ++++++++++---- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/apps/imageclock/app.js b/apps/imageclock/app.js index 0cd7722ed..7b933b710 100644 --- a/apps/imageclock/app.js +++ b/apps/imageclock/app.js @@ -10,6 +10,36 @@ var endPerfLog = () => {}; var printPerfLog = () => print("Deactivated"); var resetPerfLog = () => {performanceLog = {};}; +var colormap={ +"#000":0, +"#00f":1, +"#0f0":2, +"#0ff":3, +"#f00":4, +"#f0f":5, +"#ff0":6, +"#fff":7 +}; + +var palette = new Uint16Array([ +0x0000, //black #000 +0x001f, //blue #00f +0x07e0, //green #0f0 +0x07ff, //cyan #0ff +0xf800, //red #f00 +0xf81f, //magenta #f0f +0xffe0, //yellow #ff0 +0xffff, //white #fff +0xffff, //white +0xffff, //white +0xffff, //white +0xffff, //white +0xffff, //white +0xffff, //white +0xffff, //white +0xffff, //white +]) + var p0 = g; var p1; diff --git a/apps/imageclock/custom.html b/apps/imageclock/custom.html index 7872a0b1d..af7a1835f 100644 --- a/apps/imageclock/custom.html +++ b/apps/imageclock/custom.html @@ -621,7 +621,7 @@ var lastSetColor; var lastSetBgColor; - if (plane != 0) code += "if (!p" + plane + ") p" + plane + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),16,{msb:true});\n"; + if (plane != 0) code += "if (!p" + plane + ") p" + plane + " = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),4,{msb:true});\n"; if (properties.Redraw && properties.Redraw.Clear){ if (wrapInTimeouts && plane != 0){ @@ -646,7 +646,7 @@ if (addDebug()) code += 'print("Copying of plane ' + previousPlane + ' to display");'+"\n"; //code += "g.drawImage(p" + i + ".asImage());"; - code += "p0.drawImage({width: p" + previousPlane + ".getWidth(), height: p" + previousPlane + ".getHeight(), bpp: p" + previousPlane + ".getBPP(), buffer: p" + previousPlane + ".buffer});\n"; + code += "p0.drawImage({width: p" + previousPlane + ".getWidth(), height: p" + previousPlane + ".getHeight(), bpp: p" + previousPlane + ".getBPP(), buffer: p" + previousPlane + ".buffer, palette: palette});\n"; code += "drawingTime += Date.now() - ct;\n"; @@ -716,11 +716,17 @@ var colorsetting = ""; if (c.value.ForegroundColor && lastSetColor != c.value.ForegroundColor){ lastSetColor = c.value.ForegroundColor; - colorsetting += planeName + ".setColor(\"" + c.value.ForegroundColor + "\");\n"; + if (plane > 0) + colorsetting += planeName + ".setColor(colormap[\"" + c.value.ForegroundColor + "\"]);\n"; + else + colorsetting += planeName + ".setColor(\"" + c.value.ForegroundColor + "\");\n"; } if (c.value.BackgroundColor && lastSetBgColor != c.value.BackgroundColor){ lastSetBgColor = c.value.BackgroundColor; - colorsetting += planeName + ".setBgColor(\"" + c.value.BackgroundColor + "\");\n"; + if (plane > 0) + colorsetting += planeName + ".setBgColor(colormap[\"" + c.value.BackgroundColor + "\"]);\n"; + else + colorsetting += planeName + ".setBgColor(\"" + c.value.BackgroundColor + "\");\n"; } if (addDebug()) code += 'print("Element condition is ' + condition + '");' + "\n"; From 5f0025fe766ea257024332e1dcaa6528f3417822 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Mon, 14 Mar 2022 22:51:15 +0100 Subject: [PATCH 199/306] Update demo watchface --- apps/imageclock/simpleanalog.zip | Bin 8304 -> 8322 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/imageclock/simpleanalog.zip b/apps/imageclock/simpleanalog.zip index 2db25fe85085fd298e98729788a2f3176f676b85..1301be0553c8eb2f21f600ac37e1803c0c25a2f3 100644 GIT binary patch delta 717 zcmez1(BxPj;LXe;!oa}5!N9ONFJy0c%#p*43=ExY3=EtMG7M>n$*Fo-#rb)mA)E}% z`J42U%7M7Ff}4Sn*l}!HalmHlm5IZ z7o^jbBAjM4${pLWTUk!)hmiD-yXGHUMCU3^?MyQ@O>sy$=F+lufx~vy-Sd}yXmZ`I z5^-*+N9BsluaXZJgoKK^IXMZMiukOsdtnpYrnPTf(C0vrw?D3boxZAlUIl~o2RpT5 z1GY)ZcAjGOJFlIOy0xZc31_`R_JqTC&hPt>mG;8cnuqP`%fl9XFWt!bzbU-p{K% zxq+W;^I9ezPG&_7{mFZ{J;1b_gw*84azc}hc{D&8HplVAF@hQUd1r$eAg!Al_-AuK zmAin<+ng$~f`u0)l}(nCRR*Q1$quqsOl(Y(Yh-;H6DOaN4Pcx#Sz6AY@!sTYxiCh} p$%o{U7&|7b%BL{uPVSPAWnz+;{8HY7(P6TYf(4tfEHL>p0056&FM0p~ delta 710 zcmZp2{NPX@;LXe;!oa}5!H^V_8 z>nC)R9s_Y{1vdjD%LR4@1~9QUBs%+$fkdtNAAZ&9trM)C9og=y#wT+6*%3v%l-yNE zXL#gn@BFe~|E1~5gLwuooQuzuTRuPi^iE!+SV6s|b%I>$4-U3#kxooC2kqSBMHLp9 zd(GH>cprl-N8)l7HP$=LQvbemW~y|rYdFL5x=Tu^XGa2)OP_`Fw%uC9W3*|XEbkZ zT+-3KD0kJ@`o)vBos-o(r2eAir@_}^%{?dEE@FZv87~n%R@~-u8#}``>r!!ax>8uP>X>WTYKIj)`h(#iS8dRN^i z+Rsl0Zwx9tZFTzZ*13MWR-VhfWO%_K{e91yuXpl}9m-z$ZST&ad)MF1-u$+$WcQo3 zla75}Y!~%*+K)O0P_%OaqkS?TlLm9cD&5JJOi|1`R;o$p#W4 zlOJ)LK-p50x5^1kcI5$U*j&I9#|YB7`6BOZFaxZ068~%tsB#zP_0p=F%OzH@@S-HG z$vU#iprkZ;p{&g0JXtxWFN~A>WPKU^C*P3`VC)D{@JUWs}Y2 fQy8Tu&ykO1`XD~}x4Z|V-eeaA3pPespa&QLH3u-| From 602ffee6015609b2dddc5ab78af59941c8daa649 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Thu, 2 Jun 2022 19:39:42 +0200 Subject: [PATCH 200/306] calendar: Fix scope of let variables --- apps/calendar/ChangeLog | 1 + apps/calendar/calendar.js | 25 ++++++++++++------------- apps/calendar/metadata.json | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/apps/calendar/ChangeLog b/apps/calendar/ChangeLog index ea8934f84..873f90de6 100644 --- a/apps/calendar/ChangeLog +++ b/apps/calendar/ChangeLog @@ -7,3 +7,4 @@ 0.07: Fix off-by-one-error on previous month 0.08: Do not register as watch, manually start clock on button read start of week from system settings +0.09: Fix scope of let variables diff --git a/apps/calendar/calendar.js b/apps/calendar/calendar.js index fc7e93cf5..f4676fc22 100644 --- a/apps/calendar/calendar.js +++ b/apps/calendar/calendar.js @@ -16,6 +16,12 @@ const white = "#ffffff"; const red = "#d41706"; const blue = "#0000ff"; const yellow = "#ffff00"; +let bgColor = color4; +let bgColorMonth = color1; +let bgColorDow = color2; +let bgColorWeekend = color3; +let fgOtherMonth = gray1; +let fgSameMonth = white; let settings = require('Storage').readJSON("calendar.json", true) || {}; let startOnSun = ((require("Storage").readJSON("setting.json", true) || {}).firstDayOfWeek || 0) === 0; @@ -27,19 +33,12 @@ if (settings.ndColors === undefined) } if (settings.ndColors === true) { - let bgColor = white; - let bgColorMonth = blue; - let bgColorDow = black; - let bgColorWeekend = yellow; - let fgOtherMonth = blue; - let fgSameMonth = black; -} else { - let bgColor = color4; - let bgColorMonth = color1; - let bgColorDow = color2; - let bgColorWeekend = color3; - let fgOtherMonth = gray1; - let fgSameMonth = white; + bgColor = white; + bgColorMonth = blue; + bgColorDow = black; + bgColorWeekend = yellow; + fgOtherMonth = blue; + fgSameMonth = black; } function getDowLbls(locale) { diff --git a/apps/calendar/metadata.json b/apps/calendar/metadata.json index 5f968b364..65a54c097 100644 --- a/apps/calendar/metadata.json +++ b/apps/calendar/metadata.json @@ -1,7 +1,7 @@ { "id": "calendar", "name": "Calendar", - "version": "0.08", + "version": "0.09", "description": "Simple calendar", "icon": "calendar.png", "screenshots": [{"url":"screenshot_calendar.png"}], From 019f635ad4582b1031fba44f4d663fa1876b22fc Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Thu, 26 May 2022 22:03:32 +0200 Subject: [PATCH 201/306] [buzz] Add support for ':' and '=' --- modules/buzz.js | 36 +++++++++++++++++++++++++++--------- modules/buzz_menu.js | 23 ++++++++++++++--------- 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/modules/buzz.js b/modules/buzz.js index 488d0228d..4de314b8c 100644 --- a/modules/buzz.js +++ b/modules/buzz.js @@ -1,14 +1,32 @@ -/* Call this with a pattern like '.-.', '.. .' or '..' to buzz that pattern -out on the internal vibration motor. use buzz_menu to display a menu -where the patterns can be chosen. */ +const BUZZ_WEAK = 0.25; +const BUZZ_STRONG = 1; +const SHORT_MS = 100; +const LONG_MS = 500; + +/** + * Buzz the passed `pattern` out on the internal vibration motor. + * + * A pattern is a sequence of `.`, `:`, `-` and `=` where + * - `:` is one short and strong vibration + * - `.` is one short and weak vibration + * - `=` is one long and strong vibration + * - `-` is one long and weak vibration + * + * You can use the `buzz_menu` module to display a menu where some common patterns can be chosen. + * + * @param {string} pattern A string like `.-.`, `..=`, `:.:`, `..`, etc. + * @returns a Promise + */ exports.pattern = pattern => new Promise(resolve => { - function b() { - if (pattern=="") resolve(); + function doBuzz() { + if (pattern == "") resolve(); var c = pattern[0]; pattern = pattern.substr(1); - if (c==".") Bangle.buzz().then(()=>setTimeout(b,100)); - else if (c=="-") Bangle.buzz(500).then(()=>setTimeout(b,100)); - else setTimeout(b,100); + if (c == ".") Bangle.buzz(SHORT_MS, BUZZ_WEAK).then(() => setTimeout(doBuzz, 100)); + else if (c == "-") Bangle.buzz(LONG_MS, BUZZ_WEAK).then(() => setTimeout(doBuzz, 100)); + else if (c == ":") Bangle.buzz(SHORT_MS, BUZZ_STRONG).then(() => setTimeout(doBuzz, 100)); + else if (c == "=") Bangle.buzz(LONG_MS, BUZZ_STRONG).then(() => setTimeout(doBuzz, 100)); + else setTimeout(doBuzz, 100); } - b(); + doBuzz(); }); diff --git a/modules/buzz_menu.js b/modules/buzz_menu.js index c5b41a997..bb138a812 100644 --- a/modules/buzz_menu.js +++ b/modules/buzz_menu.js @@ -1,14 +1,19 @@ -/* Display a menu to select from various vibration patterns for use with buzz.js */ - -exports.pattern = function(value, callback) { - var vibPatterns = ["", ".", "..", "-", "--", "-.-", "---"]; +/** + * Display a menu to select from various common vibration patterns for use with buzz.js. + * + * @param {string} value The pre-selected pattern + * @param {*} callback A function called with the user selected pattern + */ +exports.pattern = function (value, callback) { + var patterns = ["", ".", ":", "..", "::", "-", "=", "--", "==", "=.=", "---"]; return { - value: Math.max(0,vibPatterns.indexOf(value)), - min: 0, max: vibPatterns.length-1, - format: v => vibPatterns[v]||/*LANG*/"Off", + value: Math.max(0, patterns.indexOf(value)), + min: 0, + max: patterns.length - 1, + format: v => patterns[v] || /*LANG*/"Off", onchange: v => { - require("buzz").pattern(vibPatterns[v]); - callback(vibPatterns[v]); + require("buzz").pattern(patterns[v]); + callback(patterns[v]); } }; } From 091006e9c502e2867417a44ed52deab361b62c66 Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Sat, 28 May 2022 23:30:59 +0200 Subject: [PATCH 202/306] [buzz] Add support for ',' and ';' --- modules/buzz.js | 16 +++++++++------- modules/buzz_menu.js | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/buzz.js b/modules/buzz.js index 4de314b8c..cfa948117 100644 --- a/modules/buzz.js +++ b/modules/buzz.js @@ -1,16 +1,16 @@ -const BUZZ_WEAK = 0.25; -const BUZZ_STRONG = 1; -const SHORT_MS = 100; -const LONG_MS = 500; +const BUZZ_WEAK = 0.25, BUZZ_STRONG = 1; +const SHORT_MS = 100, MEDIUM_MS = 200, LONG_MS = 500; /** * Buzz the passed `pattern` out on the internal vibration motor. * - * A pattern is a sequence of `.`, `:`, `-` and `=` where - * - `:` is one short and strong vibration + * A pattern is a sequence of `.`, `,`, `-`, `:`, `;` and `=` where * - `.` is one short and weak vibration - * - `=` is one long and strong vibration + * - `,` is one medium and weak vibration * - `-` is one long and weak vibration + * - `:` is one short and strong vibration + * - `;` is one medium and strong vibration + * - `=` is one long and strong vibration * * You can use the `buzz_menu` module to display a menu where some common patterns can be chosen. * @@ -23,8 +23,10 @@ exports.pattern = pattern => new Promise(resolve => { var c = pattern[0]; pattern = pattern.substr(1); if (c == ".") Bangle.buzz(SHORT_MS, BUZZ_WEAK).then(() => setTimeout(doBuzz, 100)); + else if (c == ",") Bangle.buzz(MEDIUM_MS, BUZZ_WEAK).then(() => setTimeout(doBuzz, 100)); else if (c == "-") Bangle.buzz(LONG_MS, BUZZ_WEAK).then(() => setTimeout(doBuzz, 100)); else if (c == ":") Bangle.buzz(SHORT_MS, BUZZ_STRONG).then(() => setTimeout(doBuzz, 100)); + else if (c == ";") Bangle.buzz(MEDIUM_MS, BUZZ_STRONG).then(() => setTimeout(doBuzz, 100)); else if (c == "=") Bangle.buzz(LONG_MS, BUZZ_STRONG).then(() => setTimeout(doBuzz, 100)); else setTimeout(doBuzz, 100); } diff --git a/modules/buzz_menu.js b/modules/buzz_menu.js index bb138a812..7ca155a2c 100644 --- a/modules/buzz_menu.js +++ b/modules/buzz_menu.js @@ -5,7 +5,7 @@ * @param {*} callback A function called with the user selected pattern */ exports.pattern = function (value, callback) { - var patterns = ["", ".", ":", "..", "::", "-", "=", "--", "==", "=.=", "---"]; + var patterns = ["", ".", ":", "..", "::", ",", ";", ",,", ";;", "-", "=", "--", "==", "...", ":::", "---", ";;;", "==="]; return { value: Math.max(0, patterns.indexOf(value)), min: 0, From 13c3e13cde857f1050b070e7c5bbb5309bfbb3cf Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Sun, 29 May 2022 10:01:58 +0200 Subject: [PATCH 203/306] [Scheduler] Update label --- apps/sched/settings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/sched/settings.js b/apps/sched/settings.js index 5ddb4dab2..a2b3a5241 100644 --- a/apps/sched/settings.js +++ b/apps/sched/settings.js @@ -29,7 +29,7 @@ min: 5, max: 30, step: 5, - format: v => v + /*LANG*/" min", + format: v => v + /*LANG*/"m", onchange: v => { settings.defaultSnoozeMillis = v * 60000; require("sched").setSettings(settings); From 9ac54459b401b7e664135442634df978f26d4176 Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Thu, 2 Jun 2022 18:14:38 +0200 Subject: [PATCH 204/306] [Scheduler] Fallback to configured default patterns --- apps/sched/sched.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/sched/sched.js b/apps/sched/sched.js index f4d1bc9ad..92a744588 100644 --- a/apps/sched/sched.js +++ b/apps/sched/sched.js @@ -50,7 +50,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 From 061fec482601a218dd3ca4480980398c3384a486 Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Thu, 2 Jun 2022 18:12:54 +0200 Subject: [PATCH 205/306] [Scheduler] Show timer using formatDuration --- 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 92a744588..012e8ed35 100644 --- a/apps/sched/sched.js +++ b/apps/sched/sched.js @@ -9,7 +9,7 @@ function showAlarm(alarm) { const settings = require("sched").getSettings(); let msg = ""; - msg += require("time_utils").formatTime(alarm.timer ? alarm.timer : alarm.t); + msg += alarm.timer ? require("time_utils").formatDuration(alarm.timer) : require("time_utils").formatTime(alarm.t); if (alarm.msg) { msg += "\n"+alarm.msg; } else { From a1c214a5027da3004b0988ea935711ce1bc2e80b Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Fri, 3 Jun 2022 17:32:09 +0200 Subject: [PATCH 206/306] [Scheduler] Set default patterns to "strong" --- apps/sched/lib.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/sched/lib.js b/apps/sched/lib.js index 315e4e387..5089ed46c 100644 --- a/apps/sched/lib.js +++ b/apps/sched/lib.js @@ -106,8 +106,8 @@ exports.getSettings = function () { defaultRepeat: false, buzzCount: 10, buzzIntervalMillis: 3000, // 3 seconds - defaultAlarmPattern: "..", - defaultTimerPattern: ".." + defaultAlarmPattern: "::", + defaultTimerPattern: "::" }, require("Storage").readJSON("sched.settings.json", true) || {} ); From b33cfc8c142b6b48e735f5ff1ba79d519c23b9fb Mon Sep 17 00:00:00 2001 From: Alessandro Cocco Date: Fri, 3 Jun 2022 17:32:39 +0200 Subject: [PATCH 207/306] [Scheduler] Update metadata and changelog --- apps/sched/ChangeLog | 3 +++ apps/sched/metadata.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/sched/ChangeLog b/apps/sched/ChangeLog index e003248a3..5728bf734 100644 --- a/apps/sched/ChangeLog +++ b/apps/sched/ChangeLog @@ -10,3 +10,6 @@ 0.09: Move some functions to new time_utils module 0.10: Default to sched.js if custom js not found 0.11: Fix default dow +0.12: Update default buzz patterns to new values + Improve timer message using formatDuration + Fix wrong fallback for buzz pattern diff --git a/apps/sched/metadata.json b/apps/sched/metadata.json index 76341a7ad..c8ed3acb8 100644 --- a/apps/sched/metadata.json +++ b/apps/sched/metadata.json @@ -1,7 +1,7 @@ { "id": "sched", "name": "Scheduler", - "version": "0.11", + "version": "0.12", "description": "Scheduling library for alarms and timers", "icon": "app.png", "type": "scheduler", From 67992dc4bbf2db70af61029427ab11fe8711a352 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 4 Jun 2022 13:48:40 +0200 Subject: [PATCH 208/306] Allow reading custom themes from files --- apps/setting/settings.js | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 150251e7d..c502387d7 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -221,7 +221,8 @@ function showThemeMenu() { Bangle.drawWidgets(); m.draw(); } - var m = E.showMenu({ + + var themesMenu = { '':{title:/*LANG*/'Theme'}, '< Back': ()=>showSystemMenu(), /*LANG*/'Dark BW': ()=>{ @@ -239,9 +240,26 @@ function showThemeMenu() { fgH:cl("#000"), bgH:cl("#0ff"), dark:false }); - }, - /*LANG*/'Customize': ()=>showCustomThemeMenu(), - }); + } + }; + + require("Storage").list(/^.*\.theme$/).forEach( + n => { + let newTheme = require("Storage").readJSON(n); + themesMenu[newTheme.name ? newTheme.name : n] = () => { + upd({ + fg:cl(newTheme.fg), bg:cl(newTheme.bg), + fg2:cl(newTheme.fg2), bg2:cl(newTheme.bg2), + fgH:cl(newTheme.fgH), bgH:cl(newTheme.bgH), + dark:newTheme.dark + }); + }; + } + ); + + themesMenu[/*LANG*/'Customize'] = () => showCustomThemeMenu(); + + var m = E.showMenu(themesMenu); function showCustomThemeMenu() { function setT(t, v) { From 2b0925917310120b164991dd000cce8dc263112d Mon Sep 17 00:00:00 2001 From: pancake Date: Sat, 4 Jun 2022 01:32:28 +0200 Subject: [PATCH 209/306] Initial import of the RGB utility app --- apps/rgb/ChangeLog | 1 + apps/rgb/README.md | 16 +++++ apps/rgb/app.js | 133 ++++++++++++++++++++++++++++++++++++++++ apps/rgb/app.png | Bin 0 -> 211 bytes apps/rgb/metadata.json | 31 ++++++++++ apps/rgb/screenshot.png | Bin 0 -> 2452 bytes 6 files changed, 181 insertions(+) create mode 100644 apps/rgb/ChangeLog create mode 100644 apps/rgb/README.md create mode 100644 apps/rgb/app.js create mode 100644 apps/rgb/app.png create mode 100644 apps/rgb/metadata.json create mode 100644 apps/rgb/screenshot.png diff --git a/apps/rgb/ChangeLog b/apps/rgb/ChangeLog new file mode 100644 index 000000000..a08433b7c --- /dev/null +++ b/apps/rgb/ChangeLog @@ -0,0 +1 @@ +0.01: initial release diff --git a/apps/rgb/README.md b/apps/rgb/README.md new file mode 100644 index 000000000..5723f99c6 --- /dev/null +++ b/apps/rgb/README.md @@ -0,0 +1,16 @@ +rgb +=== + +A simple RGB color selector utility for the BangleJS2 smartwatch. + +Features a vector toggle widget and swipe interactivity. + +Author +------ + +Written by pancake in 2022 + +Screenshots +----------- +![rgb app](screenshot.jpg) + diff --git a/apps/rgb/app.js b/apps/rgb/app.js new file mode 100644 index 000000000..aa18d93ae --- /dev/null +++ b/apps/rgb/app.js @@ -0,0 +1,133 @@ +const rgb = [0, 0, 0]; +const w = g.getWidth(); +const h = g.getHeight(); +function drawToggle (value, x, y, options) { + if (!options) options = {}; + if (!options.scale) options.scale = 1; + const h = (options.scale * 16); + const h2 = h / 2; + const w = (options.scale) * 32; + + g.setColor(0.3, 0, 0.3); + g.fillCircle(x + h2, y + h2, h2 - 1); + g.fillCircle(x + w - h2, y + h2, h2 - 1); + g.fillRect(x + h2, y, x + w - h2, y + h); + + y += 4; + g.setColor(0.6, 0.6, 0.6); + g.fillCircle(x + h2, y + h2 + 2, h2 - 1); + g.fillCircle(x + w - h2, y + h2 + 2, h2 - 1); + g.fillRect(x + h2, y + 2, x + w - h2, y + h + 1); + + if (value) { + x += w - h; + } + g.setColor(0, 0.5, 0); + g.fillCircle(x + h2, y + h2 + 2, h2 - 1); + y -= 4; + if (colorMode) { + g.setColor(0, 1, 0); + } else { + g.setColor(0.5, 0.5, 0.5); + } + g.fillCircle(x + h2, y + h2 + 2, h2 - 1); + + g.setColor(0, 0.8, 0); + g.fillCircle(x + h2 - 2, y + h2, h2 - 8); + if (colorMode) { + g.setColor(0, 1, 0); + } else { + g.setColor(0.5, 0.5, 0.5); + } g.fillCircle(x + h2 + 4, y + h2 + 4, h2 - 9); +} + +function refresh () { + g.setBgColor(rgb[0] / 255, rgb[1] / 255, rgb[2] / 255); + g.clear(); + g.setColor(1, 1, 1); + g.setFont12x20(1); + g.setColor(0, 0, 0); + let s = '#' + hex[(rgb[0] >> 4) & 0xf] + hex[rgb[0] & 0xf]; + s += hex[(rgb[1] >> 4) & 0xf] + hex[rgb[1] & 0xf]; + s += hex[(rgb[2] >> 4) & 0xf] + hex[rgb[2] & 0xf]; + g.setColor(1, 0, 1); + g.fillRect(0, 0, w, 32); + g.setColor(0.2, 0, 1); + g.fillRect(0, 32, w, 33); + g.setColor(1, 1, 1); + g.drawString(s, 8, 8); + // drawToggle (colorMode, w - 8 - 32*(rgb[0]/50), 8 + 255- rgb[2], {scale:1 * rgb[0] / 50}); + drawToggle(colorMode, w - 40, 4, { scale: 1.2 }); + + if (colorMode) { + g.setColor(1, 0, 0); + g.fillRect(0, h, w / 3, h - 32); + g.setColor(0, 1, 0); + g.fillRect(w / 3, h, w - (w / 3), h - 32); + g.setColor(0, 0, 1); + g.fillRect(w - (w / 3), h, w, h - 32); + + g.setColor(0.5, 0, 0); + g.fillRect(0, h - 33, w / 3, h - 34); + g.setColor(0, 0.5, 0); + g.fillRect(w / 3, h - 33, w - (w / 3), h - 34); + g.setColor(0, 0, 0.5); + g.fillRect(w - (w / 3), h - 33, w, h - 34); + } else { + g.setColor(0.5, 0.5, 0.5); + g.fillRect(0, h, w, h - 32); + g.setColor(0.2, 0.2, 0.2); + g.fillRect(0, h - 33, w, h - 34); + } + // column lines + function f (x) { + const s = '' + (rgb[x] / 255); + return s.substring(0, 4); + } + g.setColor(1, 1, 1); + g.drawLine(w / 3, h, w / 3, h / 2); + g.drawLine(w - (w / 3), h, w - (w / 3), h / 2); + g.setFont6x15(2); + g.drawString(f(0), 8, h - 28); + g.drawString(f(1), 8 + (w / 3), h - 28); + g.drawString(f(2), 8 + (2 * w / 3), h - 28); +} +let k = -1; +var colorMode = true; +Bangle.on('touch', function (wat, tap) { + if (tap.x > w / 2 && tap.y < 32) { + colorMode = !colorMode; + refresh(); + } +}); + +function deltaComponent (k, dy) { + rgb[k] -= dy; + if (rgb[k] > 255) { + rgb[k] = 255; + } else if (rgb[k] < 0) { + rgb[k] = 0; + } +} +Bangle.on("button", function() { + rgb[0] = rgb[1] = rgb[2] = 127; +}); +Bangle.on('drag', function (tap, top) { + if (colorMode) { + if (tap.x < w / 3) { + k = 0; + } else if (tap.x > (w - (w / 3))) { + k = 2; + } else { + k = 1; + } + deltaComponent(k, tap.dy); + } else { + deltaComponent(0, tap.dy); + deltaComponent(1, tap.dy); + deltaComponent(2, tap.dy); + } + refresh(); +}); +refresh(); + diff --git a/apps/rgb/app.png b/apps/rgb/app.png new file mode 100644 index 0000000000000000000000000000000000000000..e9210d2b6eb54f484df08f6369e23509c7e699b9 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCwj^(N7l!{JxM1({$v}|~PZ!6K zjC*fqT;ys{5MZ%=d3-7VemU)e$6ZIZ%nTPS+ZlLd3P|IzD^0t9FK?O^y7}2f^$E*^ zJTjG+U6)Dy7^p7t>TFTrtM7qsF?*`hS>EaPn7@w literal 0 HcmV?d00001 diff --git a/apps/rgb/metadata.json b/apps/rgb/metadata.json new file mode 100644 index 000000000..7b10658b3 --- /dev/null +++ b/apps/rgb/metadata.json @@ -0,0 +1,31 @@ +{ + "id": "rgb", + "name": "rgb", + "shortName": "rgb", + "version": "0.01", + "type": "app", + "description": "RGB utility", + "icon": "app.png", + "allow_emulator": true, + "tags": "tools", + "supports": [ + "BANGLEJS2" + ], + "readme": "README.md", + "storage": [ + { + "name": "tabanglotchi.app.js", + "url": "app.js" + }, + { + "name": "tabanglotchi.img", + "url": "app-icon.js", + "evaluate": true + } + ], + "screenshots": [ + { + "url": "screenshot.png" + } + ] +} diff --git a/apps/rgb/screenshot.png b/apps/rgb/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..1815cd492e3af557243eeeb45a7c9afaa313ae6f GIT binary patch literal 2452 zcmd5)i$BwC8)qils0|N#P&S8#2_2MbIUlx(dFPPhEb`XO${{6^R->fi85yGTWHg64 zv^m81RaBDn5R*BjRAP>Kh~ydX`~DB_{rTMY^||lw_xfIk`$}ZLu_+6mXkrg|u`iZA_x`{OrmfD0dnwQOHT2}nSbsE_41I50zC<<2HF0T zxa0#tm_PL_w^5z@RzAfSPo}rT$xi1>+Ejk6h?8DujAftfe?n_kz2yQ+Eeh;7e9Stg zb5ECvsgT?~q4|co7M)kz5v^mrAfKmFV<6kB>^D7pA|}hHDxy|%n$r~~&T$wH^({Jo z7cJ>DnVs@batJsIuwrkCXhT{Lnv?a==m@7HM3uR;5-<~q>gnDyOiDSiyRq6ioz-A2<7wV(k>iexX6dk z3XLuke6>o|ahdF|&;;uPmCAMLjVp@@%9d9P)vND$VMvhc&_lP8x%zKm!W}9Vr)W7x zyplbtG_*&oULVl@bR3@NLMcUb{w&p3!Hij4HRBRXhnxJ)sI6$F0Y(*=6uY^%M!KJ2 zmglgn)rW?6{r8UL0<1Oc^@Z5!_uhf?emFaPrsi@OIBfijy76nBmRN9a`tAUtE7Yx< z=jhWVGzfVmYF};g%>XzYz8ITg4=k#N1v~UW!(&g*S`;oW_V+Mo+ggGZxeG5;yaXwF z0=>X_kpx%ZKU#?iRmEt@xY*FkSJ;!nO=by8d4cWPmH)Ite71_ky#>x7Nq&1G+L}J z<>dscv0*R?Kx_p?&&M*X#0OMJu3SvG-RRe%xK16=eH3@zczGcPxgly#X*^kxzk&S6naRWVDF!zx zK2fz15oKn9^kIu18=^ub?CNsd*SEUl^_U~-IXx4eF3nAZ%l}P5L-K!~!n3aF-LBnX zOYwhQHiNPy^9+f}l zdE2ZvH{V7Hex&-bn|BGq4fo9c&QkoVjb31MGW>97v_&`ttrA3dsV6FL@<=R&)e}=a z%E(WD9^CCz?Xp1}xYBcbSZkaj$B>RcJIjgSjWuukcF=bgh^1g>Zj*bXG_7yZ3h8R_ z*EQeb{I?lN5&hDMQyA2m5C9Z_#^VA`=UxS!R^+ zGSuKV6rRh8zL%6^=Wt@y-#Rx1EpfCseM?^izM9j#A+>qYib)u$Hq7^?gFIm`<+lenaC*Gy6Rn=$=H819A zIu|LBTW2gfMAQ3@u1rc!tFd09C)f6LWJG>~^=V#?sN<$H7n4xc$#aF3^24dNmStN*I3a32unaP04539jO zVO5dq&00Z?#}z}fMWxfTdX&WQjJ_k)1e`!cxSXmUH!Q8`=ko;$L zJJAWWg(sxXU7o6ibAFpaqAgr~oTNUmUx26#PC`U1ck~T7%Pb-yvTKa0$uU85mO4Lg z<#gEJq<``YbYEP*E;d471{(Hp`pRn^cHz_W27HPFaXa1$rYvr&oTo zV_AEfDvDo*Z5G01#l1yqgE`xdOd6f}IAyS9H0I*>S7ql~18;||no$sU4chGrxB zs{P1QNdQ?lR1*!}x09WA2UVG7`Q8c2pihi_nzBBl#gVyczW0udbm1M{9C&t=%l`nh C7Ke}k literal 0 HcmV?d00001 From f95878bf379ec64f150e62bef223149722d1a0ce Mon Sep 17 00:00:00 2001 From: pancake Date: Sat, 4 Jun 2022 14:02:05 +0200 Subject: [PATCH 210/306] Initial import of the football game --- apps/football/ChangeLog | 1 + apps/football/README.md | 3 + apps/football/app-icon.js | 1 + apps/football/app.js | 440 ++++++++++++++++++++++++++++++ apps/football/app.png | Bin 0 -> 232 bytes apps/football/media/ball0.png | Bin 0 -> 96 bytes apps/football/media/ball1.png | Bin 0 -> 95 bytes apps/football/media/dash.png | Bin 0 -> 463 bytes apps/football/media/digit0.png | Bin 0 -> 671 bytes apps/football/media/digit1.png | Bin 0 -> 386 bytes apps/football/media/digit2.png | Bin 0 -> 606 bytes apps/football/media/digit3.png | Bin 0 -> 620 bytes apps/football/media/digit4.png | Bin 0 -> 535 bytes apps/football/media/digit5.png | Bin 0 -> 656 bytes apps/football/media/digit6.png | Bin 0 -> 726 bytes apps/football/media/digit7.png | Bin 0 -> 516 bytes apps/football/media/digit8.png | Bin 0 -> 709 bytes apps/football/media/digit9.png | Bin 0 -> 741 bytes apps/football/media/digits.png | Bin 0 -> 70585 bytes apps/football/media/digits128.png | Bin 0 -> 9617 bytes apps/football/media/digits64.png | Bin 0 -> 7122 bytes apps/football/media/gol00.png | Bin 0 -> 115 bytes apps/football/media/gol01.png | Bin 0 -> 115 bytes apps/football/media/gol10.png | Bin 0 -> 112 bytes apps/football/media/gol11.png | Bin 0 -> 120 bytes apps/football/media/left0.png | Bin 0 -> 116 bytes apps/football/media/left1.png | Bin 0 -> 121 bytes apps/football/media/left2.png | Bin 0 -> 112 bytes apps/football/media/left4.png | Bin 0 -> 125 bytes apps/football/media/right0.png | Bin 0 -> 116 bytes apps/football/media/right1.png | Bin 0 -> 125 bytes apps/football/media/right2.png | Bin 0 -> 113 bytes apps/football/media/right4.png | Bin 0 -> 125 bytes apps/football/metadata.json | 31 +++ apps/football/screenshot.png | Bin 0 -> 2511 bytes 35 files changed, 476 insertions(+) create mode 100644 apps/football/ChangeLog create mode 100644 apps/football/README.md create mode 100644 apps/football/app-icon.js create mode 100644 apps/football/app.js create mode 100644 apps/football/app.png create mode 100644 apps/football/media/ball0.png create mode 100644 apps/football/media/ball1.png create mode 100644 apps/football/media/dash.png create mode 100644 apps/football/media/digit0.png create mode 100644 apps/football/media/digit1.png create mode 100644 apps/football/media/digit2.png create mode 100644 apps/football/media/digit3.png create mode 100644 apps/football/media/digit4.png create mode 100644 apps/football/media/digit5.png create mode 100644 apps/football/media/digit6.png create mode 100644 apps/football/media/digit7.png create mode 100644 apps/football/media/digit8.png create mode 100644 apps/football/media/digit9.png create mode 100644 apps/football/media/digits.png create mode 100644 apps/football/media/digits128.png create mode 100644 apps/football/media/digits64.png create mode 100644 apps/football/media/gol00.png create mode 100644 apps/football/media/gol01.png create mode 100644 apps/football/media/gol10.png create mode 100644 apps/football/media/gol11.png create mode 100644 apps/football/media/left0.png create mode 100644 apps/football/media/left1.png create mode 100644 apps/football/media/left2.png create mode 100644 apps/football/media/left4.png create mode 100644 apps/football/media/right0.png create mode 100644 apps/football/media/right1.png create mode 100644 apps/football/media/right2.png create mode 100644 apps/football/media/right4.png create mode 100644 apps/football/metadata.json create mode 100644 apps/football/screenshot.png diff --git a/apps/football/ChangeLog b/apps/football/ChangeLog new file mode 100644 index 000000000..9b91672a5 --- /dev/null +++ b/apps/football/ChangeLog @@ -0,0 +1 @@ +1.00: Initial implementation diff --git a/apps/football/README.md b/apps/football/README.md new file mode 100644 index 000000000..f751b927e --- /dev/null +++ b/apps/football/README.md @@ -0,0 +1,3 @@ +# Classic Football Chronometer Game + +Context: https://www.anaitgames.com/analisis/analisis-casio-football-14 diff --git a/apps/football/app-icon.js b/apps/football/app-icon.js new file mode 100644 index 000000000..7eec578c6 --- /dev/null +++ b/apps/football/app-icon.js @@ -0,0 +1 @@ +atob("MDABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAA/wAAAAAA/wAAAAAA/wAAAAAA/wAAAAAA/wAAAAAA/wAAAAAA/wAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAA//AAAAAA//AAAAAA//AAAAAA//AAAAAADw8AD/AADw8AD/AADw8AD/AADw8AD/AP/wAAD/AP/wAAD/AP/wAAD/AP/wAAD/AA8PAAAAAA8PAAAAAA8PAAAAAA8PAAAAAAAA8AAAAAAA8AAAAAAA8AAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") diff --git a/apps/football/app.js b/apps/football/app.js new file mode 100644 index 000000000..8350bea88 --- /dev/null +++ b/apps/football/app.js @@ -0,0 +1,440 @@ +const digit = []; + +const dash = { + width: 75, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AH4A/AH4A/AH4A/AH4A/AB0D/4AB+AJEBAX/BAk/CQ8PCQ4kDCQoIDCQgkDCQgkECQgIE4ASHFxH8JRgSEEgYSEPJAkEAH4A/AH4A/AH4A/AH4A/ACg=')) +}; +function loadDigits () { + digit[0] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AH4AGn//AAngBIMfBIvABIMPBIuABIMHBIoIBg0DBAn+gYSBgIJE/kHBIOABIn4h4JB4F/BIfwj4JB8BQEAoIJBBoJOEv4JBEIJOEIwMHGoIJDIIIJBJIJOEBIQOCJwYJDOIR9DBISFCSIYJCTISlDBIXwBIZoBBP4J/BP4J/BNX+gED//gBIc/BIMB//ABIcf/gDB/+ABIcP/AhCBAYuBFoU+BIkDFoUcBIkBFoUIBIkAFogA/AAZPJMZJ3JRZKfIWZLHJbZL5bBP4J/BP4J/BKPgBIc/BIfABIcfBIeA/4AB/EPBIcBBIX8AwIJB/0DBIQECBIIOCAAQYBBIIiCAAQsBBIPwGwIAC4F/BIPgJQIACAoIJBBoIJDDIIJBJwZQDBIJODKAcAgxODKAZxBJwgABPYROEKASFDAAiRCJwhQCTYYAkA')) + }; + + digit[1] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AH4A2wAIHgIJIgYJIg4JIh4JIj4JIn4JIv4JI/4JHgIJIgYJIg4JIh4JIj4JIn4J/BP4J/BP4Jqj//BA0Ah/+BI8H/gJHgf4BI8B+AJHgHgBJFABJAA/J55jIO5KLJT5KzJY5L5nBP4J/BP4J/AAcfBJEPBJEHBJEDBJEBBJEABJN/BJE/BJEfBJEPBJEHBJEDBJEBBJEABJIA/AAwA=')) + }; + + digit[2] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AH4AGj//AAnwBIMPBIvgBIMHBIvABIMDBIuABIMBBIsBGQQIE/0DBIV/BIf8g4JCn4JD/EPKA/wj4JCKAngn4JCKAnAv4JCKAmA/4JCKAgEBQYZOEBIgADFgIJHIAKlJBI5oBBP4J/BP4J/BOcfBJEP/wJHg/8Aof/AAP+gf4BAUBBIX/gPwBIUDBIeA8AiDBIfAoA2DBIYSDJQQACEwZeCAAQ6DgF/BJATJE5I7IghPFBIUOMYomDO4g6EwCLDJwgiDAAhyFTohKEToheEBP4J/BP4J/BOHwBJHgBJHAv////8BImABAP//wJEAIIACBIf+BImABIX8g4JD4AJC/EPBIZACgfwj4JDKgUD8E/BIZoCgZODKAkDJwZQEgcBBIhQCgROEKAhOEKAhOEKAhOEKAgAm')) + }; + + digit[3] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AH4AGj//AAnwBIMPBIvgBIMHBIvABIMDBIuABIMBBIsBGQQIE/0DBIV/BIf8g4JCn4JD/EPKA/wj4JCKAngn4JCKAnAv4JCKAmA/4JCKAgEBQYZOEBIgADFgIJHIAKlJBI5oBBI58BBP4J/BP4J/BL8/BJEf/wJHh/8BI8H/AFD/4AB/0D+AICgIJDgPgBIUDBIQ5B4AiDBIeAwA2DBIYSDJQIJDEwZeCAAQ6DOQQACJwgTJE5I7JJ5JjEgIUDO4kDFAgJC/kDIwipNj4JIn7HIbZL5TBP4J/BP4J/BJs/BJEfBJEPBIgjB//8g4JDgIIB//+gYJDAgIACBwIJCDAIACwAJDFgIAC4F/IAgAC8E/KggAC+EfIgoAB/EPBIQIDKAROFKAZOGKAROGKAQJI4BOGKAQJI+CfHAEAA==')) + }; + digit[4] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AH4AswEBBJOABAoHBgPABIsDBIPgBIsHBIPwBIsPBIP4BIsfBIP8BIs/BIP+BIt/BIP/BIv/BIRQEAwQCBKAkDBIZQEg4JDKAkPBIZQEj4JIn4J/BP4J/BP4JjgAJFj//AYN/8AJDh/+C4QJEg/8C4XAv////+gYjCh+ABAIABgPwC4Q9BAAWAEYUCgYJD4FAFgYJDIAoJDEwRUDAARoGAAROCCZYnJHZJPJMZAABO46hCRYwAFT4YAFWYYAFY4YAFbYYJ/BP4J/BP4Jnj4JIh4JIg4JIgYJIgIJIgAJJv4JIn4JIj4JIh4JIg4JIgYJIgIJIgAJJAH4AGA=')) + }; + + digit[5] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AGUP/4AE/gJBg4JF/AJBgYJF+AJBgIJF8AJBwAJF4AJB4F/BImABIPgn4JEIoXwj4ID/wJC/BQEJwUA/hQEJwUA/xQEJwUA/5QEJwQJBKAhOCBIJQEJwQJBKAiVDFggAEIAgJFKgYJFNAYJ/BP4J/BP4Jmv/8BI8//AJHj/wBI8P8E//4ABBIcH4F/BIWABIUDwAIC//ABIUBgIJD8AeDgYJDGwkHBIZKEh4JDLwkfBIZyECZInJHZJPFkChEMYdwUIh3DFAiLDgKvIgbDIJQKvIUIgJFUIZ8FBP4J/BP4J/BL8PBJEHBJEDBJEBBIl//4ABwAJEBAQHBv4JCDAIAC8E/BIQsBAAXwj4JCIAIAC/EPBIRUBAAX8g4JCNAIAC/0DBI//gIJCJwZQCBIQIEKANAJwpQCJwxQCJwxQCJwxQCBJYAwA=')) + }; + + digit[6] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AGU//4AE8AJBj4JF4AJBh4JFwAJBg4JFBAMGgYIE/wSCgIJE/gJCwAJE/AJC4F/BIfwBIXgKAhOCg/wKAhOCg/4KAhOD/hQEOwUH/xQDJwRiCKAZOCBIRQDJwQJCGwQAEBIJKCBIxeCBP4J/BP4J/BOED//gBI0B//ABI0A/+ABI9/CoIAB/gJDnwpBAAP+BIccHoIACBIcIh4JDFgkfBIZAEBIhUEv4JDNAgJE/ATNn4nIHZBPGKARjFgIUCO4sDFASLFg48COQsPKARyGUILHGn6hBBIJyGco4J/BP4J/BP4Jm8AJDn4JD4AJDj4JDwAJDh4JDgP/AAP8AwIJB/0DBIQECBIIOCAAQYBBIP4EQIACwAJC+A2BAAXAv4JB8BKBAAQFBBIINBBIYZBBIIhBAAYtBBIJODKAcAgxODKAZnBJwhQCOIYAEPoROEKASZDAAilCJwhQCTYYAuA==')) + }; + + digit[7] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AGUH/4AE/wJBgYJF/gJBgIJF+AeCBJN/BIngsAJBn4JE4HgBIMfBImBBIUPBIkDBIRQE/0HBIRQE/kPBIRQE/EfBIRQE+E/BIZQD8AJEKAfABYIJCKAYsBBIYADIAIJHKgIJHNAIJ/BP4J/BP4Jzg//4AJGgf/wAJGgP/BAwAB/wJIvgJInAJIiAJIAH5PPMZJ3JRZCfJWZLHJfM4J/BP4J/BP4JNg4JIgYJIgIJIgAJJv4JIn4JIj4JIh4JIeg4JIgYJIgIJIgAJJsAJIkAJIAH4AQA=')) + }; + + digit[8] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AGUf/4AE+AJBh4JF8AJBg4JF4AJBgYJFwAIBgIJFgOAgeABAn+A4MD4F/BIf8g4JB8E/BIf4h4JB+BQEAoIJBBoJOEn4JBEIJOEv4JBGoJOEAIIHBKAgEBBIRQDDAQJCKAYsCBISFCSIYJCTISlDBIX4BIZoBBP4J/BP4J/BNkB//wBIcf/4DB//gBIcP/wDBv/ABIcH/ghCwH/AAP+gYtCj4pBAAUBFoUOHoIACwAtCgkHBIfAoA2DBIZAEJQIACKgheBAARoGBKInJHZBPJMZJ3JRZKfJWZDHJfM4J/BP4J/BP4JP+AJDj4JD8AJDh4JD4AJDg4JDwH/AAP+AwQCBgIJCAgQJBBwQACDAIJB/giBAAXAv4JB/A2BAAXgn4JB+BKBAAQFBBIINBBIYZBBIIhBBIYtBBIJODKAYJBJwhQCwECJwhQCwBxCAAh9CJwhQCTIYAEUoROEKASbDAFwA=')) + }; + + digit[9] = { + width: 80, + height: 128, + bpp: 1, + buffer: require('heatshrink').decompress(atob('AGUP/4AE/gJBg4JF/AJBgYJF+AJBgIJF8AJBwAJF4FAgHAv4JEwHAgHgn4JEgIJB+EfBAf+gYJB/BQE/kHBIIDBJwkPBIIXBJwkfBIIrBJwk/BIRQEJYIJCKAgOBBIXgIwYiBBIR7CQ4YJCR4SbDBISjCV4YJC/wJDFYIJ/BP4J/BP4Jjv/8BIcP/+AgE//AJDg//C4XwBIcDEYUP8E//4ABgIjCg/Av4JCwAjCgeABAQ5BuAJBgMBBIfgkAsDBIY2EIAIACJQhUBAAReENAIACOQgTJE5I7JJ5KhBMYwABO44ABRY4AFT4YAFWYYAFY4YAFbYYJ/BP4J/BP4Jnh4JIg4JIgYJIgIJEv//AAOABIgICA4N/BIQYBAAXgn4JCFgIAC+EfBIRABAAX4h4JCKgIAC/kHBIRoBAAX+gYJCn4JD/8BBIRODKAQJCBAhQBoBOFKAROGKAROGKAROGKAQJLAGA=')) + }; +} + +// sprites + +const left0 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('ADAwEDgUcCgEAA==') +}; + +const left1 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('ADAwEDh0ECAoAA==') +}; + +const left2 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('ADAwEBg4EBg0AA==') +}; + +const left4 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('ABgYVDgQEChEAA==') +}; + +const right0 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('AAwMCBwoDhQgAA==') +}; + +const right1 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('AAwMCBwuCAQUAA==') +}; + +const right2 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('AAwMCBgcCBgsAA==') +}; + +const right4 = left4; + +const ball0 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('AAAAAAAwMAAAAA==') +}; + +const ball1 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('AAAAAAAAGBgAAA==') +}; +const gol01 = { + width: 8, + height: 10, + bpp: 1, + transparent: 0, + buffer: atob('ABhkhIS0sIAAAA==') +}; + +const gol11 = { + width: 8, + height: 10, + bpp: 1, + buffer: require('heatshrink').decompress(atob('gEYk0hkMthsBBAI=')) + +}; + +loadDigits(); + +let goalFrame = 0; +let score0 = 0; +let score1 = 0; + +function printNumber (n, x, y, options) { + if (n > 9 || n < -1) { + console.log(n); + return; // error + } + if (digit.length === 0) { + g.setColor(1, 1, 1); + if (options.scale == 0.2) { + g.setFont12x20(1); + } else { + g.setFont12x20(2.5); + } + g.drawString('' + n, x, y); + return; + } + const img = (n == -1) ? dash : digit[n]; + if (img) { + // g.setColor(0,0,0); + // g.fillRect(x,y,x+32*options.scale,64*options.scale); + g.setColor(1, 1, 1); + g.drawImage(img, x, y, options); + } +} +let inc = 0; +let msinc = 0; +let seq0 = 0; +let seq1 = 0; +let goaler = -1; +const w = g.getWidth(); +let owner = -1; +g.setBgColor(0, 0, 0); +g.clear(); +g.setColor(1, 1, 1); +function onStop () { + if (goalFrame > 0) { + return; + } + stopped = !stopped; + if (stopped) { + // Bangle.beep(); + if (msinc == 0) { + // GOOL + if (owner == 0) { + score0++; + goaler = 0; + } else if (owner == 1) { + score1++; + goaler = 1; + } + goalFrame = 5; + } + let newOwner = 0; + if (msinc % 2) { + newOwner = 1; + } else { + newOwner = 0; + } + if (newOwner) { + seq0--; + seq1++; + } else { + seq0++; + seq1--; + } + if (seq0 < 0) seq0 = 0; + if (seq0 > 3) seq0 = 3; + if (seq1 < 0) seq1 = 0; + if (seq1 > 3) seq1 = 3; + owner = newOwner; + } + refresh(); + refresh_ms(); +} +var stopped = true; +Bangle.on('tap', function (pos) { + console.log('touch', pos); + if (endGame) { + Bangle.beep(); + score0 = 0; + score1 = 0; + seq0 = 0; + seq1 = 0; + inc = 0; + msinc = 0; + stopped = true; + endGame = false; + } else { + if (inc == 0) { + autogame(); + } else { + onStop(); + } + } +}); +g.setFont12x20(3); +let part = 0; +let endInc = 0; +var endGame = false; +function refresh () { + g.clear(); + if (inc > 59) { + inc = 0; + part++; + } + if (inc > 44) { + if (part < 2) { + part++; + } + if (part >= 2) { + if (score0 != score1) { + endGame = true; + endInc = inc; + inc = 0; + } + } + // end of 1st or 2nd part of the game? + } + let two = (inc < 10) ? '0' + inc : '' + inc; + if (endGame) { + g.setColor(0, 0, 0); + g.fillRect(0, 64, w, h); + if (inc % 2) { + two = (endInc < 10) ? '0' + endInc : '' + endInc; + printNumber(-1, 2, 64 + 16, { scale: 0.4 }); + printNumber(part, 34, 64 + 16, { scale: 0.4 }); + printNumber(two[0], 74, 64 + 16, { scale: 0.4 }); + printNumber(two[1], 74 + 32, 64 + 16, { scale: 0.4 }); + } + } else { + // seconds + printNumber(0, 2, 64 + 16, { scale: 0.4 }); + printNumber(part, 34, 64 + 16, { scale: 0.4 }); + printNumber(two[0], 74, 64 + 16, { scale: 0.4 }); + printNumber(two[1], 74 + 32, 64 + 16, { scale: 0.4 }); + } + refresh_ms(); + refresh_score(); + refresh_pixels(); +} + +function refresh_pixels () { + let frame4 = inc % 2; + if (goalFrame > 0) { + frame4 = goalFrame % 2; + if (goaler == 0) { + g.drawImage(frame4 ? right4 : right0, 20, 10, { scale: 5 }); + g.setColor(1, 1, 1); + g.drawImage(gol11, w - 50, 10, { scale: 5 }); + } else if (goaler == 1) { + g.drawImage(frame4 ? left0 : left4, w - 50, 10, { scale: 5 }); + g.setColor(1, 1, 1); + g.drawImage(gol01, 30, 10, { scale: 5 }); + } + return; + } + if (endGame) { + if (score0 > score1) { + g.drawImage(frame4 ? right1 : right0, 5 + (seq0 * 10), 10, { scale: 5 }); + } else if (score0 < score1) { + g.drawImage(frame4 ? left0 : left1, w - 30 - (seq1 * 10), 10, { scale: 5 }); + } + return; + } + g.drawImage(frame4 ? right1 : right0, 5 + (seq0 * 10), 10, { scale: 5 }); + g.drawImage(frame4 ? left0 : left1, w - 30 - (seq1 * 10), 10, { scale: 5 }); + let bx = (owner == 0) ? w / 3 : w / 2; + bx += 2; + g.drawImage(frame4 ? ball0 : ball1, bx, 10, { scale: 5 }); +} +let dots = 0; +function refresh_dots () { + if (endGame) { + dots = 0; + } else { + dots++; + } + if (dots % 2) { + g.setColor(1, 1, 1); + } else { + g.setColor(0, 0, 0); + } + const x = 67; + let y = 100; + g.fillRect(x, y, x + 4, y + 4); + y += 16; + g.fillRect(x, y, x + 4, y + 4); +} + +const h = g.getHeight(); + +function refresh_ms () { + if (endGame) { + if (inc % 2) { + printNumber(-1, 80 + 64 - 4, 64 + 16 + 8 + 16, { scale: 0.2 }); + printNumber(-1, 80 + 64 + 16 - 4, 64 + 32 + 8, { scale: 0.2 }); + } + return; + } + // nanoseconds + if (msinc > 59) { + msinc = 0; + } + g.setColor(0, 0, 0); + g.fillRect(80 + 64, h / 2, 80 + 64 + 32, g.getHeight()); + const two = (msinc < 10) ? '0' + msinc : '' + msinc; + printNumber(two[0], 80 + 64 - 4, 64 + 16 + 8 + 16, { scale: 0.2 }); + printNumber(two[1], 80 + 64 + 16 - 4, 64 + 32 + 8, { scale: 0.2 }); +} + +function refresh_score () { + g.setColor(0, 0, 0); + g.fillRect(0, h - 32, w, h); + let two = (score0 < 10) ? '0' + score0 : '' + score0; + printNumber(two[0], 64 - 16, 32 + 64 + 16 + 8 + 16, { scale: 0.2 }); + printNumber(two[1], 64, 32 + 64 + 32 + 8, { scale: 0.2 }); + two = (score1 < 10) ? '0' + score1 : '' + score1; + printNumber(two[0], 32 + 64, 32 + 64 + 16 + 8 + 16, { scale: 0.2 }); + printNumber(two[1], 32 + 64 + 16, 32 + 64 + 32 + 8, { scale: 0.2 }); +} +refresh(); + +setInterval(function () { + if (!stopped || endGame) { + inc++; + } + if (goalFrame > 0) { + goalFrame--; + } + refresh(); +}, 1000); + +setInterval(function () { + refresh_dots(); +}, 500); + +setInterval(function () { + if (!stopped) { + msinc++; + if (msinc > 59) { + msinc = 0; + } + } +}, 10); + +setInterval(function () { + if (!stopped) { + refresh_ms(); + } +}, 250); + +function autogame () { + if (endGame) { + return; + } + onStop(); + if (stopped) { + setTimeout(autogame, 500); + } else { + setTimeout(autogame, 315 + 10 * (Math.random() * 5)); + } +} + +Bangle.setOptions({ lockTimeout: 0, backlightTimeout: 0 }); +autogame(); diff --git a/apps/football/app.png b/apps/football/app.png new file mode 100644 index 0000000000000000000000000000000000000000..80d7cea15c55652bae48d4da21fc19d18b26ad61 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCwj^(N7a$D;Kb?2i1F5;5E{-7? z_ufwT7HTlyaPB_*cYROxZjHrXwDqgAjeR{dSR3w4;QYT~V)+igdPa^v7n%9b&fco4 zptR6hQIW%efl0t(HTTt>4tx#@)#6=c%5(QNC@kcW>+o9fbMJKK{9-429ffU^)ju4_ zdhu$f{8>g7mPTG1g|&va6W{G-IWqHei6V#3JEwbOhb}Pgg&ebxsLQ0B}DRnE(I) literal 0 HcmV?d00001 diff --git a/apps/football/media/ball1.png b/apps/football/media/ball1.png new file mode 100644 index 0000000000000000000000000000000000000000..c72e5618919b0035ea210d2af16ce24e660ca25c GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?dLPZ!4! niOb0e5@iqUMHIRXFW!q{n6;4oH_N)%J0NwQu6{1-oD!MI!3HFq6Q|4tQfx`y?k+$Y2!1;6u4iCiZ1Hq) z45_&F_O@eQvw;9>fJ~t)U*^-k9kaQX`d)G}Vw=53zcRahx#0{)&!tn0POOR%IMBq( zEv6H}k#G>qVA%j+FhxKZj5=UOD+5psP{fG=q#A3a}1~NuP=T5)x*thPXPk`xxx`e&fiP-@c6Urm@ ztH*3U@m6K6qb*al=v&2Wn=fjIh}=+H^WW`s!1)8)7PKaQW%w$7Lu!k`nz#k`7=t6- z6Ta4*zf~*!?T5*os>%GvUp<}k_0-3OTw$lxe{>j!S%h`JZwm|v-4ON4%4NStf9$uZ zVe4cs{_)n--Mi~c?GBsRMZ1=4KYNyY1^>T*L)f*ZxjSvsBK*B)?5F!Z|@!~Y&H;ZxM=F^KgCHty5m=X=DMz!Ig;`Q9&5zBU;j@pD(z4}e~V5ijg>d;pRa8uBd7oT&90BWE{E#we$wjhx*_vEqxqr$_qVNfp?5<} zZ5|0;n0ZihK}U<5&0*`?|CJ7`=uoXV%dl8++9Oleo~DTA>oNr;N1|-R4+ILXf3TCW zudPD#yl8=l3->(hg!dg`dx8!`@+_U=61siLrR4mG7qbs1%x_y7cmDeK_UZrH&b0qJ zTlwbtl}DX_ueSL@OacxJj4BL_ECLRA zn16OoOWpbJ?AFPGPuF?7>6fJLDxAEs%Cuu|{MEST8zu9SIUi|kXVGxXvGX)}zDHKE zugtzx*=4)rw)q0?dnJ#`J<`2A`M#k0{>jI!AFVCk9a`F5Bt2z&xR@Xie5_YUSBjn2 zS)g}E!e63y<73Xpjb%28F1PyBYt)jCzZSh%^ncc*+K0(!o9CTh&hSE}fq{ubp@BsK zNPFO7{*Z216}8uGXZh=0b|G8q9YUw>y}GwbW9gGN3)kbH-R9VSEIJo`QfBux-P4$H+##5ZE4mnVdbVuoAzxGoG7}kI_lvp(`&p9f*;l?m@)RWgm-7K z^>l=PZa>N*A-P`UqtSzligK*$SvLMGt-tu;$vJM7#gFbbNywgWvIti&s`Gcb_={OT XVSe$?i=n;16vyD{>gTe~DWM4fZOs}# literal 0 HcmV?d00001 diff --git a/apps/football/media/digit1.png b/apps/football/media/digit1.png new file mode 100644 index 0000000000000000000000000000000000000000..53b914ded01cfa00dfbd51a90877ba8b51988ebe GIT binary patch literal 386 zcmeAS@N?(olHy`uVBq!ia0vp^0YKcq!3HGf=)Y?MQfx`y?k)`fL2$v|<&zm07|lIh z978H@y}i4ex7mQfHE{A$8?NdK?fyd{OMIP`D%=(n^ zdmhc^oE?7W;pbHIYlj(_SU3b0fXD#sjybUU^Q(UnF8@PzaRe$Za&l?y;1U#7(sBvu iSRnux0NVO*tvO%d#n-!Mepm_&R0dC1KbLh*2~7aKXNlzi literal 0 HcmV?d00001 diff --git a/apps/football/media/digit2.png b/apps/football/media/digit2.png new file mode 100644 index 0000000000000000000000000000000000000000..7a7787b05c103e9603841431ae53bb2a59ed94d4 GIT binary patch literal 606 zcmeAS@N?(olHy`uVBq!ia0vp^0YKcq!3HGf=)Y?MQfx`y?k)`fL2$v|<&zm0n1nrD z978H@y}f&IW3z%tYvP$3lb7CTZ@t03G-7K0+Dtw(VriV^I|cCxsRP zCy&`aE9H9(=Ph2a=Jl*MM)o;3Y~y-1W<5^lIQTX-C^b&dS3dBbK>fp`60Z+dIqqS) zwQcRYxi_sJ$}1m#vvAKOg*FZ?gAk?W$EjR1T-B?0Ia_wcWbEDLmWghjSt` zhe88`5CbENfCCed#pJ;NWHE38SsV(CKo+A4h}FR2Flqjrqf_sv9#CNy+#}u*RIzgP zL+|)-j_{5LdmW}6+#^g{^61nfd1`DTr*CrQdmX*~{qMRx_49NuB;8Rh zK6h}kb;gq7u+_Yt4mzK!%zW0(6HZ@R7TbEi735-U?gV;e0t4Jr2ae?2ZhK`u$1s7@ zLhD}4s+{k&|99H$I<`OaZffMTXRnv6p64sTb|d5mmw)Q^Anzl2?`=d~#4B_K?>^Y- zRML8#>7wjB(?#Ak-Y(lK!aCM{T&3LCaD7Snx3=`I7oz7`E?URwJ^CXsF*3-hWBDIO Y2el%pTiwqyfC+}d)78&qol`;+0E}P$NdN!< literal 0 HcmV?d00001 diff --git a/apps/football/media/digit3.png b/apps/football/media/digit3.png new file mode 100644 index 0000000000000000000000000000000000000000..a197d59935c11e6ce79d8d40cf231042ce23c89e GIT binary patch literal 620 zcmeAS@N?(olHy`uVBq!ia0vp^0YKcq!3HGf=)Y?MQfx`y?k)`fL2$v|<&zm0m=rx- z978H@y}kRex7mQF?P0*iVE4p+o}hyz)!8(x&^Ysgcu?rtkc8;NeFXm#+`1y)@q}_tx+3y75&=l=q|Xyp9(K-5me4 zEx%{9S6S|1>C0Pjg5Dn_BBVa<;?s*0$o?QPSNh{F<|sFtW^*DdY6inQrqAmR}A6+Ljo0(x=}di=p58Vdj=S>=g`hX}8U`Cf{Gi&CH?D zz~aEb$TEQe$YKxzvIHEMfGj2s1x5j&gbIk&Ao#h)&hqlwixoSCTt1WtoPE%FVqUS_ zr?!8u%U28fK2$v%`ofu;+xEd#rKWNr!{i)*@aO z!!w(8zc-p!3H`MG(RibQ{Sm7$r|M>l_eP~HZ)W+Qu6Q=*dueR{yX?!m)&(m)&;K!V z;=Tu&oJY9V9bI#4VubO*5(c32V2;A>ZV#Z60~0UC7(WziSbz5@!{-t8AidE&-DdgQu&X%Q~loCID^219<=d literal 0 HcmV?d00001 diff --git a/apps/football/media/digit4.png b/apps/football/media/digit4.png new file mode 100644 index 0000000000000000000000000000000000000000..f2810a0b63bf62f58e0a522a5ad4d1308b675b0e GIT binary patch literal 535 zcmeAS@N?(olHy`uVBq!ia0vp^0YKcq!3HGf=)Y?MQfx`y?k)`fL2$v|<&zm07|(dR zIEGZ*dV43ZsL4RYA@GgbP4?ZVw7#x3_G8aHp=_x5{M?t#2g|v%#A3ueC#iV8S~lg9 z@zO7I?k3*emTvf9lTNVmKPi{`O0Of|f3A;6&^oezbNtp5A|2Jm@jEZ96|_HF^EGL^ zi_NU<$C|b~{mH);)qRi2F#X&tZvNgG*2!;=w!7FE$9MDcv{saD3zL>)+L*F#n)EBF zjU~&jNxv2{G&+BAm;L5B_t(9SO1+!Okj*Nf;LyMTCYd;ZY(^FifdvdqEF1w0j7%&V z4GfHaktbCXkD5Qv?qlb=oY;a=&!1 zt@_C6gFkNVZFn#JPF7!d>EGfCuS|(OGIMfo|EgqsBbYy_~pOTt!_5rWfsRj_$k{-DVgQRUO#>>`Q)DR9~(8w zOn&@3^4EWY!nBa4>7VCVTrQNmIoZzY=l%i%pmQOPW)cDVijfP$Zy#DyNk{XO1b{Kk;OXk;vd$@?2>_A8+)V%g literal 0 HcmV?d00001 diff --git a/apps/football/media/digit5.png b/apps/football/media/digit5.png new file mode 100644 index 0000000000000000000000000000000000000000..d8027c3622bdb53ce6d624ce5e11721fd9c1aecc GIT binary patch literal 656 zcmeAS@N?(olHy`uVBq!ia0vp^0YKcq!3HGf=)Y?MQfx`y?k)`fL2$v|<&zm0m|Q(w z978H@y}f(3@UVhFTjGZ$>QkNMMIPD3bgfouw=mx6!FWV(_lG*;eMhC9OFD3T6lPLv zc{BUQuh#3YL(2|&Y94(ke%5ljz@ba?=M)R-YG^BWJzm?R(Ntb~aH@c+cic_Jz)iQN zT@_q3mHh?>i<{Y!uq?ZR7hAju*`<<~_DZXIAd7($$l_371hN=&yw6D<5U5L=`|XJZU)OVamuGDA zRJJKBo09eKU5Vc({TwgNEQRy)r0>QEoezleE{I5}bQWIZY9rneuHB&XV5ZxbrswaT zr3s$rU6g9`xkK)Qn{wYf^~%={_y7HuZ}wiWe7W{5hdh-BKb`*M2kw}C+^)Og-MqQF zj~Xos^xLD3tms)WZ?&z=yz}YbZ#=t}dDFG!EqC67MvD!)cFuQR?fvlkuUwsP+!|&= z-cSK~sDaxhNxEq*gT3}s#w{&BmVP~~dv@Z#yPFrL@pA~ztlaeQYGZ@0aoBR-&!!~~ zFLjS-HeB;7-`l)`FXL;?!#I~vhu7*c-xXFdR#_(R6%Ay)z#ON)$YQ~AUiB&gS4P{Z zd*WOS9nM#5?MPaEGyK46R~fz?LUFuG6=4G5$6h=3%x#G7iQ9ZJw_1s+?s$ZTZXpg0(QBHG%(v)uRiyt_Uu; z%6|I8stmphQJ!;x`v0?KuogxspOAET+p+kAoN2vGGLO=xqY~5irY)RuY1_KjADBMW z*mcidx@^h;W7Uh*by07g#0oL86v{o2{^)o1|5?VJEu0MuOdJY~0uBs}Dj-$^3y{S! zfdR;35CXCU9GHNtdkRbE>Kr~}cT!H^eb@Fmjy;BH+dVaF-%hp>s>u5P;?krU%{z;v zGd>313@+n$R-Py6a<<}?pzZ_KZfAon4`(`EvAYv$y6D=Zbf$~9Ce$0Rw}|?9<=Tub z%BzlT{vZ<8oc__)!2I~(3)PFZ&hmI?V=rIlETDU>)jLi6W!H<9rfT1Bm9lQEu71!n zyZl|uzOzR(l@jy$I^OA@ycI9#wa6@4HmBO>ULpw~b8ZYg*yQ+4#efGH-uU(V( z-Tlqac=9LMJ4_x7K<_Z%@v*V8(qaA=c`|OU<&Xcd8yj{!wMsJU7gI0W(s$eE%HGeN zhI;A0YWV;9XU4AB^6*8YU4vLyWp2w2xeJ$scJd0`X0D2g|G|Wh41aT9S06B;GI+ZBxvXG+3&~o#&GUg2)3={XYz`gn%&k*8^i;|7 zubIx>1yhRNv!>5lw%qReRO>uBeWh);e_q$f`6euQ`~0Rb!SdKeQO-3cpUj$bSw9NK zx#U={J>U0(Cx3eB$2A@6A6RZs`B=tmBm78cPb}m4h8-gL6D|lU5=#6 zxG#Rn{-{vCF;^fkTd;Qzi_#tzpvxHVn?JHS&p%&#qKaph#&hd)%&+4*_k6whFKk__ z@}aE-&)k@fsLXpA!^oe+YIFJL`&IwG_sln)%*etapx^)^5e`7JT6*QT)%&Y!7M~3e z-gsIwMtI|G(+y%t*V!jZb=;M2-Q3}qJgI|WG6pK&SN6`#Ki6xLil^vr7L8N49X~F= RdlML~44$rjF6*2UngEpD&~X3& literal 0 HcmV?d00001 diff --git a/apps/football/media/digit8.png b/apps/football/media/digit8.png new file mode 100644 index 0000000000000000000000000000000000000000..6916a301af373a63926bf66f904fbebac2561b9a GIT binary patch literal 709 zcmeAS@N?(olHy`uVBq!ia0vp^0YKcq!3HGf=)Y?MQfx`y?k)`fL2$v|<&zm0n5sNo z978H@y}f%j_pkv^TcYX-Kgpxj1p;pm2AWK*_H2~9^P)dUo&y-p8a@_cZYP+!JXIKUHk-Z z%6*g#IH$lZ;dDdFuzkAqf29Mlg5Dp_FqAv%95rUW!@7~}yi7sqk*Gb24Xc&5J>X@I z;oT^jukk>u!?xlu<6h-&kESx%Ii)A{IJ%sZc>Fdi(j)ZzluKVir#}Du^ZlkPuPctr zIlMH#VtZBn_^&2V{&L29v_4VpkGhgo!pI8w3*)~TlD&%lLF1w5kDhP4rs`SKR5_ZCg%Cs~^j-6P926(JnHlGF1Jq)0fTb?`(gc zbA$E7y;-siJImG|c(?9S%kh7QW;)({xQls$?KNwL@&nn9CX9DD*NbhGE^yx?bwuyL z+>c&@yBWfFo}XAaz;wyr>FVdQ&MBb@0Lo)JCIA2c literal 0 HcmV?d00001 diff --git a/apps/football/media/digit9.png b/apps/football/media/digit9.png new file mode 100644 index 0000000000000000000000000000000000000000..d8d3275231d20e24c43db0060d221b10e78b236d GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0vp^0YKcq!3HGf=)Y?MQfx`y?k)`fL2$v|<&zm0m}Ysp zIEGZ*dVBZo#6t=qZHbR=OkR57xMqu;M(e6g=2nk)%xanM%=hGP+MeiM8%35#j&p)e zCrURz`BT_axL2s}d)@Wt^L{VXR26rcA?4?C=kdn?+XJuW%>JaRls#QL*Ud$A&szRD zoF5~nZOi@tx%c&(4)zbHvYx#@Ypg7HFq_Fj`H|Q?eowVJz8%xWs0SALCKLA8_@%Tg8lalb}{y~L^LnwvS3QmooBTm^@vzS^wZtj zUy1G6WpTf)!HL7Wr_fik^!>V=($GEMcd?(hbPf&uJI6%x`r5DCZ@tQi_So#VNo+x? zOYiA#%f6;wy*<4tW6MEvcLo*#2L{dt1||*#Mj(q(1;lD#0kT*oFaTK$LO|AsT^FN{ zT(X^NoO(LQ=;S5SIrZs`8>?2u@hv(!E4+C}`}QXa@6P@d78G}iDD!K{+VlPNYl~>_ zZ>}kKqbuc;ZMMAGpX!@)muJOVuUo4-v(&B2b#KnBSlaO_{FL>n#?(*Ct{<;eDw};< zHu=tx%>kc_1kd{PZ0~sP7I{2L^1RI>j*4r7?Nw<_mM&Qexe6V5)2=T0!mRFW^4&W{ z#ie+EtGm+`x!y=C<+AhZKkf-W#+>eXS}^m2!F+DKx zW0628L;8W!4lL{01oyC&r+*L;*xa@`sVCd(WG6@R&lUkEkKBI@znpdI7CZE_0Mjjl Mr>mdKI;Vst01dH2F8}}l literal 0 HcmV?d00001 diff --git a/apps/football/media/digits.png b/apps/football/media/digits.png new file mode 100644 index 0000000000000000000000000000000000000000..68ace56af51097fe0ecb76f746df068fa3c845c5 GIT binary patch literal 70585 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

}mLU=u5} z+^KjlnayPD_?|?6m4=KH;@F*kKHM4g!m(^?N=V|jgJiDfhdXT+7P*lST`@a)Z`kv7 z??wZ)sF2(1ov?O}8Y#b*j**7XY#z8CQ28z%GA;6>wt|Qk{BMwr{bQd^-_nkgh){Vb zKrK-Tqpt=3tNSIR0x6gc9wwFy$cfEk1JGQe-A{%hd+1jZ&bgIXy>M9@+-f#EcF1%_ zFHM`!i*j*+_$M7^>S)~nNprYR#ktuqX7SN!Q{JqDJdcqrptvoM+T@g_riqK-O42XC^C|e&xV~rlFnNlR%6Y4mCXwM7Ws~r7 z@;lK9J`EC0+*%YFr`$2?uxrRdBo)gU39@=zkN+qcZAzi}E?a+xJb!yy{qh=^XM&3} z|4j>+Or2ut{xz|Z#@keYz0B&^FqQ&Oy7!%fZQZ_4%%h%tnrHI#Hf@}WQw$G&s22iH zz^f1{{|A0SfxeRc{pIClO3^^$mzS6Ab{`$~YOU7sGH?Y@El;s#)%kojqiaWHhS@Jb zL^{~EJ`7}X)Ls~M54uBvVjLxYNJ-iuyze{ZIJP?NJsIX>?B3Jqq=L8G&06l?zkkm; zgOYdTE|-Xi*Y}SYr?w_5X*j7aWA0Eo!a_N{Oe!Vp75pjukPF2fT-Kvgv5S|4{p0#OJs z;tV#eV(-AJoY64VX^}=%bV%20uMpB0Mu)@3g@?m9(?^V^vGJHuP-W&E;^lIgP74v8 zmMlkBi=u?6paJwW&HFUpa%NX-)PM*^OH)FkFdeE^W@0EJsNgWY+jz4`PcVnhsvtBK z`mE>g2;qUiJczu)kKs7?&j=wDZtj|O>;!hRnWHagUKMJyN8_xYr5e_N^d`T9qONi_ z8mf<*e-!f{SrVR#j>>y~mEaspjX{q9JyrscDp+o9DwnM^kM*h=W3t0(R6JAdtYuFW zo^0YqlQ-+xJVbQ?t=oqL5ebk$0a)fkj^5s~sRt?xWi+n8*GE!^CSDQ8417Bt_Iec`B8Pud?*=12zne#4}yLbVep*ZwB`&M7U7SNA08`W zjHlD-bUKZiQp_xU9*&5J*WDe-`~(_@lg9o~tyQ!U#t;Y)nOox)py%KAAvxzNOcYGq z{d8JXK5pf{ZF_4RV@zr4nY1dxsP572YrWrTwFkzqmVNYdGH0M@{Tv?zx!rE&Wan_9 zV~B2w5JJEZ>``7Wm-T*Mmc=y7x3aD4%B)0W^DBGdK^9C$em4>65l3>)db>V$h^qMl z#2DXyzm9YcFDLK!yHAik40xuA2)y~!+wuxt@SaYmTI=^x`g1|t_kCHGFJHdc)V;Ol zY?yKEp;@d+Db1&4-*-IPMOHm5%hGClGM%*S>3Xd`{U_RWMN27W;$ZkgO3|Ax@vt$U z=b0!T!`0&U={7z#`U(%CypMq)gEef+old9!^q>CI`Sqo>HboVY_xE?J^6V{#5Ms>c z2j#ohdI?r}*gMK0dZW9i%nIHuIDAl6&wAoOD|j*@@@B?34qYpIq+aHeBi$lkZ>P2P z_U-G~l?fpj;&gNe!!dg4>@~N{d1#!cl#Gq$6Cq9^8@WlN*$fQb5#L2ArCQslq32p# zE;s2|d5;30Kahw3dyX~MY7b0&ucInxN{I-W*>JNi=RWT4rl*5$o{q^-lRqIjnImEQz?>2hk-lMh=)^+tkD_i9DX6HGD5L&5T3|ZJZoi4ZQ=85pS zuC2=Da{2M|_f9m>=nsGJe-lJB_fkYP4KeS=Ap~~{@OS5TJ(>VHX6udp%jIGdrp%10 z_ArmR&bl7mZ`-iez_#B$8W|fxV~a-y(Z8|1Y8AX!PUrL4o|~n-_C=S{A2V$GKx-G- zlh3iQSW}OFdwUa+A3uJSc`^awkB^Ul`j{&c92NX5L|AM$L1EYOuv~ncd3y5d^~B|V zyL*jgvwDJXyWOlYF&f2&zyJN0QcG>k{@0l2(_+{W0JO&T^Y8EPx7%%577NfH@7?nA zx8Hu7a%Sc)U%mpspMU%rWBlcpU)ObwedP%eO*#7BTh|Q~nWdHnL^)5b@z0;{%jslB zAR)xYBBCOCzpVsh^^J(6oLqRrRznv;I2tOYl++zRSws?rd7A82?NrbK+aaR2x3`po zs?=IU*sKk^z45wr%uvK!BSVM)IOVCDbnC&gNQcLURou>WXnP?*3k}CYd4RuGhC9F3 zjoMhm^aVtuRj#Eh^P(bU-`D$n-*yC;@|vt{)$- zZ*TKF|Lt$T{>#7o3js>wZTq<2Z>3agW!fSOA#B_J{{DV7>hqxh7GsE0_Symn`H=7I zL;%&8Vv7Adb}>C8LAW2+1E>L2fYhaiI%mO|hlpg4ah~VX>1>KYM0CC0Opv11ibsXV z%*++BYpfmi2hGP$ZI$okA&BBCs6N^5uHHtSH^R>d!i)`%vCr@EW#2bM2!RgwXd6|| zt(kV5opZrE%rQq*QBWi#LIvd}t#OKpkYb22ra(c(6tVPvT@fh62hqTMA?;aBQ+6lN zS{t*J!#T10-W+Y}oYO<2jE0`UR%{V&+g1+U5v#*RL_0Z?4Q5eQvo5xRyOVB?_d6G= zA|eFmxg5)>d%wEGkv*t`75NYhHB9U%uOF#NsqN+E<;#~ZIp;W4>b4e7&3Di9ciT>hI_1=j z@KWn$R(^il{J$r*r_(7PyCsAG3M0+bg>^k3&hs3RnEAe&(*cb_#a=`jxM9KFmZRkg zwo$#u=s=L|f&QyM*<>*@CkpO|?Ok8rJYLe-D-#hMI)cY!b?_H4+Hsn)S-^(?I--F-D5$E^tqBz1~Vlp;LB^YBa*3zJ{H$=w4) zQB^#IS5y^39CmBhl7Hxm9h!TluG!t7V>Bo-jt$AN({%(jaliV@wJQXtWaA%U-^#Xah~aX%Oq0=bgMoXl8558QaBq#7 zE!gz{s$J&Z*7TG2nkCn7Z*S)0no<(!J%jW4d|y{fEzLsS;hJ_Fz>gs*>uIs5YTHX$ zH(0Vu7W@Nyhii1}ms??qLFE(ri4 zZc%Dt1p0J6c2JFKG*1=}ga6Ga4TpX`Z>I|zr8B2?Os9nyM4*YViXspZ5DH7>ra*ty zkaoqwk(k>nb*{{{HA4uj01}bh+J3!WKR#}t;dWcE*SkHHdHF>BU^Wu|N zxgiN7)@CWWMHYLDDJ9UJ&cqnsfByX2-~JXTU9VSC8-GC)jgB#DtE12mGyn3-FIH`w zPN%P@#UP`fKYs$*E6Fj&L}Ysy5%;otlA?!?i)A8~M_ewKIOTO+y9Q#b1FH(0g7U}j zzmL++4^}0RajZRLn8uL`+-^71d_9;Io&WALQ$S&`WTwG`>yh`xNDjw|Hh0vv%6F8G zwvcKin#=n7DP{ZQNHD8Yr+kEXG~jX$o)1PC3hFlFCSBSDT;bgC0mq<60epXMo}q8s zcAgh65uOAh$6)075f9M6x5P)jsi~a#W6UXkmVf@l2X*e;;1$MC()3OObXLs6vF(^2 zeA0pU4EO0=d6JI)EO`1!jo9-(Yw|s*nLS2RO$FJCMU?T{#{FW`NRM0)WsLIv8{L=T zsQ~(XUh2PlFQe5Ez$2mV7XbR?PynB$rtNjOCYWQDrjFsm4`buO&*0bBS5^Gu_aC*^ zx3@P{thKhLpV@%u%kN3A+B;+qBAL)in)JQUT05W554Txujz9h5AOG-%ytLwb*4tDfVl`i9 z22Rmu6Wu^_)Wrt?Ip8}Y5~NYt-A2?cT9#6{u_09s?ZDnfWqnVr>=&7hLKi#lvaUpW zl=)3Kq(~u93?U}5c6|ujzEcRx>9m|qNTrmb2zj39gL2L}&8;7(3yv3pqMJ_Dpk{M(fsEE4L=h zMx3?xWG%i#Ax%@4)F-t_=R5H0*RQqK+if*L^-}svt%a}GyD&#eG{>B~1CmvEWDWB; zTG;ZV!zm9$`{&P}9=l`gh%h3)U0y;65ot=9n@VjJ_bzWE+PINIPjvtr1>4o80nwRR zA_luX$bJBN7zQg>5vlujFMBCvE2}8l*?Hf$%0)l~5ztIZjTY8iHPsF(BRf`ZFlY&P zao?1P+mm*S72^OP$D;J3arFBdHE-N&8~}2jz31mCyq_iOdUyLGxBN0jH_~GpI8tGl z%=vuw0n*Vl!Qrn_p>hn+PbUz!GOE{jY)#QuEOpEs1QffAB7_l$BcgrpS$~WXG1zDV z09v1{KOcJ|z^>YG_$!m`+{*2**Xar(*i@L! zgjO&RMPoEYGqp^|tlpDDsQ17}miZI){IC9X<6-8>y7OQUJxx;WLKUt?vu)eDZmq3f zzPveX7zTEn4T*bN>>T>}bn$)7$BdabM~_TIym%08fP$oea==CCm}(bxvXO(FQ%bj5 z1(Xz2khRrTRW(TnVIs!H-53f0%sbWUAzR_r^A-gaonizfZrZAqYZ^yxct_p|+#%Im z>8;RP*VRUCp7!1}P2azNKc8Msr&C$W^?FTdT9)N{43xOP0)QG-+PX=W#ao|7Ra4F$ zK1wxwbGFu*M9HMdCp3$8mr6kf^Y=g+EX>ur!Xs@;U z?1G4}bcx^d`J8jMa>|N4RRxwOo7j2o;%_2?q)vaj-EL0#clv)R#fHL;{**c{F*=>Z z*zdyW@W*mzhf3@`uoB8H#u%&r&;Rv*l~S(Ps{y2{y6xRv+s%xzPgzk20SF!2^$YgZ z5&)k%3ggWD=%4YFRy*_ogEh-IALIJu05DC9b1U6+)v3w0PJFiC;Yv5#7^QsuV%qV? zCt98o@F&f{zp`=s&qIZG2u!1R@aS`@WJL+N=7j-H);-lPcQ4a{eUO*0?fr zj_Dy1D(ZmSxO3gx#slSHzipBcFe)1O(Bi*qKj_^H*VOU4VVtsZQ1Q6zP;33|x8HvM z{X1v?fS*5qhLB!gUu~vDwNDoN!#t)?8vsxk^zjBu@3DpE$G^LP_D^W+z-(zeSa`G% zF?LX-mFknrV@d4{Rm<%j0cS{wj!WtoVAtXTuw2kbk-S}GOyUtRI9~39x&Hn8cPnCA zYXqG(=E*BPtkGRSeRb_Jz~GsO&k~7<9IMeinvKOU=6?q!G>rn%r4*$6BvB!%CPFrf zywqABZJbe<(s+&gzR%NQvt!;lIP~Pj-%v{F=g*&n-I>@@$m{ibC^ebItQBrn(23R8 zs(Ra2>yN3b9#f+3!DS(MpSH&!?s3?-fQJjv8qgF%C}nptQYZEu?xYV(d8Cv&j-kQ| z3>t<^*4Q%JsBE870wod2bBa#aK9oa==$M$_Ub@bNS`}O0;k00;v@7~GW zY)EsD`@S=13;{?16bVD3oM($8ir|egpV%U#(I@SpJ%gb5u&(&4(v@mxf# zh24ljG1OY;d1p^BsITqJUqQnbXRCl6xf%&Yf|80E#U`h zNKrteX{|N3A5>v=gLBIv^s z<`~P$@9*#Zb5gW+y{d*7txi(a!y;ObSWKg^t{X^<<8{{Ku~6tl%+U$anPULP0_ejE zyX>`AZt6Cx2HG6+m^!3vQc8&-`0$sLe7r1h^8S(<#KsIc`>-*=5jiXrJ<)F_xs(F9!pU@dH2Nj2{9X;(8i|DI9%yFw$?gwWSoVS zQesfggnCMe_7HNdRRlZ>?##@9Pq307fnxX@yM4SYYyoh>G>qwnE2- z5HZY-ks+g3y%}!4_M)DT(NM-%6>VD5OYqzFgLA+iMLeecW!hb!|yDDIAbR03oNy(xlWm zpH#G!R`wzcIZe}aN^$zP|Mov#FRv*@PzY15jn}&6We$-_Eg@m$qSD^pUe3!jrTAa} z>;L`z_aEzhozk4*)T-3IDFdjWstt-u>wYka!s$FCD509KA%K}&p(?c2_F5V<3ngBH2vBNiEPJUUN+BWyW(^dV`LxyAMA$q)01R*!RRL|>VouXMsWes2 zQ_49OZe|+9!nM`L4GB|DjoYDIfPDO}oTmYckS5%i0f7Q3D1`tBqS{myK|q_Zjk_xd zARq;#UcDWhm!t})m|_YPK!L);0>g`P8wwt=lp!gODds?tn+Qvwt_gkpc)wmhR9YZl zt^g7Oh!liO7*m`=Fn@|_R0sfUjZ=y-#!`0??yU$S%j%Y8Sx!rc(J(ukU1OWlvA#D2 zMXFU!r^~jL)LeTglL0e+**op&I>A(t(JW!pcn!OfIV@`R=X-am^2`~j}+yDWCQp72xoRfh*`wl5)K&-V% zV*sqR-S6x9GWV)RMWl+bNK=p|@W=NbqBt+-wYEGjX_|p(+soURuhVo|H=C+9>Qt7kf` z+b~LZQt{*{gz)w2*C9hsrUsF7{?|X>M;?xfyei4xX!I9-hr{W_Z^~w~{#u-Q zy7|P8GYq3!;vQXCA8YU45QmuQXu;s2!!GP{x%j^J(&7F6{nuX>9G26=+2v?iwbnvN zzMj1dH8^x+nhX;>50M3{XpbhGo#>#dFPD>ZvdyQ5S!%5@fXR8}oLi~2*6-iHn~c~% zEsM_NynWn9WYuLad};aU;rPXQp8xTWe+XzwDNwL(x5H@WpxT+!rhgA?KAUDa@$fPy z9T2>(eQ>+oLL@}YF&gk-QF>Urk6u)eKE!ImD6a3-VV*$VAL+BGFbGg-KN>WpT5AyS zcx9ccl+t})4OKF$nsr_Gef|0Kr|<4sdwLWN1v<#}DB3@o#g zOb=6JlQRlPqs=oj|NWO=yL($}reJM1&a42`8-}H{)=KHE=28lw%=3)VbgWkq$vFYY zwr#3>xm;p29#P9Vt8yvUf|`#oQ3)Rr>xf<~3Ngh|GMQVWfH@~sP|^O~K&lF&1R$b_ zps2%0iXy<5*H@bwMSzGTNR+4Za{B(`4^<5m-Oa@Y@~xI%>Umw)+KQw9F=Qf2Im8%o z;QpnMJZj4!kX}k@?O`D?sy#l8RS>1AmDxv4pynWA22;Ji5U|~)E)V4Dm_zhAP$CMk```GkWJU*D`lm4u)C`kZ>xbn?Ap-!>W^dCz zf1YPLd@=fLV2pMY8OPGzg%h;KlV((+^v;2G+P1YJRAE3wLK8wDkv7<_Xb6D<2&)Jy zFj5GCTq@##$Qpo=<3AC~1KD$y)?9ad9w(H2l^T*iT~7XY<%h%iXq+>}G_vhKXCClG zbGKLHDzN}mN=pf+X%f)Z8Yo$_;81)A(gzoj0+>E85v5@H(4csR793nDf5G z-C_3dxWYizU_%#I4Izb)Y);*UmEC8-K`<+bLkI*&fQ_3^IJMRY`y;KY?T`TWlW7zz zwkEm@5~@mv*Zeugm`8%uT^inS)KH%QGj;m<$+bjbU1xmb5+oUru~ z^cXC}^TSy{~jHh7(xgX zNlgEpr_;ICy0=EEi)8i2lr<9L$_y^~6zj z=)6C3z$d!_Pr4r>o~=3C_aGJz;`2urB!mEH9I*B@(dkm$qZ+Ya%t(eDg*(S_kn!3O z>1pNIU1DNa7E;%$tHFr8cx=<8jER}gsYjwTzfnq14@)!;g(+|6wd~ z03bp)Ck)nm*T)h%olZuob4HvkhUIX(vFdhg^F1ombH*Bw9FI(h1SV0Kskqb zo~_X7>4Wjdg89Fpi0r%)5hk_20|P6koa)|UG9NO^r>Lro74ewK?~1UTAlNo}sG4@~ zOA1UNnoLji#VM-iht(9wKX-om_Mf7oVOVx*% zfuIOL2s-8sea9B&y*`{B96ka7I#_VWd4L{iM{2tlwVuZv(j(a=<*(Q4I2$-bJ#@?A z@w~yVtgOy_wKmT@ogTKNf(UE|U9B-;%qd!NBnpU>Vw5B9JCOBMnLP}%?F=S}0STjH zw#)|^w=p3SA_1Wy2uSn9#tI-4(zaHu95Eft2~-6^=};>`RaDVdg-}{!;U1|8;~~%v z095w&LaINB~R0|EIdtos6ZA~OerCBNymY8QkAW?Gver!=75dB&IyvHh4-U2#b}K*v+h>NF|GG4=bX}%;$&8-*Xw=X_pe{S z+Os;S2bMiRoRd~yWdjr-7PA^(T*U@rEO|{Sp3i5S%}{xqg-w{bsY(b` z>yC)#ip1{sd`NC5oI=C^;h;p}sNFXT6FY>Xs?gB_1puUE2)3!|JLcS~2$!DgAJxe; zO*;!J82uesK!HTfMtQ3hL`{&lSLz~}9!|1e7CQ_;-5#^Qi-3qRb&JXS{r>IOuf|-m z2@-cL+_%kOK@kbm8#y^=6!IaA(fZIk6JB9>CGHs7I1y%S3MWcB1$MN(>$_39*$Fd? z(33*J<#Mrmarnrc4IK`)nZd5=GpH^e9g#*vd)dc?-MUsHf`TrF;e5x@F`;YQc}~F( zLk>I9U3GQL$SffWA>`B4T9YcRHUJLB#!>jVe>{YTL$IVqRY};@Tbs6&lA_dFb9^}N zDR&D7J7esnUoMwCCkHdVNk&A959aQ+-yiZ;pU8F5>o6bBY^`BbA4fR0F1UTbC|NX) z9FGClbTgM}_FlyZ+C==M%{8*Z#wqbG>vXuDj8Koe&Wz>4Sc3eu`b0$Ya`$$N&pAy8 z-aYD_w87}!@5{MNqiW8RRlyTYTtr&kN8Nb;*RckA8uxkXb69QU5y8hH4a(p5>Vo{J z;JkKkrjCj}DW(1Br9DlI+k!mgGNX%+1f*Ikpt$(#IMkAJCbZ5CbJGyQbTQ|S=9P*= z|9&r{f08uUM zoP3aj@RQ-Xy*mJam^{OCXt%fLO99ak0v+lehUg6H_`QfUl+VlSKEUu_{`Y@AotM+; zWDG?BShu?y*pyP<-riy$1ijx^Z?@Nc6K)6!f+^)EMG*H&a)mfw0nEJJ?;{H5mR3fk zb$u!;MYnAW(V{DnQK0}3Y``62r$AyL3KR%YMVICDWTw>J1EWwCH1|%c>w^!h8=U#1!+O%0q*oBzo^Hrx1`(K}85D9{zh4CMZyd z!4_pt&q0t72}PC14NTaWxjnoTyU5kCLY@%F(ULg~f1HMni0x>GkG|31LN11<9j1n& z+UF+~^=P8?fDR#0RDo7G5c=%b*opkBhg;{W4bq~1(u}+SAKK{9hk~g`1E|?kc!E-E zMIZ!X7GqDf#s~y}L;=ypBB2*QfFT?^22d4jYNC{47H4{llINU_C+(bdI3_TbW#PlA z#pxvO4C~8#9Hjt7q6iSUfiSCrsa7+~zBjA?VoWyZCL$2XRR}_Oj0zl2^3z;4BG$^P zU^l3WX3AoNERR-%G7(Zh1)1l?KNA5=eZ#G%3{Z&_Oqj|iI-X{RJU=k~4hxl*e9J*; zLnKl5Q5YgrFg+F#6$>3isKO6^3UozO`^*Q6`{t$Z>lovdyIP>C zmfBnssv18&KI~F_&}pyRmoHy@C%?VDUEe=`{P>a5WOInO+f7)^Y^D}*-+N2h z)^)YtWJkJ{8urQlJ>yiMD{LB!W9g57Le6=s`_tt4m=WMgSYrXqWy2mwd;W}I2qtD;J{iD`uA2vQK2sF;6 z`bhlk_R&oZM5$Y8iHa`E#cHNnD_|ocCF^05gROlO6!3n(=kxURtd0kpy=x6*;_zSu z4WEQ)!e&xyj3C$jj3Ij?(O%!7^@~o(sdaUx+1LP2DSALxdCXzdQk;FnwONDEq#3NQ z=2V#;i;vdS)1ZD=a2U!RTUR-!=Nje6Pah1ffu8V5psaU#z!PDx)_r`WeowPRUKaS_ z=RC%a^}8LtKI9>s$TUjg+Fid~E*@x((cOnLm={drRM|KO z>=N~d4q?u-Jw5No1L(T0;h+EcKbs@+`Fy_Luchplms1EdO|!Ys->$bq-FYXXwwG3_ z55ApF^S}MuAK$)xv&(vWdo!b=d+uw z_6A+f_6oOcONqGET6W(;SP4T6snu%Bh=}H?=Q|>Tpn!@9AyUYcas*VCrXUKcpcE)XN;!$j zeZB2vo91bnCsFzN{?5u2LKCj7u?P?XVp&%NXtgR!AR@pNNriJt#443#D_k401jGa+ zRdP&oo^pspVM=+KmL*S9nh2$vzm>g*}`xk7i}7O=51_ zR!cRyWGN-Y;0&(4?0}e#FkzJtAX@2RpP#46)`_#~ed2EvSN5}H-*;EoY=;4XGcY?u zb0D9VAw5_s3M^`QZkJI2vnWD4+P7^>$>3?Sncq?>0OmZIxWTe4DP?Bf_o52(JWumv z(bIAuTj%%t-HHk8JUNGAnkHd&fvz$aW45w}C=f=_-Y}czr8RCnARFk1 zL?NYgz25e{gbdS69!SrpwFx6pOlb-+St&^r5P~p-80L9NDaV*xH7>@K^Aux3 zNcL^DvciLiWcbAB*xR{kX^t_P;XMcdV4#pv28B}UzU?YHQ-{>s<@u9#Tak5 zn|1qdx7+o4eH?GxJejixl~QzKG=PLamFv3RMe4FlfpD7gG-XRaOrys=nN0p36;%L% za+>lq*IIK<05GLw6J0sy(|KOk)t0eAh=a#hgM2ibfP=B9h+fl3Ht1*|sg8 zPM+Z^K8lY)%Bd$T9i&!pK3Hk(dc7JyazA86RMqB?k5W$u?dJ!kZ*4=9GAn!a^b-k2 zAH#9*<>7y>pTwd4DUHpK!4q1ZM6SlJjHmN2FE8F@!Q-WLhrK~d*onxdEN2opwl5Ay zw(Iv8!^LmpiSRadw)~n0>r9yEdDNJ4Lf4d+Pl(@O-!QJ0C#J(^JvRUVo71wfD!}Ob z%Sd9Qz}F#()EqK$@&y1OJ!(YH!2#fQyZyUVK&FTEvdJMDcUfKG;PYqz1+pyLqJib3 zs`~o+3V)$=s_I@=H%$S2%%Ay5@dF!Rr!Ki$?E$bf`$yoVzKyh;#-TFk}0^e(z+nL+7Sr%4K&pq@|_DQJP$f+EOZRW~+sWz-)@i z_8gdq=9jao0w|vU$4FbPwZvlx&e(u#bMva1A_FT@Od*Ao zz*-|MQV7=epg=a>4oHAN0Vp75m+`0~%9>L^M5Rywn$%KC72fy#{Ps3Y6Em;t#@gw5 z&T+Kq8Fvu|00kXo;@o>}p2r~m2y^SbH(HShAsB1RHX$=xw?V0G`)-HLL~(RRh%sUy z)sCKhQsEV$VHR?v`T7ClKjJHGoZ%m}@m(m_%4madjV5mYwIR!nU#Vn>L=@v8>Xjk@ z2tUIIQRFWMfx)ICDTxRT~!;1_00w78$SUaJj~#Lx46IRI4?; zjAkbOJtB+;83`c}f&zm+9-TEB$AL{>#)%%z4tPA1C(+f%aMd6n7Go@{H7yK2)qN`# z>{Ljt>SE!+k&TWAQzN4MUE9o$Ycv z@u$zX9XRLNGxyPK>UO)0F5jctDKxIFqxqR)YfTh{#U-uCc$r7V@T7n{3i|fAuMd`_ zbwvAABa1gnonLo6;I81S@Ib50e&d+cDkFgI!U_nV>~Ng!Pt>&lMt@B27Whu~kUi$< zW7YCxB{I0F;*)@;=Seh-2Rd`aBrQfqze6o?_ja_)AzQ_7#hI_Sv6?sQD&Jr}sxp>S z7J^%=J_-i;I5)Vy8zEFhapX9t(AQ}puAw2 za)0iPK{bY+jMQ4WiRlpg!m?}j-Rrd7jyw=j3;+~k7TFMSIs$Htv6g+Lu>*j~X#QNw z!L&(+BG||7`z{~?h!E(($0tCH4+H7S+zD6Rj5*OK3oij}3@i~aLU#fsKvhr{)9Oko z0R?8Rg^iKYg9QKu2*KJ%RHZ^7%N?6A0fhi=W_1L?fCJ0(!L)(kOdbS|6cDkM8Yq7K z@`ahpzH{ZF(G9|EHE}YEJ)p1{J>QD-5Tb4C5JE^XO_`ZPiudc)+K&TSSyijz4NAD!T zG4KdML=;^R6GMoH#0D5S*v1Aszli#ZdL_~KY^i6T(RYe3+n!FEB z6kV>@%)u<^^gF_!0`szfM#3Uo5F$VnR+R=J*g%^Kieh*6WNFQ2y3w;~bL~tatEv!_ zvC#w`6fRLUnX4YDPyuqDUC_bgVM4&1(P?$H*0vW_<*d_$amozJ%poPRsVQbqE!-eb zoHC`zpiKn>g`A>jN(mcEP#Ygq=!4`oI&DCAt+lptyI)g^R&knQG&3Nvs;=w0@0RP6 zQs;d7IeReuy7Wm1!8+gW*G@z+29x?XL?_0mJ!6Afd8|#v77s%eHXf;AMGhT3ObCr! z0}x`Q5UhqW?yd*zQ30L0fQm44^i zr9Lf{l65S)4_K|W*3&ePY^z6o&_ypO#u)2gybA$*Hh3gycxgCfeAU6?WarG_7OtwG zc-sq!67{)D5;%k#vNyxcA=JQ??t|F@Pg_Hs8wQa;K;(hv*j3rQDk8>?Q+KnqzoxpL zupCpJ)Y(jFKFI67}YVhDo+>1V9Z5>V64 zdq^pN)>HQjcKZe=J=st6LX6mHepjrsf7_$SZl4^y1Sk2R!h;mc`(YNAgT+b z8noLR8(>t)(RAnWJn@JX=0WN4(NCZ!%T&jXyvlUs)(OyFYkDE*b!x5E{CRCk&z_Sb z2cyZUYb`#;@)VqEdkFl8+q#ahvm2?6OgX14dQZ3K*#Idet2_+v`2-0ZzT++v)m;pP zZRI<0f3%J0Kpdb`)T~o$T5~pFZRX|C=r^SlV+osE^C;18sBvv-+F2bd072+hV3yPy z1ZTHu=egN)nIaGo*}%4)v94C>CfnP#y}Z2G;EU}6o7F0%yuBn3*5-0Z$1JK(P?{~D z9S>i=eDQ*&2^&3O-**V)HUt7nF&uu$Th6(ZW+puYKsNvsz@ow&5HZE+5i;1~d-G$- z8cx^r>df|_03E%td%Mv4G~Jq7}At;h>1cZBmh5t4yXt)}JPs;frG4}V)V-ZVs|PLz^jd4ib?tG_e7S(0 zU^+SI{fHP;LV75Tj`hQ6CxM6zTDgV3vBIDjt55F9J(9S(j#aykz*AlxvXvAQ@%!%6_H3~L|1Ln!kP!A z6l*z;Jz+x|jVxrNHg+XHKHgmf!uP))OU^6x4d(Eai0H8iMP#e($)(D(W;e35%B-if zZR_Mv0PAU4WL$3_P8fBjBO<0j_lt-kg%~5INras0rsjDoUBJ|5cPOH&3iegP0*#xQ zShzy)G}vYv3DOkOoN6*os#_&sOpq93Yiy3Fr_+fr4m}%iA44bIg%A|Tym%c=Zq~Ou zHm8XE{qKLjUax)3XvmlCf#_!~wf}#IjrXOUm*w%!>|Gpv=%;e6ZZQ%@_@OFUYLW$Wq3>#1R4u0-@~5sKDp5l(r6>?UpIu)r4?On)po&All4bF*tSCF zjQBw{=-Q3?H!m+QW}#F{sTKU!5rK<|)uY2|a!n6XUwHUSIoj#BX#?}N@171_0I1vQ zIi&&SBC_x74>m?6f*2+X;-}X)YkxA^j4ykuvU?H#rDgtZR;BCLJ>uLn8{u=|j9i{bXEl!%7fXNlMQoZR&;b_#O zNs1gTw9;Xu7~_08d6Wk1iF+yKe3>3`NgoR0pIVPy6d+l>>*H%aqJW5?Qmw!|HYt?7 zv+zY|ko@Qyt><7iyKN;Mh7e3+-fBuqQ^J4z$KMD@086P1pos79B~RyRzHGaET-QW4LX=Y2%Gy}wWzN&Imm+}Y%ZmUsmUUl4jEWjkEW9_VaZX{1 zMJnYGA{8ze5C}vx&l3jPYaxJTSz=73lv>Na*AU{ooMN0(o{_@!x&x3%WQJ1uf)v4R zZvwb1m&@gCp3f?fRMDO=?UAK(-{^KVg5>ki>iPrT#P19a# zP?9F~x^1@`6<#P_@_fqY6f+@3peamqID-&xpbbbSf&eWm2jq!x3OFSUzzB>HQ>GL& zAP{L-=4HyuJS{4)ZCh)cVP(7M%s z{qO(w%P;>R%7HS4{PA(8lwaPyUhnsqvj)0t+xvE{z)adeC{R}p-w+}Qjn1tULQI(eK>-wqf{51MZ4PK*nsubExSr6c)@3JX=Xw_nyC14s zj{L&hiQLto9kR>wWL5ji%S)c7ZQpI6uOEbdJ{`AXa}PH1)p--B%us4WoFGI6QY1iP zz@|V4x?()Q5Mv0@oCmJg8&Uwkkf$^)rE#8@kaB6f?nQv|a*BDb%(rcOd3^<nfy5t52Fq6-VH`}MxAER2MxQTdec*Pwq7 z`XA=-&rA5v6aB{}{?9MV|BCh7O#ifm|Cr$)QT{&RKb_KlJf;6>PXD29vy{u6ep%AD z0OyF8)ATLS3)h(_hB&bn3SpWj3SpjJi58J45-9|t(0E_hb;@%oyQ-W{%ggJ90+za$ zy3flb%Gq%AO6e(bllIEll|M>am>2eB*wz^g>F$b2q?l%P# zl@PLRF`{6^3PdWU)y4=EC^nYbm@vecLrATOu;w&P075~%zVo6A(j;I|35ZbvSu}(^ z&!?Ox1uV6E`{kEXw{`yzs4S%?O(@FDMhhVd2I!y9=Vh6!_?_qZHByy@yHsvQzkwL;4A#Ltqnk5LJP2S9HWwF6p7jyAT|0!>F-FCH^fkmuy0%ZQqD zPB|Ji@B#Ipj6>SymEfaT)?PC9kuy_0S^o0n%SeJmM6-+b)ZS4`E0xZt6hcVz)YW%F zsAV@iAu6g!Q$$j1l449L?OQS4_M9ezO1Ev>Z~L+=_#k2_C>dXIO4B&u?0NLMu9zYO zc+&dq{1Z?j0`9`kjxVdJW*8S6)bH2Hj?1!OB)iSl8W6gou%+SUesc)I-p;Zt++dof zT6CnGS?T=pa;^|H>nUL$XF+`IMnn(I{QkfdKN&)kDZ?Cxjld^< znjsA#1WM7#IH%KmsKJH@yv~>+|qGWf%DFRL-AJm*?g#t5^uL!_xz7v ze+9`goKkpIMn~=PG}&Od)i*K5B`?deG_5IrtF<)V5P6D|5s_HUJ(iFlNN_cc`~4n5 z?&S!uI}(}pt3MFqVbAkylxQ1H7`VmFksg0d#zM5T(jT2az*dcR+>nKcrg^r{>9v>e z^?Id}e975tP3L@eGa3efWtwZP+86+o!B=uuYB!ZE+ufvyXpWzelGSH+kLUCGcDs3l zW3&?PT4x=wQCIM?3dU{4pR^zUJb2I^)bXe#Ps_4^QfqD7_EJg+)xB*-5~?U0j5cm;E4zqdligN75v3S& zo{sz1Wm(pBw;>+;*m+*=_qzjM);1t|Agzwo8aD2woY4W{cw|H*vHK2xzM@YWDH~7(&=;fj}Wf-nI@EF7vd^A`%3Y1YesE-z|){5VY(A}kW+oQqLklyc5N z`%{~y$%bK#$T-_hCNNKBg9oQ+!Wdd>DTUMN^mabkJ{W)9H zwjYd{(nTeX9`$3W7Jwf|&LKp^3&(?g$UQ+pz}P`BVUZZ3SPn!eqD{r-G+6j) zh{WD$mnn3`onf$U#B-j`ttY<*gFRh~#UrC_tH1gt42O-h))XNU5_S$GLZ2%+X|3Df>G$xq zseQ)4{Kb)(2~*Bziwhy<)4ZsH1&|aIiiSYxl27xw&ksaIr6n#YpDUN!?On9wiCU{4 zA0JH>u@OZ;293TkZ@23__o0hY3IOK`a?YU9HGwP^8Mtlu@F;BKlx`#b#29T>(tIPG zObh^>vt`+K=o+0QI!#kJNJ*rUb8afNR^ev)W=@cS9t5CMhK?>v;U*#kfygXlXgiv-OI#npuFg@zZeQ^yYY7WX(w~1kR5&ut^?>QWbW0&gRzgb{_MQ; zoh(D=YMv*Hwom;Ak2S7HcpUiP+95szRZ1~NfM@P@=8MR>uOWn(k`-k0Je#OSjL{C8 zCd$=dQ)cFQKIM>(UYZ7pL^Pe|S}WNQCw>~OaNXrcuAyD03qt^qv2)--QxEc?1t3dj z%$anWrY@|BkaKQZSF3vzB`Me@+_nt}r)kP6+qR_?E|<&8V#CR5G+d+1`oLyRbI$qo z_0<@0w#-~+!+>n#8IE1(zQp_O;gbp2=&CY?{{B6KSg-$UH-j2THC{2B5aiPci&Z4} z`OjD{j&q}a&W-0*q=ad2@z zTi(8v=6ODyPV0U*EWt0s1~C1myu%0Z>9LO&=Hw+m=X?h>k(821y(3STf-_^+pqzm_nWPKW%{r=cc$^WuJfFoN7pCxuh+YXP>jYd=R3Ul$twzOkF{_t{dhYLW)FbvabHa(kG>mQW9klVHN_! z^zb4CCGRcUq+x69jw8JxU+TJ-`?fOkdEINRrAp-ngb-MOn^dE#CNj?$tx|0YWP&Lp zG_LEu9g&5dvvHg}P-`O!rq|R(r6}BPHzyY!@7S1=G&Il2=5G{&TT>5`>kp1aNFv>m0y1SMy!g0NpunhY{DckV@QgqKnf~Mj8n)tOUQC16RvaL!dC>)dcSh!CXKI-HI~gb1>Qx~`MSxpVH=ADIfG zMPP$wJ9Mlurj(VoaJ^muAjX*py!W3!f1RdD0#c=v*}D5x$RZ8vwyUA8$(d4&3+M{Q z@OInW!C0X#qINsW^7f@|l2l@#(~XB`2EXy0r$!_4eLt7mK3{D+8WXxfb* zC3+X}PqTOrD??^r5{@5$b-2x_84wwmAyvZF$pXaOLoYmw2#8<+3?ds~Q!C`0d=nV5 z*b0b)gE(BEHO7JuHU#gy*M230&@`*rZUrITVb?X4@0adMqaq^}@d|VUn9VVknWy=> z4z!K6#yG!PYxCyheebJkO}Y4{8-}42zJ9q8k@cP_&0{`w-x=en^0Gt(UrKRkkl5Q$ zYfXy`{J|LGLa@$So%EVPd$ha_b zgCXZSj#G@O?K|&%Tf5-H`F!4@rZ?g^2n4#~{437PVvoB@Y#3IaJy8|MlU-*+1hm)u z?u$Zw{c@z|vZR#Juyesp(?mo~*L7WIy|dO*UAY$04d}Jsww=_)a*N!f9!aQvAaX6? z>a0;Wh|U>nEwU8*bx*+mM*Q4$oxlYO4a?6G53!ZOHLo4jJ!hVab|l;DY-5b#8N7Bp z7Nnq47<&J7`h1UoM5C%*Z6++ivMi=D zSAu)yt1$pMXJf&;)f1B=?1=Lgq*0K%V?Bap#j}p48P|LlM9h-MBp|W?Q1i^p6zd93G?Y`7`I|K1&MVzVH7nKlo8~~E5*6|M+iaM}xV>tuaA#Fw!MVQ+{*uHuQ!XB4SB*1uUfi zp~f4^dB@1L*3fwMxLWO;dG#gB#Z*#m8*E4ptLV*G(7a2PN$Hx|gQefZ1%Env8QHPArX|`)0FZ~_pyOPotjm2h%9Ln&*u7POs*JbB!VcEh zx(c(;XZ7B9U7K?bzBTCN!Vu=twhee=-&3u**4&16ty4-ZHKlAk_&qaKc}*)HAMX<# zH4YIHggTn2%uQrUo6=CSG+ zFk-D(#SzXD6sk-dy#%ZR5JkzGL3W6SEt4Ul8gon~8)ICs*4o=LONfB=ZncR+G-!nN z%Q7BB9EQRBrq;T`7sk|DD}!^vIOnX3Hl|8YY9=mB=&UFxLkQM7L@p$M3OD^sP4Td<72ezi5yt-CkW z`SyB4TPoKzDjSWl##uvaw=LQ!)Lb}bBK2dg-{5V-5@SU08#AIJRfYn{d)!sS(B!2m z)q6iq1^`LY6iAB7T4ztwbUK~>ZG^|(Y#$5lK|Gxa+ptT2@=eaWJLFYZnBgDeBFd}b6d?C?PYn`*630>E9r4%-%)>^2hlnkyK z{^Ri|l20kCV~oQvh$(t0NpnXi3GKve**_qn&h0ZO%)Es-AtL6KbmBtW<6gV_jW(lk zbs>aWi@Jr&8R4AW`#bG5x3yNbzw%^VNmeQ<{B<$H%szOjbhNUQvq|tAwFXeDo4t&= z6jE*D8kE56g{lm(u5IN3mQqStP5q9?BNf`NOI9aE0}!moLOEwFglM6V;z$4@#^)-X z5DK$y2Z+@YLa;W35NH~=+qz?v^+y0;2iNz#I6&9+QiOS)=bS_XR7znqP18t(%yl+RSXxs^DCm1q4g@hK;r_x3z9lHqqKT<9gX>@RD8tDJ9%iti(#mQ`Hg9>2w-~ zq107)B-4?58c@p4Ib-hr$C50*dZ_PgpX8~^%u>(Xm5LUEv*G3Ch3owA@L-I&TrO#b z!M!=3&y9cbEelqrrE%X3vH(gc)_T1UVp`g^MT65cS1M9Fr##hCi3o7Dix$I^Wm%pc zkGnh`S-mENz~uCt+3Rm~NoY;Hz45yySM9yUi&|?AzZ0>##;tUZLe4p`GA_zDVZn6m z>2xxUmtnB9BWtC;i!+u^_nSq&)yH=pigAJ@t>|>l`E)vnpx!wrQE7rk$dA~&Axo)| zbCqjPOq%!eMF5b|pFWfO-Xzeuoj7D}*{@XD>5sRD#wwq3}qQbdc!7}K_0-}eTE6pO+*dU<)dUN6Hi$R*Tu?d$97Fq}k}S4u&E zuIqwtn$X;?SG~Z1IOj|i4BD@kS4p}+YtdRT#yH#d-5eJJ&NZi!3KasXTniOIG}aEo zaK6Zo#XC z3WwOq7U3WMfeCI<5ON=qbt{a^5 zGM{g{Ry>1iB{XQQm0U~Ws%gH{G*8n!&yysG#~4$Rlcj1!JWVm@I!*I9PPJ0A#R6%M z>w{aCD7RqKG^LiiXZseoB+y*bG;QC7rjhj^%QB@bXpAyJNWM6FS|SJGD#p52>{|f9+LeMV z>|5`BOi{8LbIyQ9_N^q=<(yMYr4+a4fUOf?Ypq?GOm5*CWIp-wM&Ps!8ozdT4l`$KMAt1gdDU!hWEb4Ib4-v3lXZZ%C5d_OZ_^xOFDr?v?ld{yja^ryu$k9@8DnJ83P|!W9K@JNZeTHb6PQJop!ocY z5=~3a&1T$FZ8Fml3(hb4Wbp@KiiFbzGl9CGp?7@`swLOixO)sl9<}9wl~sP%Pl1Z z&=ye5`+%05v)vsf`+#JHRkc%51VfMSz5j|Dt$t&v8QNw~mfcT=Dii6$1aSdhO{xFw zFC`Rwle$&`41z%fgH)wGGiWXEq?+q%X0T}Lj*_5Io|`G*4)?Cfoe$J0%QThoxjgAhszfMd#cwoW{`tFoHplz+~_C z-uq(ePMeXDkP)@uI-QO}Y>=P|M#b2zlrk>k zo@K9_UuX#TK*?>;w>RTbq}4gsG@bCN*6e_-^nQ4F&@xcob&RntsR^s{L;OWtKmc%X z7fe`dRoS4K=W|Ip=S*t1yo%=5tyRz%lS|fXJLfEqXp7MB;7C8IrfW+nBJ*74MafZM zkeS7UP7Uki+!rH*{eifz=#|`|&e{5(QdjO#a-GlZe`h~X)n4;glA20)M%IRP$YH0w z<32IaY;A{{9!gUs#e^0aTI;DG>>EOwe5R{g6o5jkg81z%pY^iYbAIlI$Geb@Zw#vU z-O{epD*N?st(C-wnzQH-er;rDfcWmMu=6OBBuy=N(0H`|u|CF~)E9Oa1Apk8C-YF~j?-1z#-vP{$DZ0FF)XR4M2)&(^yGsYm?@h)QF z>7e(XDwR@%hD&VfRupbwLa4L_V;F(tcwL#9yGQ!X^VjZH!4E|{4E#z&tW-v~BTwy_ zT8PL};g#Yg?n};3ARV>`V-JVJ;o($koyJ8T%QQ`DL87t&S=Ay6-uK+UQey4&a1v+U zFll~=4yRK}#)f@xjuIji50w2S$b<~k^?X)4@LFrr2H6ND--t*^^*Tyl&jvt5bTwAa zOpMmrTx+fDMF&GvOECak$rxkNq$P5t>-iF6td!T4fykAR!JzThiN{XO1jKP(ymi1f zrzG_B@p>zz6cE>OJB}kkJsb`~1z7>EBG#|>t($TMv_7=8)_FDr)S6Rev}k>;Rm4sE4s^R4%%&q05hQL7i~`Z`feY9S z&v{Q(lI_vCR@#3Aw15PF)^lS#8e5QSMnK2tt#6$7-e2Y$TH~xkFbpJWaUz=XoKl*W zc}lS|)y=1N?+$Yt-lrfHgKx(vg>2367NeNzhUIbEv- zq4mZX4C1@R6&PjLAtGXonVAiffH`;3r7Tmo124~=Uj|IyZ({2b}jI) zw<)E>mAtpW#u^j6wbq``*FsPVmC9f^6{@u^sWg=(>pJJ6y4pfu8Ju-1xGEDzV;N25 z70@C;Mgztg=MgcLEs??5orBAISgS*cDTT!^v1#=-f?c*15qay>dqVcG_dd<`SIKg} zzRYw)e799zqW9h)8Z=m{wN_NUYez_xSAq#kPOAl@>^m@Wb~|+fme*g`p`(nT3^Sm3j)d+Km{%sCgj5i@~7>#c9BwK3P2D>M6;o#Rv}S7ziTSHOr+ zaso8Lg%*tqO{s;KIQ89=wN#;cW1YuZiwVwIWMU)HK^B>b3{|Y{q0KeN7)!;rZGGnX zav@8>cK~G>FT&(Dwk*rCQOOYi0jn_xD9HAl(z2bu@>vi7rzA$4qOnc2qW447cxJIU zG0s^D`xJrIZM+DsD}}z^(DOWcZ;gSH5+L=Vu@>ifZfpP~;!&00h zgkTu7JL7-D>X8R3ImGg1a&mcZx306~vWkIZ;12*ctizI~X{K=zB|joQJw1sgf1c-M zP7?Ewb8fqP$jx1y9w67dOcs>5MMT%@RRW-#b0UHB-a9m9iCBoJ z5}*MiGkG0!ud7GY{tTs*F)rdlS(peoSIVMJ6^{lZoz{JbB@LE1ur^IA$GyBrV+dKXpuNM<0^&nBVtGyOV+Y$8|__thYvFFi3 z{!V5w<{Mw(eP+RaX|47xzYbL0OV(8pyq^pm4l)(LZ(Yf2?_`=nMrM0=Jka|4^u?f7 zzFPnqh#Eq)4dUtkjU${qsBs)qN(?oGfD9_O@B3cHmg;t@Q!8m?^;!~Wp|C5Z0Oy^v zhSbi@`h*SFTD`Nf=7Vb#*V^07354s=381nUNa_2M6AX~mhE>7ITC1^atxd6L1FA;) z-*mD1p^InZep;sAd4F;euFyixxo}ytxaw-WCNHBO2AOXuF~qyj_kFxAudlDy>$Q|p zXq^=FeJ|SQ{Qzvwp4BGUIcL!d&MD?g$_ZR?gf5%v`xFq# z)0QyIy;MNwe=rxNx5jTL*FswYSY;o;$7U0Wc4U=w4EaXy_+WSqiWhF4-`2!Sd98$=Q#NPVHz7y#VN zt9d_Pkyc$V`KIyS`*E42G*IM6wYM~62saSN(6$l9d8Ux-`gj_NkWH8J~1}g$lS zVR*e=@4=DA1Ay@^gisUZoJFutHK&wtyFZv23HGz}Z}NtTkZ4V5T=SQ94lYtzyLQlh zYj?33a=05nMZkoibU2)(9ukt9{JT(n_QUx*&7EtiCCz0^)v(N5n2a@IGzUyVvMx+W zyqBll9X^O84C>#yZStltRXTu9ZuH9hb;k_*o>+&yI=0cnWgPgH`)}dT2D@C)G+ilt+ z>bVrEl{RSE_WePdD#Zg2$H$aX<)ydY7~ov2b)j#AJDTD*(Ly3)YQ=dTi?smB7<9J5 zP2XmmNu|y?0Wew%NU>x94qcl{jB%OcCD z8DVogxhs~0E36;4l8gjak(yf&IU!!kn1Jw}MY68pa*t#d(yIL3ah?cP&byqaCx7k2<%&!rS&Ne87l75OW&oYou@ zV_0=v+gt+xLTH>bm2#yLLMw-`SRe7G>vGH-bICbZVA;2F#u;N$DuVcX@1LHYYOO+e zjVT-s2R&k>f)+3U0GtgW1j)A`UX!|nq0uyrZMrXCzT}*b$0MSVQP?mHRDZpPwRkZm z=N#j#w_vSVuE3l#AnR;KrZSSqDP`BzP5&w?5fK4ar)QD1tKH!~({voy>~Ue%ORtb~ z_TJpx0XBE)Qp&@_!?G*@MzpRn-VmaJvf9135Xd>#`2dxO(OF{|4Kc+mOo!W;j4@oQ zMA8WYZmmVMgg}6TK#Shk7*lsbZYw=aF7rGO!{D3~BNO#R2q7E}BH^UI??c;Muh*QH zy*JnWG(?ab6gh4XvBWzyMfHzj*|`@ed=qgfUK}zZ%LVn|6V!1pz?LFI8y9AF#_kO; zB(F$pFJuEtwIM5eZ-1$koo$1ZVAA`l7nw@6RR5?h&KlgQmJ_Nx*K2GoV@vUE^UY6}X&TauYW(=<&}t0|=OY9pb$d({4(Yhq9hC6%@Z z0Cg8gBQJJEp*PbF@qIZQ4%VR*-BQ>t%QBCP$R^CM2Nj~#5JG_xYGRDT!&|x7hHkJH zDP@Fq@Q=#`WkM~(Gg=0irm6K!t>C?Lz4+zS4ThB+fzCNVL7AZIx;mB1b)MtgwAP1^ zYm#BZ3L!XGYh@5SIM*}{(^{eK>jwEC*5TsL@p@U7<8jzORZYv4(`GARR!pLlGN+Xr z)jD5F5z}RHn;pl|20sjg!*!8w{9{ta+C0yr#JD-Ti*GkOHDMHcg1h*%u+XoUWwBt@ zZ(@A{MoBc#7`I>sPlC+GLBy7=|okB-gac0e*aZ z+>(^3l#)w~G2(ywAOB94f?S5j;}Mb6UWFOu!C7k`9v;ulr5_t zf9|^O&6_tLKYsMy6UUvM1_D6vP17{z^Ht4Dx^74*EpzhTpKoV@1f}tpU8hIVnyZiF<|88Z&06V{QY7O<)`z`vjmdlee0*@um6*g{L6**v(=E=imV#VLiM332 zg(kc(J_{LRf_2{e%a@lB!qBuSCGUOLw9_ou0xb)ENC z+Q-A;a4eyeQh_lzHaw>|#U<8qokv96gr-#~o|p4Ys~CCB^5b4#Uj_Jcdw? zv8++~WH;$Ge*OAYZmePGUS3{mt&fk7*821LEUu>NodW>YtjDn^nPl`WhmH>Xr?{w> zQV33UDk<0F@hBI=FbpZBd5*&{h;~ON8Quo~C^5wtgLf&V)5AmCwwKFA?)z~ZGp*TQ za>K1zY9WYesd}GC86?|8(=MyH|CBa#ix3z1N($XF0Iknk<#Prdh;lJ_3a zicdTudf!-UmsGs>)&*k>Y%}MaGtvW-9S+^&!&`6sG)838w!?Bu)-)D9RiUk;0c))_ z?j|AP!FM6F2(CnmOYy$3rdg#I74$kE&C57_O(_|d0dvY%rqQ|*8jEHfh5%Q+7oQG~ za@ok;aJ${alSVngh$sb3(=?Bdj|How56Ik(nY*r0a>1sxD$0hvT(45q)mm%5_p%#2 zYXmgbYD}K|o(`v6P%TOr;TraJ$RNd+VHAaw?^?Lk|E`ifRug zWFI63F@7_q>_Tko7QrCwzLe4&mpviN7;_!hVB!!0m#SPODY)gC2j|%iJAH%LGweKl;jVp^=OysSIF7>PRw{*_lBE>d?11FaOQozA zI z(T9Kh;~z!vvRjrU4|W{K=jUg)MXWNT%yNmyT5~#`Hs%t^Mim%M2WC`R z@a~jS*S9%m0T!IU6BLC(x3yDMA*sGUC_hL3DJ@aXX&-irn;rt;?uN&^*+!~m@2{-D zm-H5U7jT_@?v?i1HA+6Zj?m;DN-6ctx}_yr$vH>N%d+^!?cHD%=aCDkabB|~Hv`IM zPchP}T+Y^gK$J!q$@Qk7M=3Su%(>n#d%HfIwrv-g(`>T7Z!CXS;r;fT*4kS6a5y+` zUS3`-*e3K`>6c%AvFx2K-ZtVZ!)yfEuPg>=P_S5At%PZI{(2qT#>!#Bb!7vll&HU3 zVbKP53FFRKg4HO?Dx@Y*ipKc}+bV=0g@rs-5g5s1KVL6W8OtGQjOqJsp8(Cj{-vTo zA`)XwwJ8${j1j(F2=esw;8Mvjm^A>VX_~{~;JvR*DrkE+o;G(GG@Is3r(9d)JZs1K zD>!kpL6ZYnsXc~8mG!M3;6{0v)pbqzpYnoJO3%;lK>VqT0r`~d7j0LO9EMQ&i!x{iXzk(HgE4*IKfis`_q}gI-}m`e?v{%v znbyWRx1{KCSk=_#9{7!i2fiAbt+m#7L3XbyEqAqGE=gZN zXuZN&!!Rt%63cp2X&+`?kPbuEn6$^ro;70^!t#vhKir%%} zH^%v90Aq88Tr)_d7&;D?uQf8Wv5dx06>mC=2%!l8g*YP;05KS1#GMp>M?yhKsn@(N zHIjLGc|rdxeyMgy`sc2iTdRWnw>>1Mg;&q1)8O7`5hA5@fEwwU)prL27 zBczz?`(8G(m`UuezdO8K9IPSPg9MZ`)ZO^*N|cV~`Y zE2s46*T=2nSw|8*TXgH~P_qUop zQgu$tIWsq_2yRm&N>y&HUzWw9*_sN||6H)HQbjB$72wAjUFlGqQ>56}7L za=FM;y)*w(yv|cik2Ok&?6I2H2~W?=~4S;UnIQe3jZGN&xu|yi1AQ zM{sHfrj}7sjjbmY;9gs%tjJOeB04F`gov{Gi`UAv5+aqtgyagB8kdCwA)*ArO9G>{ zw(a`qdb1mYf|0ZoGVX4qDz&Y2Fx$fyviVAoo#%0z7=yK9n~!$2VL&kSx3rPf-+8Eidw zHk*x7N=Y@v=#8z;BO6Xc$i}9BY?v&41M2E(n*~qyxiz8y&7hc0sNwmz*;ar+HzbL)RPQkQjja)%4dOA|Y8Y%8>MJxYJ>2 z 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

|?n~_>* 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
  • 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

    _++9&k5nvbHQ z2oIOjR7BaWts)5(BHQqlbckfpH+JhT53SKRt1gTD1jdV3dkI7zD5C<4TBbICN}0a& z89i;xA!^F>CD$~_uT;}7#9JHw#d=&mPNFs{wn!#5<#jjH@lDU0r%NarOXfS7l%~() zmSdBL{bCbg!QWPdpD{)rOS`{|^Zjzks)XC~%bFn4`LbXi#C5YLV;cHKis(DrzMwFT zN_n+C0oD^J$TADph4pQ6e~PTr!=^;h-%09k> zi`EdxPz-kZ{3_5dnZXmDDZw4Z)U{Q~E@Kh!!^T(JqJt?W?EFJ~5r-1d4}oR@8A}tq z{ZIpQ_HHtvmeLFN6@%x$1L8=9LAI)8x{Co=w7L8Bln-WKUaTcyy;m^!GI!G;^YX_= z3>`MLi{P0zo^mx+1{S*ztBYoAd{=xOF3wBMym+kiA1p`fd0FQ>W1H6Z`RkxNp-0&7 zYa=DTPy42@9x>pF@w&GdGE&E~%{)9=i*X3J*%rDuzdC3hI&jB`nub9K&`x0gAZc8| zs2xGq&jpd&>134VUC1=jg+5cBolAQ|+AzfQfGUd|YS$?(&8tlCyJyZY9(JN5l;|y1 z%IDoq&wFzU3R#=tlJ~ycWe@E`Xf>5g9f_COo!2{t&;vJOX%SavFMMGqzZ^I4CHoaV znbt-g)+!(Odezi$PYiyrBejHf^^Qf@^!cS#BGazP(!j`eKpC8eOeCoj`el-Z{j2`^ zm_jdDznh0$fcMS}@HlhEcnCSe4W12|y1}mUsQ7UyoO#qKBA@6Q!(#Dc+TB7F6v}H( zVnw*_9|?}TTk9@%hH%1JfmLfuC+dQB!UyGM9KeuE&J=Ur3 zev7aBd+vgsn>+$?Gr!x5KWE1e-%KF14?TQJrB-gss$E*^p6RG~$`&i=NyaW>Q{%tI(wdmmnSmK+rl|6qC*%~_BPOZ=ClOt%oG`20^0Nr1w^ zh{}R**OvojVoSEb%Z>bU;>>Di-Ffndz&Z0LZ9!HoEN2P4%SQ&fG&++C^RXw< z*f)0#Go>ackH#AQ!3PfE&qEcTtc0J&c@<-Bj;3rIy{A)D$YrV@esThb1V|KW2^BVO z6iQvsppRzE5NTix#A|r_tnS0$j2vcvv3M1XqKz!^SZbYG$K0<=K^I^mSSB(Qy2Ht- zsi~f;gOx5luwU9w9^DPHpieIkg65V8CsAqWo8~3|WuF}Attv~nFz?Fd=B86Iojf7d zghP1X-E`Q@mQn3I_)Z)1TFKW9d=In6oUz=iSuQ3GZCxLGhWfX7V&SExst^zmcp%+d z%~Hk>hTkM)Dm`S4e-n2+Wg$l4awwU?G1v<3d;Rnehr8nNBbN$+9!%Wz{vZkX`~hRc z0(_M4IbPhEk=SNu(g|@q$04zIp_O;_y=Hz{csf7pDnrqQdYu>wTHG z1yrO5AjZAd9IXqf6T^G)|B5mMN`6WJ);t5}A=>_%OvQ~iNvXVFK4>f#C6L&ExFN?8 zd|9!TKoPv3{RabdIOBv^xnqTXYjHcO>q73$+|lF>(fk}#HKUi)sor+<%=#bMUj~w7 zg?Zs^Xz${jUkQjsMNl*>r%#d8=>+|H5biwt07h>R^*vKP{k$d?NGiT|&EM;_{gD6q z8q=+k^H4X;YjgeU{g|agbsSw^L|v=Mu+p6l6@{vY=1ydQWezk@yy4f!$+KX_x5ht( z+DTU;Cvh0>-;3yi>fcW#DfyppA)}T;W*%=_X8aSC!73-g!o#MJuTYD`rl}1e8ln|^ zDbr0mo8hpe;`mWS6Ib3xyOK)TIyKTXT(%r6t4# zo6;}okfy&AxydJo+{v^S@`v6I&<^y-$N+e>i`rMnTPWGdipMN>%;vT#M^LfMC=1#P zbN|-G#{DWY&PJre$d^etS?zkQH{ydZQ`)tbc7uX98H=X7&v#dYIpHG?kGhDP>ml$h z3_Q+_?gk^^a<`Y$!FbQ!GqvZ?tfId4nJ~#pE65tF3;gThk85YKoZeh&zQ~z5H*P>z zdze3x2CLHWt)YP)eV#>bT9So0pw73t%HctzC1hcHNjTV<{ek?KWc-sJGQ8?m(T|2# zf2hW3g{-Z(Dm09~W!Fzu{>)~wwTb!ca{4>LOQ_7!Injq>V;Y*Hteadl6iPSx&&9{v z$7eS`5Y)j}Z`qI?r@H;kJHRra4lj+>KAFvCy{;=T#NS`IcxJ-3+(o#!VH~uM53Py$ zQ-1|J;HKO*s{Qnmn_&FN7v?VX{BzFW}d^_H&648=M~&~MNbyu zns>L3PMs|lX(m?;Qc9D>UtQem_JIRhU27M@`pxPR4}=%tC!mfO&h+qT(7cF>y=cCJ zscgR)T)XPHE9~N&8oz=fX_8qR!I3#Of9T(1td%wl=bcu|A2bh|;a#u>U;X{3cet>( z>)J=$CpsKI7L!1S GD?w`FhT_V_Nvk=m<{KWKRDG(MA`=?7bqxlLO?~R7Ba^wqD zo;74!-Q29{2Z{r_f(_-b`z=+^m42Cjmgq=fPMr^J6TXwG;j#+u#ZpH)p6Y=MrF^}a4HjWKEq{UdeEZ%Ye*yu?u= zdF=%Gj?{c=D>^1ENwgT}in>I^o)C9ijeY3q%2c1fl zP4~yFR%~bSFD=J{MiXU9B4OQ;_U5YEEd*H_d%T#FljE$ROBGTCb9b|AKC6NLjky$^ zt1itoKeE}H&PIDMyNX$J^F`j= z-29V3&Ku8I_lQ3)Eh{UN3OZTo92|=OJXmTe9sbf9bQZI4cm*r7?Vo6x)T`u_lYD<$ zXz{h7jKSCNwbA>vonPoP7R=cIx^8-)x}b9-cj<`{7xfPoW@b^?(bkbaP(env+0(3c zY^XSYkT%xT)YjGxl_sX-_>q2^PX3yAin>keM|L+9MSukg*JR}6fUH?zU}=I6a{z33 z^n)(#|6Xc8B7YtIM5>|ZBA=lnXiuYkJhU~i&kdxiB;RX28!UZILI8iLSp*&Eto-W# zU*)Q=OZw9%1%`pbgOMfxfi$ej+aP;5%sRV*S5;lN^@NEGAb06!KQEm(OH-L^;#U4# zQOodFY3|^!nR#8Pd93sdoRNw8xfRchJI8JjJ{EtCn?&>WBHv8fHC$kB!ileROmQ)w z7<8>hSYjo1<^UbP`K?Q?6D$r1JKs?gX+Yl=_XBo3dO+P7v<6+jaj_11`^y`1b}T*f zNyLLvYt5?ei6Hq_2RcjDFi}tQ?C-{6V91x%FTEj0lN6Os! zgox<+(0Awg4Sj$jn4)($@PPoc2fhme5Ggz=9j+Uw!}F;FHS$j2XF#RyuxcG47^%PR zZ1gJX$B$GcW4>p>Tw#c@r$9zc~KMuXMOl!N~hhSzZZ`p3J;c^L_)$oUM6kIsT0H-&h7MFC_Dc zR7wl{s#L>^^?An$Hyfqmv$OAU+kqM(Z|)YjCxqWIqW`oLKK|G=tn_HR9%ez4g~Lk9 ziq~=RB=)r`!xvwO?9R52z1)IFnduOWdaN3frsM&y0~y#tx~8klSIpe%>R|M_VomxS z2Zg#+gIZm*?-MOP`(u9+oIMd-wYwL2_?qAQFU{scuNBvGjr3Y*fg-!ZcIJ~vDR#RH ziynC_DuAUqrTR-+vF%km@)M5{8Cw$x6sen4{>5I zT*UmOlh8k&pX)r0S&p!@4xg1A`+;|=`FisBWDcw6`uzOZSeg^`#d)%&&qMh66iK>=%euda3^U_)` zbZHrWN$U0v+7W(!F~SmlIa}MVZCrbsSuE4p)g{^6gW8_KobMbjOa z3eI+pZDQ`g$bRx!TPwdGXZv4jYNkcnJ(&u6!k83-Pd8pe+WPOi!J%iU!b%iyU}dHO z-EWa){mexA-98NqGo$ls6Q0dD`1&!t_ZGDX{)LTZ!5}cu`K8iOxGemZC3cGrz90}`h#3;LxIo7m2$MX0)#TOaT<@L|J= zT*v*`nMWGhRR(-<7xs-O^{V?8)ztOJLALaMn80(@xj+hMi!-tedt<3P!rnC9DP}hJ zkq2QN`)@P1B~tQqHkV{ApYFAaRUTz|so?(B_LOeP5%y97-*in~SX66Qy>adQZ+Y>& zwh{4~LY<;bioBzM3Y$9adUeOv0Oe@lBFTuHjGU!AuT(0G z|K~@Tp4Mxq$*DZ%qoRZpz1%sce}%fesI7ekT?v+M%j)hDdGq209K8)j4W`YcS13)W~xQw0_$J^~KwJ&05P3gwFcp?20j z5Fo0Wi79I9^Jf-o=U>_mX?`%RRKtCI1WyBMte<~N^`i5YtWaFN!>=^iyZv?aJWKfX zfu%uVs$kjxso{?&$_E66tx5vy-{Yl2FZXX2E-z6nF2+GDE0%ReUTZ~6N9!`5nW%3O z)^kDgwp@=BOaDQn#3d!~_RG?kWxDJh_4G&s6G_CH&}?s5bJJ(kW^I)R#5GAa`rsSL z8?zRycLax9TUypF!Vc^)8(+S`B%{4S7DOwOGC&Tss$qql;@pCVJ1vTei$_>) zmYj+|-QM0ps(?;sVz*@KV*fTS-t>Vbz6XRC_(fA~O^szMyDtXd*xrZNT>%r!A3X5C$VlU!5+S>_6fsqlw2Fur~ay}7m?e6FZMqcx{hQn^w zdb?S0_A?iu*5Oz4W00g^!Fr?G_4|_`S(L9dQ&iN%#DvpKQOLl?`9$sB(b3U$9f5-> zZ%*yafCTg#u%E8DvR6pT{Hh`g$Tng<`|a#1Zla_GAmB9TetBBCr93l(i4wQ;_o^^| zrW2F5aQ_sWx4d8U`QL?PgUti4-?5v^1tf!BEPCv*6vBhtgG_0kZ+wV_1oW2ZD|?1n)&iJ3xA;Q!$Vpkp znf&&5-U#=+h^1lg?L(85$42K;6$w9+C*|9nuF8+DK4>NF9VzfTS`8#teT?-^tIdAa zJcIamWnad^Y(@+Pdq6Tat^8*ZU6l4~LI#H6i3<5^n_pe>ZbJ0HrVsG* zsaVT!4Dh0{_IqZaPUg8}UHYb>@(nM76sw#0V}+=S(t$qjf4vCe(9$-3cc9Gca* z!(?xQ}Rh-4V40?)Is_&hD=I%NE>{bcfCid)1o7`khDVhH@;0|!4KOX-&w7A zXkgqE-*jca(ZFh(lRk(tu1U5Pxjmc0E5#NL@m^~mcYGaP0zHraLfC}GZ&BEvm%QQ{ zqGy<7-mZQ|jjUZ^OjS8Qn1Sa=fDl(=4eLGMI{_1c9D2SX!Z7*#B54j@96lfD*4TRC z+1GIcU}76och`n?VLcyxOZoWfmwyDYoPf{ARGIUJ`PPeigTwB+PV#`S>wgX2LQdo= z@KiJaDcF0iAr;^DhAk)g`fm=4TaT^!Li*a}#;UqtvZp^AtcyWcS7Llcyblw(q76;Z{yc+AS;(RsNi;^`>b#gOxuf4$_=mJIAT0V1N zid1+Ida!-QT1JWtn@B|9)?TpdYK-MV%c;iYetIHnCOOhZ`xpHiw`LNs2{8}!z_N|@e;E0$2-L@edNwCO`0U{ zc2Zzd(!;V5#nuxTd;FRU-!+qqRAKg5g6VAgOq?D(!o|a^&xTiV=`9GEjk<)0e0=6b zzJbtE78_f0*}Yt2Z>RhrXb&{456Xip3uk#|H9XCrN-j8v=?h$tAZe%C`QsPT>D8ZC z9<#*G`-tC?MCbys6rqiTaag#2g?C4mx!-1!CX`l`=~`*vF)bXknY-uni1Dv85~;?P z3-)(vC?XmRE@EFM;uXSaGb%~u$mf&6LfKsgled!ghXuHr=5ps#Giod-)=~3PE8C|+ z(0%igEQL>G+_VoSSEHH)Tg}*_?+@NtE{;8Ay*K9)Y6*VRKH63Ppa{Qd8=pKst;Axp z7dA}NDQ)H`m_(kaS035YDl5!zLKpkvh%wr2r&hy(ZBNtFy|ou1@Ml26m=$ogqjv!d z%>LPGT-r&XB>}(L^eqHFO@6l6FWZHbPg9kZC&Vf1xw&dc>JGxplw(m`r)Dds3k1*D zdIW+B!020O{Qfbu>`hxgSV5)2U*bccap&Z4<1{a&y{HKT2xT<8X)IP{QIdxjT$vl%yJ>jMIz4zDWW z8G(t;A-DV{(_<43|CS2$x0u0Az(|rm>e5&l8&R zMi0out*xYNUl6=x;a$he)VEvrgSyFg`BRR7(-XKfVNWgs1sak{_w&%A3@Iu=`3pKR z(G{I&g7<}Acdw(jS^Dk}S{y>1Ql4R$Y*4)HzziE76jBf+QrIhRO;y zANbecl`hgJb@lX2K5A`mN8FsnA(1+Z+dx@`_lKSIB8qy*1ngeBBv)wyazp*6_Xqx= z!NLE;jnt>07jmdgm>8e7otjC*B4=X!@V2jLe(SXOhU1b1H0wC`Oj(!E+(j3!z;77V z#Qnj%cQJCCURTGh&h$OKnQ_%sAd0iB`#x5c2x6k^)_#^7u^~-|4EsSvCzFidpStiv z#|B{~VFy+sevtS5t%_zCH=uaNLJz~{@!7wZ;dM)xqO&@X9Mrc}(!HLx`EaIplswxU zaod%mo-b(aY11fY8nfytMJlBXEvoR{Ln$6oY0<*?H$)s@$A4>nVa_zACf_om|CPrf zX$bkw=Bs{RFg@z z7&AAI9$L9G*%ph`g(q(yaYaT2-LR@A0hPRrpmQt+4 z{IAcsnOXV6*eJK(lH)!uS5^4+(By4ruaE49s z)iZu0Ls(QgFgk`KP$NU7o3^t>y*rK!d;I~*<1%`vI~!?&lT@C)riogmwtXmUjPvRdc69PD+lz7RjA z{OD|ur-Ruu?(Yo3++3gCPfW~hBS#Dkr)X+bSy0^mr*}i$EdAkuA&tV$_?JVssHM3a zNj?qHWhrsijNYh^}?imbL5qqfR+L$3~p za>+a~-r8=K$;~t1i`zJsh~SV$!kF#<#k2^(ivdwWQCehG=b`=_US{r{;dLwk+eOTmC&nB`Ul2lWxfCuIsn^ z=SgC)Oqy5zb{?$4bf>>u|5m>@Z`QHVZ&(hh%9$yizIHOn{{5F&eC4 zP+FDdHVN(G&?RBS{q+>!9lW~cL!WD>dNR@4X|2`wArGm)3RREPQs;jW$_&7c@o6;+ z*h(y|4jWLG-gi-akWex@ysRM-TR~D1q^TEa2C+|NV~;i?ms-h4ttGxsNk!RzZqi?i7l>_H@e7>CT13hA_tC)Tys!M415XHt zvDXIG)Z9Ar_j099{N>Ycl^-`Qw3w25J-=}M0lQ)>d}(Kr zhUoLKOtxFoONh=Gu!J#GWEq79!&Zo2zFqwgua!XlML6nVHTIX|1$E{6x9}Tg1^Kfl z)IuMYBlLcZlM4t@IM?AzC)smI$ri~(pn@NIVNlwbV^_m)%oX5W-mPK*i(4+9Z{k`k z3ceJ;@?V>QK7yZ(WrnlUno?LO3t3cfN0DOp5K!>{%ipALB7D59ld!SYdwx48IUV$SEiEex$Ukv`f($ejw|B4xX1NGy9>gM#lW8FEma`C$G{in5H!6r1 zx!VMM;Z|#n8+iG8{d#9(A2CySt#{pzfZciPYwmlcB5$3A$Nj>Pqc8EFNwz;_ufaZ) zMBQuyqe28&T%zvK%pqj2V4`I;`UeFY(W8%g<-B}+s@u|QDVB?dhOK6Gyu7>?BYajp z9X&nCNsS$iveMGYK|jZqCT>xOfqqW1EQN(Lma2S3!2U-)ClQgJ80_NW0$30zJzVCW zXgWIECc8$Y0^-a)1kh;v_0?qn2ch+StsEG2vsr8WLJoZ@y_TsgYsQJ`WoZ(Q zJRW_Q>Civ@h;yQeGqKWT)YVQS9cl)vO}YRB7TYe9`iA;?^v(qs16ag!FK%h9LGOgR z{Gi^_yeR_K5w}->!8YuC*^v4;r5X4vg9jZh=7POdzlMgCp(FkG$6lDz-82u}h2<;5 zDdJ||C#v!>JQ>_ilGf4J?XbJ8iy1k&z5poTBQZ3L0^S*9Vm%;M78a;0YfMpY4y@Q1 zcG6v?-H#qbCOocOca($v5f*+&(kU=C#PNUexUQte4$-a8aOPrQ}yyt0*gdNWN;(qM4)MMZ3OK}PF$ zkTzxAUp+JPuGDs?ww|__N{+b?;wwsL78&j@;&!h>3s+p8qRA~C@+%X1BE^L&eSsmx zPBMq7?Sd+O?9THiRqY^3bzdPcXG-kXR<%5on>3>i*6&cU%fTZi#Xw$0_gB`Cwz65y z#FWo$dzOZVhEz*!uS)9df-rBYKesQLYlXp8%MKP!^*MFf?IO%Iy1Lpz17wW`l)ll^ z7r(F&j?h}5Do;fK>?P*av1U5EhXq5HOnUKSWj;Cv_PKP7KLO>nqJ!`yVZwr$Vo5Iu zorJ^yhSa5o2oc@32lLp~c_W&0JrNh~(#%dAh_zSm&w{1LN#t!#3I7GwiR{Ar@2+8T zAk2~z`0i|kh1KYO;jzJ-ynYfwg^M2#3Kh`_hc38F>J5mnvo$X|WM(Y&7R!lcdYl_{+&nx2sZC>?lR37d4ZOg?*VkX*!l?g}NF&dV zy5Uys9!NRN?*5o63suNkj20Iq>)$&2wrcv#NcE^z8-w!q4N5yryh3&n$ZliInH(x- z@x|MR6=YvH?O1FPM$5#}pksW0&!dQv6y+A$j=J#O0!mhPw@LffZ{alL0yn&TlhFRV zTfpz?WDMJryRX7rZq1X0Av3isEEkveRMKKTl|D}I2+-8;b{smwHkYc8_-~4T;DtUs zSuNXT1l;YaEGqywUB&Jx`#Kn~4xrN3EerU_uHlcV0M+DG7F~*phl#|xGJ7v2I`Yr0GCBa<(uq3h47_dAx#Fv9^1t2qFa0{t#iUR{^aSbw)laVQtGNqtv>KJCcq+! zwOi_c_A=P|6VYHU8R9Vzv`_y;4!jAbl{>+2^; z$}QWcYpR`osF_mE48n2`b2|-g7b!YH2h(98iGgTc+$U~Ea6?LPc(%h>jQx%1M@u?B_tHqUo~e>HN!G-_-&_WQ<2Ka-OV-f(Gy%Yv)7oyi^`6dMEaqPHsI%y43%n$G#Pg5Lg|To5iOHYhDSd~h zV`E2_Stkh9#{g>*GGW(~_Sa=;vUyXEXJ*;YopINYfTjHmIQcP$7vTKmF?rir$6R(S zw{%5|Jb4?Nhd!!;4EaBLQ!C)@I3F9i@C?%*tGMwbv6li`aRojP&YhN-qskwppYC?r z>PoC7E_o~wHzhSS?ggrtRPy&uUde0~d6lpEqZ8jyBrQl5YqW59{OqpvDv}Ma`R)#} zPMHX|BYx~$mtXl`#qUSo!D?!nxXrnr{5W_Gq>!Dqf{CxWs{7afXtGv4J}P!VZdT@5i^RBYG5zqv=BHSvg) zB@~3E^_3zbDM`!9GyjS(0h`wvD(J?l)EQ*zD}B`3=Sh(jp&>mQ{ZX$b%%@VO>gE}P z&c?8}6}yh{Hq!gx8Z=4V=q2<`L8nVc*WmC9Tg$qIFzIgipo_b+XMyAAOWUm~7U~~9 z&E|&l&ce$Oh~lrLq(@L7thqY?wg6P(^8^jqS|tNRLp;)E?j#Z0(d)}K7#{VS#@Jgs zi!QP|#+|8H(KSiM+}F|Pv8hK8{!|9@siJ}|wPno*oV^{EutJ%gj}5c^3M1_A&0-TI ze2!!C^=Ke*=NsVz2@;DO9u>O&<@v?aRVADvl0q3hvQ@R5&XRk7y5NoJB2aW?(q#ph2 zT#el|q!!)}T!D|lqOzwK?Z#`ZszHcUmNgO6wePIhuL{eaVDrgWtGVG3zQ*@r#3f|K zA^g(cDtD%e)IMQk3BXo}td)=kk7H0V$P;sk{vGl=T0YPaU(xi;v@zz|S}x=Un>DHx ze`~GQxC;7W{yr>DHS9;S8G?7_Y>qJcd!uOqIX~^0j-hvii#DGP-22-_7?kF(1Qv-Q zeuEVs7(uq)AJWdzj6m`^`0A{6#~I30JZU06e3D1cVMl(_tAUH#th-E$JF}*yKQ^%# z0Q0T8R?2LwucNOGS28$zI91gyIkV9~5Z;gQ9Eqk0<8Y2RCeQ@UVJ#i{q8M5^C) zx}hi!w9;mlyFD#6!!hG0zuE?4FHUq`XBR5F`9kHYINI(hLy_KmaX2)QWUi__SJUQK z1x?yLKPR)63%j}lsy)rFf3GXfMK!0XO8nFLc0nu{yF!v2feiS)_@f#e#Z??jVqjLy$I)L9P{{6cnh zDdc$v9-IB-)?+Y@jC#%biUTNP^|N^$ert>Jr+QFCU`T%>`1Xln%Q2f= zlEgZz2{~$)KT04AkRK~d_;*^jMQ5_APifS%1o(RL*RWK=EcY9-vpS`GWD%}QE#>WjD6)ZM3#Vd z97lg^a{Wuyp5(uSa(FUSwUjK&ux}3zr2nD6i-r0B?LH#B>Z*U65zF>^ukyt9qt;2B zzTF`<<=bE=1A#xEC^=-p3J@ zD|7u=2}}H|AtaO>^4GJ~OgZcj=7m>B%yU)+8jeqxTF#u}9h5yquo8q;1kxu4w zrQI%mW?=U~ZIHd1oZ|g2m6R+!R)Ec_Yg>oC(dIET1KgDFM)=nWFII&5KL=;p@RBcQ zho4SuS#Sk}G=^U6wM;qzo+!8Ep|SF6Sg17fNSvoIeTXVRt}koz(Czlk;;L)ne&jPu z1R11=&ccx=iOd~WBs7Hdg$4vR?vN`$qJ|%BaCIlNR$>dg$3K%tpzVTJ z6Dx)ReKzz58{* zzcg;f5YG5C^^-dju-Mz=E?LOF1(LO{GjcFBb1OsaeSh|xn0t53-;ySvouVcIx0rdM zv+$b9rnzAgZlt`%rb+Lv;qf-i1^44AZg@Dy= zPf}2U*K$eah7l{bii7mM<*Dhc8?i8~B#S?KL%f{MbMT`Q1qI#=_D2oJRuQ)7X^E5N zwMJ8t8g5p3CD?bLLTt7_@1x_Be=u&H7(8>#O<&;h%1%71=KeM{%K4%6p)kFo(zI%} zPyC+BnLhjaJMxOGF>&(07#11c2Ncis8wI532zSOG@upCZ%7-zf2h|VF?Mm4z91>zdtyZ5=JrT4XsD|_ zX9@%FF9h}kgMjsmsqS0%z#CvuaOifoH>^iY_Be0ZEG*v zi-6tbwu*0Icc@~_AQ%mqca6z&Y^LK%Ib`KCgq_QQpv8TlOYtAZLL}w&tH0QA5^^!H%@RTX8 zPRKj2KDCPK>qFh0Ww4x&o@^)iS#vIRJNx|3>!@>6hLs=Q7aC;ajykXia4i9t2hOWa9r-e}Tq z>7+kCa`KD|(s3LTHs@L`w*J&&aQ+meWad`uR8OI!qLUP_`ZxaD_qjh84`>T0-{G;d z?eB`8`6NvdVF}{;L0T5fJT#+cP2}0QJaCL7BdbgQN6}fvHTAGzc=YIv?ih%GAl(fk zL_k2gr2o|D(MZEcY3XhlAl+TkjiiK<0@B#;dH0bI`yI~W>^#qXUzefMoH8WrEgu%F zm+_@Ew-|*hy&`Jx?4(=QaqA1YIejebnP;UL!Z^?|h!&Oadiv#UTx8R5Fji=p)#eYv zk3K>Fsdv8U)bJV&REokxg*LhvMSeQ)a|~N+L%Xx+mR@!606*0+QB7kk4$cZG)X@WE z^z4-Wt{a4SkX=w*^milSllvV?WsJC>?`IYEhx+FJmqHNmmMLt!i~1L8qFL>=mGJ&X zhmw5?v>d#29j)2&z}&8k|Qh=TdeQb2>-%$@L%`P29C z!MON&8WPzuctv5}mjGCJRrb2q_nq$g_BWdX4*i{}2|lt)Q}d6GxM|hF8^La$WvlvT&Mmw(yE}nSG8u=K4^>Rz0 z-r)VO(G;)Qs9BSj>%e<5WwOl?3XY6f<>mxs$!L^MFWH<57M(3Vw(HmP^gbFo!>ncC@#3pjus*MAN1{~EC(xk2POf}7>k;;r~WFx>{uyiN}cT{*WIl5J_Q#Z6G z_FdzuB=!@HA?t*Xo}>Fc!sctVjDI2}8u8fFxp1uy6H9O!+l?1DILq~VH^yF+oDy5U zu2c9o@r)Q1F1vv-KAP~rq$u|@-H!G{UHaQ(1JVzX{9a$2;Wz!#b1y(}<$7EpskNzp zzc_v7pnVBZLxF|VPT)=cW_P{IkpjQX@HcXOwlR1~Ep{2?mUIUtiB1V`4lzh59&=1> zzEBZqWo;ig_$iVYuV3mDaF}n*kcre)T(+vNFRYw%_C-fHN)Du_N|6tOt%&V{lP8aQ@`ja5 z8CH^*vWt-)W0I_mff)&s{Zjg|uMyi-s&MT+uRiV!w(aZUauotelr8}Z6QibX3|ah6 z2|OsQ>{#1&ovoq&T0i5gqKX4i)KxE2mmu(?$~zxhb&zwJT#9Y6sFh^9%#p&qz_>bR zb`4#DnW3`*lK+ws3kszI!O`hZ16gql`;-bH8Wwj`-(4l0FP#tG{>XAY(QFOW?yZ?~ z{$|evnsdpvAlUsZ=Y=Mu6?jBmme^+#(y~!*RREL4Fj^xEd zr*vsM6Wf+FXfezPLt71NeX=0{#>SP@=HJOts?m!r>W-LH#RBT8zfTVkuq$b^4Eh=+RA_eJ_X&-0H?dl}(?QPy@M##lF$<&>58$+VIiFrP ze6WtPFohGSX>^cL_9#)s_uZNw1u26t_&^b~R+)ALQ@hC5Gyfk$5g_>|qabjFOh*=S zX-^Of6?7EzMYsv@PO4M;KXpDFQ^J})W^j~};9Nzj61)(A3ASPuq^sIaFw(s%h)}i1 zSWux}r9ztL)>+!~)!i%xzG+A6`pmjj2A0boE&M0Z+EKqYgPp|RJP1wEQOAh)(gLN= zp4AdM^A=lkpn=uw7`MHJp&=}^3Vc9b32Ft~9$ZBW(%!sE2dfIZ$;XU^y`qGX!Nz^8 z=c8=En7d0KsooKm115FYf^M`TDnG9iy-gjXP_dnvsd#x1QMM>}`@a9F;m7m2h>Sl`@aD`{?S2JA{pCkqP; z)*sZS{~5``E{xXhko0@!6bnN9ODS~!oHX95cXw&hX??C9HB2MBcrEDUnL68~Q7?t) z7qfLRLWU2_XFhSne;X%~ew6L?JUq_v7p0;${nM;sv=b&oRL=34rl9iZO#3NoQvZSA1RflisoVi*Mu>esLX-5 zMbvRmeD?e4g+m@(I|awUX*zI*0g5w$6`KXvWPe2gU%&<{l+Tt|yIj+vd4jd|d(>G& zVYE($YylS$mm7rT=}G*UMFJ{1RKE0J+^o&EC$?p>j7$=y4I5kbOPq=xtjq-e90rMX8f390hG+ zBeM^}O}LbElEveF1-X;cIk(Sj!yizo>vfepDIXKf`Hs|~Pwsh|L6}tw4iuQ~YO_iV zJ^Ws;^-u71jYD3FA5qwuV#~PFO#oM~G0m}GtP@VgsuCQ!hr!Jz`pS+sTVwyfC#SOP zG`n~Qqy{cD&5+DeE{XNE>ToDn2n%O4a^Nb+37FCvRoC$lz?W6784PDI<@bYdzTp#= zKE#!Dh=-V_M^ErKlgdW2B-E$D_{Y47j@068}A*ZL~=4pmyTM*9% z#;SmQZB@Ew{+ou)HV^YP5%gsj$vp81Ql1JQ!@C;TDCp}yk>?-J%Q^wNAUkf;I5pcV}_gYj=-r8bOe_K!0+ z!XG=7^;kZT?=L2D?~e~hqesgm8X&2rA3gq8gx1E|r(t-9V7rAC{GLV$Myd%2E0hO?d7 z!p&E1f5heZTKL4dc62u5gd$f+Oe)X+tIN>TTA%I>8lqXkWrkWlnQzl{=$?>r+N6Tx zv!bXpP3$)4l-JL{9enf)k;nu0j2G|^YE^A04J&LH+E@!2qeD?->ydm36UNXqSsfGXw{5X$H zeAqe8qHs9vy8qV9!&aK_#p{duv|?zS$kn|9r*cCI&#YK+Ipa{0PypnzvbsM+jE4G!`}@iz^pK8Xg-@t`6hfRLIl z##sUh$81`CuDNC87VgOTS{=GxQInwy(9vpY91MFc8U((V?P5=iN65N|l({0?O`haN zO|Af$4)m&IQ46Bm$?0edy{Wos|G{?_lNdDv2Em?}cVpZ+8wox-Z0;e-%8c z!~B!8Q+_cjxLDnB9D7%p?-&Dn9N80bt<;EOvheKq6182o@Z3_u0j)N9?pZO3OsVH@ zhMPWjley$XMOuxO{;==xCy?6N?tj8csKfrKg3m%y)$2%1HCHX3{G%d~;NK^lM`C4U z_x+Z}pwjhhG-B(B!ma*Nq%P<~pVS#c`Ym)*{t zxxbgs9rIY~?5bCI9l7lzt$YxT6^hr(G`?z;1<#Y6`5IIZUU`6kWUz}a?F5D;Yezj+ zjeC6dn$sa*N?-8L^c|EslDvdR?hA8;Wryhqu)wZFd~;WvR)jT^fjI`c=i$S0iaVIq z^&%TXG;YlyB$Niup4s(@`e@yu5sZ(;AqGiFMKq2blC*q)NHT|(5*D6yUHpycenC!K zLSkeDpVV21p|jvaUKPD!?p>wR5%79pQ=XofSY~;eX-%jY40~FR`@!?*qb8fjV#&Fd zVqml}dpvbKV4Ckj1IzxP%fbAGo%9wEh)uOOUjP?F5lp9_Y4`pU;#1p#9A7*diy#s* zDd?8-JhKb9P?V4R(=^RNbsTelE*B`{Z{qgfC$37mDrB)l&ihd-a;pAl`+WY+j3X1% zUZAlWZ%^5>*@m9sm4Gy1OZ3!AIf_NKrOC8Sr$;WJ)kH!&0+H z&&|S&m)hK^0^N$f#QVA6u>6Ro*8RNX$E-j7!A==|&+0*9V{v;J+Z}C!aK$Bq?)Xuu z^f*<~@1%P%6~t|7_J8z2h2<7bOObzaSIVr>v5x+%_YEN{OEa5v!oW0!S$3JY|A0-# zv7_QN`c5JeF4eaDhabZUbh`kIiBNir(bUQUc@%#R zv68r0)lh0gEG&b8@E)Xl+0BQg3JxFhUMJ@!`ZE@hYtzYi8Q}2Dw;Ag^Fx=`hTYEu+^wYA-#(fT25Csmn&c>G_G7C{WCGfrGYdzZ~ zs_OCz%WsaLJL`KTPVA^4ozmEVh5vjT0_28PE>!{-V8Jpot?{oc#6c-f^kOfHOBlkX zpiuCK9HK)*Wq9bO)YB_AT?sul6*!qP-1v984g#*1OTtYOp7KOV?7Bspe8ICbfh7_( zQY!H`6WP7>wyy}KmIi|{f86qDqbJHKv+Dq>Jv#@Na5&$8q4frWk{A8JrtasqpLDLw z#3 zGZ)c#d1k0~%Mi8vH^dc}APh$|kJSM~gT%KWD4jZnBkPCpN@Ab+pT{<*E`0|R@U|M# zfsS`bl=GR6YPUkAB4k~Bd;B+~oT7vPQ{c57XSWt%irU)xmLs-RQ7|TLv;^q{fs#rA zQTbNxcRoFOPbpZJDC%1(Z;Z@*;JHq;>XoKVGV6+0jAN?Sw)n~uOx6AuI^46kVoE`< zrLxabL={C2ILTX00aS`>EyHE5E#T z!HpL@nP*x<5mN0T_fxOfuqoOFLO)P~U~yAneH(*qT2H~7CY#SLaG)Ptb00@-smaLW zf{t2NK|QZellP}qQ_QIpL5r)pYsv{ki5PYuXx3n0CDNFK@%>Jif^_?6mxt30r5>#hdX4fkgU3FH7&e`u*qj9bl zl(_xGJk6`OKIe{)1AaN@g45*AY_S=oe8cWOowRg~ui?HuTCS2HQeRIoEOWQ6@KywU z;-oHuK9$?Gf_WMF$3kJKv2To(eP3z8Pmrq2=xA}oXG!a&v-wKxUS2y}OMmt1t5J(f zn(1#w{;VY;>ocFiiVto6^Bz9qA{Ar1@KMWE8gr%oD21{q`JfkU6Sn8+v*V(pe^ zwX#-Gj?I#&(CCTLoOhu_0`0FtW#kKt$tkcLG!O5TV-XRPY4o5VpNeqXU*clkIr1_)8Dov8UL6#E32o#O1@f4xZM4$GI|oP zQokHfotyUa{GFj3(_zd8_tz*&@)TUmXowlLq-}z9dGkBZ(bqisIe^RXV9xuM%0*W4afasm60NZ;1Bs)vnWmEAO)Tl3-&IH zzC4%ht?lJSpG5*)SJRDG@ZjZY<$KU#POKfN_9)b881bzWHmS<>1efm$s;FB<(P4F* zu(4%IW|~7|kfavQ5QV468Ok#PhGDob9TR#9TgF`yKylyxyQIV&`Hb>Q9L~P)qwnR1 zKeouZaVdXLTE4_d8W3m2)YDyLBL+=TaJz_pUhp%j`&|`<>OmY2bOIZ+-C&t&5u=`)jhzf37~~+E{OI zxWD;*A`)+1WB9YgPkrM#21al0Zk1CS5=#WzGC@=R58 zF3a&coOB+CY(o3)fCN+&R@@qZ?GGBD`EJqNf8U>usi5{%+(PbtfT&c*m6sET)rE;C z8d5|P<~2ZMGX7Bs$<%`v{kH5oQx4FtKiQd20RylyB2JdzYd=Lx>(VJOe7W=aMiX|S z$+kmE=|PmOeHib-`Y$VAja)so7a^ap?e8yLJ&-sc_3Wy6MRs(H?rt8x4c~_@D1bg< zI_?+DT^Apd_-{WWq1g~M34IZ&nnzJ2xY-yNWu zT4OImmv}ABoTwtd*s1;iW0r@Xhz zMrS7NHyIVd7H#*@Is#l^)P(oU>tMf+(OUmLFc8$rZWwVvl_UKNbP6y)n5y!fc(+Ey z1M^pLm=rkfgbTG2``I2y6*^Q=V<=TH7ObQHjcpsvtNWY^iQt=>zAmFY*>`ZrH1AtUTii2&Pae?}dyE(!Fk#|r5B{#@K0cqK_d*C3DyCFyJk;8Ngv)>n zLlQ*l>3yaS?UzdSFR_$aAavGue&Jj7+_qdDg)12qc|n;1{N!&~_R6pia-t6(CWwo> z_sF<4c}|EqYU^^Z&mIi&_6V26@Y$5kpF;KPnUY>Rl0qx%_g*p>jO6a{U!uFNOnp^O z@;5}cJ`vxgUO_allRM~9zV2K3W~9-HJ|8=v!TH98I9j2EvB%L0B4zSuiK#S4r}8<6>bF%53EkY|ke^KXvd*1j1L;AX8dp zGVy-iTJsOyx#AaEC#c$rvlOib)QTJLVh2nBT4ftTk`EpV+A-^tezwJxs9$Kc)QquDCFHqrxkDQv@%c$lk42uggVGN|b1L7%bk|OV@z@isQ z0D)h5P802fJ?vtFA1W5ivHVH=F-!*h35c;d;NR}4Qx3^{t&}MU*m8#U17=nL#2v^@ zoZ6wLbuD!1gFao3k0Y9w!-msQQb;)Ff48e zEVYOwZb50@r1C4K;-@B^fQ58wjwm$;@rmb=tvPk8;ZeJF>-=>R?08YMr%t1HXXh6uJ2RH|0E^;{T}U6uUTM)pO%0K$l2U~ zlY|YRSY&vThxInS!Q*bPFvl6GCT4xU*>|o__U2a5HaRQ?Ch-X%{guW-hL~Qbx_A?O zs`im0DLaW8D?y9-R1J$sQ(#>f;g$_P-%-K;%{yMo`G^IwK}@#2Vq)7=v5c^&C}OkE zqF{p>^HBAC6x(ndSVDUR^AY1aB<2s?pMDhCw>t&y5bV$*DbGF3Rf}5<#=x{scoeJB zb-NsM0@FS|EeyKeU5JSp4?Mtv5i%-m-V3d>X!4VN6&bGZjeXRSmdvoXrqCkG-pxlD zrIB9tJ3A&ah^9Mh={}^to|v9Rq8t)LH-r(`&p9&_{cPbw!S8xhYq)P2t-tZY4n^Q( zC2uq)>ptPWza=`{V^TzM(jkau)=F3T=WeiHAXceUs214pR!^sGjWffNS8a(#c6%WK zuKGQ#6-(03e<+4x@3L!T9$%%d)Td`)KsFEtmUmh-1C!#HUw9J$`(VOWFD!F&b{k0UPG)k{YPbR z*CjZXjCs;?qgj0ZchJSnjW2+8NJWG`yr@z4bSAg<$I9vT?~;0RcNvxn{nceNK0|EA zc(1-LAV#h#_s>>Ts-vf_i6>qGc>Q|}5vHcilxZ~i8m@u)9$&~RBV47%&6+0$5Sz0^ ziwC2@?Zqp**>N|C|JmoBSb52z)Xu*Kn>bU2crj)j+Yd{MO^cx#xVr*eZ$@$Fbkt{G z0`@dbL9+m2_M^>b5V_kdc)s_rX=re%{N~=(=p~R}q5!9bwg^ja^ zx?1vg`*tTiHIyzW;We1dUN(7ZXBx1eWbI&EPAb6$@3m3V%~7pah1*z1y|MyVx4x2U z-ZNu(qhcMyajwvV0y^zef_fC~71KQy4Kc(oQ&aACME%a=%5FBO9uh&OMfBZ-x-nEJdGm%}P;w{c9^x!n86G&d|-~C8SU` zNwja??Em!dYyV#$X#H@XRFM{ZjfqB);}Xy}2w+fPoP4d?c`r#gF)M}sNiQi>L1-TN zQ~_In^NES72?G}ln?j8fxLhCdI@q+c6Y8y+TowyAI>~_EE3YFp9r6?DT3J|3o^3Dh z_#$*DDEON*le^kZ6l2t}Anm$T*`&KASG76|Q_sCIMlef!FHW6|GyQca3~#2Icn~j+ zDvyBLXd9OaP!#KZ$mWfyZ7|xgetc=ZHfFnk*Jfz#y=8XoC*9T2;j#(vtE5cMkeeDD z{^m+c!tBy?8U7fWY_(3?$o%`##B*+yMX+v&-K4I-aKJX}ls6GvZ;e*SHY%=+?1&XR zsijX)Xa|q4E?p(zKSe8|lFPlV+@uC5#Wv9gh*|Oz^d&mu+(NJn9ko5l>zYO{J z>P_96b7+C2HoBYV*`ScsnUXV4f(FN{-<+?N4WdEb-hP2@Zpfp-)AP*)-U$3bM+7>m z!ZBynl(jYkmj9nJxcH{{BqysE(yT5z2Zkt{Yk(}#NO0e)XtF3QmilwpA(fn&u1Sgk zaOyTi^gM(>uv`^r&!yuZ0&OlkcC65f`chnh0LBq|HD}%-IL%;anXqbEMXddJ4sDjw zko5J|eR9OPV=rRKpIYUs-wih6R$?fw#X!a3z+eIcL~#OJi%Wml34C9JY?ynU%F*~3 zzrXiJU*D;kyiqt|K}%nPxYdK=MVkC?rHY2A(sB=>#8gL)SUJ`J%P5HVegH{K7K&Q+ zP51QS@P6k(o=hDBJx_Yt+b1r69dkJ9Kkq+7A>4k~^StI7|6M`hrY5i6{egzq4y|mb zE6LB*Dztdvj%Xhwml2wD&D!@{`iS^sz^*#auE*d5J9)}3-)e{*7@KJIt?%FoZ`_co zyv;7ta=)GK+Tp{@`2F!hX$&bqWnwzjc$ij#qbVX-N^WOU{@~JKM4-sup;YK`Xwt8D z8qPM1aMnT`d8R-8V_5G5JL-Ox-GP=^)t%8*vY|z)H4wPQWm&gWh1NRi#TaOvQmPad z*3L+0WjiZFKuod#KlY%v4Y@vTL2Lpdifj#)(k;60RtYEod*9pDb=u`B%~bjLSi(uM z{z>#n#5V}LDB|GCh%1eAcIxZ(U2WRYoBn*Q$`3}E-}m;c#<$mvbM1ieXkw!YdX5ih z5*br9uea3X+>-D2s(zy1SP^jx5Hx!(@tn2i63D{7H*#S7ycX04^lKK#UZfTvZKv|3 zM2o2%vyScLWD?8QzPkqago1Vg^PO$9l^bSfu*WpUob169y|j`k(K}y7)+#tPniFWn z#!iFL^9pl&34{}Vt?@(A1IC%z(-n?VJ1-XknLyc{2akQ$HpNO1OKf|LQyTNncS>uR zLYL>~NFMd|ntF6AfHU9SEkc}WoLqGzOZf^dJq`CUZ#PrlY+JRp%NEgGLw=!a@9+Ny zlR2zO=n}i?1F!a196W*W@e;gwr2edA48~2uhA$zy1+`E3 zw_dm=$nNC<4(omQf(4cJDdQjJKL*R%xOmZaEZLWGR27acwI>^obVO%^BxpBP^Y?FU zq=QobgkX-PmateERwtKPvHkso`j4aMKa?%U*=~Lsf3fR}_>5G|rOR#T@Okp7Z=Q6F zaCW{)vyuv<)8LXDbC>1`D$Vb*w2phGP3i7a;P8X%;+5FXRJ16|TbHY(SS+`ma3x~1 z$+z@}zbj67gIk8C+Q+uS5z8bft!<6AWG)z8_lw0Jo5RcACCr{Tx9^##*2wii_RL76|KVz zv%vek|Ks=d_4TpC<*vJZg59X**K}R~0_Vkjt`>}JL2QggrXiEaaG1>p2-Gl2RE4FO zwR|34BaR(o{+%`QkO)Znd!4oQhx~hMjz?EbMqtHn?rI*EVX%?ZgemQfkeJb2QK;~? z7rbN@kJS(-RFV8BR8HAq;g~^*)6vSqXCRRkh}TX^a(~)o&#ad$h4&f(BgfOWe34CI zlv%zwFT6dGN}HHIWTcSYyWo)EMDLQ5qkJuGXoAdt&7CmjllKb60un#U_Zmu)Kus*v zp$3cL7$E6Jd2RITQkv$Kk_)q9vKb;IPBBTbk_S6Uc|<70OXozu0@Mw;-G!mc1nvFpqj#O`w>$+F>lL z;Yru6oaWzoU=G5p5Dc~#8e95B;Jk=Y|8BGAUgjE=r94=}BbWeBX%&eO`ZZqoxq012 zio2#ubgX4ZlY{&+-)*CWQ`k};Sj)Ke`J1lY0k^UwB=@Q~9VE{!3izl91)W6mxBG+N zIP-oo1RpV^dd_BK(^4-BZv!wM-+=q;FAOJN9v}Tgx&JHe^{{9ZtvB(hC*y^K$u#M) zLDDb5tU}zZXVOJkj^U7S(j*i_!`}E|?Tf-0pbeepf*d(Mr#rsic7$I=0PUK z8CG#>CT+;FpdbBF;{zofU2Mg&{o6Of?l2Fci`+i@z)Q49ME>WtG!|v`Y6px|DkcFN z&d5-y1%n7l-}89Pe5^|aF3aezUCJX@pPYKR-tu4;Kb-WZ(9wi7!RMLTRb3^#XFGoc zSx_84t|}B@v0xlQ*)^;|_K?usfk4iwAqnO?+mxuL;$&^`JW>N*6bc?4KeIWy`C%)$ zYN9GqIx`@FT3qI=b2VMZCeG&=C)_pv zH+OjRgYB`A!5C)QMj%n~QR*mXRZO$gds*Q=DQSVKr$*5}9=ji6)q@FJY7)Z(s zV}Yhz8Hpvjnx)MW+9bASHoVzW3wjr_Dyc=&OD1qVkq}m#sPwxhUAM^N=Apd*pTve6 zE=Zno5LZnN-~swLSBhlX;ghVLU930%2L!=O4}M=Aj5qf>0&(Z2%#sn_XV*qi*-Ko* z3p1)*l!G#SL^`0@MkC=jA%A9o1HONX2VfKDF1IDGNj8vwe)a#z?W&gxx_-QR%KW)2 z*izldkld!o$x0YAWoV^H!~p~omy-JR=kni=-@kuT_df!biqXRVXwA$z0N7Bk|4jwW z`$B+-v1dgqwn}eaY8BQtL!?kJs+Qk$)&(dm#Ly5ON6p)nWfR{IpyVDgO(8|?lp(LB zUq)ec7gf>6B(CI!S8wKP%k>?CJl&Ea9RHr-bVx1ao-p)l?P?IFEI0_~nc`M|?s;ue zUz_)&K9anGvROLj_4X_Au$~xvGSY#T@{JD$v>ZZP3@1JY37bNvPvh*ukE7`>z?F9# zA}5M))y&8Diw)E%Ro9&o>qJXLi$s;_1Vbm*<&i~3dOkh{xr0IUZdq|7N#Cw2zTST~ zpc#^tN|ZOl4!kTCV;hH?j~r{r{O;|cz3Idv0p&pS_~wXq*^h_DR$rwkXvb0DotP9p zf7R7_FlY8W&^-Nt2?X%O--RmiO=ALDQ=04Y))~S1%w8K6QrN7Bx#tC^> zdifo2d~C}bk3?((M7ffZ?zyl9sZd2|OSc?q;{t#{5*oV7GOET#W0M$5Y2t`ZIH?U^ z72O%V`sc$4Prh001t=TF7U3W3npFM+P$5nHXOkj{Vk(XZ^G)<>;!1$zdIP;XuWuqG zb`{%l{n;84dxPej!OWu02Bf*H`Oc-!qG6-HZ8fQKNqQ}*yTZ|;*Gx#rX}U>+R&iuj zVN>$6`O9U70$(QE;}@UWH6^`{yXJ)#MRg6OSBV&xF5^Ml;vGd*wHC=Ag&L%tY3gFPAE@2RNzf!h zF~H*RJ=KPk_Q;t4~8$R#-cYEEsvumqAFrEh&N7g+G>FQ0tiXhBMpVVhz z1lfIasqHc_&s+Pia;kPpC3g$CkKz2e{`p$Io<#)t?vCga7HjP<3GEmgbQDhILdh-? zm)D*ZD-+0NWRS!g@e6*^18X|s)FNjnRKdBt6rJGZx+G*q?G`J>u|zhgf7wfIS+0kQ z)2BGz-a}$P#llXm8kLu)z_5asPgIR;M#=*7ZIpmyiL;5btxjA9f#WK(BpNhgEsx(u zVFgvuOF4^CWBoq%QeiZkS6xT+I7h1)zP3V79i_MNM{`x9u;1T&pb>)&2PEE+`{YL@ znTBujPJY70gJeI^THx@%jGmsf_K(SJaj0M-#|FMWS)noJnv5560pbG|LRj>c3H4qn za-!1*B&;JD`kt@9p}WQEMy+5942(XCp1#tr1Hy?cb1-FM@?Wk$%#OhYaiNI32TO6N z+g8DGrRO!-M=z|eZ_=pP;~U^8HIzbGxwrW^5B<_@vTWnAJsELRpf4^ibx-nwI_tgQ z`vnK@{2z;-#bsz>DGa^gP|L`s$Q1&M-WrP@zpK+3=kn#!cg*xR{Lkd?h7-vWNCwEd zNAn@ch3cURULFLfQ^{%&Mz&IfQ43;tx(~UU87+7jM%zS`IaL*%22tF)pXr`QZvXwu zlfxiNTvsz2=yt<1r^ha7VQ$_V)Oi#vwn=8yFX|u(Lw}ZPrk}w@jBl^zZ92QNcp1^#%X9F4qMVkv8RyttMPizkV$(Oo(dU z03Cy)x$cNzsb(OUY$@vow3m_QYXG3{_!tb$i-?bpf6wh%AQ+go!TieIX~Vzp@TM*IY~%)&1D-?pDV{}@fwUbV|!QiFaS$BN6| zwD47TvjYyEChGWlB0}7Pc=_BkZ*8tW||;;bC83eJgJ#@dbY?m@4lKhN)oj&_8kL={AYp-y4KatrmnQd z-ZQlBMJGJay^xt*BNCfKiGQhxU9$BLQaq@Qd;ipx6EF5UoW6zCe43ylVmmq==P-Nn@ED^coslT<_N; zrV!s+?T;VIYsgG*pl#bA7ddWcOjmohk#AvvUURndHqJDoMpA3>9q#>N#u)PGl`Ejw z`6UMMqux)wlKYd6`U@caBe~{oy6Q>Ym;nk^()ht$KyW~SVBy?BK7jbx2J|Y7%*=s& z0_7OoA)S)gJ2$Hi^I z>>}|1BLgNG{w%}M8LSCr^)s6_G;j7i5147}>T)1;6R9`nJyJ+o)fak0MeWs15>6!} zS#8@^*udZjbDwWB*OCy*EA&MiVPVk`Zunv9?o#sQ=*xaIxpqF5|FuvBW^FOEDe(Pb zV_U1Z8wwh+ok*xv2{&p1PR(3G-0q6gg8cZtHeC88Xjy(5BIB5*B2*w_`fBv=w`)@* z-FHp5ugmXAl81Rc+#ptyQWk@6OZ$mflLt6NspQ2G`XezGv@a;?-xo55)a~6r6Tn_F zgr#tMUM%`>TnYKqTqnV#{*)kEXmzm9W6lOxpIFB{X4cO^l3$*ihadaucDt!eT>y%c z`=Cl6*H*^dA}TG{t=^yGQTd6p^9uq{zeRe{>}`S27qty7zcsv@I$mh`D*euV!R@|O zD#3fRU+%3yM$gM_`LoaEp!TGo9QFoc#n)n!p>&lOH3G+c}vf67;R~zr&e& z{^ukCZ8a`pMOWwg`jn%r(-3U1d{#FJ8?J2OocYt0uHG(_57d``=4561I^5;{J|3*S z2|CFO^n3VwzUg}--QUpxd|_~opJ0w1HJai$pW6!3z8gompwTr>ttJ3l40x!%W74dA zZNECnzyPq^R%cH4_e*NHZT`;>br25tb$<>xLIE($#dfz?wxxL~sRLRU=%fY$jJ3P9 zH*z5s3F8L8=(&n*DaLTLne`ai#q+t5%zIh$E?PQYnYqV$p{$kM=^l`fI?QL@j=VTMllm^(K*1oUH zDd!LXYYVtp^ z4q$q0c2ymo-E{$HPKW(f2p&iYoKIMTb<2*9n?9Po3tL2Ns&MzW`j{mc8tO|IW$4n` zIG-IXF;eC%Gw5;IU8d=_js=*H@^)SJ@fg$7vmTOuV-ApD*O>_*hZmLWF972J+1IXlXqbgr`g)ST>m_OdjCq?nx5hRD&+WSz*2ZdNVcXYm&d4k3k4Ysf*d3eH26VQNqPC##? zE_q2aLNmBXVqY5$=*YMy~6CK*6AZ9ep5 zlo1{EiJX%T!X{!!V+~<4ZXk?Y@Ghs~=L+9ju9~IJPdt+BE(yCVoC!YLaZ!qd{zU(u(a9LQaxp3*-vul~)|a_%6w&NtPDDBS9w(*!g#rFf($2gz2q)mpd0KYjo_ zIfi-rL{i-8DX=N{GZ+7LrT>T6KMt|+UrR0_0pj$vZhgl2J%2CU=XPWzM-DX1g5O>P zq{PjyoOK2_D*;Izg_J+M^PcsF1Oxj=JZcBC`rwGDHwKzeMDbF`W%f9-b9;uYV zBoqDd1s-H0Lm4ltzYTtK5BA}%ZL`eB`)a_*3P_vRMe8iE8yW9V9JCUGZrCvzrOWo<+)k->o;j0VHTN`fp6oS zc^1XNols09nYbSzFTQ2iuEK0lwIP{p%!8k`S1FF*jceQKV=2xq>u59>xEb#Yh18u&53dL9oD-C*##1?1B-Ic}%H1C`?q)pSs7ov7!;TtNv#2 z&e$YQQ7u+@?O13+jm&?HVi*onB~5)!gd4;#FyQ+1BdhZAg+^L$ppJ3l0jPwHjy|UE z_74>M@4w==P&RV|$-2YD7FKDgAe-&E7=BAgnc3tXU{dg`NS4Knf1 z44wPq2AOtn(CQho=0;g35|UF7AhI1arr#uD8DB>Hr=iC-D)+SWYTk3qWRsZTmOSC4 zmrtb`E=*T(F;*cp_%rrE9jlJ5&E+c5*4Q3x2hryKx%}k%2v>ERj*u0`ii1zY5H3DG zZU44aRzkx6W_xt~#BSsXOhOHyVDvri6RvI_^UF2ieCZ|N{~1GkZryMO4Kw!Xae;wK zS`7%)QdU<3bug!t&+?=I(%URGunhr#k4#&E;!F{`mPB9tWtrXynWozrQ?P`4u!pcDk@|jz`MmfIgE;{|Buvh~s@Pv%Rz|Y4!OA5r`WX>yFqNP6Maeat!|Zqtvc2dmv|wo5N$w zzXO9g!Z1lvJ|(DQG-l7(n^4wMLMM1E^11=D>|5EwU(tlQU;TH4zx6V|o5CZ#%nSkG zq<-T0y5L<*_+F&$Bn>4FRK{#4t+s5AmPWGEjml(oBTMDuG%VRJd+O$+E!h#b{VJWj z&XMV1BZguZ>efgPbF*$k^WEnqO?2y^!Wt4u+!gtjZ6{2CV@_Yc6X>clJ-ApNa#41i{Q#|T$fIW$)F4&ouQ@tY5hkkw%gB?W_M7I&T*?*8mFIpo{okS=m zbVvJVYuEP5NCpp0W|U(t*e zp%-}4^OS8}&G(yH^CUkXVeWsnE%Ftg@E;NGK65c!lBO^hGlA0NWC@8^t_}`sFkSqa z`^Ya~*K9;A-S=I#PxDLii+L>)`)Q<}Jz|UV{SrQ~NwU|oSBDF7E!o?w4?ESM4=^NKjWpG2z<>asJBMy>sL)SB9qrDI_G6G?b*weGfsNv<&i8n20zrDcDQ6a zZFovFqQxI4hDa0$E|8~Sjf0maVh~c4{MO>4Z1g2QK4=m(nWBKTPW?{#OK&5h z$;U>F>Rs$PBLn4ch$;UeUPGE|_}JUq;`WSZf03lt(&%OqgrTlVO7`l7Iblex>~JPtNpfZ*X#AN zYCrhk16|C#7w1D{w8rT?dXB_Awh+QpJhHC@}72opV)H#bsMn z!PQlJb#*nJPK$hWcz8IO%pN{`SXIr@(a~z<_V$W9_lh^KyMO-YFW@W;KA*C zcVRv+p1+XG%ga0W?qu0vUg)wkp}jWTr^zFE?+!~HB6f;~#Affk5F?Y#ZTzUV#!Er~ zP!zPRTi~Enwp=d%@WprMZ?3W|YnsM)U7SIkbCYRNmSsGTs;cVA=-O^tQr$LwM?rPX z$v(#PK*U-F*d&5mUB`erP-<(m8`VBaffqo;EF<1<787jF3?YO_zl_%*&#i10$yHUw zCn9ym5%8&2RhCVxRTv;ffp0Em7-py3j2ubPGcoW20`Dx7dgSeTLQ9;a(uA~g7!pwg z{&u+a!>s9K)V{N>OP_DFLXBqN!_1D2-wIxn18szHH^u4Kv&eVNk#93w#d;>K#VS@YTdFsmRNl zWYgiIF4ePM&3@gcCEnJ<-;(f5zj1OKT=X~3?Rp%xFf{;^M6eyN$>o-*E8?CO3Jt4l%YOdQgh|^j?6R?N*W%v5! z%%~hRf-W-A6bMvqi%D5bV7-P# zRi9m)b-pV``D6xN2PV_nYKAb|pXt|T?_f5YO`bmM5J$5aESEqzJ8+VrD)VACn;bxg z2dK)r@ok`}ECHpFKxft#W<;6EH6v6lG)>!fD}hdFUap$5%<~eatHQpK)#Ci@{Ebrg zP^rmmwyc(9v=BB9=JWNNH*a3NcrhA{4vvpVDb#80A&Ad1ktei(s^AP3=*TzP||}Afpl%5$BzAIzAbQ z%9^|^N2tXV7zK)fS%gr4RBuBA4UjAAwNzK@*H5or{cze<{_gRuv&%C?1l?ZLm$p!Q zk3M+#ySB?I=yikVvd!R>`_tmxdx})F`vL%kpkwl!5C{eDW5^T;_OT44K=nY}rkV;O#(azr2L171h)Kx+ zal^A?a1|*eOp2KiNGrp^4@*>>nqnT_rs)Sj5>f#WrRP#^evq*LbpN{P_7am@VsjtqopC`HM}=X6_b}*q7)m<)^G)5lh(vwoO_kn` zLI2I#sk^RALrhxe4LLJAbIfobxI@d?9E;ateTE%qf}7)⁢QRq`XJVoAmROXd!YU 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

    ~yDO-RqT#|gi@81fzQP)dL_BPB{` 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

    IU;Ab)SZKDm2Iu5z zJu%!PAi!8a+%hJogn6u?*QYp+wKKZ-9h)u8Qq}m9XJXgb&7_sjHB4|W)qs!fE2lH} zrbc8zQ@3|i8iNm|-0M-|7)jF|5-fM-i&pNEL}-)Krbi7aBz77V)zm7*P2* z9hYx5HVWi7qe3K}lUwtkbgnE2G_<6d@hG!;`$Yj&>kDA~*R~3%SKXSI-HhJK>uX={ zT&)5-Uge>!I@?U5%Y_EV%RQV3^(~ z%T4d`)V2iOjXWAVmRjZ(0g~G4>gsFx_SQ~!M7s|#dc1x*IEV=U58=V_u_L>L*~R;Z zc)jUahnrKZq*YWuA|v~|wP|Kh6+VbI`f}y=J@~F^(VV?&8 z7(EuKHD2XxXxx64DIIV~?Q!4aOcGSf{vbHK)wku|*0Eq5PD2?OeHml<21%M*;cY%b zngWC=yeHh%xc|BZ@u|&e*%O4Cnms3pRVBljipv;J1}6-MET8a4-IB{p>XFJl9h4ep z4i*#PoXI=>CAzzBf}e+D$ckz zSzl9c^8RsZUO!>~MRt?rxBilpRA=rl=SwV$wnhD;fTx3bj=a2HR$IJCQsz&;yf87D z>ndUhxuQ7H&2g|Q2EsV|So2=W@i5Dol3N@aTKv1DsLjp~)r>Y!RFS8i2vTa;0oV~jx9 z_T?Vnj`0;+dEK-Oc$#h7IwVli=1HFq0v`Y4q{P7IeqCShgg@VgCkpW61ScCx59(?+ zXd;2=Q3ii!)5uC9?`8k(2GE+^Qu03~Krxs1MU{<-!P6_=?DLGZ2Taho`6oGrG7gew&JOX z_aWxBYH89fF1{ON1UrH&l9P@FEUuDt>wo!dek|TaKU^=$bsTw{o6&-u(ps;jqjo)Z zddx2W2Sq&oS-j^xi1Y>Wm&JpO)5LNfI>U@b!rO~Jz5plu#ctEwQ(p=|xymMm=@&OFop0&a*ba z3b?wqwuGX=KvSV9$vi*=rNXirXM440PYPibn%%0+7<13&NBjP!w(zD&R;C{-_Jcu} z5P!czGX5gL@QOy0liA*}tH>&{UB&invY(WyyHSqwe0DNyHwgyWvGcVBeV84MmJ&0b z$aSYjcm_coN))$1rVOvri7WU>Qq@ZvOS2mU_w`H$h|Z-kdtF7TazylW#$4BSD{J+! z7vt}gygotQ9O~mFES%;nR25P#OgT3JPf)E>E*mN7#7F<@FmI2Z;In(Fc>8HQ@{*Ggy6Uq`- zXHSn{%CGJI01HEr2v>iLR2uAIw*#2E6e06Eq`*UvkHeTLB&XBhW?P>Z8i7*&3N}F2KxZe<|z=KS%qd8 z9axRT)9resC5hwl1saM6F0fq)BQy^XRrroKl(p+!1pAP z@$jeT&-{TA=X#;yC8o-XZj;t=MZ$>Q-`MGIPoi2K{3F}fQt-oT2 zCVBYv&q_3irA7{#xLS>D3cpDz=-QJdv!tmZY5PukO719mw`S9=ifLyosV4tt()SWE zsSy2zJoI#!aWVE}t*QWRh_f=Z$5O1Yk-hqGec>0-46ek%j?Ij$GT-+qK=+X_{wO)L z^1(^oy}Pq{QrXQtzj3;M^v5f%Zgz3Q%7fAG#jD~+97G3>D6j~{Evlp-XTG=nhDtJ| zrLvQh%E2dU&wOs<_dfhzvWA&rcf`_fWOE5SFft~oldW5$_r<1Fi%r(ng;PLfp5h!_ zReFz%Q~HOi{n?}4bcWS$pltGZ^b7M$ln&*Vs{0;ZhV6JXXhEwX@uJ|3$RiddClO6h ziU&fHszBzYP!hbK>*f1>bak_(;`ZmmN>U@zR+$EUHc=#ep>_G78b=UKEN6-5{_T+S zJ2LUr$D5H3dY62QcZ>@886VpF!gvK~)B>r3g27&AuA)J&W@z$*f2&U{pEWs3+kopF zNz|Nj-+L|jKCaHklmd;wY=tTM@T63kKzx`Er#w&^Q;SKU?`1xx)~|$X`G87Wj1WJ-Z66! z-y}$8PZOD#5xg4)YK=`B-2rHW)IhGdyTKQumV8i;89hOKl_FXhSS6pEdQ& zpJ05uyfNaHso&l}wqpKB-|n_Jd|a)IQ08HKQ3RE?k9EL2+#?H?ORlCsXQQ9v`u(P% zK@lsj(^dh-HQO~TkTbaZ(!BQd$CJI@Vd)zGeR^ZJ!pIy!A?qifl)Rdt#}BoZgsWa- z*-z!$E%gC1*ApbEanJU0I~AXIDDkxPPGPRLejKAD=+o(6Osg_pX=dCvF3AJvf%~?$ zCAYccgY0+0)%A9^CSC|D@01*E4%y*7ONsH|ruB+oJg7)M;>S@%mEGYh^2(+?Hw|Iq zy1DwF-&ihl96Rd9y320v8*%E~R=>_q_?f8A9^ypJEIppHwV;>Rl zU(9wI{p+})6Q|OO@@;UhlgE#?wuVGSXz9SPp4`eD&h%-AEyawjY=Ec+SEe0-6iS7} zagWsia5z`ay0m71fT<0zdy|@HJo;wHK2!uruA___y0-eN=sZT}0+4V3#sW}UT2JJv zxS_XZOA^HPX~_(b-FL2^6b9c09xH{_C2vM*&KA-Iy0CCncQlD?6pTOBbu4%OY7Re3-(a5nGh0d@4E;j3rOX@7H2C1%y7>r2DB&kW_ zb|aP5!~gIWGV{E`twVb?MQ#}z*i@f0@(>Y*4m!q4r+vFG9N_2Iq06d$q%!|6TN3g` z4zk{K;?lwkI^^hjxY+0etjgMzv#Y0oD5~rLSWN?q_5Xh=0o^P*UpV6+)2Free?V`T z12gt}Jlq*g8&f3?>k&OsWJa4razU6#-?xUv%ez6d8}gVMATAm&hyQe!-YW$W=S&?? z>ED!9kZUP(?|4&KX>Vu31^X2yQQIp>l-ye2KWArC#{FRkkevWMevCN~4H?H9flzA8 zaCtUl@7q{}n=}I0Y~oF!+L;X!x=3Y-{Sw2PR3uh8MW!oNLCiNf_pbUr+*EpCLa;f(N$bc zNY!xRhaL@It)}y&=EiLaPDEXHIyyCQb}hp(fsLUKr4W7iK9ha47ukjL&qrs$hl{7u ziRMpS)8}BId{LGTy1H+>IKT0m(oz({>wr7l`#?nTwjOV&5{6$SzNfMXjAfyCS2*Sg zgI#XLi6aA8b8pI_NB^#UcFN{0K>{y1u|Zu8r^$f(O*b!+<;-(`N#8v!fP(RNYPk2FV^B{W`e29G&PP|0l2qc2dy|=3#DoE$;-C7F0~;?I$QdY z4S(O~-RaYPc8z%>PrNG5lbV!BOeWeu6g2#@H{lw}qN~1QT(_JFwP*`SbZ}&38}xY) zhWs$Ku-85u4A1k7!Nih83GE5vZy5}pOBd?qAB@!TJ=mnDIhMecD;FdKmDgwXbE zuZkhOMNC}e0?Fxi`^!#enI%{V(xiK(a;r{?&0Vh6*b5dPYXa_Uy>K1EnI^{w=Ru6o z6sc4AQ8K|FBw_PTtjsvvcZ7zLyH)}XB!?^J8`AgHElWxGQKXf`-Kd%Mp1kBDls*@06eE{7^wwK15T+(^iY;=jtJ)ZzXB_P8 zqHQI%WQ#EP*Q$B@(9rS5`%XD+gTSm_hXGt#m)DF%yik<6M7n$!DpKzIw)Qo{L0-z{ zX7T3-070LJmBq-aNs(o>Ap}T4WtQLj-CgbOmYlSIg1=_^0%s+O0){pmHkYR-rR!@C zPXO2Ux4*fVvwtSv1q%{Ty9OI`C7hW-A5l!SlxuXH`&`TFtc@>?6wqE=rsoQa2@ z_WE5uM(La`$~0W%DzQR}iXyEZg`JU)5?697okNoEk_ps#VrRbB9DSoGjrm$}cybb= zVb0*Lh*ymhQ1sGjU!9KWt74G89M6}<-?SVCXQ`t*c~4iRHAlII>#QX9M<@khunFcd~ar`z$zyTmIPZJq)Mzm$&qBZmGCXx(Yo|XtbSmY5C7m3~a0c0R4jPvaorzR(5p|an@k%{1K2CD56xHoJ5@oZeek2^qZrI_QX^8%pZ#grOcdk z^|!n$nGoIwH2eICbjZFAR5e(*(loG%ChTI2+72_JK3kuj zP{pO#sa|Q@mP=nVGk|CdS-FZsRF|4oZ{3{7@BsR6lOY8G+42p49lTyO-X zrgA>^D8ruxe_x-6$JOQgxIB+$p^$-)QkILS$NRTxHCfN6U2UC)0xPa9CqWFy0gdxxT8V_*noZej4bg3~U zco;F;?rT!NEGV6|az5Xt`z{F;p|gVQfr#)c=tJdcxz+gIpdYw*JzpIpf$;kN90R#d zwZ`xzC&`z68=vb!^G%s~w^%Zoh8OY?y4e_z*XH7}p}Ii|j!{--e?riG)n}c5 z`iZakuXXxemKRK{cRro(TJ7|XV7O7KfC%x?Bp{iCua0xc7i1kr@JvNzg@>)|KR}UC zWocxQfA;4J3Q~X5<8>ruN?*bKf@$RpFGB_Weq|+o{;3-YOV~{XB@^wNpzJz#_&_~M z5{A#k)gABw$I;cVur2}md&Pv{Itixq5C}77a6U-A@6ULpcvagG5plwq7?qPa6P@sl z(4M<9ec@K8oXz~nCGbcdHo{5EDfuVf2*p@_M#}5d7x%h}L>IjI_Bbj6WpITc_0Vn> z1XwS`1Fus!wJ}oi>}+QT=snvZRSS|D_idaP<7W!|oMH5HUIU6>3;(bPIb+RD!{J#@ zUTa&wd2Ppp2$_1k3N(H4E8@6xwlgpGz2cyVwi=B?*YS@gjX5W+6^7CSJ>%rl#=j~n z#{5)*8r49cP}oXS`!$p9xQ@-sn5!9@9JhP(^OYM`l37PeBRQv8yyFC2<<}n&Sikwu z5aP~<>XOt`6Ko86(%0Sj%RdQBBgdw_tK9WdRijlb<-|$xznyGuubdcOV^oBQqLj`w zm8){tfBLA|IxHW%l^)xoak?wA3>7@hGw0iS^0&A4Z&<|Xn`9I9Jfq~rjc7__{1OLD zr${+Iem|)D^gR;s*St+@_ZT~Tdg|^yj zF&x#C5GJvYPy5y+EGlY}f8zA?uCkJSYrtRpZmxPh8fVP+=c9DT^|0BuGt-v-or}Y7 z;lO447r2qn+(o20sPV!}M0iyi)~O`2#QpE7yY5eycL>ZrerMCul>|wd1fCdp-n&1X ztf~Q1^4J!l(_^eiG=V{DmzK3oh3H!O zdCNFQ7I*Llg(~7WUNaasTu`ZO#zIHwy@93f?Bjst>&FKfA%@(fwEM{>Gnuu}^ zOYUd1>mshW%pn=V@y>J}KZLt{R)y-=U^ zQ#7aiN08e*p{Yo~r7jX}E(-C}`HTB}^K=6A&yNAmk6q8<6Tm3{IQM-Q;wmfAl*!XnqC#yFV_6kL$uU(>I$4)ftOQSGlql}1w^zq!XB$Y@ zKYnym+3L&eksb?u{Wj1r@Mrn&b55FyTmL$T#i00-Wc9~Hnzv-9G%}X5P!pR~%-0;i zzkHSxK6{O?)62<5O$F3IvuI3u6S~j+Z!u8l-=V4`hp616r(;FF7Yj|lqm>!1v2^>s zN)@{W7XEXD4#o}?hPds@DxemZ0V*e{KQJk8O5&eLC^SFtToA$gY3+K>a|!So{*Mqd z@`6BVjGh?%v0s~Hgk%UpRB5D(sufnn9B;f~Pil2Cyoo)pTapLys`CppAvwJ|m1h0ZXKUtn=$LT%W`q19v1sb};T>lFf z@J=8c=?jn0V#0n$;9L@IC$Gu|A$SMrq~F!MD!RC zpAmTOX|k)JYzS49gsRzChzT+W#catd17B8s3;xnlO)ky2=L>@YQ6OQa-=a;5wy|-( z>jyM1>v`$ps=WIPYnseR&4j+ZD;fk-C9IcB0WNw@XV^@3@<7IGplfrM%|igoUR$_T3&; zC-Fz!WxFE|duA<>ikhS2g(}-+r)C+~Q~y94I&@8T0shSh^9h(F1s!+Yjj$_!V#YOG z8$DB4VYw-4pqE!J%oJqN*XwFj$}rROspHS}KW9Af+aD|2C+LhuvZecj6_}vdvJrZU z`;keTI94LnZmBG{1^*wm%T{%|%3@piD2+p%;%n65v^Cn58$fRIP~7uB@#j5oZ{>V# zYGsL@A$L|4wgdlY#IlxRA{|}H{aQ^L94?xJIMkVB2V!VXH1x-FqAK+vMowxCUqtnA z%doQ@kRbVMSZ;bw-wiJ-NbvW5*we`Vy~6Sb3POFeHyfN2+O{8|jz(_)~FUdlgg;AIx?sdi3p z{%nkwo;-eZtEaYW1vK`DcB}54M!W^INt=FJVT1)OLIJiy^xWt9j(fb%dS`w&x}|84 zWFB2TquYMi-AUSXg}0f*Ot@}K^&Vf*ZHPQwEN1o>M{m|P%W(!Fhy{j3KX9SGy#jum z-Mb#J!w}n(KH|HQylbKzot>SB!k^b9+35kMak*Djx9^<+oJqz z;y(VD+r!+boG+xdEDpbCi`c*4dJfVWv324f#u3^hD9mJ|9yBZ*K;5I1G!W1r%>1Iv zT&QbSR-uLN{H=<|m}Wd7NIUb^&zK`J6uH!^i6Ck5;z0SRUVtm4!dj;^Q#Paab5Lt1 z_v@~a=1S!-p@nb!vO`-_`e>Cb3#O}dvm!&MH+IfX#g;*j<6nzcS8825O|rJg>?m_T zty0l&s&ykGi}R%Kj(k03Rnrj#m4G@RYvys0a?`jGYIj;LI@B_^gF2l*Md$BkRDq$d z1~GErh6QkYR^{15v^pA8(y*E?97$v9jTmybYuwr~RbB3nR5rN!^S2BsTosKJBre9M zWD^nz?C9guYSE2kvRP*nIx;6t=oFrEzwLFybX?XaHO^pwGvycCU>23ryeKa;|Lo9v z)9J>}>BUrPi9!I98WUEKMxsL!&gH}=@k7-@1S^Bekn_ueEAoMX?ZR!_)`~M(&}+gZ zx-aG$cCfKgmD}T;Y2-rHA>P*C$x(@ADD==t)JTQ58(54JS}3w&M~=DZJ0*yZTC?5D zBoYXfM9SGxlO99{k{{~%b3%x;Np1TU)Q>Kz6xn1i!@>68?~LE% z`y_Yp6@X}3_3atA*Ur(3L zt4Qzn2*Ibs`%w!kL~DrZ4nvlb;`rYZ3BF@Xt{U6#$Wq9|fZAjZ3N<_hWq06bcZ6@% z`C{pyfLswv`L+iGs3D5KmuU(im^g*;kVYnAvxzu@VP3iSYy{9A0oTi8J6L0{RC;-0 zRn)HGAo7mWE!OfYmPkA(EVZbjzkAH(&-P_QT3W~kZ%dsuHat{5CtM4{vtSdGHK2uz z&@e2)SAixl@*Pq?ut6C@O8lX}r!AA=@r@ zf>{NIqmfV@X3_X;vRBpx29g7;AP3IC*90G^oLd~=6pY{u78I1!@GyK@M(8UL9RpNw5{W^jN34CCgNwylt9)aH;PNKQi^`t6N!Q?RgP`5435caDQ}C3E?q)}H3(4g} zw`6Rxj5i)dSJ+a-Y)rWaPzkYxLqDm$;ukv{rPhrjZy-S^CWcXFyi(9FqYUe* zujPw{YE>EV&gMI=RWH#LAy3&W*1&oi$laJzMcx^g@wYW@l#5jox7;yEnvKl4;?2W6 znp$XvQOx(I!&_O>90;ZEXM{U=P19LYHH+;v6jM6imx^)n5DLq^?Y2M)1ZP*c8|ldW zIQiqi{zIQ__s?Ybsqeolvv(!R8rte;Nb1E;YDx%(<><0x?jk{~A+Pz{4z|PN;qOI> zFzwxzoHhEG-FhjyO$8>MN;4`Jm2{J$=^a{G$Q!H~tZU}=Z7}1w@C$bBnftJNmuLdX zFSzmv5tMg>%yvkU`3_AMg)HRw!vb&X^mq;-U@$(Lr|PFbeO#@?nPs!J`@D-Xu}mx) zO(fK~njP(|0kd<;yy9dM#}}Y(c|25Z2_!8fi?f2ItjtAHWEx&nkcky08iJy#M~F^> z9$$DhN_jU*FluP)h}vbROQbymHHSNGc5@}3@eaDWbb zWqnn;Bu%ZWRe#;nj^5g0UmrQl8B}hnW)HI-BOF3fmmo_1PDX(5GVjVudPCyga_m5)H!n-BHXygM6dj@6Z`ajA@#@Kaiu}$}_%_^JGz7k=|E5P7sKO z3J&>TM521wP|~kTS(j!79yP#&FK$^doajN#DXo4DThx=NOy}zhyrC6jBm9jR3&F&~ zkLsPIF6pV4k4ykdV=B8kJDbLjQn;u&t|T)`V+zUnOqAHVC^wW8&L9dBGgWu+5fRIA z^}$%qDyK4Ba|gxG}Dy{jDt{}7R%&<8$&D6ePhJjanK;s}GTh3q=@ zwz`T!BdpIU9ReJ>yKNXe4wWE8<_Qp{oAL{mwMzE&vcUh`i^Et^Xi-?qH9NC$!RnXQ znN`+;FkxBB6WH8{aw$RWj@9Wy7KnVP$kNMuXEEq_V+8j+c^1_X#xM(~F!2x9I6lNEm342Xb!jU8PJ5743l z4CmU~8vZduMP!j6vn7+yhmllQ8qAg?;m9RK`s7kpWLk;^4emrms8#CadGCR9c8uIN z5U3EQ)x`ZC{u~Ss{5KR8f4*r6;>@6BKq`$w`-(wdYa_Ug0s1=<WuELu
    ~#iq+O~Ee*Nw|Hzch0LG195u!tk!ne& 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 Zc3_UTNkqp0yZPU80Pp4B#X}{m&aBdAK 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 Gp$Py$3h!M2 literal 0 HcmV?d00001 From b77c06cef8313065f1a24772a909c0a50b8042cb Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:13:10 -0400 Subject: [PATCH 240/306] update readme --- apps/cassioWatch/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/cassioWatch/README.md b/apps/cassioWatch/README.md index f4dad48f8..f80f88bde 100644 --- a/apps/cassioWatch/README.md +++ b/apps/cassioWatch/README.md @@ -1,10 +1,11 @@ # cassioWatch -![Screenshot](screens/main.png) +![Screenshot](screens/screen_day.png) +![Screenshot](screens/screen_night.png) Clock with Space Cassio Watch Style. It displays current temperature,day,steps,battery.heartbeat and weather. **To-do**: -Integrate heartbeat and Weather,Dinamic Day and Month Text by Clock Language or by an Options Page, and Align and change size of some elements. +Integrate heartbeat and Weather, Align and change size of some elements. From bc18a42de8e2b48288f0f020d61f4a82576e7e5f Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:13:53 -0400 Subject: [PATCH 241/306] reorder 1 screen --- apps/cassioWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 448b0906c..c6b177066 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -2,7 +2,7 @@ "id": "cassioWatch", "name": "Cassio Watch", "description": "Animated Clock with Space Cassio Watch Style", - "screenshots": [{ "url": "screens/screen_day.png" },{ "url": "screens/screen_night.png" }], + "screenshots": [{ "url": "screens/screen_night.png" },{ "url": "screens/screen_day.png" }], "icon": "app.png", "version": "0.5", "type": "clock", From c8e8a2cebf271a16878c6a55195d6393d44b19c1 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:15:02 -0400 Subject: [PATCH 242/306] update readme --- apps/cassioWatch/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/cassioWatch/README.md b/apps/cassioWatch/README.md index f80f88bde..1342af8e6 100644 --- a/apps/cassioWatch/README.md +++ b/apps/cassioWatch/README.md @@ -1,7 +1,6 @@ # cassioWatch -![Screenshot](screens/screen_day.png) -![Screenshot](screens/screen_night.png) +![Screenshot](screens/screen_night.png) ![Screenshot](screens/screen_day.png) Clock with Space Cassio Watch Style. From 59244d1ec0d1fe3b36592a03fbd994da0c970804 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:16:56 -0400 Subject: [PATCH 243/306] update images sizes --- apps/cassioWatch/screens/screen_day.png | Bin 457475 -> 64440 bytes apps/cassioWatch/screens/screen_night.png | Bin 352025 -> 61108 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/cassioWatch/screens/screen_day.png b/apps/cassioWatch/screens/screen_day.png index 72891bdde8aba4b651cafbea5a91f9059c441fce..ba150b4f70bda870679840f908da16ef785de5e7 100644 GIT binary patch literal 64440 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

    f*~ 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 h@(Fse7|wDh<~!Y>RN%n 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

    |?n~_>* zY{X_iNp7{@(lrXVPPDl%(s)-fW~*?N$yWys?mZhXkP5tpL4j50s9f>aW1`>n?!SoG zRBPc7+Uxzm9G%&z=$dQRV&r^s&Md?g?i1V_U-eAB(}~F z>xUJYZZ)G%nV;mumRP(kSYe@s>%B~6&Zwm0(DiW^XC=o+xFZk!wmQ8=jNS*Y4J3VI zd|&yqnTK2LmxpBCTrGPX5-F>&*S@^xZ`mX?$q1J&p|*{XkGyHS{U;F*Y(2GEQ5$aF z1BnPzmOp17go-NQ5KJQ+P+4c}R;Iu`{8s?HGQJOZG^s#br$+CEy-bdVdQr&6w3-=;0~~Q#YrhB z(HL*stErh6#lF7+>fQF6wtNud*3iMA#7$5uoc2DUA5vX&>eW6PH6t#uSB^kQ4~>jD z@TS1~)w4Rk@Jc&BZGY3!Ah0(N+{e3S(~2^EoWRIKWMwFCX(i-6DjE3FozQ@*n)^hm8Tw@rR|Xxu)5JA={ng5n^wIBVa;paYi=N7kDwh;8TNzqf)OEP1|q72GM` z-*OviJ|5Ofm-_-B!H$k^tn?;l{A>cR4-{{ml9^KRbLRgpo$*JUXv^D4YFlLbbj{V7 z2QK~}U}y2GUuJO_D_Q6K*eud68;U%>PUPTa-Ev*wKS<5%Ivs3=A^u|}D2*})soC$R zC{I39qkvM~CEJ8(>K;R4M2e*(DxY>lfjFi62(t_2_eyY+q4#>B)*C)rk&3&vgBH`~ z_A1;54eT;C$^*%kiX4U`5*UvGbN9V~*4mAmzytO2PQCh{THgs5b6xT=lluCRH`t4r z`3rHGlWe!*KO=WvJ=tdc{?4A=h?k+p*yv?+YBI6xmx$m00-d8Ia|)5N&p@hHG)6VxtW2`|`4hKqf;PwkJ>@2VnoT5KFaB-JZ2Orv&DWVsCc{`#9KmoAJqkE?bKn0lMxY>-84pa&m*1S$LXH2a!|S(Ys^;fnjozy!(lOME|E~K^ z*>|CnR%SY^sQXm!S1O$T8g62sml;QJutw~3nRC; z*W-C^VpbzDL1K!6z3}J^@t2>XUkJf$hJ75abkoa&JT~yvNE(^KWxyrR{G~bRnH4G( zwcZOfvW=Q#&o;K3W|=$C#}#9koF4k3yg^RNB#mlB2=O<5bDwb3XrQ;&D;|L>mcj-L zhea05tF8p`HW8;PKPzuMuvJAGp_aeH3WO9yP_QRS&86E8H(lMkA>Gp|EG&`>xgT{4 z&Wd(5>k>1eU5VQsDm>TGmr9NABVZj%E;XK}v(h=Mv9(N20!@tz6;z-sJg`PZ%6{qWKz4L= zdA_J&`0bi6u`$BvkfLtvM^NOi`~E0DiMS#YO0djbzqXqs%OEOiz%uTd$}?~p(!lln z;OhgU$<|cLWZSwQ`-KmXiIOsW6~?FH;F?TA((qNwq$J|Z;Xe;7uzu2oK=;+@OcfB? z6xHPc_K|SWxJN6iw1%du%22iI4HQtLc?m`-|-0n)B zKhn*Vwl)wJE>B^WW98gH`AyL6ePN!hQ6r0ZnWg3JxEsRWeU<@gX|k81LRuO8Jixkr zvEH<9uKSO4YMs~12DYJ3{f=^WSukQs+PkFH7A)kjzh1ImzkW?f=yYsb-Z(om{qKP6 z-{(fY2LS7Wd6qN9g|>eS?;SF^87dR|L<4nM$Px32;Y4+{AuhOQ5)yCh(P-hzXOVI{ z>!yNp=yP-jwrPBr`abkCZ}~wm#)|wNQ=en5n?&tb6VC_l2uis)RJaVVzB%Fwp_b4k zn$HpYh;O(F?L9Z1K6oO=)lWpaW{bl3jbZweoJ=9u_r+J}#sFl2ROI>k66Kgq_Z_|k z+%6mEJoIkLOGnk}j$E^uOi9&FuOIH<%OF}G^NUTr6YJm0breSBuKkU&_pX0zx+(PZ z`&D`@noH8A@72xf^*o={BHmgu^%zSs&#}u8d}uvG&Uc=+&!(-L?wiK#fe}wKc6e&p zh)@9xrVShW`)9mWOazs0(h^NKk@|U{VVrx4)^?Fp%hL6Tb2c;)H702qDKXx5^Vzo;esfS=0+nCgQKy zP^{^7$d+kw;bUi7$`|pH{RWkE?%Ods&$yiIYDtx#oC9B%8{)hUQAI|>Mk73wUJ?}O zutHxjDWOi*t9o^cybr5G@C-MD=1fTD2d=+z;qqbl<*M`ZzZk;r7K!wJ*`JPo5I1u? zni4Q!Oj|j&H-~h^}?%h12WX|(${P`wOIAD2i+(Epb`N3VTJIn1zS?Yi}oX6Pw zc1Jr^T`pmUb~G6X@Tc5;(fECSMFU~=AElLZzN-ZM<>u|ubv2hSga&x&II4c0w-Wiu zF`AInMAVHe&*YV6mqc@Iu#$xbw1BCRK?Ri1OKS3tUrlsZz;$0vY&mn2q^Az4{Lw(_ zovT=*T7P<36vcHZNxl&UOHZZ`XH13|A*ldy{CU!2(M&#dSw$108aolv0Y>);4jo6( z@AH3OV*=ikTX0vw$nG$gi^u1Sa_wAEkfoqUAU6Y>@;A50i&LhR^zp=9Ou z4<9~czGKbLh6qNnxc00b;6hE(#fw$$Xq=AFtEpGa9@=6@=G-JG-q^Uvw0o-y)gvM#K!BOIZcZz$9Oj;7#!kehBhiB)_pxbP z-UCvJ+B-RCcEFTgxJ+-qApRdW7g2p}nz|L&EBA)i)Aq!EV+(ORl!jd-kt$jVTR=;L z$KQF>x!fdaZwH-Kt@TcD>*CePjQ&R!uQntQx5?8Q+cm`&V|9dEbRch=O$t1tSXGOk z6KBTTDMim~wPKm+;!H9Le|PBzn-ZDw)1sqOP{H!Db7{$qg@g>{_f``+g-8y>Yu5iEoloo1@(i=~|Jk=aQ0=YHx1`Kpuow(4TKP5{!98 zW1eyu)D=76*A4NfE7Aw@7J`*Zf^m!h#~!uWGG1m}X3THQjolKZ7whzDKyddCql5&O zW@cI?|J=#6--Apnov{2#G|6(T`AegsS$gy|WF?CW;w;i=LB4aqmusI4iKgo8fun() zhs=P%%4*j*BGcGS$K{=ncp30aFM0rZoJzoaTbM88GMsP|vkp-9^Ia-tV(l0|PZ&55 ztN#|1v`>2b#*oQ%P(QRS5kR)j zLa6$iMum(Zrr|V&t6ZnmPejY>9s4{)iF`*@I`t8%Y!kdLO=zd3iClrXf6cTdkAUSWVng$6vBI~Vd&&=&F%u{R3QU-#2Q*<+u!3XIr2 zGSWitN&-SHxC*ETJeIEf>=Iri)(x-o@3CpBmq0isJ zRC8y$2O{HotE4AUk?2x%Y{Y1(_s)r^hWgWlv8CCEDoHNW{zj}<;V48;BEZ`_F!G$h z8)!B;E)+3S{e@$r?T&F6>FDXPygm#F`tttUXzk>iq|_fs?%&q!EpP6}(D+dBa!(AL zHtB-CW4R-dXt$nRs7f@-SC_U1LUOE-Ig`i0AWz}bdj2)_)Klf_GjZE#O3_(JrB6mW1=oG$1|D7j zHa5apk;&A7z3jGSYFYgbwvg0WF}KuS0_-$)q!JOqGFPV$!enL*`hU(Mw{d~Ul9ko& zU^xD;7n>#QfQfR|2~MV6448-)*8YJ#B~jOlcMu@{vM*V%vMe0u$|{od7x<=u2e$nZ zMXoN7Cq>4q`qt2Rse_ds{udquWQ&zbVh>SDf>C z3cl#ZnxS1&^F*2st8UNr0YU2o$+Fc&!?Ip#FRhyz&fEu-x&7N{*Ng|fk zq_|b%`0a`KSbh@xEv?T43Z?{ird6xeASS}rN13~aVXA^J=C&^QcKGT7C$ zH`pA7&r@~*gP^ffF~)nfyC!XdP>Z~pHdN2GxXNzpt$6T#Z9&wu@W~1i`Y)hs|2iGs zfkdMB0!kDkwM5!LvDm8_)UEZ96V~%T!V$fDKo8AkH}=0(CMVV1MQQgg#Is-mm=j>o0r+Q~qV+oc^^=J8$yNS#{RDFt6P@Q%VAe7Dq0){Bep zlLfduUlFj-JQDki@y|7Q+b7t+M7Wit7Z!lBgw`Ic?_D zn@*_xpYjr*B+%H=p00vLqhT&kp3&4nQo_mRD*vnZG2^poyz0ix_z$E7aZ&=+-6j*E z`PrK|85?Tt&q_1m=cd8iwuT$gZO=QiGmKw~wVBrZWNsQ8&rThI)fMTgerDkgqAWtp z$0b-}+#4LFF;*HeHQDpKmpr9Y!2+iHZODtmjL1-+KgPI215%_%kP0m5HRMYsH-acW zC>>m)&ww8^GOz$R_Zs>S#dS4naR8YZ(BXqq8Aw6R#-~2OrXVaLLXY=$jXDyjoAR`r z6kuRmh*N^?b#rBF*!D!o%gO)WI@Eo;)%Ae;;5uqFLE~)^)wn%^DuC(ybadh#5nD*$ z8PoxmtDOk$XY>wmzvkrp%eY=B64MLzx0VvSLu(njSUbFezV*8Wie!unqev62VoU+_ zDB%5Dmo6D%5N%rpf^0oK9pOPi(ht)x$N#4o07iz*O#oKAvbu`>^|EJGQBm=B&pWa} zm!k~uS-5qTVU(zj0Fy<-v!InhAq;x&} z6bSs;iwR0`uyBUG;uH~UGv(w=QGE;CgoLS|XZtx!nQN)e(UP(f`kX$tNP?k5eYXAK zKJzCfI-avF3vr+~({kcfK$}@QNz_-|%4dVJNMXO8!H2eQM{*p6l&5fwS|u=kSi77f z{e_80c)MGpnD(BlbftJKWN_Gp!jQtQ*cq%o&m@+H0q&Vuu}$bS(nYq(UQHCGef)Q#txV)Z;{H|Qg=`bg z6;RYJvE4^1lFuJF=d?$xB%t{=k3j29$0kJ2NaItsV_~Zr!#g!TP&7^Hexyn-Ou7oT z&0gkwN@wb!R^zp5sF7nN{rHZ{A`7PXRR*(`(|Uq{w@vIxzu|h3f669PCZgypW=$z-+yX2m1OU}bR`9Ko>gQr2z?;e z6SyE86ZleXO+9Y2HPVsQWH;z8mL?t>pcFYoeva#K0|}Stfl7ZK$5B3NReov`MWm)= zuA%$id_=SC4f^)7=ceQK7=E!FmM?i1?2H${+_g{EUpd;8)I-=i zhdU1p!c?9;YtGV&g|%=x&}dH>@C=Kt!YOkFV@1P?6fK*+^@U@CS z2CWag^#h+o4&z6fM;{%AvNcIn$KkJQl&U3uY;OxIM#%TD>Qx!N#Z;{1kga&HP)S8z z8r}BcNe#lO2es%`oGS5n%P|Ss`=$+;d$Z_x*)_3Onv8f)YKodlg81=qk|-3?UnNYBxYXrbP|m_Uqs&pwnN^I3b#`Hfy;Gb6MLf0SiYF7cea zE{yV*7_Z)p{jNDye6luH2!hR;{`!1eJ-AOT;Wd#5NK+gaMF3C0WZJ1~lr}>8gfkia z3fxGdsg7*;eD!TL(;#Ab z*r}x7;WDfSbDRt*5}ZU^R4sBh`2HkV;!#k}VQvGb!c&KnXEfCcTg~FSD;EDNH#U00 z#Y|q_n`*-{nh={V`Za{QUGlwPiB}SV_w$`Hv#m~TYGazs5>@x^GQs;oumG zoD*+RQsQPUQss1$zQ{fE#-m{J0;&hAy}aPA;)mgZZtaH|3~fKVJ19dx-@7WY|08o~ zAXpjq`Y9iS3YvSVoDXlRz3uK68hS0Tx+Mdxs8Q%SmZ?V!2J@EH*5{5UNeyPkw%TZe zKg^;S{(p+U*sQ9Vh`gOERB>o?Cki~S)bw=X$*W%fCt_41c5e=Q|GnCE6CK?Eq<)Q8hd=Skk|H7L*&kGHXf~ir-OFjXYFR0~L zt)DYnKE3^&>LZ`!H}Te3jl#&>F<9b5!V+N2hwARtPtg@J2>uFqshV;6aQe;Xu2mlD zU9C^Abg!6(46mm^y%{3U@>WY{MtBZR|4k)}pn1;Pm5J4!p=sP2NJj(QUue!e5EZ*; z?r!n{sA7H~5z8TF=`b!D$7M;b^Z&YsfpUW8dmmp0m|n-Cq>v#>j&BlnOqy+)9FmFo z#LT{=D}frE)t>4oJ&Eb}xSPk62g>d>J75#jwwCS>U&Ul(zCbVdi<-)h-%cC{Teec?~_BEK;UPW?(OI!SPN8%zIx|=EDUIVG~)GCJ*Q(&5FoOqhK}=NTIez*vOz^cYuA* z!%=t9A(Q)*YSm^iFktB%lm?<9g%DO7C~1)xs50-f4K8fnH_zR%9xP)ysLZd?Wbtb6 zzkGCJLgFk`OQo8-Ld%AR0%S_e%3tP^e0Sz*rjL44v9BaWEIBb}4l8(%J2r;`Pj=kdPGh!KIz{uDf1`vAttu&h>j$UbO>HJ3*p#x#CHTB079* z3p^+KxSDv1!ZE&4@nLtd`^d|cPfaZPZ!n5o{*hPGX1-{zI5Ff3vn^au$sGFBi1G)G zpY`)D&6>`vB72abg&8plzt+ojA2 zJ^JOvYat0e-Bt?QdP-3(Fap2{my(Xmy|jRNqE+-kN^rXqC?pv`Xg?L`SQi+FH9osH zdi{-r(&qN_%c?sWQCzN|^i~%M)hLM^w;W%wa)UZ)48vsTyRtAc718Xx8aj=d?5Q@% zyM$ZZ9)?CQ=-tu66abS`V1drGxKgt#uHFRs2vdZ`ue2ZK}x5dg~K z@`N;htU5eTFAY8cr#O}axOD`ebgc%7@{Y`D|Ly~PZgyKQWF85;aqcifrKxC(TIo3- z%NsV`OBdvn!E6Ju?g^yGSw6l_v5l4sk?&>N6uufNW!`9)oq1!&6;2ReDpD*qe5&?g z+cmRgx}J!+Gq%}$j11I?jnH#zP}fp^@x9Ht9zpu-r=Yy*hkJCCg7=g-xHx`_3dc;H z7MRtVcZ{HaG(GCZ&a(sMCe~#7?HLAjSy-2-!Rn5Qac<}?e2wlYCtZ%Dy2MZ-$jWkJ ztF5QfrAN}aqfPIqlM7EJ|K%RpEQx{@*^dgjr ze;eD&HfmIO!~3?IbW#Q5Zta)nN9%yFV^(JpElQ!93iOvq0&g$Z+kwZUK!eaVb{_M1 z=AvU0D9jr&ng|YqeC>%m29Euk?UEZ;smW_}qx>{^b#PwvHmfcXT7}4jl+)<~;6fj5 z`z<$kG#sq^uMBzweYYZ@6Mg9a!YCh*IGF!BAm% zE;oDjtCob@={>W~>W?Z`5lvXxY6*k4hTkGP64fKo55_ltF|JQ-C;ePgS;dk0Z@r$M zU=a#ZLay}6gfC5WK)>9rI0d+;z^MYtyjS2?nVB)_9$z(M@4Pm`PSg~yxl~=9ZltCq z$oC3$gUD1N44?OwEYOvDTH@vY7@#SHNRDJXiIU{;+kqu2e^K*yd=`R})+!ZN`G~ag zoBXF1BK33@kqLM~XkhMuqadVf|H~+3l(@*_u}VVgjk;QYC&feigjP@WcrD6PQARZ8SMHB1?@qs=^Mqy&4d8E?22xy5;^fM?CAl9}iY7U#Q1IK3&eI=-_^ zUm<5`y__SEA?1hE{%10=@6Wv4gRA{n@~Zy5dXgjGY@!kwse}5P z3XrjAlu3CxRI7{>hiDfY0&MSTks7Egx7bQ1QkQo4#83S|fF^@RFH22bteIE*^9I6H z#J!>3$@<`NhhYeQ0#Z0N{+;D8S+Rv+m+K8Osv4G1*r0z=`A zu`~-Dv#?TJF@L|X?r|=SJXIrZ#WHb@Y}2?{F%rMrbA4@x2oFStMj|h(ZVxBb6^g%i zBhi<50k6>8O{#^-3g@!Bi?3;XH$3?62t4-Y1OGLLf=LPBgN6Ue!3(wC-it1U*|#|& z$0VI8zz0JQ)Oeo{P7%B&7VZc4XS662ez)tIKBwR&;~9d9l8F)6@hfq)poRpnXKw%puo<=A00H9~DfRm6P+h-Ig9|M)m5LD=$Dsv&GXLue#$&tnPYKIR%5 z3=^pSHUBiLJ{pSnlPpsED~OZW*cG?65hr*_lV6i-9|Gcr8oXfEhsl&$yzq3)AhVu_ z%!5S;@@O<@?6uTKeKrx#)}yL3$!M8ApgNgMFXd#hadzexE1y*uLG=!5e%(D@%qK5n zX$FrkfI7HrUzwsmtY>(6E}#zmQ`Q)2iR^WLnNi)yCZINSbo?ZeGHKkj(gqKz;J?C) z(*T>M6JDzpX<#q-Ry6~j%)^jQM@(7-zYeLm*wZ>bT)`BAO8?e_+69vs9Y#K6zJeoD zM7UlfP_RHsAO$fo_e3D~`yfF(Hsy~5hbt|DHwhHs zy+V%xnMO^n3+;jlS11Ym0hIqR0RR~}pd>@s2fLEYqtC13TrU$20r0lV+Rl)R|~kocLAMCn_A$C-K#EzHJa}iuY_wFi{A2wMh4C|Jyc=yIqX>fo!%gz&YVaD znh*$>_)7!*jB1I_%peQ-`jW7=CAS|J-g8JjlM7#|4@52HXOTSP8x0BxS!%Jp;GrDm z*ycREx~eZc=QhDa4(4**(}EhH@9M5+RxUC+Y)crmY$%EzUI7075STS9Dn;baFA2*Q z2`(N1=0^_6Bp9aE5Oae2{t{k8SHmH0?Er6LjN=@rK6n5ktCEBR zYF%xkU+?%Zh1WWH(V_fcx6jA=DMc> zTA-*Ks97U)IlkS#y^MTY5%uA892KNEu*G&U!KIZ&0qouM)^*fGFl4Wlz#Cwo1gAZa z`nvg<`;~Aq=fjDQ*vkmSM8yQ>zAY8%%W1PT$9_2HjHd=Pb!!?M1S)v4vq6?jOM zDT&r8%Ia6|;5Uz|mP}w~NZNQ0Umb%1%l}j`GmM+V zj=2q_*<6T3m~>(~sjkqfu#-ltuLQA9wBE3Z6;saSdwNmgX>sbo({9-=*0yWj$-Cqf zZBo5!;zJ^g;{1x4=G+W?APcSGj9SNY02v`nZ6p<2Pbt-jDzcF-m zZ?L1EyT3SC=^tTRqVfyc;>uho&!ClCR_CIJT)t>UP(I1J7qUTzX)~;6iSmyX@B1mb zfA(xL{3PVX8<{$58Q`35czYo3*z(^DmqWSs8;9iT==ISQ@*_=fo8Njm4)(p;4pzFa*AK47+m<~gfx%>) z5?A0O*xQ8-h*kLpWur^0x$~=Y4eb@QP=63`J?^&9@KE7v$Hk#jP%DeVuW!0N?b3$D z+zd~M<~U&_Lym&lQx{ZG>#X3>7s&j9K(B|?lO+)fijntncN1S{ot8vAZAbn)<7|@r zLH$>9Q>c=xB|EK(Gz3l6M2Lb3k}unSr7v9 z7qujx+9yO>6QrElZQcw#v7mT1OrYg7Y<}(Zgd6_$6WyE&Srj5bzP>tvwzsgxnB0Y? zfvVB0$nN3fW2LR4(=pWHc}tTmd!IB4CU@LEG-RSUR`v7Kr+$c<$_a|FRD_`@1tNx@ z32s#JxRRT|9G9yayR){AcWhb}`IBbaKl?(IxxHJ??J(X9Oo2vS$~pwJ3+7*pNmdB8 zeu$V4jyqwyggQ_h_zViTc(UUU$oFz+eY!Dk16{3TGH)~~IrKTSajf4Zn|N0{TF8=~M6X=%gL6LPs zoD@!~&fi-h{4yrNgWMZci@Z`P?yH!2Wm{jnF@ z4yIb56?iP#YDxsI0Hn0NfVbJS@5a3vVxxFV@S`~q#}@!UWHPXwdgS=0yX|vQFpqeU z{L7;iQ^OCcj~Xny1ZF8+drAs)pK713h*@s*)UCzrWEY@9-tybHFeYg)xFOsYi{{fa zZ-DFA?#E|gpfROHvcT}$cNitWyAoyK7=o(kLGFYcRM>0X6`~0PFR;3)mmlprByVsr zyUZfpsXi$b#{M+m2ki#P^1MnUwXPHbEX{8cmP(HPDH-4Ul^`RtGtUga`-0xJ>s>b% zyf0)VQUGW8u~huoo8}!);cHsjnL=1)hV zi`=LTtl`T7Rr!jd3VW`YXA@_p+!Z1g;9kfie<(l)xS4$i05_dizVp9LEfi=Rs!-=< z!}oe*O5kV&d01+?hJGv3{x_3`QDt18ea6jdq_Bz~cdr4`neH)Z2%|BL!a7=M1qjn6X%lLVM_&9am5CXyzRaj|k6I!S91}{@ zu{jb$3Q=tTR>RXJQ?wba3UvMTVGL2aDNJQ17K^Grm$pA$5=Y&*D1d8E7#dbVAA_F6 zQOs?zJ>Dx$f1N6<%U;= zIj&OJ`+pzq{>#`>P38nYrf>m$(AHlL{0u`))Yi70=g3U{{kJXeHgH zZ-dkGh+;C7wdV1(|3fk%fPzmTH2r4%asPK+`&N;YJ7+OwQbHk&Aq94&0iV)2ioA>s z4GA*GSklRPwxMW5h)ObM7jNw-^HYISr9lZ&-voTKJwo>e_^=*h|%XmgoxV+;tHJ8e0#o{T2#U+Xn z>Xwmzij{sL=px+&nQAseo$*jdS+XkFs{Fq4*t;bbG$BtPT>Xz^=uvm^gv)m=KBrF$ zU$F!@mODXk> z@DSvnCh|Anp9mSNiedBHoHX6h9cIH36_cZ=BztNu2TGDoCRtXhSN<%h?~I@!VlGHC zxS%uoPlVNKFy_0k-7}g>dlx_GPh?rdnl2QME{n|b;3GHz-0+iom-(+iA6|F0(crQh z=S4h)8_ex!VZ7uA3}{b+;=)~_2iaNG4OjUgMp=mKUDE>bi1CJnbRPB{BZN(}uF^pB z(IL5lc-#rWC-OcBl$V=0X5cWZw6K#l<%4kpX%ku+QcyS9p{3-`X~;wou`!(3?buLa zOJzdx!E;RT?d@1i6$w?RqOuAv{n`fDoj&=UAW1m572KYMyrC<8j!}|ph+)nAMK5Y# z$)>MN(#z%XLxoS{mPx3N-%mx~iLU>)`|tJMCLvNE??)?tU*v!kZPc{il%7(AQ}}z% zB9$IfT(>yw!O+L`jw-uVakvF9@TV!+Bn`DAq0Z24wdsR&RWg+#TPLvZ#E%m*WKeY% zf@Xd_H<8>(`KiFO-V-;cl@cnQ_}%~(y;eQm8O8_1q_8nan*i(;fR8!2<}QH0VpUrf zFkj9V1B0pbLMNjffOG-fr2jGuX!ufS9Db#%XsujT{7Y!LIf;t7sd-S311@^RHup-X z5lrrsi@W?7aDmkGG4=I4E@XH_w>mXa1XNj;8Z+s{R)EN(7KTPN{?0BI$y_)A9Z9TNg#H zhlk(bO+BPi5}O+Eg2P3WPuGS8o6rgie{2Ew*`{4*uzGf^=yt+4kx>bY^w=P~YN;E` zGctcFDXeuI28+#Y#Mw@RmWyMuZ{rGYlj)z=iHKyc2oUE)hF*DJh@BKbI*_%R{fAZa zkSrvVkhcKH5rr$3uIh<;IBqZ*npC#&Hdytwy(hF({aYnaGs62mzHK#L3T1$kBBECU z{s|l_fFpAr27LmM_;l74kSve!z+!G;=U!sbv78Fu@tmam9MEg8vhwi|)pDeXx)p6b z%alRk`I(Ekd3fkA(29{hlXJ;E-DV&J`24QVAy3l3ybUt0V)|=9M3J;R)VP~cbsy1$ zwt7zCm~c=#B@vLx^(E;p1ZK4U^XpN1p`FiwphTa_59p*sxtFyn27-KaWm9vViWh<) zytJPjDt35TYINfdV;gFnvqI*1yqzxEOoDL^d6_9s{G!*JFI4BE$jZWJ=yHkU0J-)@ zRXA?T#xnij#4Px-gE_9Ue2LS%BNqK(jw6*4#sd?hSGzDzY43;fgaoSnf+xcd(2Q*SI*+p)eH^FWIiZ@Fr$8oGWIvh)yCZ|z+Q12@}hl^gyJTk|Ztrg?B=${4k4G6tt%##^=&((g5CO^3#J zs`pa*c^_||(<^`llfw)Q=0jB1B*X-S1Ok3;ndxztepc1Oms5CvFK{d>6oOBS9~tuP zGYq%!IW1DrhJe7iC?%DIXF$IqMj*DL>?^ZEpmysuvro0 zu~jwD(VsQ9z3hGsR&&YWdi9u-RxCaPOs}wg2*ai3Eh{C|(YK`5Vs(Wn=sDQzsBT#) z5KgQZMTK8y{&6=`GgD@`9sv_WTGPfT{aKRBUnrZlZqu_GA)!RG&dUxThoWvJ8Wd|A z=bE4Q-7?26KAB=D?!6uN3Kr@F1C1Cuq^b~hh@|t^+C~GK{*fehge#T@YKa5Nh@#Q~ z6iaPCA&*>FUATYOT>%m}F zaswh6GVuqo@Nyywk&X>Pm8X_CTVgw}CE^5$DlYQ4N@FE>UZ98a;ctjhZR7r4Tv6ol z4)baR@CpO0)|?c~1R=-ZB|@*Jm8O#@@K)y~a(=KTHC z8**I9-64NgcCfu_Rm{khay~51wu&h*596$e2}j_kW@U6{pRNd>xQJS`wB9hMtl(Vp zMRc;L>YkRN_O4%>Y(7?SQM-BgE&dAy$+LzG-nLbROw)IyhrujYU7Fr7?L_-Hf`1Rx0%n34O0CQOw`*hZSq~@D&C8FU2mW@+m>+avl2WXJ8k|%rLmO1jH z0g2@}Nwo{#2>(e~e1`&f%>^5zw&%K%Hd|?0SJf^rhq4DlmKpqhsBp1?Y`az(><88C z=f}5S$w<4RRG8VYnQat9bYy+2RF55$ZRKl}KE)lE-8CJ`t_=L$#R*B%r|u=Cel~FJ zUWsrBnEfI-aJZ65z#ik>15O1Z$;>9RS3=NgK^2Hs9yZxfECH{u4LAl?6-@G|0Eh7| z-#mmXM;zk^s#dbhgv-5Gam;Uv5Gmba6!rLVl}`=jW#tw33a6!*tE#~#FUk>^Yi}+U zjA51A-gr@}3Yx)}W747Idlp_yS6oYr@5=f36y?W~n&xN57s$bM?r^@V$kW49+bqu= zwquH{@CfNkX&W=Ahmp#`z!I2bUA2OU8k{@v1XYOpf9Z~IHyERc`jphzBAWTu0tihH zs^H34E8;l;qd@#D>y(Zkh8tW}RdTvop<dRTMcc9uMNnkH`%L{m}`i{Iph!nMhXlX z14*mTD8G7U_{NGqBQ{8+SY{dLdvSvaRE9vGdV48V4jv+^dj>g6k8*EYS(JLl-XK>K z&{A$vOSmpvPLL#D>5201EX=^--wobK<>leOAU6YC1V~R7Y2Cx-ZPZB8xn*WVARH{+@_kbeOn4xiw zT;aTz&Ck7H1BkJ&>zAUobH|C$Y}rlBpwva;!?h)Bjv5|Cv|A_bRtuUhWBfW0An5)J zWZ|`jYoM|`DQ%bSh9RXuT?XoMLBBd2Hyd=lf`ud|zH4^l8P{<(4Z!A}eVIYuIJGG* zv(?=>UNI|xOC2}y!#Mz^V0N|HwvDk>1L^7qHPIhm&=6yTgNgIE@iwAmSK=mL4c$x> z!QFS4%bUZ|vzr>|27*L$aXmcO!F|7#HdGl`JbBXvqjCQ+sSb=0O@qO{rdAG z+gzKBpQmTX7Z(V0`|?o~TeiawU+LgmQeXkxXxc$;+MQ3<5%l$-lgkg;vh~7e_8)Nh zWl8tHqEz@vZa`q5Mt{%5?y9gR_8>CL>Du{%mV)B$V4PNJFVfyP9qkFTXMCfpPB;Ad zyAs(}t|C8NWc+Nc-uR5?y&&D|2!VkQO}{PadaltBUBQ2cz?s^!Ix;e{$ee2zDQuMe z3OjCO7_ouVJj97t(2i?+b2u?$9O&E6>Ueg4uJhk7G~Wqd#^3SdbkDn5*fRoL?rBE4 zYKgaa5BL!~2>8MN>ogrlQb=3P0Z~GkefC#=l!VA54~3K0_{CqG`D)o`)I==Em{o8N zZTrCvRPratIorXV3xEA|H^#{T&2qQR`YpAms5aAdAp5%O7>2~SK4aHm(-z8DiHnve zQQocXH?a?-_4xQ`ISQ*Pn(TSk+v!w>z?h?7kR^6>{g>p!h9AQ)Ue+Qto(zYyPZgf7 zJ!i@F@Bq#&45}wTGhIVoetyd0-Lbk3FzAAUjuc7RV}j3;1vX+~#PS}!7|27@f0|ux z85%9FUz5AE8Lgk5puI%!`-Yp=Pe^jw9!#X#81LA8+w|^UH(|U@?`w0j>lIfLRQZl> zvG4rGvWI%zcreh?aF1d;-SL-M;I)Gb8a|SHoU|$|D1<4i+G=OPznGY`tPjKI)f$qf zKFS^!^>`ePn8;n0_=xN}l4!PH&XOcf(cVk9aVr4qJ*DDW9BF zH29PF@#Ov|+OoIzCh5vKhnFb^K#3q$@TFsEc5HxJZvu-hZFY+_xNt{joST^DF91&F z`hGQjDGaKgS=K1-|?x=iKoO0n#neI4U z2%ll(r0q8}eGx-cXiki9dUjMir(IvEmsybOJ;7@)Y4|~>bJhF~C?NS*pk#der*2JO z=;^!ezwIHl4}z9n#&3mrpa`|>#{D7bB1%?S)S?aUeEXk=@*11m*&!Hj3E4OC(fw@1 zzW&#Or2Up+JGtFK*VB-kvOWJ`YI_9Qk?cR$JJTu5HS^u>zi-P&alf5Q!_&Bdj+{So zL8y_Zk)(att&*yJOx>}MhDLX`C$q;i?p ztFym=S_J|gsGK-P-P4FVpT6nB$!8+GNgWrL$!ygn9oXXFAa65X!) z?avyWHDezT3p0}TB%et}y{MwMa!Sg=Ky=h*o5Ws)wH54G)_?vc2*Z`2Xp?5Fh1FKN zyn1;q*ExG);gk5r6A0ww&)q&%s99j2n6<5J_=1d_Sqq27xXa+K+O>$|M6&b|8BJZ$ zl{ChfT>f&gSm%@JfQ=>hor8?jnfKabnsfzE@Bn%pCn$FcYh$bccBWg>z#(ue#AzBM zCZMtBfurd!#amA|55)4$rV>xgrmrF9@184*o1t#q+Rf{ZhKL)OzlH0u>!>-ypDq3M z(#Tp5uXJPpioEQ7@Jn%-T85Ff zNS2YbWA!cm?^m?W`+D+=FLqFPAfmN4$tPb$<2PFuPuJ-O{D431?cM$MwTW1kri}SJ zEMyEI8=@##zpbIdd#%nBqLEDd6LBHw1r=4md*W(09qh1V<>U$@fz4e<24EloL9esk zRnJRCNiUxE2|t&>-iZVBZicWwYzCHQh9}4iGR|d-3@Fqo$2(InE@&#g##_o!ovVDd z5>ZyK97E5&lsK6&3r!R`0t5qh=X?KS4M|V+3&d^OB@zmCfAYuR2(q@4K=yyNwpf*? z>a-a>gU;3EHu_9gk>%7iq4V<-45*BH*0-U=2bqB==(j<7jEa0Q{ZR@JUvcII1-C2fm(?G%3`*UcZI8n(;y;_B)(tw{A zvyz92deI!kb-b#ztH6T}nTcG?e4Lj4#qhT0$N9h0sy1v9I%^dRC`xunC;{$k{L!wC zXCI7^vuTo|?@iJHu6mtLt%+w_6*E~h1j;xgo{(ljdv*AC=MaBCnp`)VnT2K8E%5r+ zO62>oOG%TJ@}OB8xC{TR%`n9$^U?&>bL1Xi_qZblbNkWl)Hr~!$ zzFIf@6$)Rs$jADLp34r|eQQK^APRB0<{ymq~y>PMtFn_v~P>xQ-vY>MYiHE?5}a6Xd(% zps!Cv!@^p%Yn2yvHOz%S7#2FV!wK1YPc*Sr1RwLtdUIdMDNgycy`|h9q`oy5Yu=h8ZkxnN|<8iO>v?> z%!(i5)pw#01}+S`=Up|`uL!Xk`z|r%o`C{i99otiw(#O5j7W5DzwY_rTK{ON#U((q zgXPlD`^TaB+9NzOUxud%oA0GA+H12*6a7RobcmEx`xE>)Qi%IE7%QDqx8KqMZ+$+D z@lvjyQlN=8Nosu}9;L5H1v ze$j0E;T&>sJ02Y{PO=F>VE;EbJ}39$~*DYqfK#hG#BnhN^hJ z_QSf4yQcM~DcC_LF|bu0zb?OP!V6)M?HZ(GVNUdt87iyPTuXr+$}n2R$@rO2OJF$} ztv%VEyfv%-YxCzrCLUG?dJ!@fpOtu<*K5PB6A9lj)E94|v(B^vTh`4=Phk)IjMIC6 zv@$$wa?Oe=5$V4F(@=XWn}4>sx!FtjbeMag!Zo-OD6MJaME(>Y=Ke0{UTtc-weVfc zH8R)ZZCe34ded?n()i-mbl<@r@b0a?x*0rf8-2Ms2Qk^H)|9e}tHVIy z`sEMl8J=!1;`CfxXzG1;ILikjp2=YkipSQTA znmNe0h-_9k=}g(r>EhyIzO8=!Bq+^AKlvTU`if1&LoM=7k0V=fv)~?upugu9NV%kD zabI?sF+g?6HCDS@*72~d*?e6BqXe^~oB2`SZCZPASbP#O>;>a^#c-O2TR`38(IzP`d0LHQq{cRY1{ecwoM zIv=JALjHEbr&AmHM+-80SQvF%7W68a3$Y8GQ`Y`yPw-}D@bIZX$Q_jKWz9AbUfBHSa`O7&vq zW}+;8#Tfy(6n)@W#<+45@X?)6tUNA`UF-hz4-htX23(;6KDC=7uV5(BoMoO~r1V#r zz&{((=6tj?mOCN^Lu*Td50%0-0)w^OGyOn9j>>dY2DO>Y1 z7GxFd!4Z9$8l7sw%}*%U z3a*$th4_8KU3JyqTL%aBvhn3CQ)$aoI(})uOE&1wAGghz%EtGKT}M=_WDDX8<4XZH5*R$$6hR!v;gmDs&0La+v2Idld0q609|q8-;-}=p85ItN?Y~o zIbY4W21yxaG!K6w>mrF0FV<3cR`ESNvRRujm56LZ<@Nts%Beqt9MMka-`FQXCMOa@ z6`Cf_ye*KYX{KtH-#02xGFMk>GPd9%Z8l0?|K+BQtaf)w`4ar|*`&NZ$+s6J?gtPG z>GSVj*b?-0xs9%~JipRttX=4EafZyInvZVjK(O`zTp!toeAw;1z0rktigac6L@JM- z{rk~RNH{W~@EiDkumN|86_k;d{zFIXDWZ2ObG!I9l)SIAMo=Zz&YkajJgzrcY}!ow z&~$KTIbAU~1C2g3ew2+Jc1ePM#vM_49; zcdQx(s5UkN+>5nDt^`H@f9H0JsObLtyW1-oLob=Hv$M0&WGt7rckQ*7%>G4S6%;)rGaa1E_$TvcCIPMzHp+5A^FJj}8my{` zTpIJ(4n$#tc=YYbXUO|f=WG%7cH_-&c`t#n$HPLh%7v*3;cpTasrS-JX&@G#^|I^1 z#;$u$*47*N%P*|l670X9lH%*9p3+D2JyL$ajy020k~4OWqiy@O_)(8m&Q$9nrZw~5 z-aqNj9|xyE!qF zi`!HoZCvZ;VTOsug|G(7K)N&BG;%`sHEK0@p;G(YU+X+tGTDEBfBoX`?y;1n4Cs@T z1ph~oRb0{VZdW^##(DiUIhzdQ=l5pmqBm}g9%d~(%Vf67YdbPD29@7Ee}*Kc^A()Sq!|4X+z=kk|3 zv3eyfjGg>5kmM!GZdKB`PzB4xd4{hr@X$yf$L6bwvyFrq=_Xy&RR5>oov|MeuVlNW z?r%J}l;!$cX%+M(E%*dgh|KkkbB^9s`7b;G^{j}~@{?N=3*z>)na*o(H`l)8I-K<- z#-oTlTYLLJA3@~V2wt@N3CAlxXh)s>Jw48=IxaT@|8Ree&1Fi45wpdpwpbqfPJ5b3 z5pP?A*@Po?#>zi=OMK+e62{rg8=^a~e02mCWzz<|fb$^&SK{-|xI9QTF*e3B|6XMD zP1uHb%Ek#(hQ`kp=6a-0x{jC_VFif!2$r4VK=ae7wGa`zac_00%0n%l(v_Kg&D_py zYn+fX3ed;{Tj!e61~N7hyx2K3H*G9f+eB%J{f61fwj=sXm6X|=?B9kVL)bem_PI?r z*@!{}fZ8C94xi3&s6|QW`WV;8vSDQ$1LNs9+H29Cww+E+DTYVvDR<5-UbyVjgt(rn zqU6a#rY2xZdKC``kTy<`1kxGA`oqS|k>RVrOSER(2kBXvKC{slVw z6loDd8!Isq;OcvtEM4S_j*ebVFZuKjSAm=msl6|r z(k((knk$}?d2y6h7q`wW0f5G-5w2*y)4#O5z$Z?`Rs(fI%`;pNJIi4_j17JuGdB|G zeQ168*!#>XgVmigbYgZHT9O%}$>{~~cXj?k2FuNUm@F|hywSvw5>eio)WGd5E$h#b zdezCrd$U`?KM4=d#pIOV44JHkm4tO)8Hzr=I_Z0VzlK;cIz-D~DaG4o0~eA(D4-YE z9@3+c;-F6c6}9Ihb;VnKo}RVf;sfQbg5_tK1a0yy`!=WIvf5hAJ)=M& zA24<{OGJdUd!5?q>8oYUY~)s(YKpujR@}q|0bOtkYYjy${qkk)JRQj?+7o2rLkbKc zRVVjq?V!KEpO18xNtmFNO4l{GWjXI{IbU&g-^5{{1{Y$sx{5$cAKv4$FUVW!8*NsP zTs}fg)updDT22@6sdy<-4Mac%1sb;%j9+RYKMRnncz0G7D{ZaHT(f-}lb+HsQNk_{ zjR`rHAew6%^O6Krmi%#>9UN1xGJgNLN5VAvcahzwTQofm8bVUy-o(Z$>RX49G4N~r z{zh(~Pe<(=$Cu7t@ufF677)%NIn+ynr|b@W(CSQ49;lh2*;qtymwC74-(NTV5`+o6 zCmd2o4~j)T@k}_HwY~HH*+U=C zkLx)g`uWP&_*)=vXusq^)vLd4;v)C=1nP}0up$+N$I{@95fx~`O; zOutuh7np*^{c>Gd7I}=wUE+N^Ut7$v%PA}>R)wHnQf~q1SNPk`4_q#vuL_^8@ve&= z!=Je?@Q(y%M$z?0oRgC!l3CLGp8jllP_>^ElIF$(_xtZ{f8?5ycNi~H zNN!w}_MWmVMxAz`ayzali=gP0k?HdnT%g7#&ab8#^N5LyWNSD89c7F7qHY@{{{?&( z1IsirNf};EvAlUfXHe3xw<@zyQq=<@_QY1Xl8{iuN>V4&IcVFKP4jA1WuUXuiEJ~Y zG?kcHypP>1%vY|YKfT0|C-AjVKWmB6jBQGO!l zlBXz%)38vDhV~nr8FOQUUg6`ZqrbPg7C+n-WCu$&r2UB$X#!tQV$Ys*?bM&)k-i!a zME>vCX!~56xW7NT+>NoHjnzt`u8yC-R2Z8Z5C_}^eWGLGwLR*bn0~;{t;ZBY(i(#v zORIlot0ARC_1+dmP$$90zTLdlkT@D|&lYyK`R8~O`U5lDVpzrU+;b09@W^_5XknkN zhII5L=<|SB%cDBBf)@@ChBp|$80xpCMq(Zy&!kSMVqa9mT22(DfqAM`cZ;k1pPrSP zrazeWV^MCj$u@c~|NIuPNQB#6npwrk26xsRIB-qCV=PZpUf1)TdP7>lk zcG&)-#`B;^a^T73uu8D8-0n)GR4JIUs|j6;Ik*l)Nm%e@j1AfeRQXFY1CMB!p9_VE z^%I|t@Occ7Vcr93i9;da`Zx?vsz(9bPoBQ5Q%&6eKEKyn^F+Bhip^*~-6U4fKN@(i ztY2!wtJw*qS3G>}QfJf7yUeTF@08o^wMr~moJe28OPR>8992%X5w`gD%Um-GP7Q}s z@Bb{Bgt12ehCp>dJPz?6-Ary|uE6|G7oT}!14r;m^xwi8FJ;PrOg_c_MAMMUdRQpH z%s|bJYi+9bn0m)-kk>~CNN3?nM8RN1NJc!N;a#kE9eQ^p{^_m7mQ9fKGN%ZW8Z=wfVK5jEX#7_kim%LT znzt0R4sGPglT>*gTg6qPKU$jF(V!3n0v%KD!S@8iQI{c-gUoRv61~{_Db)C;^~vKz zkI|rZ`?Q~&feA2}4um%{yCk)9J3*THQ?5CQIB)4h`B}*QuV2%i>OA^Nr^h=$2NTP< z5^=dqvR!o(Gek3b)9^&bp#|mrH}M{-{Q_8C008 zK8zp{DRJuX45{DVopWMnlQ+7`m8|A!kw@+Y$bGKZv6`|)`8gr3ERks+ZIPc@fQ%d# zbZ(W?I?Z(QpI{IrB?T~^*^;RYAlmkjhCkweWBi?w-vSOp;{~&`hea)m!B4V$>7snz z5n@f3sX;Ke7o|KHY6@s2aH<=+B0VM2vg%B$fE$9rHU<%&+=;q%#&bJv6Zd~tnsA?- zkpL38S5?J8UdYOxF+Qk48OJqTbIHq>q0S+Y_jB9b-bN&NZ_m@pLxu1#M)C?!oGjiJ z*kZ?sVh$29LG+Iw*GaI(tq~S%{T&`I_lb`7i5?!l15^?Hv%lPk9~zIAyJf19<9ly9 ztLeJC#VP*gx)#@p+kNx(vY$_fl_16*SiH>8Q~taL?lIqX*xziPv4GxFJz@t@W5M#> z-JR?dkKxZ6!G6(7JToQN8)mK+-JkCMUU)D9oBVW<5Hh|J@@Trtj{ePlHy9o_#ba&> z7IlM@lzJ14X+u7WR$C>4Jn%dTq?Z{|CxhtkJ?xiG?Zai{1hE zwob;+HYKBCRIR++X+;I9@HY{6{>m42V|sgQnuoLJ4W>DUE2WY957e`o;#(PpJxurp z)FTYx&v_q>K*j`~>bYDvy!d-V--}SC^529kyKGx!7Kp>7c&f%jnLX;{Wvb zvMw=k@5g9#<=tOkqSO8J`(oYPqD%U<49V8xcv+clX^r7e*MR2m{JaFggGqyRs+X!& z^2D??%@92{-Y)3tgFmyxq-LvWSF+p85_z~O8Y$8E-NbK2r&OnU zzw@M~r5%a<_YSsJyP-)GMUewnZsS}GE~%@h<+*kYxg_<*n8)NH@s}zw~BCCYQ>iT8X(c_hB>Bqb(E3kH) zo_zcC`VlR&^dRfBhx@0%JNLi-+5CpJBu40i&RVFx{2M-eWye0Aq6pu{143s|(HLw4 z$?>L0$AoDJr)56@F5gaVE;H!HSk4x&o@G+KNoC9}-i0b34poqtiapx>xd<0 zQc4UWZ7`)dxty&zIlNeUiWj>oFz1ELMOo8380!%4s69vcM&r9K93|W$w^{J9Ltid8 zg(F}^x^&pt6`}wl8{UlB2bsFC+tm*{;cNu>ydoTX&a#h3EV~(Wl(bGZzYu7RK$)Yz zrN2thJ^itaalxEDi-Ltz&)omXEL%;?m~EBiZgcx&N2DqL1$E|b)>vc$?Wlb+!ewD% z1`PY{d>G95-g2T#{L7c!on7gWmn~zR?p!OKB)07brg6XeEtn;bPx={pIZEw>9#@BJ zoCzjyNV&+DTuvdcdT&u@DQHptvgIjYrqutexkSt^l%|35n{1p1GyQ71gpXew%?{DQ z2kKMWQYzy}97{uk<_-|7YIO(313$42aM9bgsn6fk2JIXX20J+vAjP_4q3w?*Rp&61P{Jj>-{wN{`p!E1+89|{O7aNRR zY(nalH5*I-e_Xv;oI{_wWX+{CmD5t*+2nBq(L+!tPgWM?v_Q$IABDC-EKkfXSj=!~ zmq|i)~(;nW1je%?;tIPehNI%8Y!{oIO`ouIyX<~RT) zp=h(iV$uET?0&C)`RH^5*q&#aEPf6C_ZvuJPELof@@P}e#SHh zze)D?g6n*kXV4Q)s9~lV`x}+5BW=Eg0f~Lld4lua9R+yNV`*cB|4ck4ZDr}=Nlnz) zet#fHtO^YaVztipJAsQ?(L8FhgTL-vH;Hy@GyR?0!8IUXJyhFi7TApHcW#IA zly7TJo(|}VJAT}GPditU zZMrVT`lt&~J~ri}wQW{)UkPs~Zw z6D83%C;&gWXh+X{Bk92w{G)OM{{v8k#|T>k_6MA7wVS0daL`^GOEGQzVwj1^)wExAj9iFjS!OOX;awc4V7~ zv!#MV5w8bjJ$g(k+BeVeEBk}>?B*H0IX`!*nCD7Q&*c(QaSLf(agS~#UInlNeIaX& zQIgVBjaIv9_ReOjs8eEIF+KfvC@Ja(3h$V6o6)4vgrE^As%RCFwTB7&=?9V0kCX6d zd!#(`b9hKZsvDlatK$7gp&hp50PZc$?Cp3CvWX@lWs|g{=6>TjN?5)@&B^ldH?Ak6 z5Af8(0t|rDX6{Qzpswz&uG&xihdh z_)1gJ2LJA4KS@bUkek7x-+blGBCizieqI zN@IlGj4$=sXwl@qfT>av*p}~8gn}QYBuadAN(NF5DI9HYnO5@55tZPT>=!wWB~=D# zeE^FYNA4x2vpHHYnLPy*W~is*wK3X)_T?Q~Ao);8wmX_J!JV@JFi2aLnY^Vu==n5_ z#ye|wJJrJno#Ljes~RL}-}m?S1k7;miqXhzM}>u&5{EuaBWJ{+@W<}*V%iRb*K|-0 z7erSpUt5Z>G}_^I&gsjE-ws9jzwT=GEI6p% zx*7j63}R{i=k%TYD<&(bB19puJQlq4Zq`nbe(60zn~8YBW>b!1`SE$wR?1?1hK{>AoUuNs!wk*5=kf136E#xMa>$-Ox7;bP zd{V#)A7jtPRcgAhwn#I)&an7%ebCvNL#b0}*ULp;x-VyOAO7*<&gQXzCS^R8_v|m< zI6()#egP_*r+p?{Ds|Z{!{H2i&0B(VaGnQmg2!7u!3-Xj;e)-QVGlxKFJL>SxgKoK z6m5MvR)_vQTx(#-uo)E{9)tN5ZOE;Fvd+~8sqeVEqbx4 zilF1sAoIuqzxdK|AoSUutt)ig+By%HzW;mnT&fNU>fW0XfF}RXlXSBkd#vN@vl6fU ztUbxf{AvY6DNWTYFMT)#bYi1X;rWaMY zEggtv;?|u7lw8%;)Ocj$2dxzJh7VmN+nxp0>oNJ192LtAje?jLaJo|?*FOHu z+$1ykCkF5n-MRZ^BfsX#+Jmtg&Q?JrinIP~?M6?EA~KdugNe)}y;N4p`w1o)>vuWJ z7rC5xl@H$WL)@djklg0mT1O|0bo3_LuPpG#w>5CfZ4Yr5=(KHnc_Bb@+LtgAYI!19 z2&*bRA&yPh%#w{6{qDiV--`px(6&2JvU>^2#ED`b(X?nQHCXX>&1t-#;`A{2M&ccaIUwEgfCdDbr=iAA|S0FlLjFURmv zT$+3m#G%sc+>iCVCv<)B^T3m*i zWgP$o?`{94x3FNrN-%PIk4$7d$qRcYC_xx8k*m&UGfE<#EYALWBPLnbbGPsKhoHyp zc=zAgmO6gAzf+&?XB$jME%irN@NJC8|2lmerV+12(v?}#MRG;;cGxxIPzX+_ z*a*FRBq+Kw#Gt$^#|^6A?BNP=yv?pMuym;uaMsNa_sBPO%`fEbp%lB^)p6yjs)y;3 ztJ}SL8_J%{@wBfrsj5w_*wP?AtIZz0q>4kGT1wP1L;kI2zBL;qaSq0yLwia-%SfA?` z(_0_>Sc^jM@H?&$lxyQi)e|-X(VjbJX(TeyLh*WPGvM_c`^qW3_}=sL5BRU`=XDQ8 z)0X|#?GvXr3A^!%CvUMpJ{27IgtQ5J*T4gZvs-zO!vBLlDtJ+ki$^5k%AAyYrMJJ- zx*$*Rf^Eo6EySd`tg7-JAJq9sksfOAe7a_W+B3*1Sp68C&L%ab4kZT3q44Hs1}Z&j zwx2OQ?HLY;bQWwOwnDW-_TB`#HYBjqVu_Jd5m7#Gubr4r7Sz|5KX&hL2KVKj>4=G) zv`~F9!I__b>^-*FTOn7P+BZo>Hr|k$Y++$xm?NSlGU+k3et7v1kf@D+JYT!tV)>hP z^j`M(5|E|^FNu#qJrWeaQ1h%Tt>XikB3_nu%HW#26V4i@nWJa=&-0yr!aC?qZ$BiU zI@ZPQQM7LW(&{$@JaY;shtD*Np!de3$21+dzJ{XB=)hB=fypYl*B{6A~d_RWodkc0@||Ki8<_svXe zx2t>zG#ZDPHowl$7sY&veJA@_HBEBrY}@_%@_M{qAMFKqM(%jg5pcGm&SuNW`h#5{ zzXFOw&8d7OE8}0}dO+q&1PEHnQg?EsPQ(*{ndslmMKwPr*pEVtuT)n~M06T`7D
  • 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
    us&xJ6qovJj(h-W?4A$~39E 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%0AG{^rDQnO+lT{?CfYwz} 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 n594rkx|`HxeP7MMxdW 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

    _++9&k5nvbHQ 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⁢QRq`XJVoAmROXd!YU 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

    ~yDO-RqT#|gi@81fzQP)dL_BPB{` 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

    IU;Ab)SZKDm2Iu5z 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
    ~#iq+O~Ee*Nw|Hzch0LG195u!tk!ne& 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 Zc3_UTNkqp0yZPU80Pp4B#X}{m&aBdAK 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 Gp$Py$3h!M2 From cf7215aa2aab70fea30403400554b3aecdc0e7a1 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:38:06 -0400 Subject: [PATCH 244/306] add config Page --- apps/cassioWatch/app.js | 8 +++++++- apps/cassioWatch/cassioWatch.settings.js | 24 ++++++++++++++++++++++++ apps/cassioWatch/metadata.json | 1 + 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 apps/cassioWatch/cassioWatch.settings.js diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js index 2c4f2234a..d789003cc 100644 --- a/apps/cassioWatch/app.js +++ b/apps/cassioWatch/app.js @@ -74,6 +74,10 @@ let Rocket = { }; let rocket_sequence = 1; +let settings = require('Storage').readJSON("cassioWatch.settings.json", true) || {}; +let rocketSpeed = settings.rocketSpeed || 700; +delete settings; + g.clear(); function DrawClock() { @@ -128,7 +132,7 @@ function DrawScene() { g.drawString(Bangle.getStepCount(), 143, 104); ClockInterval = setInterval(DrawClock, 30000); DrawClock(); - RocketInterval = setInterval(DrawRocket, 700); + RocketInterval = setInterval(DrawRocket, rocketSpeed); DrawRocket(); BatteryInterval = setInterval(DrawBattery, 5 * 60000); DrawBattery(); @@ -158,3 +162,5 @@ DrawScene(); if (Bangle.isLocked()) { ClearIntervals(true); } + +//eval(require("Storage").read("cassioWatch.settings.js"))(()=>load()); \ No newline at end of file diff --git a/apps/cassioWatch/cassioWatch.settings.js b/apps/cassioWatch/cassioWatch.settings.js new file mode 100644 index 000000000..b07c6c58f --- /dev/null +++ b/apps/cassioWatch/cassioWatch.settings.js @@ -0,0 +1,24 @@ +(function(back) { + var FILE = "cassioWatch.settings.json"; + var settings = Object.assign({ + rocketSpeed: 700, + }, require('Storage').readJSON(FILE, true) || {}); + + function writeSettings() { + require('Storage').writeJSON(FILE, settings); + } + + + E.showMenu({ + "" : { "title" : "Cassio Watch" }, + "< Back" : () => back(), + 'Rocket Speed': { + value: 0|settings.rocketSpeed, + min: 100, max: 60000, + onchange: v => { + settings.rocketSpeed = v; + writeSettings(); + } + }, + }); + }) \ No newline at end of file diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index c6b177066..e7fe0c058 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -12,6 +12,7 @@ "readme": "README.md", "storage": [ { "name": "cassioWatch.app.js", "url": "app.js" }, + {"name":"cassioWatch.settings.js","url":"settings.js"}, { "name": "cassioWatch.img", "url": "icon.js", "evaluate": true } ] } From 9e70fbf886a3c287e253100b8454785e4001118f Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:38:44 -0400 Subject: [PATCH 245/306] update version --- apps/cassioWatch/ChangeLog | 3 ++- apps/cassioWatch/metadata.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index b0d0c0c20..6cf283649 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -3,4 +3,5 @@ 0.2: Correct Screen Clear and Draw. 0.3: Minor Fixes. 0.4: Clear Old Time on Screen Before Draw new Time -0.5: Update Date and Time to use Native date Funcions \ No newline at end of file +0.5: Update Date and Time to use Native date Funcions +0.6: Add Settings Page \ No newline at end of file diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index e7fe0c058..eb7bcdc4e 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/screen_night.png" },{ "url": "screens/screen_day.png" }], "icon": "app.png", - "version": "0.5", + "version": "0.6", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], From b3f1e8afb76acc195ac960ce2fd8c80be1465afe Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:40:04 -0400 Subject: [PATCH 246/306] fix ref --- apps/cassioWatch/{cassioWatch.settings.js => settings.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/cassioWatch/{cassioWatch.settings.js => settings.js} (100%) diff --git a/apps/cassioWatch/cassioWatch.settings.js b/apps/cassioWatch/settings.js similarity index 100% rename from apps/cassioWatch/cassioWatch.settings.js rename to apps/cassioWatch/settings.js From 647d4b290ff3034b6840d7dc7e372eb792831922 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:52:10 -0400 Subject: [PATCH 247/306] Update Rocket Sequences Scope to not use memory all time --- apps/cassioWatch/ChangeLog | 3 +- apps/cassioWatch/app.js | 62 ++++++++++++++++++---------------- apps/cassioWatch/metadata.json | 2 +- 3 files changed, 35 insertions(+), 32 deletions(-) diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index 6cf283649..0f217bb56 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -4,4 +4,5 @@ 0.3: Minor Fixes. 0.4: Clear Old Time on Screen Before Draw new Time 0.5: Update Date and Time to use Native date Funcions -0.6: Add Settings Page \ No newline at end of file +0.6: Add Settings Page +0.7: Update Rocket Sequences Scope to not use memory all time \ No newline at end of file diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js index d789003cc..851b5aa12 100644 --- a/apps/cassioWatch/app.js +++ b/apps/cassioWatch/app.js @@ -30,6 +30,37 @@ let background = require("heatshrink").decompress( ) ); +let rocket_sequence = 1; + +let settings = require('Storage').readJSON("cassioWatch.settings.json", true) || {}; +let rocketSpeed = settings.rocketSpeed || 700; +delete settings; + +g.clear(); + +function DrawClock() { + g.setFont("7x11Numeric7Seg", 3); + g.clearRect(80, 57, 170, 96); + g.setColor(0, 255, 255); + g.drawRect(80, 57, 170, 96); + g.fillRect(80, 57, 170, 96); + g.setColor(0, 0, 0); + g.drawString(require("locale").time(new Date(), 1), 70, 60); + g.setFont("8x12", 2); + g.drawString(require("locale").dow(new Date(), 2).toUpperCase(), 18, 130); + g.setFont("8x12"); + g.drawString(require("locale").month(new Date(), 2).toUpperCase(), 80, 126); + g.setFont("8x12", 2); + const time = new Date().getDate(); + g.drawString(time < 10 ? "0" + time : time, 78, 137); +} + +function DrawBattery() { + bigThenSmall(E.getBattery(), "%", 135, 21); +} + +function DrawRocket() { + let Rocket = { 1: require("heatshrink").decompress( atob( @@ -71,37 +102,8 @@ let Rocket = { "qFGwkCkQA/ABBSEJ8MgE4kBEsBPFE7xMCOIJ3hOYgFEE7rCGE70gE4pQBiAndYQwjBUohOZD4ZQFE7YkBE5AICYbZ2GE7sggJRCAA8iYzZOITroALE7EhExh4CAC0QExpPXOponZExx2XJ24nWdh52XdhzF/Yu5O/J35O0E55OXOx5O/J2omXE5x1XO54mYgQnMJrR4LOrciiAmiJgR4KEzIjDPBAlYiAiEeI51YkEBE4J5CD4KceTQQcBJgRQFdTZDCJIjDcNIqhGdTQmCkByFTTInDKgoAEE7ZEEJwhPdE1R1FE0InEE0R3DEwTGcDwomEE7hKFPYqafE8ROCE5DJbE5B/IEqh2ED4gnCJrMCJwgnEiB2bE4qeFEzUggQmIBQLEaEQImHLIImaE4YfcOw4lEFMLECS7onJO8wmkE4QljAAIA==" ) ), -}; -let rocket_sequence = 1; + }; -let settings = require('Storage').readJSON("cassioWatch.settings.json", true) || {}; -let rocketSpeed = settings.rocketSpeed || 700; -delete settings; - -g.clear(); - -function DrawClock() { - g.setFont("7x11Numeric7Seg", 3); - g.clearRect(80, 57, 170, 96); - g.setColor(0, 255, 255); - g.drawRect(80, 57, 170, 96); - g.fillRect(80, 57, 170, 96); - g.setColor(0, 0, 0); - g.drawString(require("locale").time(new Date(), 1), 70, 60); - g.setFont("8x12", 2); - g.drawString(require("locale").dow(new Date(), 2).toUpperCase(), 18, 130); - g.setFont("8x12"); - g.drawString(require("locale").month(new Date(), 2).toUpperCase(), 80, 126); - g.setFont("8x12", 2); - const time = new Date().getDate(); - g.drawString(time < 10 ? "0" + time : time, 78, 137); -} - -function DrawBattery() { - bigThenSmall(E.getBattery(), "%", 135, 21); -} - -function DrawRocket() { g.clearRect(5, 62, 63, 115); g.setColor(0, 255, 255); g.drawRect(5, 62, 63, 115); diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index eb7bcdc4e..95489e21f 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/screen_night.png" },{ "url": "screens/screen_day.png" }], "icon": "app.png", - "version": "0.6", + "version": "0.7", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], From b90d48fec4ce3d8376e53ba1a0a3567d73c3a89f Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:55:54 -0400 Subject: [PATCH 248/306] Update Some Variable Scopes to not use memory until need --- apps/cassioWatch/ChangeLog | 3 +- apps/cassioWatch/app.js | 104 +++++++++++++++++---------------- apps/cassioWatch/metadata.json | 2 +- 3 files changed, 58 insertions(+), 51 deletions(-) diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index 0f217bb56..d32170d8a 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -5,4 +5,5 @@ 0.4: Clear Old Time on Screen Before Draw new Time 0.5: Update Date and Time to use Native date Funcions 0.6: Add Settings Page -0.7: Update Rocket Sequences Scope to not use memory all time \ No newline at end of file +0.7: Update Rocket Sequences Scope to not use memory all time +0.8: Update Some Variable Scopes to not use memory until need \ No newline at end of file diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js index 851b5aa12..6148b4deb 100644 --- a/apps/cassioWatch/app.js +++ b/apps/cassioWatch/app.js @@ -24,11 +24,59 @@ function ClearIntervals(inoreclock) { ClockInterval = undefined; } -let background = require("heatshrink").decompress( - atob( - "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" - ) -); +function getBackgroundImage() { + return require("heatshrink").decompress( + atob( + "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" + ) + ); + +} + +function getRocketSequences() { + return { + 1: require("heatshrink").decompress( + atob( + "qFGwkCkQAiiEBEkUgKQhPhE8ogCE8YhCiQoEE7pKEPIgncTQ4neEwpQCPoh1eJYYwCJ7QmHKAh1hZIpOjPAUBJ0ZQCTzEhExZ1lPAZ1kKDQmOJ65O2E65OPOy5O2E64mPOyxO/J2wnPJyx2QJ35O/J2khE0p2POq52PEy4nOiQnlOrEhiSfMJrEggQnLJzB1CPBQmZkInMEzBQDPBImbPBR1ZEoRMCZYImhgQgEE0BzFKAgmaDwLDFKAbqdYQwHBOrcgDgLBFJrsiiRNGYbpLBY4Ymhd4omkkUhE0pQEEwUBJjrHBd4QmCdzoiBDwYrCPLyZHF4QnagQeCE8UgJwYniJwgnIOzwfFO0wJCJzMQE4gyFEzR2FBQombkInDQI4AakAnBTYS+ZE5BMDE0LEES7YnLE0R3FAEQA=" + ) + ), + 2: require("heatshrink").decompress( + atob( + "qFGwkCkQAikMAgIliKYon/AA0gEAQniEwIhCAgYndEIjqBE8CaGKogmgKAp1fKAgncExBQBBQR1gKAp7BJ0IndExR4CE0idaOpYnbExqeYJxxPYEx0BJ0x2XExx2XJ20QE6xONJi5OPGwJOlBwLFkLoLFlBwJOkOwJOlE4JOkTjBOOE/52Pdi5OPEy7FnE5wmXE5xOZT5gmYEoMiiB1lgR4KTLAkDPBJ1WIAYDDKA4mWJwchDwYEDTjQiDJQh4GYLAhHFosSJy6OCTIxaEEywbBKYwjEEzMgUQxQFBogAURwZOGOjTKJdTYnOEryfHE0JQEfIpQgYQMAgJLeAgrtfTI4ndgSaFE4h0bdQkSZQpOfEAgIBO0AnEdrh2FJAb1EdbInEBIpObOwhOEEzYnFXzZ2HE4QlhE4QlDFMKcDYooniO0QnDT0YnCE0ciA" + ) + ), + 3: require("heatshrink").decompress( + atob( + "qFGwkEogAjiMUEkVAKYgnhPYolgOQIniOYZ4FOcLqBE8CaGKojpgKAomhEYUQE7gmHKAIxCE0QkCPYR1gZIgnZExR4CJ0idmE7ZONYzImNgEUJ0p3YJRh2ZJJwnXOpQhBdkpaETsMEGQhOhE7jFLUYpOfTzgmKE4hOiE4hOigEUJ0rvCEywnPEqx2OTjBOOE7ImOTsqeZE5zFYoJOmT5kBJzEAih4LdK5mBAQInKOqoYDEgR4JEypHDEYbxJOq5ABdgZ7CEzZOEJQgnGihOYEIzJFTionCKYxWGEy9ADAYnGUIYmWog/EdBFAEy7KIKAwnjKwLqWE5pMeT48CVQpQfgMjKEtEiAnfEQJQCgJSCTcB6FJzkEdYcUE8FAdQghDOzonKTjh2EZAidcDoInHJzodBOwx/BE8JxcOwsAOwQmhJgSXDObwnFEwUUO0LFGE8aeiE4YmiokQE0tE" + ) + ), + 4: require("heatshrink").decompress( + atob( + "qFGwkCkQAjiMSEkRTFE/4AGkMAgQCBE8MgEIYEDE7whDdQIngTQxVEE0ChFTjxQFE7jnFKAgxCOsBQFZgJ1gE7wmKPAROkTrTEHGAwnYiBHJFAaeXOoyXBEQZPac5AsFgJOhAoh2XJwwnFKoROdE4J9GJzwnIiQmVkInPAC0QE5AJFE64mHY5DFdE4SBEYr5JDJ0hKDJ0jCZJxoACgInmKLAmOTq5OOEy5OPTsxOYE5wmXO5wlYkAnMOqshiRNCgR4LOC8CkJCCEzxHDAgYnJOqpAEDoZ4HEyodDEQpQHdCsQOwwFHEyzoCPYzJGEy0gEwaZGA4acVEQSjHKAomXkQYEYAwlZeRKYDE8gjCYa7zJEwcCkImfKAb4FAD0hdTh4LgRSBOcR0CJz0gYYrrgN4QnEYrxOEE4bEeiAnGF4J2idL6VDE8ohBE0gnFE0J0BE4QGBiROgdIQABgJ2hJoTtjYgZSEE8ScgE4omikUQTcQADA=" + ) + ), + 5: require("heatshrink").decompress( + atob( + "qFGwkCkQAikMAgIliKYonhiAnjkEATIIniEwIhCAgYndEIhQFYUZVEE0BQFOr5QEeQQmiKAL1DOr5QEE7ROCDgZVEAoInZDwchFQQoDPAJOdEQYrBdrZFDOYwncEJDsDVIpOXgJxEE4pObEAgGFgJOaE48BaIhOZJ5ZObY5ROcE441CE6xOGPAwtCJzpGCJ0hHDkI1DJzwoEJzInLFg52dUo5O/J35OzE54mWOx4mXJxx1XE54mXkUhExkSJzCfMOrAlBPBiZXgQDBAQQmgJgh4JOqoYEFYwmaDoZzEFgh1YDgkiiAFEKAroXJJAGFiQmVkCNDTIz5EJy57HKAomXkQYEJoqaYeRadEJrAnJEQUAgJPiAoYmeT4cCkAnBE0BKCJkT1EkDCeJYYiDOkLDFFL5wBE4guCPDhEBEwQiDY70CkInDiQnCJzkhOwhKDdzp2Idb4nEE0B0Bdo4niE0J0CeYhOhgESUYYnidsgnEE0KeCE0gnDE0ciA" + ) + ), + 6: require("heatshrink").decompress( + atob( + "qFGwkCkQA/ABEgKQZPhEwgABEsAoGJkBxBE8JKEAowAbJIhQEgLDiPooAdKA4ncTZAndSwhQEFoInaJQkSKAwlZdgwnfSgYADE4h1ZDwInlcggnIOzAdCE8i7EY5J3XDgYhGd4pOZEI52bSYwGCOAJ2bYIodEOzZOFFAjFcEwwAIE6xOHABBO/J34ndEyx2PJ00BJ00SJ0p1XE54mXOxxO/J5wmYgQnMOrB2BPBgkWiJ1CPBbBYAYR4KiTAXRwIrFTjgZDJYZ4IEyoiEIwrDcEJJQFOqwiBDARxFFwgmXkAYDEogsBF4QmXEQJ7GUYYkBEzDKJAgYmdEQbKFEzonEKYgngJwgmfZggmjKQghgiBRGkBzeTgUikJRgc47LDErTnDEAkQJzkCJwYnEJzonEJIaddOwhJEJzgdBE4hYEJzieJADgnEE0KUCXzoAGkJLEiB2hOgQDBT0TsDT0YmlE4YmjkQ=" + ) + ), + 7: require("heatshrink").decompress( + atob( + "qFGwkCkQAhkIpBiQlhkBSEJ8InlEIIoFE7whEE8pQFE7giBJQoneI4MCTYhQDE7YdCYYondEQYnEPwZ1bE5BQCJzonHkR2ZEAkBE4pNBE7zHFYrYhFUgonaXAQeEEwruZEYcgiROHJ7AfDAwxOeAAURiAmHE65HIOzwmOJ35OPE6xOPO35O/J35O/J1gnPEyx2PEy5OOOq5OnE5xOYO5omZgJQMJrQnLiQnagR4JOq5nCDgZ1fEYRLDE5DoZkUQNoZ4GOrJKGAoomXOw7lCAwYmYDgJSEAAUBA4QDBJzB6FOQrDXJwTJFdLjJKE9jDYZRAmkKAwmhKAgmiKAYmBkApdJIgjCKYIncOQYvJYTovGE84lagR2DE4xOakBOEgJXFOjYnEJAbtdOwggEkAmbDgInDE0B0BE4QgcE5AkiXYbpCOLonGYo4nhPMYnCUEgnBY0kiA==" + ) + ), + 8: require("heatshrink").decompress( + atob( + "qFGwkCkQA/ABBSEJ8MgE4kBEsBPFE7xMCOIJ3hOYgFEE7rCGE70gE4pQBiAndYQwjBUohOZD4ZQFE7YkBE5AICYbZ2GE7sggJRCAA8iYzZOITroALE7EhExh4CAC0QExpPXOponZExx2XJ24nWdh52XdhzF/Yu5O/J35O0E55OXOx5O/J2omXE5x1XO54mYgQnMJrR4LOrciiAmiJgR4KEzIjDPBAlYiAiEeI51YkEBE4J5CD4KceTQQcBJgRQFdTZDCJIjDcNIqhGdTQmCkByFTTInDKgoAEE7ZEEJwhPdE1R1FE0InEE0R3DEwTGcDwomEE7hKFPYqafE8ROCE5DJbE5B/IEqh2ED4gnCJrMCJwgnEiB2bE4qeFEzUggQmIBQLEaEQImHLIImaE4YfcOw4lEFMLECS7onJO8wmkE4QljAAIA==" + ) + ), + }; +} let rocket_sequence = 1; @@ -60,50 +108,7 @@ function DrawBattery() { } function DrawRocket() { - -let Rocket = { - 1: require("heatshrink").decompress( - atob( - "qFGwkCkQAiiEBEkUgKQhPhE8ogCE8YhCiQoEE7pKEPIgncTQ4neEwpQCPoh1eJYYwCJ7QmHKAh1hZIpOjPAUBJ0ZQCTzEhExZ1lPAZ1kKDQmOJ65O2E65OPOy5O2E64mPOyxO/J2wnPJyx2QJ35O/J2khE0p2POq52PEy4nOiQnlOrEhiSfMJrEggQnLJzB1CPBQmZkInMEzBQDPBImbPBR1ZEoRMCZYImhgQgEE0BzFKAgmaDwLDFKAbqdYQwHBOrcgDgLBFJrsiiRNGYbpLBY4Ymhd4omkkUhE0pQEEwUBJjrHBd4QmCdzoiBDwYrCPLyZHF4QnagQeCE8UgJwYniJwgnIOzwfFO0wJCJzMQE4gyFEzR2FBQombkInDQI4AakAnBTYS+ZE5BMDE0LEES7YnLE0R3FAEQA=" - ) - ), - 2: require("heatshrink").decompress( - atob( - "qFGwkCkQAikMAgIliKYon/AA0gEAQniEwIhCAgYndEIjqBE8CaGKogmgKAp1fKAgncExBQBBQR1gKAp7BJ0IndExR4CE0idaOpYnbExqeYJxxPYEx0BJ0x2XExx2XJ20QE6xONJi5OPGwJOlBwLFkLoLFlBwJOkOwJOlE4JOkTjBOOE/52Pdi5OPEy7FnE5wmXE5xOZT5gmYEoMiiB1lgR4KTLAkDPBJ1WIAYDDKA4mWJwchDwYEDTjQiDJQh4GYLAhHFosSJy6OCTIxaEEywbBKYwjEEzMgUQxQFBogAURwZOGOjTKJdTYnOEryfHE0JQEfIpQgYQMAgJLeAgrtfTI4ndgSaFE4h0bdQkSZQpOfEAgIBO0AnEdrh2FJAb1EdbInEBIpObOwhOEEzYnFXzZ2HE4QlhE4QlDFMKcDYooniO0QnDT0YnCE0ciA" - ) - ), - 3: require("heatshrink").decompress( - atob( - "qFGwkEogAjiMUEkVAKYgnhPYolgOQIniOYZ4FOcLqBE8CaGKojpgKAomhEYUQE7gmHKAIxCE0QkCPYR1gZIgnZExR4CJ0idmE7ZONYzImNgEUJ0p3YJRh2ZJJwnXOpQhBdkpaETsMEGQhOhE7jFLUYpOfTzgmKE4hOiE4hOigEUJ0rvCEywnPEqx2OTjBOOE7ImOTsqeZE5zFYoJOmT5kBJzEAih4LdK5mBAQInKOqoYDEgR4JEypHDEYbxJOq5ABdgZ7CEzZOEJQgnGihOYEIzJFTionCKYxWGEy9ADAYnGUIYmWog/EdBFAEy7KIKAwnjKwLqWE5pMeT48CVQpQfgMjKEtEiAnfEQJQCgJSCTcB6FJzkEdYcUE8FAdQghDOzonKTjh2EZAidcDoInHJzodBOwx/BE8JxcOwsAOwQmhJgSXDObwnFEwUUO0LFGE8aeiE4YmiokQE0tE" - ) - ), - 4: require("heatshrink").decompress( - atob( - "qFGwkCkQAjiMSEkRTFE/4AGkMAgQCBE8MgEIYEDE7whDdQIngTQxVEE0ChFTjxQFE7jnFKAgxCOsBQFZgJ1gE7wmKPAROkTrTEHGAwnYiBHJFAaeXOoyXBEQZPac5AsFgJOhAoh2XJwwnFKoROdE4J9GJzwnIiQmVkInPAC0QE5AJFE64mHY5DFdE4SBEYr5JDJ0hKDJ0jCZJxoACgInmKLAmOTq5OOEy5OPTsxOYE5wmXO5wlYkAnMOqshiRNCgR4LOC8CkJCCEzxHDAgYnJOqpAEDoZ4HEyodDEQpQHdCsQOwwFHEyzoCPYzJGEy0gEwaZGA4acVEQSjHKAomXkQYEYAwlZeRKYDE8gjCYa7zJEwcCkImfKAb4FAD0hdTh4LgRSBOcR0CJz0gYYrrgN4QnEYrxOEE4bEeiAnGF4J2idL6VDE8ohBE0gnFE0J0BE4QGBiROgdIQABgJ2hJoTtjYgZSEE8ScgE4omikUQTcQADA=" - ) - ), - 5: require("heatshrink").decompress( - atob( - "qFGwkCkQAikMAgIliKYonhiAnjkEATIIniEwIhCAgYndEIhQFYUZVEE0BQFOr5QEeQQmiKAL1DOr5QEE7ROCDgZVEAoInZDwchFQQoDPAJOdEQYrBdrZFDOYwncEJDsDVIpOXgJxEE4pObEAgGFgJOaE48BaIhOZJ5ZObY5ROcE441CE6xOGPAwtCJzpGCJ0hHDkI1DJzwoEJzInLFg52dUo5O/J35OzE54mWOx4mXJxx1XE54mXkUhExkSJzCfMOrAlBPBiZXgQDBAQQmgJgh4JOqoYEFYwmaDoZzEFgh1YDgkiiAFEKAroXJJAGFiQmVkCNDTIz5EJy57HKAomXkQYEJoqaYeRadEJrAnJEQUAgJPiAoYmeT4cCkAnBE0BKCJkT1EkDCeJYYiDOkLDFFL5wBE4guCPDhEBEwQiDY70CkInDiQnCJzkhOwhKDdzp2Idb4nEE0B0Bdo4niE0J0CeYhOhgESUYYnidsgnEE0KeCE0gnDE0ciA" - ) - ), - 6: require("heatshrink").decompress( - atob( - "qFGwkCkQA/ABEgKQZPhEwgABEsAoGJkBxBE8JKEAowAbJIhQEgLDiPooAdKA4ncTZAndSwhQEFoInaJQkSKAwlZdgwnfSgYADE4h1ZDwInlcggnIOzAdCE8i7EY5J3XDgYhGd4pOZEI52bSYwGCOAJ2bYIodEOzZOFFAjFcEwwAIE6xOHABBO/J34ndEyx2PJ00BJ00SJ0p1XE54mXOxxO/J5wmYgQnMOrB2BPBgkWiJ1CPBbBYAYR4KiTAXRwIrFTjgZDJYZ4IEyoiEIwrDcEJJQFOqwiBDARxFFwgmXkAYDEogsBF4QmXEQJ7GUYYkBEzDKJAgYmdEQbKFEzonEKYgngJwgmfZggmjKQghgiBRGkBzeTgUikJRgc47LDErTnDEAkQJzkCJwYnEJzonEJIaddOwhJEJzgdBE4hYEJzieJADgnEE0KUCXzoAGkJLEiB2hOgQDBT0TsDT0YmlE4YmjkQ=" - ) - ), - 7: require("heatshrink").decompress( - atob( - "qFGwkCkQAhkIpBiQlhkBSEJ8InlEIIoFE7whEE8pQFE7giBJQoneI4MCTYhQDE7YdCYYondEQYnEPwZ1bE5BQCJzonHkR2ZEAkBE4pNBE7zHFYrYhFUgonaXAQeEEwruZEYcgiROHJ7AfDAwxOeAAURiAmHE65HIOzwmOJ35OPE6xOPO35O/J35O/J1gnPEyx2PEy5OOOq5OnE5xOYO5omZgJQMJrQnLiQnagR4JOq5nCDgZ1fEYRLDE5DoZkUQNoZ4GOrJKGAoomXOw7lCAwYmYDgJSEAAUBA4QDBJzB6FOQrDXJwTJFdLjJKE9jDYZRAmkKAwmhKAgmiKAYmBkApdJIgjCKYIncOQYvJYTovGE84lagR2DE4xOakBOEgJXFOjYnEJAbtdOwggEkAmbDgInDE0B0BE4QgcE5AkiXYbpCOLonGYo4nhPMYnCUEgnBY0kiA==" - ) - ), - 8: require("heatshrink").decompress( - atob( - "qFGwkCkQA/ABBSEJ8MgE4kBEsBPFE7xMCOIJ3hOYgFEE7rCGE70gE4pQBiAndYQwjBUohOZD4ZQFE7YkBE5AICYbZ2GE7sggJRCAA8iYzZOITroALE7EhExh4CAC0QExpPXOponZExx2XJ24nWdh52XdhzF/Yu5O/J35O0E55OXOx5O/J2omXE5x1XO54mYgQnMJrR4LOrciiAmiJgR4KEzIjDPBAlYiAiEeI51YkEBE4J5CD4KceTQQcBJgRQFdTZDCJIjDcNIqhGdTQmCkByFTTInDKgoAEE7ZEEJwhPdE1R1FE0InEE0R3DEwTGcDwomEE7hKFPYqafE8ROCE5DJbE5B/IEqh2ED4gnCJrMCJwgnEiB2bE4qeFEzUggQmIBQLEaEQImHLIImaE4YfcOw4lEFMLECS7onJO8wmkE4QljAAIA==" - ) - ), - }; - + let Rocket = getRocketSequences(); g.clearRect(5, 62, 63, 115); g.setColor(0, 255, 255); g.drawRect(5, 62, 63, 115); @@ -121,6 +126,7 @@ function DrawScene() { g.clear(); g.setColor(0, 255, 255); g.fillRect(0, 0, g.getWidth(), g.getHeight()); + let background = getBackgroundImage(); g.drawImage(background, 0, 0, { scale: 1 }); g.setColor(0, 0, 0); g.setFont("6x12"); diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 95489e21f..40936763d 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/screen_night.png" },{ "url": "screens/screen_day.png" }], "icon": "app.png", - "version": "0.7", + "version": "0.8", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], From adfab5fcd6e117eb2eddd4f89503a739b2f89722 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 16:01:43 -0400 Subject: [PATCH 249/306] Remove ESLint spaces --- apps/cassioWatch/ChangeLog | 3 +- apps/cassioWatch/app.js | 65 +++++++--------------------------- apps/cassioWatch/metadata.json | 2 +- 3 files changed, 15 insertions(+), 55 deletions(-) diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index d32170d8a..f00b3fa0a 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -6,4 +6,5 @@ 0.5: Update Date and Time to use Native date Funcions 0.6: Add Settings Page 0.7: Update Rocket Sequences Scope to not use memory all time -0.8: Update Some Variable Scopes to not use memory until need \ No newline at end of file +0.8: Update Some Variable Scopes to not use memory until need +0.9: Remove ESLint spaces \ No newline at end of file diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js index 6148b4deb..93538ec50 100644 --- a/apps/cassioWatch/app.js +++ b/apps/cassioWatch/app.js @@ -25,57 +25,20 @@ function ClearIntervals(inoreclock) { } function getBackgroundImage() { - return require("heatshrink").decompress( - atob( - "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" - ) - ); - + return require("heatshrink").decompress(atob("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")); } function getRocketSequences() { return { - 1: require("heatshrink").decompress( - atob( - "qFGwkCkQAiiEBEkUgKQhPhE8ogCE8YhCiQoEE7pKEPIgncTQ4neEwpQCPoh1eJYYwCJ7QmHKAh1hZIpOjPAUBJ0ZQCTzEhExZ1lPAZ1kKDQmOJ65O2E65OPOy5O2E64mPOyxO/J2wnPJyx2QJ35O/J2khE0p2POq52PEy4nOiQnlOrEhiSfMJrEggQnLJzB1CPBQmZkInMEzBQDPBImbPBR1ZEoRMCZYImhgQgEE0BzFKAgmaDwLDFKAbqdYQwHBOrcgDgLBFJrsiiRNGYbpLBY4Ymhd4omkkUhE0pQEEwUBJjrHBd4QmCdzoiBDwYrCPLyZHF4QnagQeCE8UgJwYniJwgnIOzwfFO0wJCJzMQE4gyFEzR2FBQombkInDQI4AakAnBTYS+ZE5BMDE0LEES7YnLE0R3FAEQA=" - ) - ), - 2: require("heatshrink").decompress( - atob( - "qFGwkCkQAikMAgIliKYon/AA0gEAQniEwIhCAgYndEIjqBE8CaGKogmgKAp1fKAgncExBQBBQR1gKAp7BJ0IndExR4CE0idaOpYnbExqeYJxxPYEx0BJ0x2XExx2XJ20QE6xONJi5OPGwJOlBwLFkLoLFlBwJOkOwJOlE4JOkTjBOOE/52Pdi5OPEy7FnE5wmXE5xOZT5gmYEoMiiB1lgR4KTLAkDPBJ1WIAYDDKA4mWJwchDwYEDTjQiDJQh4GYLAhHFosSJy6OCTIxaEEywbBKYwjEEzMgUQxQFBogAURwZOGOjTKJdTYnOEryfHE0JQEfIpQgYQMAgJLeAgrtfTI4ndgSaFE4h0bdQkSZQpOfEAgIBO0AnEdrh2FJAb1EdbInEBIpObOwhOEEzYnFXzZ2HE4QlhE4QlDFMKcDYooniO0QnDT0YnCE0ciA" - ) - ), - 3: require("heatshrink").decompress( - atob( - "qFGwkEogAjiMUEkVAKYgnhPYolgOQIniOYZ4FOcLqBE8CaGKojpgKAomhEYUQE7gmHKAIxCE0QkCPYR1gZIgnZExR4CJ0idmE7ZONYzImNgEUJ0p3YJRh2ZJJwnXOpQhBdkpaETsMEGQhOhE7jFLUYpOfTzgmKE4hOiE4hOigEUJ0rvCEywnPEqx2OTjBOOE7ImOTsqeZE5zFYoJOmT5kBJzEAih4LdK5mBAQInKOqoYDEgR4JEypHDEYbxJOq5ABdgZ7CEzZOEJQgnGihOYEIzJFTionCKYxWGEy9ADAYnGUIYmWog/EdBFAEy7KIKAwnjKwLqWE5pMeT48CVQpQfgMjKEtEiAnfEQJQCgJSCTcB6FJzkEdYcUE8FAdQghDOzonKTjh2EZAidcDoInHJzodBOwx/BE8JxcOwsAOwQmhJgSXDObwnFEwUUO0LFGE8aeiE4YmiokQE0tE" - ) - ), - 4: require("heatshrink").decompress( - atob( - "qFGwkCkQAjiMSEkRTFE/4AGkMAgQCBE8MgEIYEDE7whDdQIngTQxVEE0ChFTjxQFE7jnFKAgxCOsBQFZgJ1gE7wmKPAROkTrTEHGAwnYiBHJFAaeXOoyXBEQZPac5AsFgJOhAoh2XJwwnFKoROdE4J9GJzwnIiQmVkInPAC0QE5AJFE64mHY5DFdE4SBEYr5JDJ0hKDJ0jCZJxoACgInmKLAmOTq5OOEy5OPTsxOYE5wmXO5wlYkAnMOqshiRNCgR4LOC8CkJCCEzxHDAgYnJOqpAEDoZ4HEyodDEQpQHdCsQOwwFHEyzoCPYzJGEy0gEwaZGA4acVEQSjHKAomXkQYEYAwlZeRKYDE8gjCYa7zJEwcCkImfKAb4FAD0hdTh4LgRSBOcR0CJz0gYYrrgN4QnEYrxOEE4bEeiAnGF4J2idL6VDE8ohBE0gnFE0J0BE4QGBiROgdIQABgJ2hJoTtjYgZSEE8ScgE4omikUQTcQADA=" - ) - ), - 5: require("heatshrink").decompress( - atob( - "qFGwkCkQAikMAgIliKYonhiAnjkEATIIniEwIhCAgYndEIhQFYUZVEE0BQFOr5QEeQQmiKAL1DOr5QEE7ROCDgZVEAoInZDwchFQQoDPAJOdEQYrBdrZFDOYwncEJDsDVIpOXgJxEE4pObEAgGFgJOaE48BaIhOZJ5ZObY5ROcE441CE6xOGPAwtCJzpGCJ0hHDkI1DJzwoEJzInLFg52dUo5O/J35OzE54mWOx4mXJxx1XE54mXkUhExkSJzCfMOrAlBPBiZXgQDBAQQmgJgh4JOqoYEFYwmaDoZzEFgh1YDgkiiAFEKAroXJJAGFiQmVkCNDTIz5EJy57HKAomXkQYEJoqaYeRadEJrAnJEQUAgJPiAoYmeT4cCkAnBE0BKCJkT1EkDCeJYYiDOkLDFFL5wBE4guCPDhEBEwQiDY70CkInDiQnCJzkhOwhKDdzp2Idb4nEE0B0Bdo4niE0J0CeYhOhgESUYYnidsgnEE0KeCE0gnDE0ciA" - ) - ), - 6: require("heatshrink").decompress( - atob( - "qFGwkCkQA/ABEgKQZPhEwgABEsAoGJkBxBE8JKEAowAbJIhQEgLDiPooAdKA4ncTZAndSwhQEFoInaJQkSKAwlZdgwnfSgYADE4h1ZDwInlcggnIOzAdCE8i7EY5J3XDgYhGd4pOZEI52bSYwGCOAJ2bYIodEOzZOFFAjFcEwwAIE6xOHABBO/J34ndEyx2PJ00BJ00SJ0p1XE54mXOxxO/J5wmYgQnMOrB2BPBgkWiJ1CPBbBYAYR4KiTAXRwIrFTjgZDJYZ4IEyoiEIwrDcEJJQFOqwiBDARxFFwgmXkAYDEogsBF4QmXEQJ7GUYYkBEzDKJAgYmdEQbKFEzonEKYgngJwgmfZggmjKQghgiBRGkBzeTgUikJRgc47LDErTnDEAkQJzkCJwYnEJzonEJIaddOwhJEJzgdBE4hYEJzieJADgnEE0KUCXzoAGkJLEiB2hOgQDBT0TsDT0YmlE4YmjkQ=" - ) - ), - 7: require("heatshrink").decompress( - atob( - "qFGwkCkQAhkIpBiQlhkBSEJ8InlEIIoFE7whEE8pQFE7giBJQoneI4MCTYhQDE7YdCYYondEQYnEPwZ1bE5BQCJzonHkR2ZEAkBE4pNBE7zHFYrYhFUgonaXAQeEEwruZEYcgiROHJ7AfDAwxOeAAURiAmHE65HIOzwmOJ35OPE6xOPO35O/J35O/J1gnPEyx2PEy5OOOq5OnE5xOYO5omZgJQMJrQnLiQnagR4JOq5nCDgZ1fEYRLDE5DoZkUQNoZ4GOrJKGAoomXOw7lCAwYmYDgJSEAAUBA4QDBJzB6FOQrDXJwTJFdLjJKE9jDYZRAmkKAwmhKAgmiKAYmBkApdJIgjCKYIncOQYvJYTovGE84lagR2DE4xOakBOEgJXFOjYnEJAbtdOwggEkAmbDgInDE0B0BE4QgcE5AkiXYbpCOLonGYo4nhPMYnCUEgnBY0kiA==" - ) - ), - 8: require("heatshrink").decompress( - atob( - "qFGwkCkQA/ABBSEJ8MgE4kBEsBPFE7xMCOIJ3hOYgFEE7rCGE70gE4pQBiAndYQwjBUohOZD4ZQFE7YkBE5AICYbZ2GE7sggJRCAA8iYzZOITroALE7EhExh4CAC0QExpPXOponZExx2XJ24nWdh52XdhzF/Yu5O/J35O0E55OXOx5O/J2omXE5x1XO54mYgQnMJrR4LOrciiAmiJgR4KEzIjDPBAlYiAiEeI51YkEBE4J5CD4KceTQQcBJgRQFdTZDCJIjDcNIqhGdTQmCkByFTTInDKgoAEE7ZEEJwhPdE1R1FE0InEE0R3DEwTGcDwomEE7hKFPYqafE8ROCE5DJbE5B/IEqh2ED4gnCJrMCJwgnEiB2bE4qeFEzUggQmIBQLEaEQImHLIImaE4YfcOw4lEFMLECS7onJO8wmkE4QljAAIA==" - ) - ), - }; + 1: require("heatshrink").decompress(atob("qFGwkCkQAiiEBEkUgKQhPhE8ogCE8YhCiQoEE7pKEPIgncTQ4neEwpQCPoh1eJYYwCJ7QmHKAh1hZIpOjPAUBJ0ZQCTzEhExZ1lPAZ1kKDQmOJ65O2E65OPOy5O2E64mPOyxO/J2wnPJyx2QJ35O/J2khE0p2POq52PEy4nOiQnlOrEhiSfMJrEggQnLJzB1CPBQmZkInMEzBQDPBImbPBR1ZEoRMCZYImhgQgEE0BzFKAgmaDwLDFKAbqdYQwHBOrcgDgLBFJrsiiRNGYbpLBY4Ymhd4omkkUhE0pQEEwUBJjrHBd4QmCdzoiBDwYrCPLyZHF4QnagQeCE8UgJwYniJwgnIOzwfFO0wJCJzMQE4gyFEzR2FBQombkInDQI4AakAnBTYS+ZE5BMDE0LEES7YnLE0R3FAEQA=")), + 2: require("heatshrink").decompress(atob("qFGwkCkQAikMAgIliKYon/AA0gEAQniEwIhCAgYndEIjqBE8CaGKogmgKAp1fKAgncExBQBBQR1gKAp7BJ0IndExR4CE0idaOpYnbExqeYJxxPYEx0BJ0x2XExx2XJ20QE6xONJi5OPGwJOlBwLFkLoLFlBwJOkOwJOlE4JOkTjBOOE/52Pdi5OPEy7FnE5wmXE5xOZT5gmYEoMiiB1lgR4KTLAkDPBJ1WIAYDDKA4mWJwchDwYEDTjQiDJQh4GYLAhHFosSJy6OCTIxaEEywbBKYwjEEzMgUQxQFBogAURwZOGOjTKJdTYnOEryfHE0JQEfIpQgYQMAgJLeAgrtfTI4ndgSaFE4h0bdQkSZQpOfEAgIBO0AnEdrh2FJAb1EdbInEBIpObOwhOEEzYnFXzZ2HE4QlhE4QlDFMKcDYooniO0QnDT0YnCE0ciA")), + 3: require("heatshrink").decompress(atob("qFGwkEogAjiMUEkVAKYgnhPYolgOQIniOYZ4FOcLqBE8CaGKojpgKAomhEYUQE7gmHKAIxCE0QkCPYR1gZIgnZExR4CJ0idmE7ZONYzImNgEUJ0p3YJRh2ZJJwnXOpQhBdkpaETsMEGQhOhE7jFLUYpOfTzgmKE4hOiE4hOigEUJ0rvCEywnPEqx2OTjBOOE7ImOTsqeZE5zFYoJOmT5kBJzEAih4LdK5mBAQInKOqoYDEgR4JEypHDEYbxJOq5ABdgZ7CEzZOEJQgnGihOYEIzJFTionCKYxWGEy9ADAYnGUIYmWog/EdBFAEy7KIKAwnjKwLqWE5pMeT48CVQpQfgMjKEtEiAnfEQJQCgJSCTcB6FJzkEdYcUE8FAdQghDOzonKTjh2EZAidcDoInHJzodBOwx/BE8JxcOwsAOwQmhJgSXDObwnFEwUUO0LFGE8aeiE4YmiokQE0tE")), + 4: require("heatshrink").decompress(atob("qFGwkCkQAjiMSEkRTFE/4AGkMAgQCBE8MgEIYEDE7whDdQIngTQxVEE0ChFTjxQFE7jnFKAgxCOsBQFZgJ1gE7wmKPAROkTrTEHGAwnYiBHJFAaeXOoyXBEQZPac5AsFgJOhAoh2XJwwnFKoROdE4J9GJzwnIiQmVkInPAC0QE5AJFE64mHY5DFdE4SBEYr5JDJ0hKDJ0jCZJxoACgInmKLAmOTq5OOEy5OPTsxOYE5wmXO5wlYkAnMOqshiRNCgR4LOC8CkJCCEzxHDAgYnJOqpAEDoZ4HEyodDEQpQHdCsQOwwFHEyzoCPYzJGEy0gEwaZGA4acVEQSjHKAomXkQYEYAwlZeRKYDE8gjCYa7zJEwcCkImfKAb4FAD0hdTh4LgRSBOcR0CJz0gYYrrgN4QnEYrxOEE4bEeiAnGF4J2idL6VDE8ohBE0gnFE0J0BE4QGBiROgdIQABgJ2hJoTtjYgZSEE8ScgE4omikUQTcQADA=")), + 5: require("heatshrink").decompress(atob("qFGwkCkQAikMAgIliKYonhiAnjkEATIIniEwIhCAgYndEIhQFYUZVEE0BQFOr5QEeQQmiKAL1DOr5QEE7ROCDgZVEAoInZDwchFQQoDPAJOdEQYrBdrZFDOYwncEJDsDVIpOXgJxEE4pObEAgGFgJOaE48BaIhOZJ5ZObY5ROcE441CE6xOGPAwtCJzpGCJ0hHDkI1DJzwoEJzInLFg52dUo5O/J35OzE54mWOx4mXJxx1XE54mXkUhExkSJzCfMOrAlBPBiZXgQDBAQQmgJgh4JOqoYEFYwmaDoZzEFgh1YDgkiiAFEKAroXJJAGFiQmVkCNDTIz5EJy57HKAomXkQYEJoqaYeRadEJrAnJEQUAgJPiAoYmeT4cCkAnBE0BKCJkT1EkDCeJYYiDOkLDFFL5wBE4guCPDhEBEwQiDY70CkInDiQnCJzkhOwhKDdzp2Idb4nEE0B0Bdo4niE0J0CeYhOhgESUYYnidsgnEE0KeCE0gnDE0ciA")), + 6: require("heatshrink").decompress(atob("qFGwkCkQA/ABEgKQZPhEwgABEsAoGJkBxBE8JKEAowAbJIhQEgLDiPooAdKA4ncTZAndSwhQEFoInaJQkSKAwlZdgwnfSgYADE4h1ZDwInlcggnIOzAdCE8i7EY5J3XDgYhGd4pOZEI52bSYwGCOAJ2bYIodEOzZOFFAjFcEwwAIE6xOHABBO/J34ndEyx2PJ00BJ00SJ0p1XE54mXOxxO/J5wmYgQnMOrB2BPBgkWiJ1CPBbBYAYR4KiTAXRwIrFTjgZDJYZ4IEyoiEIwrDcEJJQFOqwiBDARxFFwgmXkAYDEogsBF4QmXEQJ7GUYYkBEzDKJAgYmdEQbKFEzonEKYgngJwgmfZggmjKQghgiBRGkBzeTgUikJRgc47LDErTnDEAkQJzkCJwYnEJzonEJIaddOwhJEJzgdBE4hYEJzieJADgnEE0KUCXzoAGkJLEiB2hOgQDBT0TsDT0YmlE4YmjkQ=")), + 7: require("heatshrink").decompress(atob("qFGwkCkQAhkIpBiQlhkBSEJ8InlEIIoFE7whEE8pQFE7giBJQoneI4MCTYhQDE7YdCYYondEQYnEPwZ1bE5BQCJzonHkR2ZEAkBE4pNBE7zHFYrYhFUgonaXAQeEEwruZEYcgiROHJ7AfDAwxOeAAURiAmHE65HIOzwmOJ35OPE6xOPO35O/J35O/J1gnPEyx2PEy5OOOq5OnE5xOYO5omZgJQMJrQnLiQnagR4JOq5nCDgZ1fEYRLDE5DoZkUQNoZ4GOrJKGAoomXOw7lCAwYmYDgJSEAAUBA4QDBJzB6FOQrDXJwTJFdLjJKE9jDYZRAmkKAwmhKAgmiKAYmBkApdJIgjCKYIncOQYvJYTovGE84lagR2DE4xOakBOEgJXFOjYnEJAbtdOwggEkAmbDgInDE0B0BE4QgcE5AkiXYbpCOLonGYo4nhPMYnCUEgnBY0kiA==")), + 8: require("heatshrink").decompress(atob("qFGwkCkQA/ABBSEJ8MgE4kBEsBPFE7xMCOIJ3hOYgFEE7rCGE70gE4pQBiAndYQwjBUohOZD4ZQFE7YkBE5AICYbZ2GE7sggJRCAA8iYzZOITroALE7EhExh4CAC0QExpPXOponZExx2XJ24nWdh52XdhzF/Yu5O/J35O0E55OXOx5O/J2omXE5x1XO54mYgQnMJrR4LOrciiAmiJgR4KEzIjDPBAlYiAiEeI51YkEBE4J5CD4KceTQQcBJgRQFdTZDCJIjDcNIqhGdTQmCkByFTTInDKgoAEE7ZEEJwhPdE1R1FE0InEE0R3DEwTGcDwomEE7hKFPYqafE8ROCE5DJbE5B/IEqh2ED4gnCJrMCJwgnEiB2bE4qeFEzUggQmIBQLEaEQImHLIImaE4YfcOw4lEFMLECS7onJO8wmkE4QljAAIA==")), + }; } let rocket_sequence = 1; @@ -116,9 +79,7 @@ function DrawRocket() { g.drawImage(Rocket[rocket_sequence], 5, 65, { scale: 0.7 }); g.setColor(0, 0, 0); rocket_sequence = rocket_sequence + 1; - if (rocket_sequence > 8) { - rocket_sequence = 1; - } + if (rocket_sequence > 8) rocket_sequence = 1; } function DrawScene() { @@ -169,6 +130,4 @@ DrawScene(); if (Bangle.isLocked()) { ClearIntervals(true); -} - -//eval(require("Storage").read("cassioWatch.settings.js"))(()=>load()); \ No newline at end of file +} \ No newline at end of file diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 40936763d..70cd9c242 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/screen_night.png" },{ "url": "screens/screen_day.png" }], "icon": "app.png", - "version": "0.8", + "version": "0.9", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], From a4f79367ba16d13755541bbcbcb7fef17f438341 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 6 Jun 2022 11:16:41 +0100 Subject: [PATCH 250/306] constant decl in function saves RAM --- modules/buzz.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/buzz.js b/modules/buzz.js index cfa948117..aed0e2e7b 100644 --- a/modules/buzz.js +++ b/modules/buzz.js @@ -1,6 +1,3 @@ -const BUZZ_WEAK = 0.25, BUZZ_STRONG = 1; -const SHORT_MS = 100, MEDIUM_MS = 200, LONG_MS = 500; - /** * Buzz the passed `pattern` out on the internal vibration motor. * @@ -22,6 +19,8 @@ exports.pattern = pattern => new Promise(resolve => { if (pattern == "") resolve(); var c = pattern[0]; pattern = pattern.substr(1); + const BUZZ_WEAK = 0.25, BUZZ_STRONG = 1; + const SHORT_MS = 100, MEDIUM_MS = 200, LONG_MS = 500; if (c == ".") Bangle.buzz(SHORT_MS, BUZZ_WEAK).then(() => setTimeout(doBuzz, 100)); else if (c == ",") Bangle.buzz(MEDIUM_MS, BUZZ_WEAK).then(() => setTimeout(doBuzz, 100)); else if (c == "-") Bangle.buzz(LONG_MS, BUZZ_WEAK).then(() => setTimeout(doBuzz, 100)); From 3dabc77c553a59db5e1ec80973acf61452e2d701 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 12:42:05 +0200 Subject: [PATCH 251/306] Rename metadata.info to metadata.json --- apps/widday/{metadata.info => metadata.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/widday/{metadata.info => metadata.json} (100%) diff --git a/apps/widday/metadata.info b/apps/widday/metadata.json similarity index 100% rename from apps/widday/metadata.info rename to apps/widday/metadata.json From 9defc580c2ac62bfe950e280f705f3ebf5b84a88 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 12:42:41 +0200 Subject: [PATCH 252/306] Update metadata.json --- apps/widday/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index 54e42f000..1a12e6f56 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -4,7 +4,7 @@ "icon": "widday.png", "version":"0.01", "description": "Just the day of the current date as widget", - readme: "README.md + readme: "README.md" "tags": "widget,say,date", "allow_emulator":true, "supports": ["BANGLEJS", "BANGLEJS2"], From 9c8463d2dc7b0f4ba0b1cd8a69ca6ae434046ff7 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 12:43:07 +0200 Subject: [PATCH 253/306] Delete widday.info --- apps/widday/widday.info | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 apps/widday/widday.info diff --git a/apps/widday/widday.info b/apps/widday/widday.info deleted file mode 100644 index 351a302ca..000000000 --- a/apps/widday/widday.info +++ /dev/null @@ -1,8 +0,0 @@ -{ - "id":"widday", - "name":"Day Widget", - "type":"widget", - "version":"0.01", - "tags":"widget,date,day", - "files":"widday.info,widday.wid.js" -} From d88c2d6ede22508ad65b349fa95eda8d27de58b0 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 12:44:08 +0200 Subject: [PATCH 254/306] Delete pongclock.img --- apps/pongclock/pongclock.img | Bin 1156 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 apps/pongclock/pongclock.img diff --git a/apps/pongclock/pongclock.img b/apps/pongclock/pongclock.img deleted file mode 100644 index e0045eff79314697cb8fe35138277dd0de433bc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1156 zcmcJNQEtN^5JVR{|3>NoAie;oIRKaIft~mO+nI&fSg!w4BrD5fn4JJQ|J-CBy6kmd zeS~|FIW||+9AD~P(P(waoWEEPs(#X13znU#iH22uc#bQ5oO1`BaYG;BSLy%hW>&UNWPw3kNy2f@>t7EWdFER5bVG z&5e2n(S^Y8Rl8P2eYsG z1ffabKcYrr^Z%Q}gM*T7bd#<;i2j>z?}wod&9; Date: Mon, 6 Jun 2022 12:01:01 +0100 Subject: [PATCH 255/306] link pt_BR --- lang/index.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lang/index.json b/lang/index.json index 20ceaab92..474a530ab 100644 --- a/lang/index.json +++ b/lang/index.json @@ -12,6 +12,7 @@ {"code":"tr_TR","name":"Turkish","url":"tr_TR.json"}, {"code":"ru_RU","name":"Russian","url":"ru_RU.json", "disabled":"Characters not in ISO Latin codepage"}, {"code":"pt_PT","name":"Portuguese","url":"pt_PT.json"}, + {"code":"pt_BR","name":"Portuguese Brasil","url":"pt_BR.json"}, {"code":"bg_BG","name":"Bulgarian","url":"bg_BG.json", "disabled":"Characters not in ISO Latin codepage"}, {"code":"da_DA","name":"Danish","url":"da_DA.json"}, {"code":"el_EL","name":"Greek","url":"el_EL.json", "disabled":"Characters not in ISO Latin codepage"}, @@ -23,5 +24,5 @@ {"code":"sk_SK","name":"Slovak","url":"sk_SK.json"}, {"code":"sl_SL","name":"Slovenian","url":"sl_SL.json"}, {"code":"nn_NO","name":"Norwegian (Nynorsk)","url":"nn_NO.json"}, - {"code":"hr_HR","name":"Croatian","url":"hr_HR.json"} + {"code":"hr_HR","name":"Croatian","url":"hr_HR.json"} ] From 6a475ef24cca9f1735856fdb0e750dc591165186 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 6 Jun 2022 12:06:31 +0100 Subject: [PATCH 256/306] fix core --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 2054537a9..756af883c 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 2054537a9958f9812ae2cad908b6597ff01e449d +Subproject commit 756af883c5bd6ebd71507f28072713f90625c17c From d6434a2a182e44ee20a2ebbdc7d4a6ffbfb5e4c9 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 13:33:55 +0200 Subject: [PATCH 257/306] Update metadata.json --- apps/widday/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index 1a12e6f56..e929c9498 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -4,7 +4,7 @@ "icon": "widday.png", "version":"0.01", "description": "Just the day of the current date as widget", - readme: "README.md" + "readme": "README.md" "tags": "widget,say,date", "allow_emulator":true, "supports": ["BANGLEJS", "BANGLEJS2"], From 2529f294e27abf160d2b7c2e55b14328e71c6aec Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 13:40:07 +0200 Subject: [PATCH 258/306] Update metadata.json --- apps/widday/metadata.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index e929c9498..530cd9276 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -10,7 +10,6 @@ "supports": ["BANGLEJS", "BANGLEJS2"], "screenshots" : [ { "url":"screenshot.png" } ], "storage": [ - {"name":"widday.wid.js","url":"app.js"}, - {"name":"widday.img","url":"app-icon.js","evaluate":true} + {"name":"widday.wid.js","url":"app.js"} ] } From 0499e6040c824375f156b592777842d8d76327ec Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 13:43:08 +0200 Subject: [PATCH 259/306] Update metadata.json --- apps/widday/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index 530cd9276..86647b729 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -4,7 +4,7 @@ "icon": "widday.png", "version":"0.01", "description": "Just the day of the current date as widget", - "readme": "README.md" + "readme": "README.md", "tags": "widget,say,date", "allow_emulator":true, "supports": ["BANGLEJS", "BANGLEJS2"], From fb0af46f49a5c99abfe987d764673936c1a9807c Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 13:46:30 +0200 Subject: [PATCH 260/306] Add files via upload --- apps/widday/widget.png | Bin 0 -> 778 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/widday/widget.png diff --git a/apps/widday/widget.png b/apps/widday/widget.png new file mode 100644 index 0000000000000000000000000000000000000000..4620978719b3091d1e043eacc05df818219249d3 GIT binary patch literal 778 zcmV+l1NHogP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0-s4lK~!i%?U_GF z>rfQNzvmxZ6w%FsI`|J~!9hByI156%h=ZuJi?f30pe_n7f{P&9BDm@3QbiEK!BHtv zD7YxUK4drw(&d(_nX>JC(yP4RD$KyyQlNG!N(rGEihFOdY(bdJqB5Z8f z`>IAJ!wcA{>^-o)4)pfIoC2O8pPv*(xWA|H$lDu*JL(25FM+{9V0IRGedS3Dr3|<% zg|gJvQn;gTU}Xh3IbmW_S4Tlg8JL&=4iAgR!2z(l3k(mlGih%J+S-^XQ1%%Z9nG!F zh6cmf-ZqTQP5XLnZDmKFSg$1^*LT6+Gtk)yEGz&|Pr&3PPg*E-2g(Jx#8Eq{yy;h%!DY;zVLGfK0YWsvb01& z#>PBVExmW(^c1+hWe?V2Ll84e*OJyP{-e9 z?)H{Kk((O|3$h(QJ7YpBoPBiz@-55@Jv|f__Vy@9Qxh;X#iT;YE+OIlT|L}*c`1ZX z{4F7&rba#7sIM=?58%zfFC;Xeo6vx60&gJy6GPzt Date: Mon, 6 Jun 2022 13:49:31 +0200 Subject: [PATCH 261/306] Update metadata.json --- apps/widday/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index 86647b729..6065c6881 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -1,7 +1,7 @@ { "id": "widday", "name": "Day Widget", "shortName":"My Timer", - "icon": "widday.png", + "icon": "widget.png", "version":"0.01", "description": "Just the day of the current date as widget", "readme": "README.md", From b2d1a52800a4509c854b013de98e63c5085fcf98 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 13:52:26 +0200 Subject: [PATCH 262/306] Update app.js --- apps/widday/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widday/app.js b/apps/widday/app.js index 189fc1951..cdea76a29 100644 --- a/apps/widday/app.js +++ b/apps/widday/app.js @@ -7,7 +7,7 @@ g.setFontAlign(0,1); // center fonts //g.drawRect(this.x, this.y, this.x+width-1, this.y+23); // check the bounds! - var text = "date.getDate(); + var text = date.getDate(); g.setFont("Vector", 24); g.drawString(text, this.x+width/2+1, this.y + 28); //g.setColor(0, 0, 1); From de751b1b80bd4897e87e356996101d322d01aa35 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 14:00:17 +0200 Subject: [PATCH 263/306] Rename app.js to widget.js --- apps/widday/{app.js => widget.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/widday/{app.js => widget.js} (100%) diff --git a/apps/widday/app.js b/apps/widday/widget.js similarity index 100% rename from apps/widday/app.js rename to apps/widday/widget.js From e75a044257ce8ff30e674dea4c3446ccd971e8a9 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 14:00:40 +0200 Subject: [PATCH 264/306] Update metadata.json --- apps/widday/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index 6065c6881..f75652c09 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -10,6 +10,6 @@ "supports": ["BANGLEJS", "BANGLEJS2"], "screenshots" : [ { "url":"screenshot.png" } ], "storage": [ - {"name":"widday.wid.js","url":"app.js"} + {"name":"widday.wid.js","url":"widget.js"} ] } From de4b820b58e95851d2d00dda550a358adcb1cbf9 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 14:05:50 +0200 Subject: [PATCH 265/306] Update metadata.json --- apps/widday/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index f75652c09..3fd406b4b 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -2,6 +2,7 @@ "name": "Day Widget", "shortName":"My Timer", "icon": "widget.png", + "type": "widget" "version":"0.01", "description": "Just the day of the current date as widget", "readme": "README.md", From fe5c293c4603b15ba8b06e325955125b5dbeef23 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 14:07:11 +0200 Subject: [PATCH 266/306] Update metadata.json --- apps/widday/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index 3fd406b4b..352fe78c0 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -2,7 +2,7 @@ "name": "Day Widget", "shortName":"My Timer", "icon": "widget.png", - "type": "widget" + "type": "widget", "version":"0.01", "description": "Just the day of the current date as widget", "readme": "README.md", From bb1f8d6c2bdfa7993eeedb4f46aa7943de934fe9 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 14:11:00 +0200 Subject: [PATCH 267/306] Update app.js --- apps/pongclock/app.js | 167 +++++++++++++++++++++--------------------- 1 file changed, 83 insertions(+), 84 deletions(-) diff --git a/apps/pongclock/app.js b/apps/pongclock/app.js index 932c1f3d7..2a10bf6ed 100644 --- a/apps/pongclock/app.js +++ b/apps/pongclock/app.js @@ -1,119 +1,116 @@ class Ball { - constructor(collision) { - this.collision = collision; - this.w = 4; - this.h = this.w; - this.y = height / 2 - this.h / 2; - this.x = width / 2 - this.w / 2; + constructor(collision) { + this.collision = collision; + this.w = 4; + this.h = this.w; + this.y = height / 2 - this.h / 2; + this.x = width / 2 - this.w / 2; this.oldX = this.x; this.oldY = this.y; - this.velX = 6; - this.velY = 3.5 + Math.random(); - } + this.velX = 6; + this.velY = 3.5 + Math.random(); + } - reset() { - this.y = height / 2 - this.h / 2; - this.x = width / 2 - this.w / 2; - this.velX = 6; - this.velY = 3.5 + Math.random(); - } + reset() { + this.y = height / 2 - this.h / 2; + this.x = width / 2 - this.w / 2; + this.velX = 6; + this.velY = 3.5 + Math.random(); + } - checkCollision(that, isLeft) { + checkCollision(that, isLeft) { let test = false; if (isLeft) { test = this.x <= that.w + this.w && this.y > that.y && this.y < that.y + that.h; - } - else { + } else { test = this.x >= that.x + this.w && this.y > that.y && this.y < that.y + that.h; } - if (test) { - this.velX = -this.velX; + if (test) { + this.velX = -this.velX; this.velY = (3.5 + 2 * Math.random()) * this.velY / Math.abs(this.velY); if (isLeft) { - right.follow = this; + right.follow = this; left.follow = null; - } else { - left.follow = this; + } else { + left.follow = this; right.follow = null; - } - } - } + } + } + } - move() { - if (this.velX > 0) { - this.checkCollision(right, false); - } else { - this.checkCollision(left, true); + move() { + if (this.velX > 0) { + this.checkCollision(right, false); + } else { + this.checkCollision(left, true); } - this.x += this.velX; - this.y += this.velY; + this.x += this.velX; + this.y += this.velY; - if (this.y <= this.h) { - this.y = this.h; + if (this.y <= this.h) { + this.y = this.h; this.velY = -this.velY; - } + } - if (this.y >= height - this.h) { - this.y = height - this.h; + if (this.y >= height - this.h) { + this.y = height - this.h; this.velY = -this.velY; - } + } - if(this.x >= width) { - left.scored(); + if (this.x >= width) { + left.scored(); restart(); - } else if(this.x < 0) { - right.scored(); + } else if (this.x < 0) { + right.scored(); restart(); - } + } - } + } } class Paddle { - constructor(side) { - this.side = side; - this.w = 4;//15; - this.h = 30;//80; - this.y = height / 2 - this.h/2; - this.follow = null; - this.target = height / 2 - this.h/2; - this.score = 99; + constructor(side) { + this.side = side; + this.w = 4; //15; + this.h = 30; //80; + this.y = height / 2 - this.h / 2; + this.follow = null; + this.target = height / 2 - this.h / 2; + this.score = 99; this.hasLost = false; - } + } - reset() { - this.follow = null; + reset() { + this.follow = null; this.hasLost = false; - this.target = height / 2 - this.h/2; - this.y = height / 2 - this.h/2; - this.move(); - } + this.target = height / 2 - this.h / 2; + this.y = height / 2 - this.h / 2; + this.move(); + } - scored() { + scored() { let d = new Date(); let value = 0; if (this.side == "left") { - value = d.getHours(); + value = d.getHours(); } else { - value = d.getMinutes(); + value = d.getMinutes(); } if (this.score < value) { this.score++; - } - else { + } else { this.score = value; } - } + } - move() { + move() { - if (this.follow && ! this.hasLost) { + if (this.follow && !this.hasLost) { var dy = this.follow.y - this.y - this.h / 2; this.y += dy / 2; - } - else { + } else { this.y += (this.target - this.y) / 10; } if (this.y < 0) { @@ -122,25 +119,26 @@ class Paddle { if (this.y > height - this.h) { this.y = height - this.h; } - } + } } var updateTimeout = null; + function update() { - var d = new Date(); + var d = new Date(); var lastStep = Date.now(); - left.move(); - right.move(); - if(d.getHours() != left.score) { + left.move(); + right.move(); + if (d.getHours() != left.score) { right.follow = null; - right.hasLost = true; - } - if(d.getMinutes() != right.score) { + right.hasLost = true; + } + if (d.getMinutes() != right.score) { left.follow = null; - left.hasLost = true; - } - - ball.move(); + left.hasLost = true; + } + + ball.move(); redraw(); var nextStep = 40 - (Date.now() - lastStep); //console.log(nextStep); @@ -153,7 +151,7 @@ function redraw() { let fontTop = top + height / 11; let topHeight = top + height; g.reset(); - + if (settings.isInvers) { g.setColor(g.theme.bg); g.setBgColor(g.theme.fg); @@ -212,6 +210,7 @@ function stop() { } var pauseTimeout = null; + function pause() { stop(); left.scored(); @@ -235,7 +234,7 @@ Bangle.setUI("clock"); //setup play area var height = g.getHeight(), - width = g.getWidth(); + width = g.getWidth(); var top = 0; g.reset(); From e12c9821568fee8ec418448011bdcddfc940e445 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 6 Jun 2022 13:14:22 +0100 Subject: [PATCH 268/306] new core --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 756af883c..cdab12fcf 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 756af883c5bd6ebd71507f28072713f90625c17c +Subproject commit cdab12fcf85bc140e1f5c3f7b15218108c3f7d32 From 336ee1052a741ee90b0f704926ad7a10d1fd8666 Mon Sep 17 00:00:00 2001 From: pidajo <99899574+pidajo@users.noreply.github.com> Date: Mon, 6 Jun 2022 14:19:00 +0200 Subject: [PATCH 269/306] Update metadata.json --- apps/widday/metadata.json | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/widday/metadata.json b/apps/widday/metadata.json index 352fe78c0..82de23035 100644 --- a/apps/widday/metadata.json +++ b/apps/widday/metadata.json @@ -7,7 +7,6 @@ "description": "Just the day of the current date as widget", "readme": "README.md", "tags": "widget,say,date", - "allow_emulator":true, "supports": ["BANGLEJS", "BANGLEJS2"], "screenshots" : [ { "url":"screenshot.png" } ], "storage": [ From 479b53d607a5d731c74971eedabde8436e200d4a Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 6 Jun 2022 14:54:33 +0100 Subject: [PATCH 270/306] update fw 2v13 CRC --- apps/fwupdate/custom.html | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/fwupdate/custom.html b/apps/fwupdate/custom.html index b3cd7e12d..0321e46bc 100644 --- a/apps/fwupdate/custom.html +++ b/apps/fwupdate/custom.html @@ -81,6 +81,7 @@ function onInit(device) { if (crc==3435933210) version = "2v11.52"; if (crc==46757280) version = "2v11.58"; if (crc==3508163280 || crc==1418074094) version = "2v12"; + if (crc==4056371285) version = "2v13"; if (!ok) { version += `(⚠ update required)`; } From a448c570bfade54f774e44a54280a28b11e6608f Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 6 Jun 2022 15:47:24 +0100 Subject: [PATCH 271/306] compass 0.07: Use 360-heading to output the correct heading value (fix #1866) --- apps/compass/ChangeLog | 1 + apps/compass/compass.js | 4 ++-- apps/compass/metadata.json | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/compass/ChangeLog b/apps/compass/ChangeLog index d1adafc4c..deb1072f5 100644 --- a/apps/compass/ChangeLog +++ b/apps/compass/ChangeLog @@ -4,3 +4,4 @@ 0.04: Fix for Bangle.js 2 and themes 0.05: Fix bearing not clearing correctly (visible in single or double digit bearings) 0.06: Add button for force compass calibration +0.07: Use 360-heading to output the correct heading value (fix #1866) diff --git a/apps/compass/compass.js b/apps/compass/compass.js index 4730111ac..dd398ffa6 100644 --- a/apps/compass/compass.js +++ b/apps/compass/compass.js @@ -34,7 +34,7 @@ var oldHeading = 0; Bangle.on('mag', function(m) { if (!Bangle.isLCDOn()) return; g.reset(); - if (isNaN(m.heading)) { + if (isNaN(m.heading)) { if (!wasUncalibrated) { g.clearRect(0,24,W,48); g.setFontAlign(0,-1).setFont("6x8"); @@ -49,7 +49,7 @@ Bangle.on('mag', function(m) { g.setFontAlign(0,0).setFont("6x8",3); var y = 36; g.clearRect(M-40,24,M+40,48); - g.drawString(Math.round(m.heading),M,y,true); + g.drawString(Math.round(360-m.heading),M,y,true); } diff --git a/apps/compass/metadata.json b/apps/compass/metadata.json index 3e3b37f72..a3995a123 100644 --- a/apps/compass/metadata.json +++ b/apps/compass/metadata.json @@ -1,7 +1,7 @@ { "id": "compass", "name": "Compass", - "version": "0.06", + "version": "0.07", "description": "Simple compass that points North", "icon": "compass.png", "screenshots": [{"url":"screenshot_compass.png"}], From 09e2407b55e2f25c506139974e5209d80ec9cc3c Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 17:15:17 +0100 Subject: [PATCH 272/306] Darkmode, and fix a bug with location updates Now supports darkmode. Also the widget now reacts to changes in the data in mylocation.json --- apps/widmp/widget.js | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index bf032a5ff..b232cf24c 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -1,11 +1,8 @@ -WIDGETS["widmoon"] = { area: "tr", width: 24, draw: function() { - const CenterX = this.x + 12, CenterY = this.y + 12, Radius = 11; - var southernHemisphere = false; // when in southern hemisphere, use the "My Location" App +(() => { + var lastCalculated = 0; // When we last calculated the phase var phase = 0; // The last phase we calculated - - const simulate = false; // simulate one month in one minute - const updateR = 1000; // update every x ms in simulation + var southernHemisphere = false; // when in southern hemisphere -- use the "My Location" App // https://deirdreobyrne.github.io/calculating_moon_phases/ function moonPhase(millis) { @@ -24,7 +21,7 @@ WIDGETS["widmoon"] = { area: "tr", width: 24, draw: function() { function loadLocation() { // "mylocation.json" is created by the "My Location" app location = require("Storage").readJSON("mylocation.json",1)||{"lat":50.1236,"lon":8.6553,"location":"Frankfurt"}; - if (location.lat < 0) southernHemisphere = true; + southernHemisphere = (location.lat < 0); } // code source: github.com/rozek/banglejs-2-activities/blob/main/README.md#drawmoonphase @@ -44,13 +41,20 @@ WIDGETS["widmoon"] = { area: "tr", width: 24, draw: function() { } } - function updateWidget() { + function draw() { + const CenterX = this.x + 12, CenterY = this.y + 12, Radius = 11; + + loadLocation(); g.reset().setColor(g.theme.bg); g.fillRect(CenterX - Radius, CenterY - Radius, CenterX + Radius, CenterY + Radius); - g.setColor(0x41f); + if (g.theme.dark) { + g.setColor(0xffff); // white + } else { + g.setColor(0x41f); // blue-ish + } millis = (new Date()).getTime(); - if ((millis - lastCalculated) >= 7200000) { + if ((millis - lastCalculated) >= 7000000) { // if it's more than 7,000 sec since last calculation, re-calculate! phase = moonPhase(millis); lastCalculated = millis; } @@ -67,10 +71,14 @@ WIDGETS["widmoon"] = { area: "tr", width: 24, draw: function() { } drawMoonPhase(CenterX,CenterY, Radius, leftFactor,rightFactor); - - if (simulate) setTimeout(updateWidget, updateR); } - loadLocation(); - updateWidget(); -} }; + WIDGETS["widmoon"] = { + area: "tr", + width: 24, + draw: draw + }; + + setInterval(function() {WIDGETS["widmoon"].draw(WIDGETS["widmoon"])}, 7010000); // Re-draw at an interval of 10 sec more than our re-calculate period + +})(); From a35b4f7e96251336083ddcfe30d3aec13f0d062a Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 17:20:23 +0100 Subject: [PATCH 273/306] formatting. --- apps/widmp/widget.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index b232cf24c..c11812ef7 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -21,7 +21,7 @@ function loadLocation() { // "mylocation.json" is created by the "My Location" app location = require("Storage").readJSON("mylocation.json",1)||{"lat":50.1236,"lon":8.6553,"location":"Frankfurt"}; - southernHemisphere = (location.lat < 0); + southernHemisphere = (location.lat < 0); } // code source: github.com/rozek/banglejs-2-activities/blob/main/README.md#drawmoonphase @@ -47,11 +47,11 @@ loadLocation(); g.reset().setColor(g.theme.bg); g.fillRect(CenterX - Radius, CenterY - Radius, CenterX + Radius, CenterY + Radius); - if (g.theme.dark) { - g.setColor(0xffff); // white - } else { + if (g.theme.dark) { + g.setColor(0xffff); // white + } else { g.setColor(0x41f); // blue-ish - } + } millis = (new Date()).getTime(); if ((millis - lastCalculated) >= 7000000) { // if it's more than 7,000 sec since last calculation, re-calculate! @@ -74,11 +74,11 @@ } WIDGETS["widmoon"] = { - area: "tr", - width: 24, - draw: draw + area: "tr", + width: 24, + draw: draw }; - + setInterval(function() {WIDGETS["widmoon"].draw(WIDGETS["widmoon"])}, 7010000); // Re-draw at an interval of 10 sec more than our re-calculate period })(); From a0d0b9fdea9f8a9106d2a11c4ba121855e35d562 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 17:21:37 +0100 Subject: [PATCH 274/306] Update ChangeLog --- apps/widmp/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/widmp/ChangeLog b/apps/widmp/ChangeLog index 036bdb0f4..ccdc7b1e8 100644 --- a/apps/widmp/ChangeLog +++ b/apps/widmp/ChangeLog @@ -3,3 +3,4 @@ 0.03: Better memory usage, theme support 0.04: Replace the 8 phases by a more exact drawing, see forum.espruino.com/conversations/371985 0.05: Fixed the algorithm for calculating the moon's phase +0.06: Darkmode, and fix a bug with acting on my location changes From e841e9646d9363e1f0bc472a6a228cb5a76733d4 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 17:22:21 +0100 Subject: [PATCH 275/306] New version --- apps/widmp/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widmp/metadata.json b/apps/widmp/metadata.json index ff7ad79ad..cd4dca3ed 100644 --- a/apps/widmp/metadata.json +++ b/apps/widmp/metadata.json @@ -1,7 +1,7 @@ { "id": "widmp", "name": "Moon Phase Widget", - "version": "0.05", + "version": "0.06", "description": "Display the current moon phase in blueish for both hemispheres. In the southern hemisphere the 'My Location' app is needed.", "icon": "widget.png", "type": "widget", From 6f3fb779416caee6ab72dd502d134d0053504337 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 17:53:15 +0100 Subject: [PATCH 276/306] Update description --- apps/widmp/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widmp/metadata.json b/apps/widmp/metadata.json index cd4dca3ed..71503befc 100644 --- a/apps/widmp/metadata.json +++ b/apps/widmp/metadata.json @@ -2,7 +2,7 @@ "id": "widmp", "name": "Moon Phase Widget", "version": "0.06", - "description": "Display the current moon phase in blueish for both hemispheres. In the southern hemisphere the 'My Location' app is needed.", + "description": "Display the current moon phase in blueish (in light mode) or white (in dark mode) for both hemispheres. In the southern hemisphere the 'My Location' app is needed.", "icon": "widget.png", "type": "widget", "tags": "widget,tools", From 932895b53c0ca5d9a5f2bd12e62b9481246473ae Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 18:08:40 +0100 Subject: [PATCH 277/306] Widgets don't need periodic calls --- apps/widmp/widget.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index c11812ef7..6f6932eca 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -79,6 +79,4 @@ draw: draw }; - setInterval(function() {WIDGETS["widmoon"].draw(WIDGETS["widmoon"])}, 7010000); // Re-draw at an interval of 10 sec more than our re-calculate period - })(); From 417df8e2c1e0a7819e11936b5ea93a75c2e515e9 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 18:23:49 +0100 Subject: [PATCH 278/306] Timeout bug fix; no leading zero on the date. --- apps/bigdclock/bigdclock.app.js | 40 ++++++++------------------------- 1 file changed, 9 insertions(+), 31 deletions(-) diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index 983ca0d1c..c4da40606 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -10,40 +10,17 @@ Graphics.prototype.setFontOpenSans = function(scale) { ); }; -// the following 2 sections are used from waveclk to schedule minutely updates -// timeout used to update every minute var drawTimeout; // schedule a draw for the next minute function queueDraw() { if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(function () { - drawTimeout = undefined; draw(); - }, 60300 - (Date.now() % 60000)); -} - -function drawBackground() { - g.setBgColor(0, 0, 0); - g.setColor(1, 1, 1); - g.clear(); -} - -function digit(num) { - return String.fromCharCode(num + 48); -} - -function timeString(h, m) { - return digit(h / 10) + digit(h % 10) + ":" + digit(m / 10) + digit(m % 10); -} - -function dayString(w) { - return digit(w / 10) + digit(w % 10); + }, 60300 - (Date.now() % 60000)); // We aim for 300ms into the next minute to ensure we make it! } function draw() { - g.reset(); - drawBackground(); var date = new Date(); var h = date.getHours(), m = date.getMinutes(); @@ -52,13 +29,16 @@ function draw() { const level = E.getBattery(); const width = level + (level/2); + g.reset(); g.setBgColor(0, 0, 0); g.setColor(1, 1, 1); + g.clear(); g.setFontOpenSans(); g.setFontAlign(0, -1); - g.drawString(timeString(h, m), g.getWidth() / 2, 30); - g.drawString(dayString(d), g.getWidth() * 3 / 4, 98); + g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + g.setFontAlign(1, -1); + g.drawString(d, g.getWidth() -6, 98); g.setFont('Vector', 52); g.setFontAlign(-1, -1); g.drawString("SUMOTUWETHFRSA".slice(2*w,2*w+2), 6, 103); @@ -86,9 +66,6 @@ function draw() { queueDraw(); } -Bangle.loadWidgets(); -draw(); - //the following section is also from waveclk Bangle.on('lcdPower', on => { if (on) { @@ -99,6 +76,7 @@ Bangle.on('lcdPower', on => { } }); -Bangle.setUI("clock"); +Bangle.loadWidgets(); +draw(); -Bangle.drawWidgets(); +Bangle.setUI("clock"); From e95842a9d78278b5ba7f79e1c819be901698cd20 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 18:29:50 +0100 Subject: [PATCH 279/306] Wee cleanup --- apps/bigdclock/bigdclock.app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index c4da40606..bbdb966db 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -42,9 +42,9 @@ function draw() { g.setFont('Vector', 52); g.setFontAlign(-1, -1); g.drawString("SUMOTUWETHFRSA".slice(2*w,2*w+2), 6, 103); + g.setColor(0, 1, 0); g.fillRect(0, 90, g.getWidth(), 94); - g.reset(); g.setColor(1,1,1); g.fillRect(9,159,166,171); From 5226477f60509f9dee6fbc832cbb79d2a3c1d346 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 18:33:27 +0100 Subject: [PATCH 280/306] Update ChangeLog --- apps/bigdclock/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/bigdclock/ChangeLog b/apps/bigdclock/ChangeLog index ec66c5568..7d9974587 100644 --- a/apps/bigdclock/ChangeLog +++ b/apps/bigdclock/ChangeLog @@ -1 +1,2 @@ 0.01: Initial version +0.02: setTimeout bug fix; no leading zero on date; cleanup From 0555efc44b1c350e952765a2d07971c2ce9593e9 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 18:33:48 +0100 Subject: [PATCH 281/306] Update metadata.json --- apps/bigdclock/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index 275a33343..3802a8dfd 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -1,7 +1,7 @@ { "id": "bigdclock", "name": "Big digit clock containing just the essentials", "shortName":"Big digit clock", - "version":"0.01", + "version":"0.02", "description": "A clock containing just the essentials, made as easy to read as possible for those of us that need glasses. It contains the time, the day-of-week, the day-of-month, and the current battery state-of-charge.", "icon": "bigdclock.png", "type": "clock", From d5014356c06c766ba933a103c9c5c21ac947c82d Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 18:39:37 +0100 Subject: [PATCH 282/306] Update screenshot.png --- apps/bigdclock/screenshot.png | Bin 16711 -> 3180 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/bigdclock/screenshot.png b/apps/bigdclock/screenshot.png index 96f2dd4ef1653332bcfe0d8b31f28a78ee5c89a6..8a12b266e71005631235cacc50750f08c59e247d 100644 GIT binary patch literal 3180 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 Nqup8CDjTm`{{i=jI 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 From 335c29dc8039dd3f1db8cedc44ab8b6bf1986bbc Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 19:11:13 +0100 Subject: [PATCH 283/306] Now does light mode --- apps/bigdclock/bigdclock.app.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index bbdb966db..8b190980f 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -30,8 +30,6 @@ function draw() { const width = level + (level/2); g.reset(); - g.setBgColor(0, 0, 0); - g.setColor(1, 1, 1); g.clear(); g.setFontOpenSans(); @@ -43,10 +41,6 @@ function draw() { g.setFontAlign(-1, -1); g.drawString("SUMOTUWETHFRSA".slice(2*w,2*w+2), 6, 103); - g.setColor(0, 1, 0); - g.fillRect(0, 90, g.getWidth(), 94); - - g.setColor(1,1,1); g.fillRect(9,159,166,171); g.fillRect(167,163,170,167); if (Bangle.isCharging()) { @@ -58,9 +52,13 @@ function draw() { } g.fillRect(12,162,12+width,168); if (level < 100) { - g.setColor(0,0,0); + g.setColor(g.theme.bg); g.fillRect(12+width+1,162,162,168); } + + g.setColor(0, 1, 0); + g.fillRect(0, 90, g.getWidth(), 94); + // widget redraw Bangle.drawWidgets(); queueDraw(); From 72d9d2ad19c9bd8f2a6df7ed286076bd3a47f8bc Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 19:11:59 +0100 Subject: [PATCH 284/306] Update ChangeLog --- apps/bigdclock/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/bigdclock/ChangeLog b/apps/bigdclock/ChangeLog index 7d9974587..ef5ee2433 100644 --- a/apps/bigdclock/ChangeLog +++ b/apps/bigdclock/ChangeLog @@ -1,2 +1,2 @@ 0.01: Initial version -0.02: setTimeout bug fix; no leading zero on date; cleanup +0.02: setTimeout bug fix; no leading zero on date; lightmode; cleanup From 7256f11f94969512a94ed0a95536ca58ab675dee Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 20:57:26 +0100 Subject: [PATCH 285/306] Should now support 12 hour clocl --- apps/bigdclock/ChangeLog | 2 +- apps/bigdclock/bigdclock.app.js | 11 ++++++++++- apps/bigdclock/bigdclock.settings.js | 26 ++++++++++++++++++++++++++ apps/bigdclock/metadata.json | 4 +++- 4 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 apps/bigdclock/bigdclock.settings.js diff --git a/apps/bigdclock/ChangeLog b/apps/bigdclock/ChangeLog index ef5ee2433..ae5ae9224 100644 --- a/apps/bigdclock/ChangeLog +++ b/apps/bigdclock/ChangeLog @@ -1,2 +1,2 @@ 0.01: Initial version -0.02: setTimeout bug fix; no leading zero on date; lightmode; cleanup +0.02: setTimeout bug fix; no leading zero on date; lightmode; 12 hour format; cleanup diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index 8b190980f..a597c5840 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -28,13 +28,22 @@ function draw() { w = date.getDay(); // d=1..31; w=0..6 const level = E.getBattery(); const width = level + (level/2); + var settings = Object.assign({ + "12hour": false, + }, require('Storage').readJSON("bigdclock.json", true) || {}); g.reset(); g.clear(); g.setFontOpenSans(); g.setFontAlign(0, -1); - g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + if (settings["12hour"]) { + if (h > 12) h -= 12; + if (h == 0) h = 12; + g.drawString(h + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + } else { + g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + } g.setFontAlign(1, -1); g.drawString(d, g.getWidth() -6, 98); g.setFont('Vector', 52); diff --git a/apps/bigdclock/bigdclock.settings.js b/apps/bigdclock/bigdclock.settings.js new file mode 100644 index 000000000..e5f7bd990 --- /dev/null +++ b/apps/bigdclock/bigdclock.settings.js @@ -0,0 +1,26 @@ +(function(back) { + + var settings = Object.assign({ + "12hour": false, + }, require('Storage').readJSON("bigdclock.json", true) || {}); + + function set12hour(val) { + settings["12hour"]=val; + require('Storage').writeJSON("bigdclock.json", settings); + } + + var mainmenu = { + "": { + "title": "BigDClock" + }, + "< Back": () => back(), + "Time format": { + value: (settings["12hour"] !== undefined ? settings["12hour"] : false), + format: v => v ? "12 hr" : "24 hr", + onchange: v=> { set12hour(v) } + } + }; + + E.showMenu(mainmenu); + +}); diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index 3802a8dfd..3dfd9ce01 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -12,6 +12,8 @@ "screenshots": [ { "url":"screenshot.png" } ], "storage": [ {"name":"bigdclock.app.js","url":"bigdclock.app.js"}, + {"name":"bigdclock.settings.js","url":"bigdclock.settings.js"}, {"name":"bigdclock.img","url":"bigdclock.icon.js","evaluate":true} - ] + ], + "data": [{"name":"bigdclock.json"}] } From 4d8884e1e385b75acb117818a31e1157c554caaa Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 21:00:46 +0100 Subject: [PATCH 286/306] formatting --- apps/bigdclock/bigdclock.app.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index a597c5840..ea95c4de0 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -38,12 +38,12 @@ function draw() { g.setFontOpenSans(); g.setFontAlign(0, -1); if (settings["12hour"]) { - if (h > 12) h -= 12; - if (h == 0) h = 12; + if (h > 12) h -= 12; + if (h == 0) h = 12; g.drawString(h + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); - } else { - g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); - } + } else { + g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + } g.setFontAlign(1, -1); g.drawString(d, g.getWidth() -6, 98); g.setFont('Vector', 52); From f36edc4213aca638f35ff4fe33c2750a781b1c5c Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 21:02:33 +0100 Subject: [PATCH 287/306] formatting --- apps/bigdclock/bigdclock.settings.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/bigdclock/bigdclock.settings.js b/apps/bigdclock/bigdclock.settings.js index e5f7bd990..ffe553b25 100644 --- a/apps/bigdclock/bigdclock.settings.js +++ b/apps/bigdclock/bigdclock.settings.js @@ -6,19 +6,19 @@ function set12hour(val) { settings["12hour"]=val; - require('Storage').writeJSON("bigdclock.json", settings); + require('Storage').writeJSON("bigdclock.json", settings); } var mainmenu = { "": { - "title": "BigDClock" + "title": "BigDClock" }, - "< Back": () => back(), - "Time format": { - value: (settings["12hour"] !== undefined ? settings["12hour"] : false), - format: v => v ? "12 hr" : "24 hr", - onchange: v=> { set12hour(v) } - } + "< Back": () => back(), + "Time format": { + value: (settings["12hour"] !== undefined ? settings["12hour"] : false), + format: v => v ? "12 hr" : "24 hr", + onchange: v=> { set12hour(v) } + } }; E.showMenu(mainmenu); From 82579465de2e167532e84cf2ab44a19e996077e3 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 21:36:09 +0100 Subject: [PATCH 288/306] Update metadata.json --- apps/bigdclock/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index 3dfd9ce01..c35838c7d 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -1,6 +1,6 @@ { "id": "bigdclock", "name": "Big digit clock containing just the essentials", - "shortName":"Big digit clock", + "shortName":"Big digit clk", "version":"0.02", "description": "A clock containing just the essentials, made as easy to read as possible for those of us that need glasses. It contains the time, the day-of-week, the day-of-month, and the current battery state-of-charge.", "icon": "bigdclock.png", From 09fe12373821f0cee024940cb16c4c24ba144694 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 21:36:54 +0100 Subject: [PATCH 289/306] formatting. --- apps/bigdclock/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index c35838c7d..dfa55b44f 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -12,7 +12,7 @@ "screenshots": [ { "url":"screenshot.png" } ], "storage": [ {"name":"bigdclock.app.js","url":"bigdclock.app.js"}, - {"name":"bigdclock.settings.js","url":"bigdclock.settings.js"}, + {"name":"bigdclock.settings.js","url":"bigdclock.settings.js"}, {"name":"bigdclock.img","url":"bigdclock.icon.js","evaluate":true} ], "data": [{"name":"bigdclock.json"}] From d200f6afbf0ff3080a41fd331199216c612d1d09 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 21:41:40 +0100 Subject: [PATCH 290/306] Shortening the name of the config item --- apps/bigdclock/bigdclock.settings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/bigdclock/bigdclock.settings.js b/apps/bigdclock/bigdclock.settings.js index ffe553b25..396c2ab21 100644 --- a/apps/bigdclock/bigdclock.settings.js +++ b/apps/bigdclock/bigdclock.settings.js @@ -14,7 +14,7 @@ "title": "BigDClock" }, "< Back": () => back(), - "Time format": { + "Clock type": { value: (settings["12hour"] !== undefined ? settings["12hour"] : false), format: v => v ? "12 hr" : "24 hr", onchange: v=> { set12hour(v) } From f10ff7cb2f444a53aee7d59a9a332d5c231d3015 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 22:17:03 +0100 Subject: [PATCH 291/306] The 12/24 hour clock setting is in setting.json --- apps/bigdclock/bigdclock.app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index ea95c4de0..4850a4e25 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -30,7 +30,7 @@ function draw() { const width = level + (level/2); var settings = Object.assign({ "12hour": false, - }, require('Storage').readJSON("bigdclock.json", true) || {}); + }, require('Storage').readJSON("setting.json", true) || {}); g.reset(); g.clear(); From 3fc2c33fc15a9cbe9928bd5eb3595e10c898e086 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 22:17:56 +0100 Subject: [PATCH 292/306] Not needed - the 12 hour config is in setting.json --- apps/bigdclock/bigdclock.settings.js | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 apps/bigdclock/bigdclock.settings.js diff --git a/apps/bigdclock/bigdclock.settings.js b/apps/bigdclock/bigdclock.settings.js deleted file mode 100644 index 396c2ab21..000000000 --- a/apps/bigdclock/bigdclock.settings.js +++ /dev/null @@ -1,26 +0,0 @@ -(function(back) { - - var settings = Object.assign({ - "12hour": false, - }, require('Storage').readJSON("bigdclock.json", true) || {}); - - function set12hour(val) { - settings["12hour"]=val; - require('Storage').writeJSON("bigdclock.json", settings); - } - - var mainmenu = { - "": { - "title": "BigDClock" - }, - "< Back": () => back(), - "Clock type": { - value: (settings["12hour"] !== undefined ? settings["12hour"] : false), - format: v => v ? "12 hr" : "24 hr", - onchange: v=> { set12hour(v) } - } - }; - - E.showMenu(mainmenu); - -}); From 3cc0d137722652643e4ba4ed11ba71c27bc7f7f1 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 22:19:24 +0100 Subject: [PATCH 293/306] The 12 hour config is in setting.json --- apps/bigdclock/metadata.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index dfa55b44f..a2174d540 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -14,6 +14,5 @@ {"name":"bigdclock.app.js","url":"bigdclock.app.js"}, {"name":"bigdclock.settings.js","url":"bigdclock.settings.js"}, {"name":"bigdclock.img","url":"bigdclock.icon.js","evaluate":true} - ], - "data": [{"name":"bigdclock.json"}] + ] } From dd45d0e513ec0c478757eaa00089103ffb284cae Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 22:24:26 +0100 Subject: [PATCH 294/306] Not needed - 12 hour config is in setting.json --- apps/bigdclock/metadata.json | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index a2174d540..c6be19138 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -12,7 +12,6 @@ "screenshots": [ { "url":"screenshot.png" } ], "storage": [ {"name":"bigdclock.app.js","url":"bigdclock.app.js"}, - {"name":"bigdclock.settings.js","url":"bigdclock.settings.js"}, {"name":"bigdclock.img","url":"bigdclock.icon.js","evaluate":true} ] } From 92f0aea4dbb228090d3224c208cf5543fa3f6a7d Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 22:35:30 +0100 Subject: [PATCH 295/306] Pausing this. --- apps/widmp/settings.js | 71 ++++++++++++++++++++++++++++++++++++++++++ apps/widmp/widget.js | 2 ++ 2 files changed, 73 insertions(+) create mode 100644 apps/widmp/settings.js diff --git a/apps/widmp/settings.js b/apps/widmp/settings.js new file mode 100644 index 000000000..e0eb24b2d --- /dev/null +++ b/apps/widmp/settings.js @@ -0,0 +1,71 @@ +(function(back) { + + var settings = Object.assign({ + default_colour: true, + red: 0, + green: 0, + blue: 0, + }, require('Storage').readJSON("widmp.json", true) || {}); + + function writeSettings() { + require('Storage').writeJSON("widmp.json", settings); + } + + function writeSettingsCustom() { + settings.default_colour = false; + writeSettings(); + } + + var mainmenu = { + "": { + "title": "Moon colour" + }, + "< Back": () => back(), + "Default": { + value: (settings.default_colour !== undefined ? settings.default_colour : true), + format: v => v ? "Yes" : "No", + onchange: v => { + settings.default_colour = v; + writeSettings(); + } + }, + "Custom...": () => E.showMenu(custommenu) + }; + + var custommenu = { + "": { + "title": "Custom colour..." + }, + "< Back": () => E.showMenu(mainmenu), + "red": { + value: 0|settings.red, + min: 0, + max: 7, + onchange: v => { + settings.red = v; + writeSettingsCustom(); + } + }, + "green": { + value: 0|settings.green, + min: 0, + max: 7, + onchange: v => { + settings.green = v; + writeSettingsCustom(); + } + }, + "blue": { + value: 0|settings.blue, + min: 0, + max: 7, + onchange: v => { + settings.blue = v; + writeSettingsCustom(); + } + } + }; + + E.showMenu(mainmenu); + +}); diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index 6f6932eca..537ddef68 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -50,6 +50,8 @@ if (g.theme.dark) { g.setColor(0xffff); // white } else { + // rrrrrggggggbbbbb + // 0000010000011111 g.setColor(0x41f); // blue-ish } From 45c830d21678920bb866f828ce5c7e739f7ac7dd Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 22:45:45 +0100 Subject: [PATCH 296/306] Should draw the moon in the right colour --- apps/widmp/widget.js | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index 537ddef68..bab980de0 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -40,6 +40,37 @@ g.drawLine(CenterX-leftFactor*y,CenterY+x, CenterX+rightFactor*y,CenterY+x); } } + + function setMoonColour() { + var settings = Object.assign({ + default_colour: true, + red: 0, + green: 0, + blue: 0, + }, require('Storage').readJSON("widmp.json", true) || {}); + if (settings.default_colour) { + if (g.theme.dark) { + g.setColor(0xffff); // white + } else { + // rrrrrggggggbbbbb + // 0000010000011111 + g.setColor(0x41f); // blue-ish + } + } else { + // 1111110000000000 + // 5432109876543210 + // rrrrrggggggbbbbb + // RxxRxGxxGxxBxxBx + let r = settings.red; + let g = settings.green; + let b = settings.blue; + r = (r << 13) | ((r & 3) << 11); + g = (g << 8) | (g << 5); + b = (b << 2) | (b & 3); + g.setColor(r | g | b); + } + } + function draw() { const CenterX = this.x + 12, CenterY = this.y + 12, Radius = 11; @@ -47,13 +78,6 @@ loadLocation(); g.reset().setColor(g.theme.bg); g.fillRect(CenterX - Radius, CenterY - Radius, CenterX + Radius, CenterY + Radius); - if (g.theme.dark) { - g.setColor(0xffff); // white - } else { - // rrrrrggggggbbbbb - // 0000010000011111 - g.setColor(0x41f); // blue-ish - } millis = (new Date()).getTime(); if ((millis - lastCalculated) >= 7000000) { // if it's more than 7,000 sec since last calculation, re-calculate! @@ -72,6 +96,7 @@ var tmp=leftFactor; leftFactor=rightFactor; rightFactor=tmp; } + setMoonColour(); drawMoonPhase(CenterX,CenterY, Radius, leftFactor,rightFactor); } From f79f76056b33e7f17bdd1eb6d0ef9811e511bf25 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 23:04:55 +0100 Subject: [PATCH 297/306] Reducing number of possible colours --- apps/widmp/settings.js | 7 ++++--- apps/widmp/widget.js | 28 +++++++++------------------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/apps/widmp/settings.js b/apps/widmp/settings.js index e0eb24b2d..c1ead5033 100644 --- a/apps/widmp/settings.js +++ b/apps/widmp/settings.js @@ -13,6 +13,7 @@ function writeSettingsCustom() { settings.default_colour = false; + mainmenu["Default"].value = false; writeSettings(); } @@ -40,7 +41,7 @@ "red": { value: 0|settings.red, min: 0, - max: 7, + max: 4, onchange: v => { settings.red = v; writeSettingsCustom(); @@ -49,7 +50,7 @@ "green": { value: 0|settings.green, min: 0, - max: 7, + max: 4, onchange: v => { settings.green = v; writeSettingsCustom(); @@ -58,7 +59,7 @@ "blue": { value: 0|settings.blue, min: 0, - max: 7, + max: 4, onchange: v => { settings.blue = v; writeSettingsCustom(); diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index bab980de0..8b617cc9f 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -41,14 +41,14 @@ } } - function setMoonColour() { + function setMoonColour(g) { var settings = Object.assign({ default_colour: true, - red: 0, - green: 0, - blue: 0, + red: 0, + green: 0, + blue: 0, }, require('Storage').readJSON("widmp.json", true) || {}); - if (settings.default_colour) { + if (settings.default_colour) { if (g.theme.dark) { g.setColor(0xffff); // white } else { @@ -56,19 +56,9 @@ // 0000010000011111 g.setColor(0x41f); // blue-ish } - } else { - // 1111110000000000 - // 5432109876543210 - // rrrrrggggggbbbbb - // RxxRxGxxGxxBxxBx - let r = settings.red; - let g = settings.green; - let b = settings.blue; - r = (r << 13) | ((r & 3) << 11); - g = (g << 8) | (g << 5); - b = (b << 2) | (b & 3); - g.setColor(r | g | b); - } + } else { + g.setColor(settings.red/4, settings.green/4, settings.blue/4); + } } @@ -96,7 +86,7 @@ var tmp=leftFactor; leftFactor=rightFactor; rightFactor=tmp; } - setMoonColour(); + setMoonColour(g); drawMoonPhase(CenterX,CenterY, Radius, leftFactor,rightFactor); } From 26f1c29ace9f3a4ec1e420c44ddc562a69b21397 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 23:08:06 +0100 Subject: [PATCH 298/306] Formatting... --- apps/widmp/settings.js | 100 ++++++++++++++++++++--------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/apps/widmp/settings.js b/apps/widmp/settings.js index c1ead5033..731d78584 100644 --- a/apps/widmp/settings.js +++ b/apps/widmp/settings.js @@ -2,9 +2,9 @@ var settings = Object.assign({ default_colour: true, - red: 0, - green: 0, - blue: 0, + red: 0, + green: 0, + blue: 0, }, require('Storage').readJSON("widmp.json", true) || {}); function writeSettings() { @@ -12,59 +12,59 @@ } function writeSettingsCustom() { - settings.default_colour = false; - mainmenu["Default"].value = false; - writeSettings(); + settings.default_colour = false; + mainmenu["Default"].value = false; + writeSettings(); } var mainmenu = { - "": { - "title": "Moon colour" - }, - "< Back": () => back(), - "Default": { - value: (settings.default_colour !== undefined ? settings.default_colour : true), - format: v => v ? "Yes" : "No", - onchange: v => { - settings.default_colour = v; - writeSettings(); - } - }, - "Custom...": () => E.showMenu(custommenu) + "": { + "title": "Moon colour" + }, + "< Back": () => back(), + "Default": { + value: (settings.default_colour !== undefined ? settings.default_colour : true), + format: v => v ? "Yes" : "No", + onchange: v => { + settings.default_colour = v; + writeSettings(); + } + }, + "Custom...": () => E.showMenu(custommenu) }; var custommenu = { - "": { - "title": "Custom colour..." - }, - "< Back": () => E.showMenu(mainmenu), - "red": { - value: 0|settings.red, - min: 0, - max: 4, - onchange: v => { - settings.red = v; - writeSettingsCustom(); - } - }, - "green": { - value: 0|settings.green, - min: 0, - max: 4, - onchange: v => { - settings.green = v; - writeSettingsCustom(); - } - }, - "blue": { - value: 0|settings.blue, - min: 0, - max: 4, - onchange: v => { - settings.blue = v; - writeSettingsCustom(); - } - } + "": { + "title": "Custom colour..." + }, + "< Back": () => E.showMenu(mainmenu), + "red": { + value: 0|settings.red, + min: 0, + max: 4, + onchange: v => { + settings.red = v; + writeSettingsCustom(); + } + }, + "green": { + value: 0|settings.green, + min: 0, + max: 4, + onchange: v => { + settings.green = v; + writeSettingsCustom(); + } + }, + "blue": { + value: 0|settings.blue, + min: 0, + max: 4, + onchange: v => { + settings.blue = v; + writeSettingsCustom(); + } + } }; E.showMenu(mainmenu); From 3adb5b0b796cdb12b3370c708e70836cd36ba6a0 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 23:09:46 +0100 Subject: [PATCH 299/306] Update ChangeLog --- apps/widmp/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widmp/ChangeLog b/apps/widmp/ChangeLog index ccdc7b1e8..f0cd6bd8a 100644 --- a/apps/widmp/ChangeLog +++ b/apps/widmp/ChangeLog @@ -3,4 +3,4 @@ 0.03: Better memory usage, theme support 0.04: Replace the 8 phases by a more exact drawing, see forum.espruino.com/conversations/371985 0.05: Fixed the algorithm for calculating the moon's phase -0.06: Darkmode, and fix a bug with acting on my location changes +0.06: Darkmode, custom colours, and fix a bug with acting on mylocation changes From 107dabdb2821ffc5f19554c482b42b73d1783d2f Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 23:18:18 +0100 Subject: [PATCH 300/306] Including the settings.js --- apps/widmp/metadata.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/widmp/metadata.json b/apps/widmp/metadata.json index 71503befc..c5bec93a4 100644 --- a/apps/widmp/metadata.json +++ b/apps/widmp/metadata.json @@ -8,6 +8,7 @@ "tags": "widget,tools", "supports": ["BANGLEJS","BANGLEJS2"], "storage": [ - {"name":"widmp.wid.js","url":"widget.js"} + {"name":"widmp.wid.js","url":"widget.js"}, + {"name":"widmp.settings.js","url":"settings.js"} ] } From 60a8d736f20520277e01ecb657aac8936d4416b9 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 23:28:25 +0100 Subject: [PATCH 301/306] Update metadata.json --- apps/widmp/metadata.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/widmp/metadata.json b/apps/widmp/metadata.json index c5bec93a4..b1e6a6c8c 100644 --- a/apps/widmp/metadata.json +++ b/apps/widmp/metadata.json @@ -1,6 +1,6 @@ { "id": "widmp", - "name": "Moon Phase Widget", + "name": "Moon Phase", "version": "0.06", "description": "Display the current moon phase in blueish (in light mode) or white (in dark mode) for both hemispheres. In the southern hemisphere the 'My Location' app is needed.", "icon": "widget.png", @@ -10,5 +10,6 @@ "storage": [ {"name":"widmp.wid.js","url":"widget.js"}, {"name":"widmp.settings.js","url":"settings.js"} - ] + ], + "data": [{"name":"widmp.json"}] } From 7517e21adab57529ae17a3eec18434907be662a4 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Mon, 6 Jun 2022 23:37:41 +0100 Subject: [PATCH 302/306] Dynamically updates the widget --- apps/widmp/settings.js | 1 + apps/widmp/widget.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/widmp/settings.js b/apps/widmp/settings.js index 731d78584..46c5d3609 100644 --- a/apps/widmp/settings.js +++ b/apps/widmp/settings.js @@ -9,6 +9,7 @@ function writeSettings() { require('Storage').writeJSON("widmp.json", settings); + if (WIDGETS["widmp"]) WIDGETS["widmp"].draw(); } function writeSettingsCustom() { diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index 8b617cc9f..22a7d6572 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -90,7 +90,7 @@ drawMoonPhase(CenterX,CenterY, Radius, leftFactor,rightFactor); } - WIDGETS["widmoon"] = { + WIDGETS["widmp"] = { area: "tr", width: 24, draw: draw From f0222b01954e618d00dc65aa6a3d797d7a1b99e7 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Tue, 7 Jun 2022 02:11:53 +0100 Subject: [PATCH 303/306] Better way of determining 12 hour clock setting --- apps/bigdclock/bigdclock.app.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index 4850a4e25..ce2368e87 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -28,16 +28,14 @@ function draw() { w = date.getDay(); // d=1..31; w=0..6 const level = E.getBattery(); const width = level + (level/2); - var settings = Object.assign({ - "12hour": false, - }, require('Storage').readJSON("setting.json", true) || {}); + var is12Hour = (require("Storage").readJSON("setting.json", 1) || {})["12hour"]; g.reset(); g.clear(); g.setFontOpenSans(); g.setFontAlign(0, -1); - if (settings["12hour"]) { + if (is12Hour) { if (h > 12) h -= 12; if (h == 0) h = 12; g.drawString(h + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); From cfb808f5e6423d9c42424f52c940e1a6410a2b7e Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 7 Jun 2022 13:07:13 +0100 Subject: [PATCH 304/306] info --- apps/weather/readme.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/weather/readme.md b/apps/weather/readme.md index 6d0ea04a5..b37d0b38e 100644 --- a/apps/weather/readme.md +++ b/apps/weather/readme.md @@ -11,6 +11,9 @@ You can view the full report through the app: 1. Install [Gadgetbridge for Android](https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge/) on your phone. 2. Set up [Gadgetbridge weather reporting](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Weather). +If using the `Bangle.js Gadgetbridge` app on your phone (as opposed to the standard F-Droid `Gadgetbridge`) you need to set the package name +to `com.espruino.gadgetbridge.banglejs` in the settings of the weather app (`settings -> gadgetbridge support -> package name`). + ## Settings * Expiration timespan can be set after which the local weather data is considered as invalid From e5de06eba5694092e2446ca5d567301a1263aa2c Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Tue, 7 Jun 2022 14:04:55 +0100 Subject: [PATCH 305/306] Internationalisation; small bug fix --- apps/bigdclock/ChangeLog | 1 + apps/bigdclock/bigdclock.app.js | 8 ++++++-- apps/bigdclock/metadata.json | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/bigdclock/ChangeLog b/apps/bigdclock/ChangeLog index ae5ae9224..2b6fcc7cb 100644 --- a/apps/bigdclock/ChangeLog +++ b/apps/bigdclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial version 0.02: setTimeout bug fix; no leading zero on date; lightmode; 12 hour format; cleanup +0.03: Internationalisation; bug fix - battery icon responds promptly to charging state diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index ce2368e87..7b26d4f17 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -29,6 +29,7 @@ function draw() { const level = E.getBattery(); const width = level + (level/2); var is12Hour = (require("Storage").readJSON("setting.json", 1) || {})["12hour"]; + var dows = require("date_utils").dows(0,1); g.reset(); g.clear(); @@ -46,7 +47,7 @@ function draw() { g.drawString(d, g.getWidth() -6, 98); g.setFont('Vector', 52); g.setFontAlign(-1, -1); - g.drawString("SUMOTUWETHFRSA".slice(2*w,2*w+2), 6, 103); + g.drawString(dows[w].slice(0,2).toUpperCase(), 6, 103); g.fillRect(9,159,166,171); g.fillRect(167,163,170,167); @@ -71,7 +72,6 @@ function draw() { queueDraw(); } -//the following section is also from waveclk Bangle.on('lcdPower', on => { if (on) { draw(); // draw immediately, queue redraw @@ -81,6 +81,10 @@ Bangle.on('lcdPower', on => { } }); +Bangle.on('charging', (charging) => { + draw(); +}); + Bangle.loadWidgets(); draw(); diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index c6be19138..e80dd9a04 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -1,7 +1,7 @@ { "id": "bigdclock", "name": "Big digit clock containing just the essentials", "shortName":"Big digit clk", - "version":"0.02", + "version":"0.03", "description": "A clock containing just the essentials, made as easy to read as possible for those of us that need glasses. It contains the time, the day-of-week, the day-of-month, and the current battery state-of-charge.", "icon": "bigdclock.png", "type": "clock", From 0c3a7dfe9e7e2f6aa4ad997cc226bb789d222f87 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 7 Jun 2022 16:47:45 +0100 Subject: [PATCH 306/306] exstats: Add altitude (GPS and barometer) Ensure speed(and alt) updates from GPS even when a run isn't started --- modules/exstats.js | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/modules/exstats.js b/modules/exstats.js index 63d94ec7b..461ae727f 100644 --- a/modules/exstats.js +++ b/modules/exstats.js @@ -128,10 +128,11 @@ function formatPace(speed, paceLength) { Bangle.on("GPS", function(fix) { if (!fix.fix) return; // only process actual fixes - - if (!state.active) return; state.lastGPS = state.thisGPS; state.thisGPS = fix; + if (stats["altg"]) stats["altg"].emit("changed",stats["altg"]); + if (stats["speed"]) stats["speed"].emit("changed",stats["speed"]); + if (!state.active) return; if (state.lastGPS.fix) state.distance += calcDistance(state.lastGPS, fix); if (stats["dist"]) stats["dist"].emit("changed",stats["dist"]); @@ -140,7 +141,6 @@ Bangle.on("GPS", function(fix) { if (!isNaN(fix.speed)) state.curSpeed = state.curSpeed*0.8 + fix.speed*0.2/3.6; // meters/sec if (stats["pacea"]) stats["pacea"].emit("changed",stats["pacea"]); if (stats["pacec"]) stats["pacec"].emit("changed",stats["pacec"]); - if (stats["speed"]) stats["speed"].emit("changed",stats["speed"]); if (state.notify.dist.increment > 0 && state.notify.dist.next <= state.distance) { stats["dist"].emit("notify",stats["dist"]); state.notify.dist.next = state.notify.dist.next + state.notify.dist.increment; @@ -168,10 +168,21 @@ Bangle.on("HRM", function(h) { if (stats["bpm"]) stats["bpm"].emit("changed",stats["bpm"]); } }); +if (Bangle.setBarometerPower) Bangle.on("pressure", function(e) { + if (state.alt === undefined) + state.alt = e.altitude; + else + state.alt = state.alt*0.9 + e.altitude*0.1; + var i = Math.round(state.alt); + if (i!==state.alti) { + state.alti = i; + if (stats["altb"]) stats["altb"].emit("changed",stats["altb"]); + } +}); /** Get list of available statistic types */ exports.getList = function() { - return [ + var l = [ {name: "Time", id:"time"}, {name: "Distance", id:"dist"}, {name: "Steps", id:"step"}, @@ -181,7 +192,10 @@ exports.getList = function() { {name: "Pace (curr)", id:"pacec"}, {name: "Speed", id:"speed"}, {name: "Cadence", id:"caden"}, + {name: "Altitude (GPS)", id:"altg"} ]; + if (Bangle.setBarometerPower) l.push({name: "Altitude (baro)", id:"altb"}); + return l; }; /** Instantiate the given list of statistic IDs (see comments at top) options = { @@ -205,7 +219,7 @@ exports.getStats = function(statIDs, options) { options.notify.dist.increment = (options.notify && options.notify.dist && options.notify.dist.increment)||0; options.notify.step.increment = (options.notify && options.notify.step && options.notify.step.increment)||0; options.notify.time.increment = (options.notify && options.notify.time && options.notify.time.increment)||0; - var needGPS,needHRM; + var needGPS,needHRM,needBaro; // ====================== if (statIDs.includes("time")) { stats["time"]={ @@ -276,10 +290,27 @@ exports.getStats = function(statIDs, options) { getString : function() { return state.stepsPerMin; }, }; } + if (statIDs.includes("altg")) { + needGPS = true; + stats["altg"]={ + title : "Altitude", + getValue : function() { return state.thisGPS.alt; }, + getString : function() { return (state.thisGPS.alt===undefined)?"-":Math.round(state.thisGPS.alt)+"m"; }, + }; + } + if (statIDs.includes("altb")) { + needBaro = true; + stats["altb"]={ + title : "Altitude", + getValue : function() { return state.alt; }, + getString : function() { return (state.alt===undefined)?"-":state.alti+"m"; }, + }; + } // ====================== for (var i in stats) stats[i].id=i; // set up ID field if (needGPS) Bangle.setGPSPower(true,"exs"); if (needHRM) Bangle.setHRMPower(true,"exs"); + if (needBaro) Bangle.setBarometerPower(true,"exs"); setInterval(function() { // run once a second.... if (!state.active) return; // called once a second @@ -315,6 +346,8 @@ exports.getStats = function(statIDs, options) { state.BPM = 0; state.BPMage = 0; state.maxBPM = 0; + state.alt = undefined; // barometer altitude (meters) + state.alti = 0; // integer ver of state.alt (to avoid repeated 'changed' notifications) state.notify = options.notify; if (options.notify.dist.increment > 0) { state.notify.dist.next = state.distance + options.notify.dist.increment;
  • }mLU=u5} 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 z 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

  • 7D4emYypRC)p;ES7WQuTYzU$ym9yU@3Jc6&CK-Bguo297Xg4cii#30p|U&F zI9vil@fc#Jd+|y<(N&|<0X~kJ8xHHpJzVO*MF8g0yzx3bI5JYD6-3rVtm**cl6qL| z+p$CU9+h((@Pxbi?H{aoaZ_h#&2KV2w{UI8N#=(=w&-*FfU2TJ+Bpj(kG?W|HV`yoCuK9%El*vo|8c4IXrhNihd6VuvDHQ3NKSbE&MhcDws=p)6gwGQ1US3!wzTWHqMIx#^1BH2PA@1Z&5@IJvzX^_XdBK$X_cLkz?{E>jvUR zcBcr}2z| zYDDh(LxA1~I}(de+ao#YjSqGtE*m{CBbe()lq3sC@$UCMCv)o7g1hgpod|}+j^Fq3 zv{6;0MO^KHj%}q&bC*cD0^$IwjaYUG7O_(U@yQg8aA**HQ4h83%&IQaH8>feR3PQM z^n2lmCpu|nn$_zY6k3HQk&7S?&7vWl1I)v5M@ z{zTuMts#e40x)PJ)2OVp`?zOXTAKSsxd>U-X$O;{zH%@wuh&>h_8|SQ2Q1Tp$%jUe zj-7gDxF=Lk;8Q5DklYUIfu`*MElHXEP6s_VC=f!ZX1)4T=e6Vt89R13p88E5>sC+s zg*l6B{HfXRTK4s-W3bwVy$+dpt-BWH81`-9YY$9SAoUYUOu zB8G`8V7zssNzO@9qRTj9=q7a1{7PqfHy|MvQ&BWqPc}3b$S`2i2!Qt0j=E)2*df+9GWBPF@W-hw z!D^K*h)F8=rb2lb=g>S@Jz`8o`d`RXxw7TotBq$RBm}?gVZYl;c75s!TG&sCGZg3r zO6{cmPtdKtDBN|IvF_*b^cLdUf;cY-X&`?CF16WjMQd=aZ1Jy6iFq>HfvYhYi^`G8 zv!0Je6&m9fW>e9IfR=%RKwo}CXQyQTBq0=W^ldrpA_;6>^1kwvo|&F9Y{dvxL6r`d zGtoxilzy4u-UxmC7}U*bl!axZ7DGd;WX@h{GGBj42OIlgY+zim>xQ2pI*FL)V(i=W zj9r>Wks7iNg$CXg&RX0p$X}|7nH?f!uO);U4wplWB=A!(w?jzm&S2T})HvW3fqlyD znte6K*_cUt{MBz${>lK6(%Zj&UBv3$oDL)h+Evtc1d_RQ$$N!W!%zTjh)iEF#!a1h zYmcaI7fkIY=h=9Z0zLD>)xGw=ba9xD3(Ixfw)>O&?3&DpP{t{WP4ds(--!|}0Zxn4 zO%`roeaV0Y==U(|0lQ@P#4Pw}rE9Bcd|M>pqJOWt$D5F0gdPL#1^hzg)lU<)eMMO& z5Fw)G?2XjCI?L%I zJHaOMy6}_2q8)K zVtHs9i659HAXO(!OzOcglkKv*LoT{E=L#aZ0Un?Zi}*c~n;dwavB{;o3p4n4lc+CE zw?B+r>!^xIg2+0`1c5uBj)A1?EnJhJQ)8*NEnzAZ^8wJPkO?oqI}*F8u3fvI;SBnb z1k?2f?t4!tMm^ox)KK&?cr$VCOS4`^JTI?)yQ37q;$IZlHN9_Y%KjWWWl!f_26Fz} z?Q|!Ruqtjh@gA#(%=mzdjA@Y`Rb`nplv3C=5ub|a0A~GAQ?Q-5^;gpm(=vG^zP_%> z{wMA-WR&;S{B2^n7gBZDNURwah7*rj4Vue62)FcvHsnrP)uet>iy+oFxr4;V6LxC; zMS43b0i)jc(xXB%QqeeAKb}18A1WSx<7j%yfTEH6y06XpM?H<48&f6T;(^%UcIp}o z!z4-!7$B3%EsL3NYxV zxw)BKa#+_Yeq8sjb_3dv%>~H81GDiD8lEjUDR4Y4-3ksn@+@-yK2%;%6=MUdF`3_@ z?>v|a3>rJp{^;Z4%L&yMd7I^I>8vG-+u@j9URorT`A*F^7hUX(!z#~__(BE`2}caY zOBtlMSRu;~6Iy!kZiHrjjAQf)i$Bw(7|lYL_K~^5xr)zs88!{v)EuJ6PUf{40pb3M z?TLi7r}RW=YeL$6*J(<9pR-CeE+2a#K^OP@f>F z4IL_vr~HfWr9^yEo}0{tP%_(p0B7lIw(_T>(1 z$v_V(M6oziK{CaA?4skb zkvlG*54?{n1RPaKyHasSea_p-)Ex+l?}5uhY%=5r?D7hn>UFaFZ>AWOl+I|?m0fjC zKr4Vuf#ih7`Q88#YdClTZ~NQGu{q94&!L@0^nFu!krJU#NEIIYAnKzt0XfB7%cHw zBiw1%K-V;4V76_cy~7|i%f^@I`5~SRW}sS*1U3**WQGor=efo-B%&awZI-c^Afpei z;dbXdZD9XVTg2&R@$7Kf@_gA!{o0hMP^IjQ(;62Vf;ZiXMovsj|6WyK&9e0KEh=bzjYXSN0Ll4+}p{7Wu5F4K4}qI=3aDiX`W7 ze$2gz_!)uSyOB}^s2vmms3k0Mjrg|%hdSFchon%hssSZWfRh^-KQE>B;3=t+5cj%* zGHgQ0+eV11+Q7h7w{a}`YSDTewfLh*yg@ev(4P#~8e3lKS{}OZSVB%&zkQp@Q67_c;)afV1u^a_@rV#T;PPMkN*kA#ig`umow z_5V5rh5?DJ+o9#303Zwhb182BJz}Wd!tY~fi}ip=juX~}{xEv=U`7;Z4i%`Wx?-~$ zMCNmm@_YdvTB_wjtQsa97&yHCK_5waK7i|`0TE!G;5r&u|E(OS!*#keQ;MuAi~wTY zcp0+N5iiYh;ut5b%DwFhPXFWpcoWYsz`R zCS;ao`jRdTA}PlkLaXkadg0vzwlJmZe0A!(yG7jco`C&5qf6OkcQ>EC^y69CpWL}Y zixm5d7tSTS@i8c zo}_9Y7`Zy~Wp_EwXOh?oq#y{D20$RS14xiWrXu8)G1uz^Nf?ssA?FSlg2?O?6u9F_ zYGJmhU^ZMv4*{b9hqHWx^Zrx%!l%=ZaqQ}nq?CDP zxDm)l&iS(4U$SId_egW~@!nUvfD2)~S%qzzcv({n1MS-RcanpH5`GmIAp2tCjLE_g zLgL`TQBm~r36|ZWTXb~?BJ2zF?K~oSsFpjh&U(;O_5P3pwEsc=ff+s@BECsZBNerC z*`@NEGF~MV#KJNBwU7~GCLx*FEarDHQgGr}Tbs6STUgYsu(dtXVq${s(;cfIIv*q@qX zMh}c4qQw>-VVE4mppMWVL&jyzU95!;^Qbu^-|=W|d0hui>{)aE;?|8Pn;L?7-YPk`{}A zF)(_^TQDF7gE8?mVkdu&N1%C~&&J_wlE!*|W~`@|Dlms1gbUC)V){@JN#VZneKTR&)0F1&s zq#*V8+RHDHfo;aPExW-FUTOz8t+3FHj*?o7sAu6bIwtS_8<^EfiZ^LhvH2whQXPu8 z8`$>fPSR`a@hukIE@LofMqhCM4d^Qwj$$N29LMjW7k!PfCg=q-sIq5l`R!RKJjn;RHTOwOEJ;U*B!^2Q&!Ahtz*?3x>77 zZRC;4SFyc>tQVxt8Cb8cAUR^-0jRo`!v-y%A=U+skW(@DAVb6(HQso|bdv5^V|IHc%k@me7faJ=6pkVz2d{7VoM2~qMn)@2NxrAZu`VY}T2$3S;dfG~r+L=ktQ);eH4!(la7Z_Y;z z{rY8Hv(>RX#`Znb6N9?(5!G~89%`}JxIcgnbYiv%!z>ZT!wHs5WM<#M4EM+2(@a!Q z7?#a{8%3&5is8Ajzxl(-#CL_KS`w8sxGQ8-@f(H)g?C(H3J-ZKKtp(XN{DQHMFzDp zM9LNzNLn}PWW|yOJ6iJFo^A#o)a-G#-5y(bdW%0uPJAkVledA{Z(On5iNi%hcF_(v z*7(-s>LS-ew$o>R9C$0Xq6@_UqKQV?8U$SUZQh|gwrvn&N=fb@f&qADt5)dyJIAbc zBumI#IU9X!XZV8$y_g=L06wprt+eFP(C3%!r>V)vEHaq~p_$qzUJp%OPnf1;19k&8 zB^Y%l!p6q~meBIO@ic6!1-eNF7NOXLJ`yuQFddF07W>jo9wsFTVjT8DnQC+S`K1RY zZr>!Ols`o*D~QN59jl|)&}n-FPc9(&@m3wpp6nW~-2-v=BO>}h1T!>nVR8zPT-dzN zf07%;^B}OFa$pO?eW}{Ud#Or$x2A7>+ou@HyMQrnn>UpGo0dXg%f`0T!wr|*hMvA8 zQS9fzB=a~aVSK}kl-ZvFt8r%&}_&QG?> z>>m@F$-nkrUR%K{ zOIuubtd~nK)D7irwzS7bAd@R$jICP3rwK|0f2`6KsueumpkX0RM~mZIMxD34cX}RN zHFQZ@@Oa@(cLN!ygvWjEUH)HZbCJYApMCEoy`!^ZDG7E=reUGn#NgO~=Ov2b)z@ifY&x2n(hKJ;V`~Bb_Dy=O+PgPP?T~wwH!?6ay?H z2?3;}U(sIN<0V5pq1Xp@mNe=W(p=5>(KoN-GO)8GwuqL&O57twlPph593nHbjqY@i zi`4ZtXJ4G_gsG^4JNE@pP@C;rkru=p8}#Y8r(y>J#;0gxJf|wn(GGmXM7K$ zJTQXN@5=~eQxKB0W~O$(ll%1iy-2=NjroW}amG!qfGP@3x|ukj=dUs>GC2TQ@H7n} zOTkePE!6cRDi`N0d1w9UTIB+No&_d{Z43nh;#yc=9Ttxw{4kzvz?i6_d#p)`fKCpN zx~H6+_|*Qneg171nLeeN`-FdU!F(}Nvrx5G(_@lg-fkSD~jtCBtBMJx!N+QCAyS~UB^Z$zyx(8kDt(C|VW}j(l zwQpiv{62`?s~}JYnf%1CK3f!6>OHko+W7kj_)vNdGy`H5AOaA-5icnWP=~GB+uFTK zF!>1w+1Kq}+Mq>D%Qr!oVdb%(xH(iAv9*m`EUNO~=5?S-+0R-a+&` z2zJ9!KJyz^f6=n0v*z0xb^{bNHAh}A{{JAyMTcd4P_`G_r$X?S2~-9#8?G{hm^nfL z7B5y5Bmj^+m3P*Qp)qwiY?PkEYW~KJ$9Q9unZx7L$0J|O zb~wmru#Bhtp$E!M0+!J4D0K&^Nur>QZZMy@Y`r4nRg6cJ3#HzJo{8BpfXvv1*hu1q zW?lYN>iLxvU-;*?Ap8uExTyf#tmB7}We!jQWXhT(jU=J^q|F8bOkQ6`l)>woOWAN|dbxnfAZogK>I;D5<1EKpXt~#E?hJ#di(lbc%aIA#oDL#+Mxjm376?u&Aw&8~GM~@Iu(yJ%LqMiG&Q~^62LSM%2UPqfF zTsmV+1jO5D4+RS(pKK9tR@`3};~gS+2hL@oC;{!K)_~2bX{jthz5~S=M~dlP*7896 zam=>cgeD?ZO`|!@q;_oaS!Sl6870wdwW zgK`=cmOB<=A2U<4$t2TbJE@N;I{_NbGfd8O!VUTzT+y?M&kqgM80Jv-sX)=W-e_Kp zOtWyS(BU?DXSwoJAY6Bcav&-b1qe^IwL{LlZc5?wS5z!fOukcPjCF)v3hKvJia_X; zO~rt=kohRsTdc>cSm`rtP9X3ELvF}Xd6cv?y^?5~|Oz)O?rq1a)> zYbB%+NpHj>3KWE`yLH%mzkXm`fPBNXjKCB4mi-RF+lY8|M=bulQf`fjJRiHjJ))pj zOI7^)GHWQQlIp3M<<~82_qCH|Pqy15*DqwVCI@`=%&5(AGV#BcU3M{Cx3A3y#U`9m z046KV^8i;yFXm}Kv5NZiN@A`$nOC(}Pr+4R;9&&z)(2^iACs7Yt3`upjLt&Krn?cJ zfuI4*oDG7<6~%&AQR{?qDDU{O^oB2<&)pJ7HSl0}abOla(%xu%K<5#~1>yV4Aac{F z`y4^cDisK3u10|#jMMOT*2h}Y6O=<4?^Cjd&eX+)Xe(Q>%d@|lDjU}8p( z&t8+Ro`s10BLUi{nEv|?$hQN5T>{lC_;$y0BkEB;tAoWR`8Fb&ZLzs1Fr-U zBilF8V)GUKFCz{l8y^ibVi(x&nV47J-b{o7Ak_FZYJU|8chbWhVfnY6we1|g@gh1L z1V8U|Gkp9J=QHTMW~@CTtsDH1%0D6nyK6g4U~DQl@|9Q(cz=Cs4oL2}%+)mYyXc9^ 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 literal 0 HcmV?d00001 diff --git a/apps/football/media/digits128.png b/apps/football/media/digits128.png new file mode 100644 index 0000000000000000000000000000000000000000..f363a7e8ea182dbdd517abdf99b4cc39df7a90f1 GIT binary patch literal 9617 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 literal 0 HcmV?d00001 diff --git a/apps/football/media/digits64.png b/apps/football/media/digits64.png new file mode 100644 index 0000000000000000000000000000000000000000..445c14dfa57d0a1c79da222c325d5192a6b4cdaa GIT binary patch literal 7122 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 IbxsLQ0KStT2mk;8 literal 0 HcmV?d00001 diff --git a/apps/football/media/gol01.png b/apps/football/media/gol01.png new file mode 100644 index 0000000000000000000000000000000000000000..3b16aa967cc8472f27022ebeb4ef4a7b9f103ae5 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?dHPZ!4! ziOb0e3ao$HnVN(&x;DIY5KC4{(G^zwy>Zro6DLk|T<5*Q%FwQ>{+PMz!ZeUxPgg&e IbxsLQ0KStT2mk;8 literal 0 HcmV?d00001 diff --git a/apps/football/media/gol10.png b/apps/football/media/gol10.png new file mode 100644 index 0000000000000000000000000000000000000000..178b6fe3d78b14d9846222c87af32f096a24833b GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?e4PZ!4! ziOb0e3ao$HndVHY5KX%L^FI*yw5&-@TEHTZ%KDUn!And2`Azopr0P$uX9RL6T literal 0 HcmV?d00001 diff --git a/apps/football/media/left2.png b/apps/football/media/left2.png new file mode 100644 index 0000000000000000000000000000000000000000..11ff8885f9153d1a1550b49a627dfb269437d4c4 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?e4PZ!4! ziOb0e3SxiSnMw-P*n$`W)fQ+c9a=uyDlFlvTHv*V3=9tg)E`Rb>8XG;db;|#taD0e F0stIw98&-Q literal 0 HcmV?d00001 diff --git a/apps/football/media/left4.png b/apps/football/media/left4.png new file mode 100644 index 0000000000000000000000000000000000000000..a7301a4f8df00aa69873344fe33acc3608f75c97 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?ddPZ!4! ziOb0e3SxiSnMw-P7L_J1mXrX3i=u`GKwxBK^vJZc#Qeb~`Q;ZQL?1FS)cw%DcRyCq P0c47&tDnm{r-UW|s`Mc~ literal 0 HcmV?d00001 diff --git a/apps/football/media/right0.png b/apps/football/media/right0.png new file mode 100644 index 0000000000000000000000000000000000000000..ac418ad7be0563fb02d8773b0f9482f9ceab2a04 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?d{PZ!4! ziOb0e3Zj47nIz_S>IhHx*|S4M5(qZFI+D$FbD6;d5fz{r3m2$Ay_4|m3P`i3tDnm{ Hr-UW|%WNP9 literal 0 HcmV?d00001 diff --git a/apps/football/media/right1.png b/apps/football/media/right1.png new file mode 100644 index 0000000000000000000000000000000000000000..31554cbc3748d1ecb9999aab0ad116bb21cf0365 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?ddPZ!4! ziOb0e3Zj47nIz_S>IhHx*|S4M5(om<{P_R>fBg&vv&j-1UJrtfxNOQRVPH^JRDM$^ Rb)XDnil?ie%Q~loCIBG~BVhml literal 0 HcmV?d00001 diff --git a/apps/football/media/right2.png b/apps/football/media/right2.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8d0ece485bfebefa930690a4dfd80f9f584442 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?dvPZ!4! ziOb0e3Zj47nIz_S>IhHx>GMOSFsjj4@n=|q$D-=V3JeU17t|jv-DS`O(&_2y=d#Wz Gp$PzR6CQp5 literal 0 HcmV?d00001 diff --git a/apps/football/media/right4.png b/apps/football/media/right4.png new file mode 100644 index 0000000000000000000000000000000000000000..83a78b52c87b34bb9f809e035adf360cad7f6002 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3HEdkIOdzDYhhUcNZWH1V5d3*8?ddPZ!4! ziOb0e3ao$HnNkeZ7L_I~mXrX3i=u`GKwxBK^vJZc#Qeb~`Q;ZQL?1FS#7k)3J9LtJ PI>;1HS3j3^P6pF_9oDqqGc{ z%8-B*5CaJc7-~uQS}BSQ5e=XgVrWnV6q!OGOgCNYzTUUH)_pi$lg= z@gm^VcN^@6!C>n6GcMjr+w%7SRh2WBHyNrlD#_kBXBcPDa2f_v%fY)i`KE<_s+vfW z+U`*;mS6oq7M*A}sxp_L9W%pMw%S!yNcW?@>mvxd1OmEXbr+*dbJa~!M!5BG+cX2p zo{s^*jhTg^(|{CWs~OL;pWv3j{2kmcGa#~(36gl<{jCVNP6ubN$E#L9saIssv)qbZi#_UW>R&yNkk>a0r4Bol;em9Nt63VW; zUx@&OuQ@z$c@3$@F#8r$;v`XRDuuwMjTGf>4svyLTKDZyAQ^b_l|_FB^dv!xOeZfA z3BkI;)>PSv(h%pSy-`e5Y(OB50CqlfcsFj+LgLR>>6B@NdN0_)-6S2Z*Y!0z7BWB0 zX@yJ=$Jf|I*0n}fSqU+tkhmaC`s~Zj^owvEOIN_G&x-DDz%bn|2-7jrC-#-#fYdt2{bNwVyX_;tGUf&A1vgN~Tw*Ddr2?B|c2iLdt{>?%G) zt#yV|qz@L1Nwz}+i|KzX_e4saByo2t-Yw-$7xeYmxJo|O_wHgW2KDB{0DZU}!^XU* zR=F&zX&|Ypzz3_(+_DD1;2X@}_2C+J*H9;(fyN|#%I;_lN6DVtNpo}t6!`&D=>+>f zCo*shewTi5eE0e&`Q9vhz5KvF7WeBV_~4DnQh7T?UJhJo!-gV7>7b;))oRx`@|O4%%4a!r8#@xd3L4vjksgR2%*Q|bHqI+q=Q&X6GcZI*I9!78611^6-^tEo487_#A&uh z$36@oPxQEO9ip8K+t^Lv*`peG56w7_x@HtcZmCuSTrC>WT!C+CZ7K4}krC-GgoJp{V7IHy z#hrfJ1FW6cmG9_{HXdTn9R7*Ii)j(|nTA&ABuXsxFVtq^B6BlMF!OGjkLua*j&}7C ziPV;#QO)j$@`*cv(fgik!&07ic*5sqRySB#e=Z)y1(~rEh*Q6W8ql_Q!|N|24~;_T zdhMr;!8_jKhkQ=1r}VVn^m*QpfRzgh>^_BL$6nKE%MX}j84oM$Q7)tARQhB3pzc7k zZk~RbW#>M_cFW8BMQoF1g(x(&e5BYr{Q*{ciV!Tnl%#9n;9UA@%u*HyZrr?`(z}qg zqP`=5;v1gwE-64s`*x%juw9ttkv+Df;Zy~xPV>)kuNTfrZk6QTG((z^Uf_{uYb)=$ z$F*_uWzF)3!tHG``Z49xHAo-n{gb2WicI6m$q-^x*$Exj9kMyy~4*M@i6 zQ>1RP#>sYq*Wt2uaSDLj3j9%VT(4;&P5k{@)}0Yv#x45BBL`ve=~yg!B}(nmaN9@) zz#{o3p4P-XzU}uGI4Mnxz0~}qRWEXG=uMtqU*NVmY4SELzJERSsoS0@idxc0%iQ95 z5)Qj1l8#3p(rqk_QKJmjdn%u zZ(c|s6nJl%bsUkXao0El(iSz|c7riqdKKNxgaH9w4N(RvaKbnEJG+%t%&DsUva*V) zo90-6ai%Tug3XZvt$`H4ihPJ@QFxrJXFoy^aUO|t{?vTha^NFOaUVDbdVIm6M*1{Bd2b%|)wVqN0jR8*_`{SDtCZ0&5T+-Tq? zbQSd9>)+Viy=dvOJZ*KEZ|zHvu(sa3}*p uUi7hG!GI|nQ>hC8o<`W#E&k6AAqQvMt1+Rik;}>s4Tg6mxNw}qGXD*H$Fi3I literal 0 HcmV?d00001 From 974d356c0c8e10e09c9cdb21739f8bac21ff1c0f Mon Sep 17 00:00:00 2001 From: pancake Date: Sat, 4 Jun 2022 14:08:02 +0200 Subject: [PATCH 211/306] add app-icon --- apps/rgb/app-icon.js | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 apps/rgb/app-icon.js diff --git a/apps/rgb/app-icon.js b/apps/rgb/app-icon.js new file mode 100644 index 000000000..dfd42f82f --- /dev/null +++ b/apps/rgb/app-icon.js @@ -0,0 +1,6 @@ +{ + width : 48, height : 48, bpp : 4, + transparent : 0, + palette : new Uint16Array([65535,65535,0,63488,2016,31,32768,16,1024]), + buffer : (atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") +} From 4822f342bedf576c89ee2ac91d74a315cef20291 Mon Sep 17 00:00:00 2001 From: pancake Date: Sat, 4 Jun 2022 14:10:23 +0200 Subject: [PATCH 212/306] de-obj --- apps/rgb/app-icon.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/apps/rgb/app-icon.js b/apps/rgb/app-icon.js index dfd42f82f..f1ef75c64 100644 --- a/apps/rgb/app-icon.js +++ b/apps/rgb/app-icon.js @@ -1,6 +1 @@ -{ - width : 48, height : 48, bpp : 4, - transparent : 0, - palette : new Uint16Array([65535,65535,0,63488,2016,31,32768,16,1024]), - buffer : (atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") -} +atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") From fca0209fa35dff21ef26882875c74f7ada7938bb Mon Sep 17 00:00:00 2001 From: pancake Date: Sat, 4 Jun 2022 14:11:57 +0200 Subject: [PATCH 213/306] entrypoin --- apps/rgb/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/rgb/metadata.json b/apps/rgb/metadata.json index 7b10658b3..7a47e65b9 100644 --- a/apps/rgb/metadata.json +++ b/apps/rgb/metadata.json @@ -14,11 +14,11 @@ "readme": "README.md", "storage": [ { - "name": "tabanglotchi.app.js", + "name": "rgb.app.js", "url": "app.js" }, { - "name": "tabanglotchi.img", + "name": "rgb.img", "url": "app-icon.js", "evaluate": true } From 3c48f963b6806380e3e338b8278539965f0cb904 Mon Sep 17 00:00:00 2001 From: pancake Date: Sat, 4 Jun 2022 14:14:25 +0200 Subject: [PATCH 214/306] upicon --- apps/rgb/app-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rgb/app-icon.js b/apps/rgb/app-icon.js index f1ef75c64..9919a4365 100644 --- a/apps/rgb/app-icon.js +++ b/apps/rgb/app-icon.js @@ -1 +1 @@ -atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVVVIiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREREVVVVd3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzMzMzREREREiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERIiMzZmZmiIiIiIiId3d3d3IiERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAERERIiIiIiIiIiIiIiIiIiIiERERAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAERERERERERERERERERERERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") +atob("MDCI/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/tfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/7+/v7+/v7+/v7+/tfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/7+/v7+/v7+/v7+/tfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/7+/v7+/v7+/tfX19fX1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX19fX1/7+/v7+/tfX19fX1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX19fX1/7+/v7+/tfX19fX1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX19fX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQUFBQAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQMDAwAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQMDAwAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHh4eHgUFBQUFBQMDAwAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHhISEgMDAwMDAwMDAwAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHhISEgMDAwMDAwMDAwAAANfX1/7+/v7+/tfX1wAAALS0tLS0tLS0tB4eHh4eHh4eHhISEgMDAwMDAwMDAwAAANfX1/7+/v7+/tfX1wAAALS0tGxsbGxsbBISEhISEhISEhISEgMDAwMDAwMDAwAAANfX1/7+/v7+/tfX1wAAALS0tGxsbGxsbBISEhISEhISEhISEgMDAwMDAwMDAwAAANfX1/7+/v7+/tfX1wAAALS0tGxsbGxsbBISEhISEhISEhISEgMDAwMDAwMDAwAAANfX1/7+/v7+/tfX19fX1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX19fX1/7+/v7+/tfX19fX1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX19fX1/7+/v7+/tfX19fX1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX19fX1/7+/v7+/v7+/tfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/7+/v7+/v7+/v7+/tfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/7+/v7+/v7+/v7+/tfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/g==") From 1a8f8d9cdff56f97495cc1c6237d81f70026f9cb Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 4 Jun 2022 10:48:27 +0200 Subject: [PATCH 215/306] Improve localization for de_DE --- apps/setting/settings.js | 24 +++++++---- lang/de_DE.json | 93 ++++++++++++++++++++++++---------------- 2 files changed, 70 insertions(+), 47 deletions(-) diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 150251e7d..e4f1cffae 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -252,22 +252,28 @@ function showThemeMenu() { } upd(th); } - let rgb = { - black: "#000", white: "#fff", - red: "#f00", green: "#0f0", blue: "#00f", - cyan: "#0ff", magenta: "#f0f", yellow: "#ff0", - }; - if (!BANGLEJS2) Object.assign(rgb, { + let rgb = {}; + rgb[/*LANG*/'black'] = "#000"; + rgb[/*LANG*/'white'] = "#fff"; + rgb[/*LANG*/'red'] = "#f00"; + rgb[/*LANG*/'green'] = "#0f0"; + rgb[/*LANG*/'blue'] = "#00f"; + rgb[/*LANG*/'cyan'] = "#0ff"; + rgb[/*LANG*/'magenta'] = "#f0f"; + rgb[/*LANG*/'yellow'] = "#ff0"; + if (!BANGLEJS2) { // these would cause dithering, which is not great for e.g. text - orange: "#ff7f00", purple: "#7f00ff", grey: "#7f7f7f", - }); + rgb[/*LANG*/'orange'] = "#ff7f00"; + rgb[/*LANG*/'purple'] = "#7f00ff"; + rgb[/*LANG*/'grey'] = "#7f7f7f"; + } let colors = [], names = []; for(const c in rgb) { names.push(c); colors.push(cl(rgb[c])); } let menu = { - '':{title:'Custom Theme'}, + '':{title:/*LANG*/'Custom Theme'}, "< Back": () => showThemeMenu() }; const labels = { diff --git a/lang/de_DE.json b/lang/de_DE.json index e0deef7fb..ef22b588f 100644 --- a/lang/de_DE.json +++ b/lang/de_DE.json @@ -20,11 +20,11 @@ "On": "Ein", "Off": "Aus", "Ok": "OK", - "New Timer": "Neue Zeitschaltuhr", + "New Timer": "Neuer Kurzzeitwecker", "(repeat)": "(Wiederholung)", "music": "Musik", - "Keep Msgs": "Msgs behalten", - "circle count": "Kreiszahl", + "Keep Msgs": "Nachrichten behalten", + "circle count": "Anzahl Kreise", "Auto snooze": "Automatisches Schlummern", "week": "Woche", "Heartrate": "Herzfrequenz", @@ -43,7 +43,7 @@ "colorize icon": "Symbol einfärben", "min. confidence": "Mindestvertrauen", "maximum": "maximal", - "distance goal": "Fernziel", + "distance goal": "Entfernungsziel", "Circle": "Kreis", "Yes\ndefinitely": "Ja\ndefinitiv", "TAP right top/bottom": "TAP rechts oben/unten", @@ -52,28 +52,29 @@ "Mark Unread": "Ungelesen markieren", "Delete all messages": "Alle Nachrichten löschen", "Unread timer": "Ungelesener Timer", - "Quiet Mode": "Leiser Modus", + "Quiet Mode": "Stiller Modus", "Utils": "Werkzeuge", "Piezo": "Piezo", "LCD": "LCD", - "Record Run": "Rekordlauf", + "Record Run": "Lauf aufzeichnen", "Apps": "Apps", "Delete All Messages": "Alle Nachrichten löschen", "start&lap/reset, BTN1: EXIT": "Start&Runde/Zurücksetzen, BTN1: EXIT", "No Messages": "Keine Nachrichten", "Bluetooth": "Bluetooth", - "BTNs 1:startlap 2:exit 3:reset": "BTNs 1:startlap 2:exit 3:reset", + "BTNs 1:startlap 2:exit 3:reset": "BTNs 1:Rundenstart 2:Exit 3:Reset", "View Message": "Nachricht anzeigen", "Vector font size": "Vektor-Schriftgröße", - "Light BW": "Licht BW", + "Light BW": "Hell S/W", "BLE": "BLE", "Make Connectable": "Verbindbar machen", "Vibration": "Vibration", - "Foreground": "Vorderseite", - "Customize": "Anpassen", + "Foreground": "Vordergrund", + "Customize": "Individualisieren", + "Custom Theme": "Individueller Stil", "HID": "HID", - "Dark BW": "Dunkel BW", - "Passkey BETA": "Hauptschlüssel BETA", + "Dark BW": "Dunkel S/W", + "Passkey BETA": "Passwort BETA", "Show clocks": "Uhren anzeigen", "Font": "Schriftart", "Launcher Settings": "Launcher-Einstellungen", @@ -82,30 +83,30 @@ "Background 2": "Hintergrund 2", "Foreground 2": "Vordergrund 2", "Add Device": "Gerät hinzufügen", - "Highlight BG": "Hervorhebung BG", + "Highlight BG": "Hervorhebung HG", "Background": "Hintergrund", - "Highlight FG": "Highlight FG", + "Highlight FG": "Hervorhebung VG", "Wake on Touch": "Wecken bei Berührung", "Twist Timeout": "Twist Timeout", "Twist Max Y": "Twist Max Y", - "LCD Timeout": "LCD-Zeitüberschreitung", + "LCD Timeout": "LCD-Leuchtdauer", "LCD Brightness": "LCD-Helligkeit", - "Utilities": "Versorgungsunternehmen", + "Utilities": "Werkzeuge", "Log": "Protokoll", - "Compact Storage": "Kompakte Lagerung", - "Wake on BTN3": "Wake auf BTN3", - "Twist Threshold": "Schwellenwert verdrehen", + "Compact Storage": "Speicherwartung", + "Wake on BTN3": "Aufwachen auf BTN3", + "Twist Threshold": "Twist Schwellenwert", "Remove": "entfernen", "Connect device\nto add to\nwhitelist": "Gerät verbinden\nzum Hinzufügen zur\nWhitelist", "Debug Info": "Debug-Informationen", "Time Zone": "Zeitzone", - "Clock Style": "Uhr Stil", - "Wake on BTN2": "Wake auf BTN2", - "Wake on FaceUp": "Wake on FaceUp", - "Wake on BTN1": "Wake auf BTN1", - "Wake on Twist": "Wake on Twist", - "Connectable": "Anschließbar", - "Second": "Zweite", + "Clock Style": "Uhrenstil", + "Wake on BTN2": "Aufwecken mit BTN2", + "Wake on FaceUp": "Aufwecken mit Display oben", + "Wake on BTN1": "Aufwecken mit BTN1", + "Wake on Twist": "Aufwecken mit Twist", + "Connectable": "Erreichbar", + "Second": "Sekunde", "Minute": "Minute", "Turn Off": "Ausschalten", "No Clocks Found": "Keine Uhren gefunden", @@ -114,10 +115,10 @@ "Reset to Defaults": "Auf Standardwerte zurücksetzen", "Flattening battery - this can take hours.\nLong-press button to cancel": "Entladen der Batterie - dies kann Stunden dauern.\nLanger Tastendruck zum Abbrechen", "Reset Settings": "Einstellungen zurücksetzen", - "Rewrite Settings": "Einstellungen umschreiben", - "Compacting...\nTakes approx\n1 minute": "Verdichten...\nDauert ca.\n1 Minute", - "Stay Connectable": "Anschlussfähig bleiben", - "Storage": "Lagerung", + "Rewrite Settings": "Einstellungen neu schreiben", + "Compacting...\nTakes approx\n1 minute": "Speicherwartung...\nDauert ca.\n1 Minute", + "Stay Connectable": "Erreichbar bleiben", + "Storage": "Speicher", "This will remove everything": "Dadurch wird alles entfernt", "on": "auf", "TIMER": "TIMER", @@ -126,9 +127,10 @@ "Beep": "Piep", "Reset": "Zurücksetzen", "No app has settings": "Keine App hat Einstellungen", + "Day": "Tag", "Month": "Monat", "Reset All": "Alle zurücksetzen", - "Flatten Battery": "Batterie abflachen", + "Flatten Battery": "Batterie entladen", "Right": "Rechts", "Side": "Seite", "Left": "Links", @@ -141,12 +143,12 @@ "Vibrate": "Vibrieren", "Reset all widgets": "Alle Widgets zurücksetzen", "System": "System", - "Alerts": "Warnungen", - "Locale": "Schauplatz", + "Alerts": "Alarme", + "Locale": "Ort", "Whitelist": "Whitelist", "Select Clock": "Uhr auswählen", - "Disable": "Deaktivieren Sie", - "Timer": "Zeitschaltuhr", + "Disable": "Deaktivieren", + "Timer": "Kurzzeitwecker", "Error in settings": "Fehler in den Einstellungen", "Set Time": "Zeit einstellen", "ALARM": "ALARM", @@ -164,7 +166,7 @@ "Music": "Musik", "color": "Farbe", "off": "aus", - "Theme": "Thema", + "Theme": "Stil", "one": "eins", "two": "zwei", "three": "drei", @@ -176,7 +178,22 @@ "nine": "neun", "ten": "zehn", "eleven": "elf", - "twelve": "zwölf" + "twelve": "zwölf", + "Time Format": "Zeitformat", + "Start Week On": "Wochenbeginn", + "Date & Time": "Datum und Zeit", + "Calibrate Battery": "Akku kalibrieren", + "black": "Schwarz", + "white": "Weiß", + "red": "Rot", + "green": "Grün", + "blue": "Blau", + "yellow": "Gelb", + "magenta": "Magenta", + "cyan": "Cyan", + "orange": "Orange", + "purple": "Violett", + "grey": "Grau" }, "alarm": { "//": "App-specific overrides", @@ -189,7 +206,7 @@ "ten past *$1": "zehn nach *$1", "quarter past *$1": "viertel nach *$1", "twenty past *$1": "zwanzig nach *$1", - "twenty five past *$1": "fünf for halb *$2", + "twenty five past *$1": "fünf vor halb *$2", "half past *$1": "halb *$2", "twenty five to *$2": "fünf nach halb *$2", "twenty to *$2": "zwanzig vor *$2", From aecd80a669579bea76339247930bbd2b2a15cd62 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 5 Jun 2022 14:49:27 +0200 Subject: [PATCH 216/306] Fix colors changed during scrolling by widgets --- apps/iconlaunch/app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/iconlaunch/app.js b/apps/iconlaunch/app.js index 4eeaff589..59e9eb0e3 100644 --- a/apps/iconlaunch/app.js +++ b/apps/iconlaunch/app.js @@ -158,6 +158,8 @@ const itemsN = Math.ceil(apps.length / appsN); Bangle.setUI({ mode: "custom", drag: (e) => { + g.setColor(g.theme.fg); + g.setBgColor(g.theme.bg); let dy = e.dy; if (scroll + R.h - dy > itemsN * itemSize) { dy = scroll + R.h - itemsN * itemSize; From f897b4f86cb15ea0a90ea9b23cc280a45a420aca Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 5 Jun 2022 15:03:36 +0200 Subject: [PATCH 217/306] Update metadata and changelog --- apps/setting/ChangeLog | 1 + apps/setting/metadata.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index eca2b7938..b8dd3d317 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -50,3 +50,4 @@ UI improvements to Locale and Date & Time menu 0.45: Add calibrate battery option 0.46: Fix regression after making 'calibrate battery' only for Bangle.js 2 +0.47: Allow colors to be translated diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index 183290a85..ce4e5b337 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.46", + "version": "0.47", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", From 9cc603e4bf2dcd1e2b18a6b9fa93d38b1d1697ff Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 5 Jun 2022 15:09:19 +0200 Subject: [PATCH 218/306] Update metadata and changelog --- apps/setting/ChangeLog | 1 + apps/setting/metadata.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index eca2b7938..fb8ab7274 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -50,3 +50,4 @@ UI improvements to Locale and Date & Time menu 0.45: Add calibrate battery option 0.46: Fix regression after making 'calibrate battery' only for Bangle.js 2 +0.48: Allow reading custom themes from files diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index 183290a85..17519730e 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.46", + "version": "0.48", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", From e187843e60654a3a830a8095029258dcddbafc77 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 11:05:40 -0400 Subject: [PATCH 219/306] add my cassioWatch clock face --- apps/cassioWatch/ChangeLog | 3 + apps/cassioWatch/README.md | 10 ++ apps/cassioWatch/app.js | 183 ++++++++++++++++++++++++++++++ apps/cassioWatch/app.png | Bin 0 -> 4809 bytes apps/cassioWatch/icon.js | 5 + apps/cassioWatch/metadata.json | 17 +++ apps/cassioWatch/screens/main.png | Bin 0 -> 4389 bytes 7 files changed, 218 insertions(+) create mode 100644 apps/cassioWatch/ChangeLog create mode 100644 apps/cassioWatch/README.md create mode 100644 apps/cassioWatch/app.js create mode 100644 apps/cassioWatch/app.png create mode 100644 apps/cassioWatch/icon.js create mode 100644 apps/cassioWatch/metadata.json create mode 100644 apps/cassioWatch/screens/main.png diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog new file mode 100644 index 000000000..6eae6605e --- /dev/null +++ b/apps/cassioWatch/ChangeLog @@ -0,0 +1,3 @@ +1.0.0: Main App. +1.0.1: Performance Fixes. +1.0.2: Correct Screen Clear and Draw. \ No newline at end of file diff --git a/apps/cassioWatch/README.md b/apps/cassioWatch/README.md new file mode 100644 index 000000000..f4dad48f8 --- /dev/null +++ b/apps/cassioWatch/README.md @@ -0,0 +1,10 @@ +# cassioWatch + +![Screenshot](screens/main.png) + +Clock with Space Cassio Watch Style. + +It displays current temperature,day,steps,battery.heartbeat and weather. + +**To-do**: +Integrate heartbeat and Weather,Dinamic Day and Month Text by Clock Language or by an Options Page, and Align and change size of some elements. diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js new file mode 100644 index 000000000..d9c3b490c --- /dev/null +++ b/apps/cassioWatch/app.js @@ -0,0 +1,183 @@ +require("Font6x12").add(Graphics); +require("Font8x12").add(Graphics); +require("Font7x11Numeric7Seg").add(Graphics); + +let ClockInterval; +let RocketInterval; +let BatteryInterval; + +function bigThenSmall(big, small, x, y) { + g.setFont("7x11Numeric7Seg", 2); + g.drawString(big, x, y); + x += g.stringWidth(big); + g.setFont("8x12"); + g.drawString(small, x, y); +} + +function ClearIntervals(inoreclock){ + if (RocketInterval) clearInterval(RocketInterval); + if (BatteryInterval) clearInterval(BatteryInterval); + RocketInterval = undefined; + BatteryInterval = undefined; + if (inoreclock) return; + if (ClockInterval) clearInterval(ClockInterval); + ClockInterval = undefined; +} + +let background = require("heatshrink").decompress( + atob( + "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" + ) +); + +let Rocket = { + 1: require("heatshrink").decompress( + atob( + "qFGwkCkQAiiEBEkUgKQhPhE8ogCE8YhCiQoEE7pKEPIgncTQ4neEwpQCPoh1eJYYwCJ7QmHKAh1hZIpOjPAUBJ0ZQCTzEhExZ1lPAZ1kKDQmOJ65O2E65OPOy5O2E64mPOyxO/J2wnPJyx2QJ35O/J2khE0p2POq52PEy4nOiQnlOrEhiSfMJrEggQnLJzB1CPBQmZkInMEzBQDPBImbPBR1ZEoRMCZYImhgQgEE0BzFKAgmaDwLDFKAbqdYQwHBOrcgDgLBFJrsiiRNGYbpLBY4Ymhd4omkkUhE0pQEEwUBJjrHBd4QmCdzoiBDwYrCPLyZHF4QnagQeCE8UgJwYniJwgnIOzwfFO0wJCJzMQE4gyFEzR2FBQombkInDQI4AakAnBTYS+ZE5BMDE0LEES7YnLE0R3FAEQA=" + ) + ), + 2: require("heatshrink").decompress( + atob( + "qFGwkCkQAikMAgIliKYon/AA0gEAQniEwIhCAgYndEIjqBE8CaGKogmgKAp1fKAgncExBQBBQR1gKAp7BJ0IndExR4CE0idaOpYnbExqeYJxxPYEx0BJ0x2XExx2XJ20QE6xONJi5OPGwJOlBwLFkLoLFlBwJOkOwJOlE4JOkTjBOOE/52Pdi5OPEy7FnE5wmXE5xOZT5gmYEoMiiB1lgR4KTLAkDPBJ1WIAYDDKA4mWJwchDwYEDTjQiDJQh4GYLAhHFosSJy6OCTIxaEEywbBKYwjEEzMgUQxQFBogAURwZOGOjTKJdTYnOEryfHE0JQEfIpQgYQMAgJLeAgrtfTI4ndgSaFE4h0bdQkSZQpOfEAgIBO0AnEdrh2FJAb1EdbInEBIpObOwhOEEzYnFXzZ2HE4QlhE4QlDFMKcDYooniO0QnDT0YnCE0ciA" + ) + ), + 3: require("heatshrink").decompress( + atob( + "qFGwkEogAjiMUEkVAKYgnhPYolgOQIniOYZ4FOcLqBE8CaGKojpgKAomhEYUQE7gmHKAIxCE0QkCPYR1gZIgnZExR4CJ0idmE7ZONYzImNgEUJ0p3YJRh2ZJJwnXOpQhBdkpaETsMEGQhOhE7jFLUYpOfTzgmKE4hOiE4hOigEUJ0rvCEywnPEqx2OTjBOOE7ImOTsqeZE5zFYoJOmT5kBJzEAih4LdK5mBAQInKOqoYDEgR4JEypHDEYbxJOq5ABdgZ7CEzZOEJQgnGihOYEIzJFTionCKYxWGEy9ADAYnGUIYmWog/EdBFAEy7KIKAwnjKwLqWE5pMeT48CVQpQfgMjKEtEiAnfEQJQCgJSCTcB6FJzkEdYcUE8FAdQghDOzonKTjh2EZAidcDoInHJzodBOwx/BE8JxcOwsAOwQmhJgSXDObwnFEwUUO0LFGE8aeiE4YmiokQE0tE" + ) + ), + 4: require("heatshrink").decompress( + atob( + "qFGwkCkQAjiMSEkRTFE/4AGkMAgQCBE8MgEIYEDE7whDdQIngTQxVEE0ChFTjxQFE7jnFKAgxCOsBQFZgJ1gE7wmKPAROkTrTEHGAwnYiBHJFAaeXOoyXBEQZPac5AsFgJOhAoh2XJwwnFKoROdE4J9GJzwnIiQmVkInPAC0QE5AJFE64mHY5DFdE4SBEYr5JDJ0hKDJ0jCZJxoACgInmKLAmOTq5OOEy5OPTsxOYE5wmXO5wlYkAnMOqshiRNCgR4LOC8CkJCCEzxHDAgYnJOqpAEDoZ4HEyodDEQpQHdCsQOwwFHEyzoCPYzJGEy0gEwaZGA4acVEQSjHKAomXkQYEYAwlZeRKYDE8gjCYa7zJEwcCkImfKAb4FAD0hdTh4LgRSBOcR0CJz0gYYrrgN4QnEYrxOEE4bEeiAnGF4J2idL6VDE8ohBE0gnFE0J0BE4QGBiROgdIQABgJ2hJoTtjYgZSEE8ScgE4omikUQTcQADA=" + ) + ), + 5: require("heatshrink").decompress( + atob( + "qFGwkCkQAikMAgIliKYonhiAnjkEATIIniEwIhCAgYndEIhQFYUZVEE0BQFOr5QEeQQmiKAL1DOr5QEE7ROCDgZVEAoInZDwchFQQoDPAJOdEQYrBdrZFDOYwncEJDsDVIpOXgJxEE4pObEAgGFgJOaE48BaIhOZJ5ZObY5ROcE441CE6xOGPAwtCJzpGCJ0hHDkI1DJzwoEJzInLFg52dUo5O/J35OzE54mWOx4mXJxx1XE54mXkUhExkSJzCfMOrAlBPBiZXgQDBAQQmgJgh4JOqoYEFYwmaDoZzEFgh1YDgkiiAFEKAroXJJAGFiQmVkCNDTIz5EJy57HKAomXkQYEJoqaYeRadEJrAnJEQUAgJPiAoYmeT4cCkAnBE0BKCJkT1EkDCeJYYiDOkLDFFL5wBE4guCPDhEBEwQiDY70CkInDiQnCJzkhOwhKDdzp2Idb4nEE0B0Bdo4niE0J0CeYhOhgESUYYnidsgnEE0KeCE0gnDE0ciA" + ) + ), + 6: require("heatshrink").decompress( + atob( + "qFGwkCkQA/ABEgKQZPhEwgABEsAoGJkBxBE8JKEAowAbJIhQEgLDiPooAdKA4ncTZAndSwhQEFoInaJQkSKAwlZdgwnfSgYADE4h1ZDwInlcggnIOzAdCE8i7EY5J3XDgYhGd4pOZEI52bSYwGCOAJ2bYIodEOzZOFFAjFcEwwAIE6xOHABBO/J34ndEyx2PJ00BJ00SJ0p1XE54mXOxxO/J5wmYgQnMOrB2BPBgkWiJ1CPBbBYAYR4KiTAXRwIrFTjgZDJYZ4IEyoiEIwrDcEJJQFOqwiBDARxFFwgmXkAYDEogsBF4QmXEQJ7GUYYkBEzDKJAgYmdEQbKFEzonEKYgngJwgmfZggmjKQghgiBRGkBzeTgUikJRgc47LDErTnDEAkQJzkCJwYnEJzonEJIaddOwhJEJzgdBE4hYEJzieJADgnEE0KUCXzoAGkJLEiB2hOgQDBT0TsDT0YmlE4YmjkQ=" + ) + ), + 7: require("heatshrink").decompress( + atob( + "qFGwkCkQAhkIpBiQlhkBSEJ8InlEIIoFE7whEE8pQFE7giBJQoneI4MCTYhQDE7YdCYYondEQYnEPwZ1bE5BQCJzonHkR2ZEAkBE4pNBE7zHFYrYhFUgonaXAQeEEwruZEYcgiROHJ7AfDAwxOeAAURiAmHE65HIOzwmOJ35OPE6xOPO35O/J35O/J1gnPEyx2PEy5OOOq5OnE5xOYO5omZgJQMJrQnLiQnagR4JOq5nCDgZ1fEYRLDE5DoZkUQNoZ4GOrJKGAoomXOw7lCAwYmYDgJSEAAUBA4QDBJzB6FOQrDXJwTJFdLjJKE9jDYZRAmkKAwmhKAgmiKAYmBkApdJIgjCKYIncOQYvJYTovGE84lagR2DE4xOakBOEgJXFOjYnEJAbtdOwggEkAmbDgInDE0B0BE4QgcE5AkiXYbpCOLonGYo4nhPMYnCUEgnBY0kiA==" + ) + ), + 8: require("heatshrink").decompress( + atob( + "qFGwkCkQA/ABBSEJ8MgE4kBEsBPFE7xMCOIJ3hOYgFEE7rCGE70gE4pQBiAndYQwjBUohOZD4ZQFE7YkBE5AICYbZ2GE7sggJRCAA8iYzZOITroALE7EhExh4CAC0QExpPXOponZExx2XJ24nWdh52XdhzF/Yu5O/J35O0E55OXOx5O/J2omXE5x1XO54mYgQnMJrR4LOrciiAmiJgR4KEzIjDPBAlYiAiEeI51YkEBE4J5CD4KceTQQcBJgRQFdTZDCJIjDcNIqhGdTQmCkByFTTInDKgoAEE7ZEEJwhPdE1R1FE0InEE0R3DEwTGcDwomEE7hKFPYqafE8ROCE5DJbE5B/IEqh2ED4gnCJrMCJwgnEiB2bE4qeFEzUggQmIBQLEaEQImHLIImaE4YfcOw4lEFMLECS7onJO8wmkE4QljAAIA==" + ) + ), +}; +let rocket_sequence = 1; + +g.clear(); + +let DayMap = ["DOM","SEG", "TER", "QUA", "QUI", "SEX", "SAB"]; +let MonthMap = [ + "JAN", + "FEV", + "MAR", + "ABR", + "MAI", + "JUN", + "JUL", + "AUG", + "SET", + "OUT", + "NOV", + "DEZ", +]; +let GetCurrentDay = (current_day) => { + if (current_day < 10) { + current_day = "0" + current_day; + } + return current_day; +}; + +function DrawClock() { + let d = new Date(); + let h = d.getHours(), + m = d.getMinutes(); + let time = h + ":" + ("0" + m).substr(-2); + g.setFont("7x11Numeric7Seg", 3); + g.drawString(time, 70, 60); + g.setFont("8x12", 2); + g.drawString(DayMap[d.getDay()], 20, 130); + g.setFont("8x12"); + g.drawString(MonthMap[d.getMonth() - 1], 80, 126); + g.setFont("8x12", 2); + g.drawString(GetCurrentDay(d.getDate()), 78, 137); +} + +function DrawBattery() { + bigThenSmall(E.getBattery(), "%", 135, 21); +} + +function DrawRocket() { + g.clearRect(5, 62,63,115); + g.setColor(0, 255, 255); + g.drawRect(5, 62,63,115); + g.fillRect(5, 62,63,115); + g.drawImage(Rocket[rocket_sequence], 5, 65, { scale: 0.7 }); + g.setColor(0, 0, 0); + rocket_sequence = rocket_sequence + 1; + if (rocket_sequence > 8) { + rocket_sequence = 1; + } +} + +function DrawScene() { + g.reset(); + g.clear(); + g.setColor(0, 255, 255); + g.fillRect(0, 0, g.getWidth(), g.getHeight()); + g.drawImage(background, 0, 0, { scale: 1 }); + g.setColor(0, 0, 0); + g.setFont("6x12"); + g.drawString("Launching Process", 30, 20); + g.setFont("8x12"); + g.drawString("ACTIVATE", 40, 35); + g.setFont("8x12", 2); + g.drawString("30", 142, 132); + g.drawString("55", 95, 98); + g.setFont("8x12", 1); + g.drawString(Bangle.getStepCount(), 143, 104); + ClockInterval = setInterval(DrawClock, 30000); + DrawClock(); + RocketInterval = setInterval(DrawRocket, 700); + DrawRocket(); + BatteryInterval = setInterval(DrawBattery, 5 * 60000); + DrawBattery(); +} + +Bangle.on("lcdPower", (on) => { + if (!on) { + g.clear(); + ClearIntervals(true); + } +}); + + +Bangle.on("lock", (locked) => { + if (locked) { + ClearIntervals(true); + } else { + ClearIntervals(); + DrawScene(); + } +}); + +g.reset(); +g.clear(); +Bangle.setUI("clock"); +Bangle.loadWidgets(); +Bangle.drawWidgets(); +DrawScene(); + +if (Bangle.isLocked()) { + ClearIntervals(true); +} diff --git a/apps/cassioWatch/app.png b/apps/cassioWatch/app.png new file mode 100644 index 0000000000000000000000000000000000000000..3f9bbb36e336c20c47c9b714f8f149ba4ae897ec GIT binary patch literal 4809 zcmV;)5;pCLP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRa3Pf0{URCwCdnR$?1Wtql*-*?u#_U+r9?oN716B4qKkOd?`ktM9+im22mVj+X2 zHR?#Y6eBf`LydwK)k-}621`#!HwO7Z{g(gD8o%<%_8fD|x1GD@*tr_m_kDUHHZ34x-i zKuUwi_v!C!$7woj8626_k#AYr2>tm}wML&41o_rvGTC(fFi>I5()6*mbYd{2>w5z) z+Sb#NYm^%fbrVKmtgb#WDy90;JNoVh0g2T?Y{`L z0)!BlQs9NEcdT0f_*kiSL&b5rh$7H+kQ(B|MVfZP_8ohVpyGLFRVJLXj%eD4+ES^l zZE5@42}A#hp~=V%|AwGVO=4)0@oMANgXQM!jYhK-O@fq&6T$tNOC0+cO(Rr_@k(|1 zc&+}Q`GoZ`+cG|DYI3a*0{%?o$M8gKxi65h`;(U z2_X=s4pK1HaL(O4H1WiErFn;?Npwx}S_1K!pj%TmM~k&LuYFBnW{* zq3TUk5XPr>nnp?~RCLm4X|OIRk+X%?OqblNgFQmnk? z>HWh`mTJv@Vd=aa*f2yF8Y>pfA)ig6JRcQA5JrH&&?VONt!wdis~|#!(WxV-Ku8IO z&f&4*TQ(0IT^j^JE@7Id{9qkGY9}s+oDI8QEM4&1_0RuS89Kr;;xHcjTcnUWT()>V z4?Mq%al%q64Z*dlm4fa;$PM|$9`a2I%DP9%pX4TXo;TsBp$kCf*0Lv=jT zexo|A5*ltOx%bIu@2ix`T_Tfy)k#*7f(UwY3HmZRX;Y`+L&Z^8IwVYiA>&&q@FRsA zC>p*Zj1);jjF3{Ys4GEt+QRV_MJJ*)snM5^WGzS~Z0uwj-LhjY z1A*@`RjM#iX;P>wrkVj6OLE?<40|S<94$L2c?#f(1e*sAe&Y>i_Wq%#t@Xva){bz zI9f+3SeQ@XgfLcaAT)uJTD;3jK_bDx@c7$z4UN8WX>a$2hU>+kle(bcH1Y=~iZ^4P zB1x)kg+98W*DSXHm;s!-H(1sSN%_X>6STMy=Dn|o5t9{D1UrpCx&6s z*P7#+PcNic(z)x~5Adr^&vDI7H(?njTMtgr^kGr=4C=e?r)IVy=Bxy#3PK>J&&H0! zqqok?q&77DFxKg%eY0q~>iTBYY2~ETtU`rtYRt{qG=dOAlPqY{N!mJfk>SC+zs*Ih zYkBbAmAvh}Y4l(>jP1mk9AZYgLPCx(aCiehy5|S%+OeMRee*J|UtZ#YZ+wlGq|Mp= zZTOl=Lc+rHFGlvAjgk_qWK0pIz%&`0EL~Ib{N7wkI*#;6p~8WQ(lzk`5U-RTrRdFC zBs7g;2y^q2tR)cHE*}5x_qq0rC;0OB-Udg9@Qx_7)&xW_dv1o=OS|Jb*E9&H>iq1- zTbMlb0Jq(7E%q1I@x5<;gLmEb1sEG)$DtCIVG)(5pi)F-T3|*ef-0g}CGP!$B_0HMX(89E^-khX+riPRE$oVBJJplZ;yj1PZ!GaH{f#3f4-1obL8J;cH% zh$42Bbe^j8P+R&zWLqmyX_7N~x*ooG;k-{tfTN}IO3x2kkP_8&xoG7gRxgI97tuVjHg z$mefc#8T}rSGgN_r?rDi%>!JNuW@e9;hsxFwqLoPzRh1FstYhpiVb(^z({eW4lp!1 zI{%o&h%jVUHbdRuwv#*EV=3;7^{PJ0;K|lOdGMz zMhYT@mNG#=So1)Fv?S43lR0w(dR8ywBafZU{Hw2K$D~Ga!#3Fa3r4=UoH;EWSe^$$ zfz)tazw1b0e1Qb0Ic^^!X0u2qx%a8fJou*_h}H~g-N5r)GMNk=v(LoHbx|AH&!y)l zK-z>SwL%CWjFSpdpk+-qJvYu{j~qtkEQBGErbJ)>O+N6xcG_28f#3fo(v!Qnb1}Y*@kv`=(eQ_H1yw+pwg^Co|W*i|Ek~DO*Ob#=ZWT-H~ zi;w<-!t)QXcfV9Eli_ZXj z_U|dM`MFVcZJWTJYNAhgEVFg4UjzFNjB)4SJf36)Lw%RP`SX!}5mhO~rKgGzQev8h ztphZgbq{S?pQ8v8DG+JAXEx%MALXCB2U*rXPSOwAFxAE$$3TyK&_P5BAr)FugRBV| z3y5fzTn-IZ*#GoV_U@Xbe4s+wiCJ;)2ij)qZ{HO{d&ey37suEzV`zm+M-oghj4B1oB`R~z%>@t^PUidy5 z*26@#y^xrP>?jj80uE0!*t@g9(ZLe6i6*7PHAJCFI)qLHU5-x$P)VH$OK>EivFMUs z7K#cRH?C&Y`)^^>&ONBw1dURac8ly5XOxn~aG$U}lc-NwnJP#?Rbby{* zdT^rdpzJJcdXAeC&#>x-EBMI|2AFCH-aBuI?BG{u*;}B?YH~%Zhvw?|j}6gL4oC|y zY@MPes6>h}Jwnf!LFAP?4YXY z-1vcyvUUFf);+%u5_Vj&MiG{wH@aK0gE~NGTXr``3gA=`^XK!EXD=al*Cx)Jljeu3 zCTUh*!bRel5+#zjdMgKOIu)-;`&n%qazYaA7Cp1G^v+7t-ORK&4%YwI<7_W3=E^rLXX{IcX`g={^+2(G?;w-4CTQC68aoI`f-R4P|yi5g?FL&%B<)xjra7I@B%e;D?Pqm>IceMJZ_ljTRxIBbIdz0?p;lf1(VM9G5sAFb z(itggUPOPJNspLh*|JWy+jnroXFtv_zHX9TFqg3Cq7pj7ka1c!G&Fr$0ip=yhG_W& z{fM@Stk0zVw zVT4w4VWNR3If#mbEIMdGgr=Ho{q>W)>z1vItoQ;~y!%Ra?i-@vYh*3Sk*Z6>4PH?e z#Fm93Y3XA!@}DYIt8r<%XS|7_+yB#&O6)6FYx6P9mvgd^f+$ezoow)iSs66nCs=S9 zev64S@)DO^b1_>wI=T7B-(t<$^;~~JmUGUTNwTdaE|$U&w^C=v_F;atvCQvZJd-)^ zyo0MQSjM)!gB+>&Z`xfF4Ks^N-aLLSSeb10&CM#&A>F;S!Lgs%oH1ghR7 z-I6+V^Cg$g(}d}}zK=NOdjw&GQXqunte(zi&pD&}%iH%IyiKK(aa~+_ zMW+Vr`5*;1U3&ie=XGcNO2Y@N;|^2GoYq2IWF&d->gE5`@Pl(-d~xV|zG|&Wf*Jt~9Kzq`lD{azh>m;O{w#^ig5(uHtg}^ifp#mog87w=DR6S~L08+#* z?8$(G06dSY&tLwzRcFoG;D%rr#z_X`2{lO+MWm7m-hSRW*Z#cHcy4T}w1{+qq0usg zQ?cNyxMo%g3N?>H-N!N|SyLlx8kl0C;|R3o6)Xm&oddD{ac-48)c&hIV|703pR`#{?>fAP87GyZi1X{XL&-$!1v8-G;6U!V^Ht)4B9b&jZQW zo9Fjlbw+3Im&yxJes~&JKL#VT=}hQ)teDfuN3S|R{t%&F?$l2=(@}1KR7x%B?fmrI zj4U8!RE25^KY)}8t8g#f}eJhqcL8ov14cyAtXvf zryr4ou^HczN)D{*@3=W_XzQw;k8R7pZhRpG1W`oA@tBdezq)2&|H|%s>-|y)l;=%L z;3?Lb21h2UY}h#fTC7SZ(@6yp$`7#&tvs(Y|K(L@b}!E)%ynK6^5+J!fAJi#=>?dE zzH{a5S?{R?-sSs-3%5*G>u>df(2h^a^z22-c*AuGx^DHF)(vlM{o~&2<+(2b5%`g>_@`9k5Fto|8Y|8Px_-$_J4RCr$PozZsVAPhv?|NrRjaS~dhMa)PD8)EgPyEOG#*y*Uwje zr2?BO@Ery4&(F`-_xJag_FdB_s(rCj#*udA_+EcEjq}I49RlzH1Nu7PZhf`-TG~pR zb>G^y_H)f|%?C8kyne0%!vHhzmMKXnw7xBPtmBNptND9wXmT`0fgyl3Na}6ek|7!B zG`Q>Xr8R!JUc=cdI}&0BpX=L%0ennl1g@jM%(BH^>*uI;ZY>7QejNs;&GlhR4}KHO z$RQ48U?g+t->Og9aw8(cw+?ujfl>6>W3cS~rJKzxs@U;?C&6j@Qy74B%1&w^p*YV%Y$-%7j)8j4}hNrF-QFf>p~f zGT6Pv(JHABEWJKQUk}{KX0cmh-qJ?Pz}}rn(|-uydLj&rtwR~QWhU<)pmETBU~4IY z#$&EqGmKUSphd)9NB*GeXi>4(t?j}yum@mvd-j$cXpvk2FatTtOdcC`AGAY^+8^!j z^=~)>k2;?HQ-Ki$65tW_vhU>zB*2%4ARQP{AORjxFZ*7uKmvSu2-1NO1^xs0aT*-4 zn0?Ptpge&fUS&PUp}C_RFYLB%xxNE@6EWsWeUkN?0sN+F_4x1!aDsahb%Dd&8Q??4 z*ZiNq1C(F;DR6gyUlF?w;3EK$Yo}$;J4XG6OQesH%j8Uem0t(@oz8_C*#Y)KA%hoX zr`V0OSKErTn*c{D@UUeAI5IOugAr-(P5}2ZIh*BWyVn0FWoaJZ_KTzb6{T(YhsE-u zYMHbgTmD?W*joR;b*(xCJSHH;l>qmAYWY&zXRlk8WZ~-BMG1)=V|jpkHIR2@^)e#EskOj0Bz$NflA%#0L!4ZwqG_77AR1bTM^(| z2X-;A+G&dz_16-SmLWe5V0PsqAzRxh%95yLkk_xuz^$O8xp}r&7OoNt&o0W2f#%Hc z;A~^dz|jE9EF}*Wy^^AJP}2^58r)_4-XX5F*jgD7?Gos^HGnK!wXfFrv14dw5bsW5 z(Be9P4NgvNdP1Ex#eXYYniIY3ZylpfAlluRU@`6sFdLj;!Nbfk{`bm;dRGc_>U=}@ z1^9feV@E^)BX~U-Id%pi))L?l880x>1K10%JQJWrA`gh3!|0%NeSk}Sh)%G(){%qa zUD_SNH3G4hUE=jW)pOc2+&O_O3yY zgAX&(AGvkai>DPN?Oh4&0Yhs%#;)9gBQ=n=tk78Dt#wa;2O=rUle(<2KH;iuMcKWo ze2N5k)|0q_u(MtN&%kn}%IqaAx2~fV%X(L`Knqj^PV4$z0Y)XD77uoju=uaVq-nE3N;q!u)02`N8-JH$9TDzXD8e$euW}JcP(p{|? z*b6W1&@~P5ePF9!(L(ir>1CHzzcQDR5}{|eW#6hF+nxoOwYO=z^=sfwg`Mtp0{oB| z13WzvIe<%n1ULb9fwM}d1ULa+g+-Si32*}J0%w&@32*|u3X3j365toW$L9m*S1Pcn z0{J&GHVs_5{Zt@tqa_JjE06$h9lmrv0Zs+l6SkACYy4#m9pJ;SE(BLNO%U~5w|V4Gnx0p1$3dCt#(ZHCPRcpd}4mLq3K9PjzGX6 z8JpU?(TDdPgP)-bnj|yFkF0^^%iZYkFgsX|K%m&FA2C~ZOn{+`>ot%;lb%V{9hCkx`srs}~>?JbBQY;NGuE1~%*XyV$hOOFM*;=ahYF zV3cL$p`;e3{xb-qFe7o8ayUwWn;}^n;3H_vU4>(6%-`}DqSDZL7uaU_X^`o^rVfAB z1z2wR%%P3R(jx+Ya$lscoIA6V&9Eu_SQB9DL2b1Ryd&r{V4Gocd4RRsUQBjn+Uy9| z89vW|ZHCRI0ruQwSTXxLYB|X044ZJ!P6N%Kll@$$gg~oRJItX&9#gB01hUn4Mi6J% z9GQ0lT&aiPEm>9*e6`YH25d8ICcq;Ky!tZmdWX3p`yRf|fQ_-)E5W=PGD$=J(VWuf z1pTiqAwCh_1o#j6j|TWt;Z1;V0PrWnn*e_}z@H9p0-ON5&KoDxTeM%yfr~cQIP5aN z<5t_Bq0KFCqs_{`GXi7QGH@ioC#>p`xNh6m8Y3nSGi(Zh=Vstz0_a6^Ys4AhtTwa#`_n^44<-)V0bCrG zFW8_LZlVNZ>|~p^0yAKnVKY1fx15w&cL3m1KF1-U-d2I}5<&v(eeJO&A+t?wD}6d1 zp@1J?E%VA#cj080q#`SbwRYUQ=`NN+Y%zz(oBL2FH%Wx{5ttm*E2fO}xCsmXa>p~GzP zggG~~4$Ib=Y`9C#0k|jlu9=q&F59kmx5jhu9RawvkQR?u9KfyB-m90b+2N}8Y;f6j ztuq4)$qYTwF2MSBQGEOWBQaZdDzv*77fl`xi-HRcR1I1nAPu#8u2B6ucKFC=TEryz--NY9c4iv{u&2Zr1rjY9 z7M}Vng5uOWx5#T3oN+L~t;wQWHb|5+LG+HrEY{Zc$$-!LWYv*r&u;m09@-&Pd-t22 z<6yf!z_lREga(~iuDe$6qYP#_C-f%G0O={&kX_dQy0k3sfU~k*vW)L+n*e)+iz=_IKw8^d=CuS8v-FU)I+-ryGq(f2YPnVCI{Mw7-nhd`;%Hg(S$xR*7L2w0%ffRsQd zz*E>xfNNPj84T6HtvAPJ{Su_d|0!6VXEY9A?<;<6KWlJg9a?8r&6ahH$HRE#ZM4k5 zr%;>#pOJy{5H}6xc!1dtutV7n-8sdcg&KTVrU}k4Qfn#exHc5<>F$}=< zp|%`sd;PrroC+`s5_27`pwS5-`@Nc~SJ$&OpQgd;0GG0%1!Ad(YkgWjW8#l$S|$c% zK^ex|KLaDMTDQ^UfyDzcT2R&nYY3X!R2x%fS_#U>0NmSNdfQF!a4@?D9tBtf908R8 zzbhnnB6LOyTHx;)xOKo{2Z|0TJ8lB}rvOvSmJ*>ZEg~}T5&)yDQ(s3b%v%$AGq$A$ zMq4eTL-c}W#zbvUohct_w{}$txT7w8xY^UVWfSSC%>AA+0T^mT`L! z_cCy+U+b+nnT@@^T>^0LDHpnbivl`3W3w5!21(0EDAV<7er+qg3SjF_I2&O0Ni7qD z-%sX2;`Uarw&i<&entsFiqma|YIN(CXl>tej;}j;bp5mvLJov(glmh( znz7jo906~y#zQ-mHoh}}Z|1xNSMXa@hdI^dnSKY9|W)!-c|`Qx+Qvi7#%Z0 z{{%QfMPQ?Md+DqvacG*m0*vN0`T9LGaGgQDTNnZkW&Ii16Zte5rYp?f7hnl7x?5re zE&)D;=LFcBfxU+kYt3lEATzKHciCF+Fi)|A{r@KhJ`vTLb7`|sWh z(s8~oVyP}0N@lI@PQEhnL#IQR*SAsUpPB#tLF&D9FQ<$FfQyJS7~0QEJ9ORK4%w}P z9uw?$c;6*0zb|`y|N9{K=h`02!K1p*)(Pn>uOokYi``v9)S0(r0t7|r!( Date: Sun, 5 Jun 2022 12:08:16 -0300 Subject: [PATCH 220/306] fix screenshot reference --- apps/cassioWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 6a9cff447..780f223a6 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -2,7 +2,7 @@ "id": "cassioWatch", "name": "Cassio Watch", "description": "Clock with Space Cassio Watch Style", - "screenshots": [{ "url": "screens/screen1.png" }], + "screenshots": [{ "url": "screens/main.png" }], "icon": "app.png", "version": "1.0.2", "type": "clock", From a497c8af94d81a04f8f3c2489d8de19d58a29e2d Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:09:19 -0300 Subject: [PATCH 221/306] Update ChangeLog --- apps/cassioWatch/ChangeLog | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index 6eae6605e..9345e7ea5 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -1,3 +1,3 @@ -1.0.0: Main App. -1.0.1: Performance Fixes. -1.0.2: Correct Screen Clear and Draw. \ No newline at end of file +0.0: Main App. +0.1: Performance Fixes. +0.2: Correct Screen Clear and Draw. From 7958fb2d257cedb552ac7ae0e33c8d69a9539b1a Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:09:28 -0300 Subject: [PATCH 222/306] Update metadata.json --- apps/cassioWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 780f223a6..c77a7bc9e 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/main.png" }], "icon": "app.png", - "version": "1.0.2", + "version": "0.2", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], From c341009bc77f1ec4ba682061ffa0a625c6a67724 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:11:32 -0300 Subject: [PATCH 223/306] Update icon.js --- apps/cassioWatch/icon.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/apps/cassioWatch/icon.js b/apps/cassioWatch/icon.js index af61cd562..4e4428f88 100644 --- a/apps/cassioWatch/icon.js +++ b/apps/cassioWatch/icon.js @@ -1,5 +1 @@ -require("heatshrink").decompress( - atob( - "lksxH+ACUPh80AQMQDKYANEoQAJmgoanQoLAAhdYFKAAEFNKJUFTAsRCwyxRQ6IUHsosBmc0nQAEmgsWN5QoFAAszCxE6FREQCQ8zEg1erwIGLCJUME4IABsgABAoRaMFRwpHr0zmQABmddFoosHmgqENA5VDKQVdlkyq2A1WkwFWlldxAsDLBirKJQUyleA6vV52AAAOr1YtBLIkIh7PELAiBJFQUsqvUAAWq0d/v9VwHPvQsFFYIsEFQU0QJCACFQXO5wCBF4fUv+p6osBsk6mggDFoZWOmdPEQIrDAAYuD6tWldVAAcrg6HCQgQnEAYT8BFYMr1InDFxAGB1VOvGczmdvOjzkrFYMQFYgkBQQUzrtkmasCKQoDFAoVVg8zh8IgHH44rCEYK2EQQuJmd/J47eDMQmqmc6YYJWCQYQAIFYczQQYBFEgWqWAeqVQN5QgNPhAqFcobnCWIMsp9ypwfBVIgFCE4d/qt5ud5zt4p8sDwJVJBQMJHwdzlQrEE4ooCFIIAClczZQL6CFREPg9y4Gdp8ynUyQYImCE4QmBFAd5qtVBQMysoqBbwIrJlec4MrhEQr1ellOJowDDFASyCFYLGBnIoH/wqBhNy5t5ldWqtPJooADA4InBRYnUqtXr0ymZaBFQorBAAMruWdVoIACFINOO4ImB0ZPCAAbkC0csryCBWA0QFYbaChEIlgABNgMzlfNExBXD5sqTAIrCQIs6FYIzDFoMQiwTBC4Nkq8qFgInBFAQCE5tOmdkCwKAFQQaEEGwgABmVdxBZB0YrCAAujlUzxBWJFZYsDLIVeldU0fNE4PN5ujqkrnIqDKw6CCFhMzFggABmcsqoADXwILCFRJWELBIsDFoRMBr1dmddMQYPDOpArFFhpbEAAYMEDQ5WGAAIREEYIECmggEABDWHFRIsFEwIUEFpQpJFRQABiAWJFwQAECJasHFiQAPFRoABI5q7DQCgAGQpb/JFShaOGxAqUWqYpYRJ8QFDiKHL4YZSA==" - ) -); +require("heatshrink").decompress(atob("lkswkGswAHtGIxGGBhATJAAYXNCYoWOFIwWNChQWKBYWYCxIqTxGJFgwnDnACBkUiCwuYFQo9ECYIAClAsJxIUElAUDwQWEyxAHBwITBmczmUiCwprHCgMjmUhiIYBA4JCGIAeCwQUBCYIXBiUyFggVCFQsziMjmdCkcxiZbBiJCEFQZUBmND93uolEochFgpWEIAUUCgIACp00iZVBzIVEAoJABmUeConu8cRiNEoMZNwIrCzEiiUxpwVF901IwNN6JuBtGJlAVBkchCg3umkSiMNCoIAEQIJWFkgCB8UYinUjIVFxEhKwszDAUU7tRCg2hilTH4xVB6kRzAUGBQIVECYVEorEDAAeBptBiUenw7BCYQACieCCosd6MYwUVBwNUAQYvBeYOJCYVoxVeoK5BAAq0C8MjiM4LALFCilNCAQpCN4lBmUoFQQVCxTlBiMieI3uqUoagIVDRAeCkclCgvlkciFYdmsxwDlESmTdE8lRmSCECosiFgMhqgUDkZABBwWYCoNpIIYXBmchiKLBkYqBNggVBNwIsECwMikQUBlEiBgWJCoRCEEQITDNIJrEIAQABZYOYnIWBFoQUGIAZCCTYYWCAAQUExIUDFggNDAA5AEFg4AIIAhvGEYU4ChgWHAAoUIWYpdFFRIWHChxEICZoWFFBIA==")) From f6dbc2b61dd860935f7e77e76e7a75fa4738804f Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:17:22 -0300 Subject: [PATCH 224/306] Update metadata.json --- apps/cassioWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index c77a7bc9e..3756e7603 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -1,7 +1,7 @@ { "id": "cassioWatch", "name": "Cassio Watch", - "description": "Clock with Space Cassio Watch Style", + "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/main.png" }], "icon": "app.png", "version": "0.2", From a8a9eaad14495a32d101af2fde3ba72d828c225b Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:21:40 -0300 Subject: [PATCH 225/306] Update app.js --- apps/cassioWatch/app.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js index d9c3b490c..680531a61 100644 --- a/apps/cassioWatch/app.js +++ b/apps/cassioWatch/app.js @@ -106,7 +106,7 @@ function DrawClock() { g.setFont("7x11Numeric7Seg", 3); g.drawString(time, 70, 60); g.setFont("8x12", 2); - g.drawString(DayMap[d.getDay()], 20, 130); + g.drawString(DayMap[d.getDay()], 18, 130); g.setFont("8x12"); g.drawString(MonthMap[d.getMonth() - 1], 80, 126); g.setFont("8x12", 2); @@ -174,8 +174,6 @@ Bangle.on("lock", (locked) => { g.reset(); g.clear(); Bangle.setUI("clock"); -Bangle.loadWidgets(); -Bangle.drawWidgets(); DrawScene(); if (Bangle.isLocked()) { From c33b682d35f0e1e2886e21b56047a157d8ff8a12 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:21:58 -0300 Subject: [PATCH 226/306] Update metadata.json --- apps/cassioWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 3756e7603..872bb5cfe 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/main.png" }], "icon": "app.png", - "version": "0.2", + "version": "0.3", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], From 78438b6b88b6c17138a8881317cfe847d472363a Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:22:13 -0300 Subject: [PATCH 227/306] Update ChangeLog --- apps/cassioWatch/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index 9345e7ea5..77af622ee 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -1,3 +1,4 @@ 0.0: Main App. 0.1: Performance Fixes. 0.2: Correct Screen Clear and Draw. +0.3: Minor Fixes. From 242dea345916f8430fb0b05ff168a68c298668c2 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:54:38 -0300 Subject: [PATCH 228/306] Clear Clock Location Before Update Time --- apps/cassioWatch/app.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js index 680531a61..99d706ab3 100644 --- a/apps/cassioWatch/app.js +++ b/apps/cassioWatch/app.js @@ -104,6 +104,12 @@ function DrawClock() { m = d.getMinutes(); let time = h + ":" + ("0" + m).substr(-2); g.setFont("7x11Numeric7Seg", 3); + + g.clearRect(80, 57,170,96); + g.setColor(0, 255, 255); + g.drawRect(80, 57,170,96); + g.fillRect(80, 57,170,96); + g.setColor(0, 0, 0); g.drawString(time, 70, 60); g.setFont("8x12", 2); g.drawString(DayMap[d.getDay()], 18, 130); From ffd2a61d2af0a479b94e2d295dcf6630eaba5844 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:54:50 -0300 Subject: [PATCH 229/306] Update metadata.json --- apps/cassioWatch/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 872bb5cfe..db1ee9d76 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/main.png" }], "icon": "app.png", - "version": "0.3", + "version": "0.4", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], From a92a57cd94f36c197a8f000cfcf6ae6b83f36b53 Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 12:55:25 -0300 Subject: [PATCH 230/306] Update ChangeLog --- apps/cassioWatch/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index 77af622ee..af66f2c39 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -2,3 +2,4 @@ 0.1: Performance Fixes. 0.2: Correct Screen Clear and Draw. 0.3: Minor Fixes. +0.4: Clear Old Time on Screen Before Draw new Time From 4efbf720111607c4dca7c918473387a0c6c23bf8 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 5 Jun 2022 18:39:47 +0200 Subject: [PATCH 231/306] Set theme matching default color for message type icon --- apps/messages/ChangeLog | 1 + apps/messages/app.js | 2 +- apps/messages/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 53157f0d8..b21dd68e1 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -51,3 +51,4 @@ 0.36: Ensure a new message plus an almost immediate deletion of that message doesn't load the messages app (fix #1362) 0.37: Now use the setUI 'back' icon in the top left rather than specific buttons/menu items 0.38: Add telegram foss handling +0.39: Set default color for message icons according to theme diff --git a/apps/messages/app.js b/apps/messages/app.js index 745f7d208..73ea9b030 100644 --- a/apps/messages/app.js +++ b/apps/messages/app.js @@ -317,7 +317,7 @@ function showMessage(msgid) { {type:"txt", font:fontSmall, label:msg.src||/*LANG*/"Message", bgCol:g.theme.bg2, col: g.theme.fg2, fillx:1, pad:2, halign:1 }, title?{type:"txt", font:titleFont, label:title, bgCol:g.theme.bg2, col: g.theme.fg2, fillx:1, pad:2 }:{}, ]}, - { type:"btn", src:require("messages").getMessageImage(msg), col:require("messages").getMessageImageCol(msg), pad: 3, cb:()=>{ + { type:"btn", src:require("messages").getMessageImage(msg), col:require("messages").getMessageImageCol(msg, g.theme.fg2), pad: 3, cb:()=>{ cancelReloadTimeout(); // don't auto-reload to clock now showMessageSettings(msg); }}, diff --git a/apps/messages/metadata.json b/apps/messages/metadata.json index fd09fdfe4..4bc9f59e4 100644 --- a/apps/messages/metadata.json +++ b/apps/messages/metadata.json @@ -1,7 +1,7 @@ { "id": "messages", "name": "Messages", - "version": "0.38", + "version": "0.39", "description": "App to display notifications from iOS and Gadgetbridge/Android", "icon": "app.png", "type": "app", From 043e5bf42060269064191fedc0883d31699a2fac Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Sun, 5 Jun 2022 17:56:06 +0100 Subject: [PATCH 232/306] Initial version --- apps/bigdclock/ChangeLog | 1 + apps/bigdclock/bigdclock.app.js | 104 +++++++++++++++++++++++++++++++ apps/bigdclock/bigdclock.icon.js | 1 + apps/bigdclock/bigdclock.png | Bin 0 -> 8117 bytes apps/bigdclock/metadata.json | 16 +++++ apps/bigdclock/screenshot.png | Bin 0 -> 16711 bytes 6 files changed, 122 insertions(+) create mode 100644 apps/bigdclock/ChangeLog create mode 100644 apps/bigdclock/bigdclock.app.js create mode 100644 apps/bigdclock/bigdclock.icon.js create mode 100644 apps/bigdclock/bigdclock.png create mode 100644 apps/bigdclock/metadata.json create mode 100644 apps/bigdclock/screenshot.png diff --git a/apps/bigdclock/ChangeLog b/apps/bigdclock/ChangeLog new file mode 100644 index 000000000..ec66c5568 --- /dev/null +++ b/apps/bigdclock/ChangeLog @@ -0,0 +1 @@ +0.01: Initial version diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js new file mode 100644 index 000000000..983ca0d1c --- /dev/null +++ b/apps/bigdclock/bigdclock.app.js @@ -0,0 +1,104 @@ +// + +Graphics.prototype.setFontOpenSans = function(scale) { + // Actual height 48 (50 - 3) + this.setFontCustom( + atob('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAP8AAAAAAAAB/wAAAAAAAAH/gAAAAAAAAf+AAAAAAAAB/4AAAAAAAAH/gAAAAAAAAf8AAAAAAAAA/wAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAPAAAAAAAAAH8AAAAAAAAD/wAAAAAAAA//AAAAAAAAf/8AAAAAAAP//wAAAAAAH///AAAAAAB///4AAAAAA///8AAAAAAf///AAAAAAH///gAAAAAD///wAAAAAB///4AAAAAAf//+AAAAAAP///AAAAAAH///gAAAAAA///4AAAAAAD//8AAAAAAAP/+AAAAAAAA//gAAAAAAAD/wAAAAAAAAP4AAAAAAAAA8AAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAAAAAAP///AAAAAAH////gAAAAD/////gAAAAf/////gAAAH//////AAAA//////+AAAD//////8AAAf//////4AAD//4AH//gAAP/gAAAf/AAA/4AAAAf8AAH/AAAAA/4AAf4AAAAB/gAB/AAAAAD+AAH8AAAAAP4AAfwAAAAA/gAB/AAAAAD+AAH8AAAAAP4AAf4AAAAB/gAB/gAAAAH+AAD/gAAAB/wAAP/gAAAf/AAA//4AAf/8AAB///////gAAD//////8AAAH//////wAAAP/////+AAAAf/////wAAAA/////8AAAAAf////AAAAAAf///gAAAAAAB//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAHgAAAAAAAAA/AAAAAAAAAH+AAAAAAAAA/4AAAAAAAAD/AAAAAAAAAf8AAAAAAAAD/gAAAAAAAAf8AAAAAAAAB/gAAAAAAAAP8AAAAAAAAB/wAAAAAAAAP///////AAA///////8AAD///////wAAP///////AAA///////8AAD///////wAAP///////AAA///////8AAD///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAD8AAAOAAAAAfwAAB+AAAAD/AAAH8AAAAf8AAA/wAAAH/wAAH/AAAA//AAAf4AAAH/8AAD/gAAA//wAAP8AAAH//AAA/gAAA//8AAD+AAAH//wAAf4AAA/9/AAB/AAAH/n8AAH8AAA/8fwAAfwAAH/h/AAB/AAA/8H8AAH8AAH/gfwAAfwAA/8B/AAB/gAH/gH8AAH+AB/8AfwAAP8Af/gB/AAA////8AH8AAD////gAfwAAH///8AB/AAAf///gAH8AAA///8AAfwAAB///gAB/AAAD//4AAH8AAAH/+AAAfwAAAH/gAAB/AAAAAAAAAH8AAAAAAAAAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAYAAAAB/gAAB4AAAAD+AAAPwAAAAP4AAA/gAAAAfwAAH+AAAAB/AAAf4AAAAH8AAD/AB+AAfwAAP8AH4AA/gAA/gAfgAD+AAH+AB+AAP4AAfwAH4AA/gAB/AAfgAD+AAH8AB+AAP4AAfwAH4AA/gAB/AA/wAD+AAH8AD/AAP4AAfwAP8AA/gAB/AA/wAD+AAH+AH/AAf4AAf4Af+AB/AAA/wH/8AP8AAD////4D/wAAP//+////AAAf//7///4AAB///P///gAAD//8f//8AAAP//h///gAAAf/8D//+AAAA//gH//wAAAA/4AP/8AAAAAAAAP/AAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAA/wAAAAAAAAH/AAAAAAAAB/8AAAAAAAAP/wAAAAAAAD//AAAAAAAAf/8AAAAAAAH//wAAAAAAA/+/AAAAAAAP/z8AAAAAAB/8PwAAAAAAf/g/AAAAAAD/4D8AAAAAAf/APwAAAAAH/4A/AAAAAA/+AD8AAAAAP/wAPwAAAAB/8AA/AAAAAf/gAD8AAAAD/4AAPwAAAA//AAA/AAAAD///////wAAP///////AAA///////8AAD///////wAAP///////AAA///////8AAD///////wAAP///////AAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAQAB/gAAAD//gAD+AAA////AAP8AAD///8AAfwAAP///wAB/AAA////AAH8AAD///8AAf4AAP///wAA/gAA////AAD+AAD/+H8AAP4AAP4AfwAA/gAA/gB+AAD+AAD+AH4AAP4AAP4AfwAA/gAA/gB/AAD+AAD+AH8AAP4AAP4AfwAB/gAA/gB/AAH+AAD+AH+AA/wAAP4Af8AD/AAA/gB/4A/8AAD+AD////gAAP4AP///+AAA/gAf///wAAD+AB////AAAP4AD///4AAA/gAH///AAAAAAAP//4AAAAAAAf/+AAAAAAAAf/gAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf//AAAAAAAf///gAAAAAP////gAAAAD/////gAAAAf/////AAAAD/////+AAAA//////8AAAD//////4AAAf/8/4//gAAD/8H+Af/AAAP/AfgAf8AAB/wD+AA/wAAH+APwAB/gAA/wB/AAD+AAD+AH4AAP4AAP4AfgAA/gAB/gB+AAD+AAH8AH4AAP4AAfwAfgAA/gAB/AB/AAH+AAH8AH8AAf4AAfwAf4AD/AAB/AB/4A/8AAH8AH////wAAfwAP///+AAB/AA////4AAH8AB////AAAfwAD///4AAA/AAH///AAAAAAAP//4AAAAAAAP/+AAAAAAAAP/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAAAAAAA/gAAAAAAAAD+AAAAAAAAAP4AAAAAAAAA/gAAAAAAAAD+AAAAAAAAAP4AAAAADAAA/gAAAAB8AAD+AAAAAfwAAP4AAAAH/AAA/gAAAB/8AAD+AAAAf/wAAP4AAAP//AAA/gAAD//8AAD+AAA///wAAP4AAP//8AAA/gAD///AAAD+AB///wAAAP4Af//4AAAA/gH//+AAAAD+B///gAAAAP4f//wAAAAA/v//8AAAAAD////AAAAAAP///wAAAAAA///4AAAAAAD//+AAAAAAAP//gAAAAAAA//wAAAAAAAD/8AAAAAAAAP/AAAAAAAAA/wAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAH/wAAAAH8AB//gAAAB/8AP//gAAAf/8B//+AAAB//4P//8AAAP//w///4AAB///n///gAAH//+////AAA/////gf8AAD/h//4AfwAAP4B//AB/gAB/gD/4AD+AAH8AP/gAP4AAfwAf8AA/gAB/AA/wAB+AAH4AD/AAH4AAfwAP8AAfgAB/AB/4AD+AAH8AH/gAP4AAfwA//AA/gAA/gH/+AH+AAD/h//8AfwAAP//+/4D/AAAf//7///8AAB///H///gAAD//4P//+AAAP//g///wAAAf/8B//+AAAA//gD//wAAAA/4AH/+AAAAAAAAH/wAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAD//AAAAAAAA///AAAAAAAH//+AAPwAAB///8AA/gAAP///4AD+AAA////wAP4AAH////AA/gAAf///8AD+AAD/4B/4AP4AAP+AB/gA/gAA/gAD+AD+AAH+AAP4AP4AAfwAAfgA/gAB/AAB+AD+AAH8AAH4AP4AAfwAAfgB/AAB/AAB+AH8AAH8AAH4A/wAAf4AA/AH+AAA/gAD8A/4AAD/gAfwH/gAAP/AD+B/8AAAf/g/w//gAAB//////+AAAD//////wAAAH/////+AAAAP/////wAAAAf////8AAAAA/////AAAAAA////wAAAAAAf//4AAAAAAAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAfgAAAAP8AAD/AAAAA/4AAf8AAAAH/gAB/4AAAAf+AAH/gAAAB/4AAf+AAAAH/gAB/4AAAAf+AAH/AAAAA/wAAP8AAAAB+AAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=='), + 46, + atob("EhklJSUlJSUlJSUlEg=="), + 64+(scale<<8)+(1<<16) + ); +}; + +// the following 2 sections are used from waveclk to schedule minutely updates +// timeout used to update every minute +var drawTimeout; + +// schedule a draw for the next minute +function queueDraw() { + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function () { + drawTimeout = undefined; + draw(); + }, 60300 - (Date.now() % 60000)); +} + +function drawBackground() { + g.setBgColor(0, 0, 0); + g.setColor(1, 1, 1); + g.clear(); +} + +function digit(num) { + return String.fromCharCode(num + 48); +} + +function timeString(h, m) { + return digit(h / 10) + digit(h % 10) + ":" + digit(m / 10) + digit(m % 10); +} + +function dayString(w) { + return digit(w / 10) + digit(w % 10); +} + +function draw() { + g.reset(); + drawBackground(); + var date = new Date(); + var h = date.getHours(), + m = date.getMinutes(); + var d = date.getDate(), + w = date.getDay(); // d=1..31; w=0..6 + const level = E.getBattery(); + const width = level + (level/2); + + g.setBgColor(0, 0, 0); + g.setColor(1, 1, 1); + + g.setFontOpenSans(); + g.setFontAlign(0, -1); + g.drawString(timeString(h, m), g.getWidth() / 2, 30); + g.drawString(dayString(d), g.getWidth() * 3 / 4, 98); + g.setFont('Vector', 52); + g.setFontAlign(-1, -1); + g.drawString("SUMOTUWETHFRSA".slice(2*w,2*w+2), 6, 103); + g.setColor(0, 1, 0); + g.fillRect(0, 90, g.getWidth(), 94); + g.reset(); + + g.setColor(1,1,1); + g.fillRect(9,159,166,171); + g.fillRect(167,163,170,167); + if (Bangle.isCharging()) { + g.setColor(1,1,0); + } else if (level > 40) { + g.setColor(0,1,0); + } else { + g.setColor(1,0,0); + } + g.fillRect(12,162,12+width,168); + if (level < 100) { + g.setColor(0,0,0); + g.fillRect(12+width+1,162,162,168); + } + // widget redraw + Bangle.drawWidgets(); + queueDraw(); +} + +Bangle.loadWidgets(); +draw(); + +//the following section is also from waveclk +Bangle.on('lcdPower', on => { + if (on) { + draw(); // draw immediately, queue redraw + } else { // stop draw timer + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + } +}); + +Bangle.setUI("clock"); + +Bangle.drawWidgets(); diff --git a/apps/bigdclock/bigdclock.icon.js b/apps/bigdclock/bigdclock.icon.js new file mode 100644 index 000000000..4aaecfa23 --- /dev/null +++ b/apps/bigdclock/bigdclock.icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwgJC/AAMD4F4AgN4g/D/4FB/E/AoUH/F/AoOAh4FCz4FD4EPAoUHAoOHwAFDx/AAoUfAol/g4RD/w1Cg/B/AFD4fwn4XC4fg8/wAoPH//P7AFE9wFE8YFEEwcf4+BwAFBiACBAoUwAQPAAQMgAQNAArIjFF4sYgEBAoUIAoIRChi3B8AFBg8Ah/wAoIVBjH8ZAXguF+AoSDBn7WEh4FEg4")) diff --git a/apps/bigdclock/bigdclock.png b/apps/bigdclock/bigdclock.png new file mode 100644 index 0000000000000000000000000000000000000000..4da1a901053505cf2709ed0b8d252065d0c6a361 GIT binary patch literal 8117 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 literal 0 HcmV?d00001 diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json new file mode 100644 index 000000000..a84247aff --- /dev/null +++ b/apps/bigdclock/metadata.json @@ -0,0 +1,16 @@ +{ "id": "bigdclock", + "name": "Big digit clock containing just the essentials", + "shortName":"Big digit clock", + "version":"0.01", + "description": "A clock containing just the essentials, made as easy to read as possible for those of us that need glasses. It contains the time, the day-of-week, the day-of-month, and the current battery state-of-charge.", + "icon": "bigdclock.png", + "type": "clock", + "tags": "clock", + "allow_emulator":true, + "supports" : ["BANGLEJS2"], + "screenshots": [ { "url":"screenshot.png" } ], + "storage": [ + {"name":"bigdclock.app.js","url":"bigdclock.app.js"}, + {"name":"bigdclock.img","url":"bigdclock.icon.js","evaluate":true} + ] +} diff --git a/apps/bigdclock/screenshot.png b/apps/bigdclock/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..96f2dd4ef1653332bcfe0d8b31f28a78ee5c89a6 GIT binary patch literal 16711 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 literal 0 HcmV?d00001 From 940241ce52209c2374f1799af8baf5e74c3f826d Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Sun, 5 Jun 2022 18:01:21 +0100 Subject: [PATCH 233/306] Fixing the moon phase calculation The moon phase calculation was quite poor - this one gives much better results. --- apps/widmp/ChangeLog | 1 + apps/widmp/metadata.json | 2 +- apps/widmp/widget.js | 39 ++++++++++++++++++++++++++------------- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/apps/widmp/ChangeLog b/apps/widmp/ChangeLog index 02658296a..036bdb0f4 100644 --- a/apps/widmp/ChangeLog +++ b/apps/widmp/ChangeLog @@ -2,3 +2,4 @@ 0.02: Fix position and overdraw bugs 0.03: Better memory usage, theme support 0.04: Replace the 8 phases by a more exact drawing, see forum.espruino.com/conversations/371985 +0.05: Fixed the algorithm for calculating the moon's phase diff --git a/apps/widmp/metadata.json b/apps/widmp/metadata.json index 94f05a426..ff7ad79ad 100644 --- a/apps/widmp/metadata.json +++ b/apps/widmp/metadata.json @@ -1,7 +1,7 @@ { "id": "widmp", "name": "Moon Phase Widget", - "version": "0.04", + "version": "0.05", "description": "Display the current moon phase in blueish for both hemispheres. In the southern hemisphere the 'My Location' app is needed.", "icon": "widget.png", "type": "widget", diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index 6da572aab..bf032a5ff 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -1,19 +1,24 @@ WIDGETS["widmoon"] = { area: "tr", width: 24, draw: function() { const CenterX = this.x + 12, CenterY = this.y + 12, Radius = 11; var southernHemisphere = false; // when in southern hemisphere, use the "My Location" App + var lastCalculated = 0; // When we last calculated the phase + var phase = 0; // The last phase we calculated const simulate = false; // simulate one month in one minute const updateR = 1000; // update every x ms in simulation - function moonPhase() { - const d = Date(); - var month = d.getMonth(), year = d.getFullYear(), day = d.getDate(); - if (simulate) day = d.getSeconds() / 2 +1; - if (month < 3) {year--; month += 12;} - mproz = ((365.25 * year + 30.6 * ++month + day - 694039.09) / 29.5305882); - mproz = mproz - (mproz | 0); // strip integral digits, result is between 0 and <1 - if (simulate) console.log(mproz + " " + day); - return (mproz); + // https://deirdreobyrne.github.io/calculating_moon_phases/ + function moonPhase(millis) { + k = (millis - 946728000000) / 3155760000000; + mp = (8328.69142475915 * k) + 2.35555563685; + m = (628.30195516723 * k) + 6.24006012726; + d = (7771.37714483372 * k) + 5.19846652984; + t = d + (0.109764 * Math.sin (mp)) - (0.036652 * Math.sin(m)) + (0.022235 * Math.sin(d+d-mp)) + (0.011484 * Math.sin(d+d)) + (0.003735 * Math.sin(mp+mp)) + (0.00192 * Math.sin(d)); + k = (1 - Math.cos(t))/2; + if (Math.sin(t) < 0) { + k = -k; + } + return (k); // Goes 0 -> 1 for waxing, and from -1 -> 0 for waning } function loadLocation() { @@ -44,11 +49,19 @@ WIDGETS["widmoon"] = { area: "tr", width: 24, draw: function() { g.fillRect(CenterX - Radius, CenterY - Radius, CenterX + Radius, CenterY + Radius); g.setColor(0x41f); - mproz = moonPhase(); // mproz = 0..<1 + millis = (new Date()).getTime(); + if ((millis - lastCalculated) >= 7200000) { + phase = moonPhase(millis); + lastCalculated = millis; + } - leftFactor = mproz * 4 - 1; - rightFactor = (1 - mproz) * 4 - 1; - if (mproz >= 0.5) leftFactor = 1; else rightFactor = 1; + if (phase < 0) { // waning - phase goes from -1 to 0 + leftFactor = 1; + rightFactor = -1 - 2*phase; + } else { // waxing - phase goes from 0 to 1 + rightFactor = 1; + leftFactor = -1 + 2*phase; + } if (true == southernHemisphere) { var tmp=leftFactor; leftFactor=rightFactor; rightFactor=tmp; } From 549c24943c6dd57be3f7146b19a6fa218a6bc23f Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 13:44:23 -0400 Subject: [PATCH 234/306] update to native date funcions --- apps/cassioWatch/ChangeLog | 1 + apps/cassioWatch/app.js | 77 +++++++++++----------------------- apps/cassioWatch/metadata.json | 2 +- 3 files changed, 27 insertions(+), 53 deletions(-) diff --git a/apps/cassioWatch/ChangeLog b/apps/cassioWatch/ChangeLog index af66f2c39..b0d0c0c20 100644 --- a/apps/cassioWatch/ChangeLog +++ b/apps/cassioWatch/ChangeLog @@ -3,3 +3,4 @@ 0.2: Correct Screen Clear and Draw. 0.3: Minor Fixes. 0.4: Clear Old Time on Screen Before Draw new Time +0.5: Update Date and Time to use Native date Funcions \ No newline at end of file diff --git a/apps/cassioWatch/app.js b/apps/cassioWatch/app.js index 99d706ab3..2c4f2234a 100644 --- a/apps/cassioWatch/app.js +++ b/apps/cassioWatch/app.js @@ -14,14 +14,14 @@ function bigThenSmall(big, small, x, y) { g.drawString(small, x, y); } -function ClearIntervals(inoreclock){ - if (RocketInterval) clearInterval(RocketInterval); - if (BatteryInterval) clearInterval(BatteryInterval); - RocketInterval = undefined; - BatteryInterval = undefined; - if (inoreclock) return; - if (ClockInterval) clearInterval(ClockInterval); - ClockInterval = undefined; +function ClearIntervals(inoreclock) { + if (RocketInterval) clearInterval(RocketInterval); + if (BatteryInterval) clearInterval(BatteryInterval); + RocketInterval = undefined; + BatteryInterval = undefined; + if (inoreclock) return; + if (ClockInterval) clearInterval(ClockInterval); + ClockInterval = undefined; } let background = require("heatshrink").decompress( @@ -76,47 +76,21 @@ let rocket_sequence = 1; g.clear(); -let DayMap = ["DOM","SEG", "TER", "QUA", "QUI", "SEX", "SAB"]; -let MonthMap = [ - "JAN", - "FEV", - "MAR", - "ABR", - "MAI", - "JUN", - "JUL", - "AUG", - "SET", - "OUT", - "NOV", - "DEZ", -]; -let GetCurrentDay = (current_day) => { - if (current_day < 10) { - current_day = "0" + current_day; - } - return current_day; -}; - function DrawClock() { - let d = new Date(); - let h = d.getHours(), - m = d.getMinutes(); - let time = h + ":" + ("0" + m).substr(-2); g.setFont("7x11Numeric7Seg", 3); - - g.clearRect(80, 57,170,96); + g.clearRect(80, 57, 170, 96); g.setColor(0, 255, 255); - g.drawRect(80, 57,170,96); - g.fillRect(80, 57,170,96); + g.drawRect(80, 57, 170, 96); + g.fillRect(80, 57, 170, 96); g.setColor(0, 0, 0); - g.drawString(time, 70, 60); + g.drawString(require("locale").time(new Date(), 1), 70, 60); g.setFont("8x12", 2); - g.drawString(DayMap[d.getDay()], 18, 130); + g.drawString(require("locale").dow(new Date(), 2).toUpperCase(), 18, 130); g.setFont("8x12"); - g.drawString(MonthMap[d.getMonth() - 1], 80, 126); + g.drawString(require("locale").month(new Date(), 2).toUpperCase(), 80, 126); g.setFont("8x12", 2); - g.drawString(GetCurrentDay(d.getDate()), 78, 137); + const time = new Date().getDate(); + g.drawString(time < 10 ? "0" + time : time, 78, 137); } function DrawBattery() { @@ -124,10 +98,10 @@ function DrawBattery() { } function DrawRocket() { - g.clearRect(5, 62,63,115); + g.clearRect(5, 62, 63, 115); g.setColor(0, 255, 255); - g.drawRect(5, 62,63,115); - g.fillRect(5, 62,63,115); + g.drawRect(5, 62, 63, 115); + g.fillRect(5, 62, 63, 115); g.drawImage(Rocket[rocket_sequence], 5, 65, { scale: 0.7 }); g.setColor(0, 0, 0); rocket_sequence = rocket_sequence + 1; @@ -167,14 +141,13 @@ Bangle.on("lcdPower", (on) => { } }); - Bangle.on("lock", (locked) => { - if (locked) { - ClearIntervals(true); - } else { - ClearIntervals(); - DrawScene(); - } + if (locked) { + ClearIntervals(true); + } else { + ClearIntervals(); + DrawScene(); + } }); g.reset(); diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index db1ee9d76..48a597ada 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -4,7 +4,7 @@ "description": "Animated Clock with Space Cassio Watch Style", "screenshots": [{ "url": "screens/main.png" }], "icon": "app.png", - "version": "0.4", + "version": "0.5", "type": "clock", "tags": "clock, weather, cassio, retro", "supports": ["BANGLEJS2"], From adb96f1704c9b9f8c5ea952685d9e5a7b30c732d Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 14:59:58 -0300 Subject: [PATCH 235/306] Create pt_BR.json --- lang/pt_BR.json | 167 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 lang/pt_BR.json diff --git a/lang/pt_BR.json b/lang/pt_BR.json new file mode 100644 index 000000000..75849ddad --- /dev/null +++ b/lang/pt_BR.json @@ -0,0 +1,167 @@ +{ + "//": "Portuguese Brasil language translations", + "GLOBAL": { + "//": "Translations that apply for all apps", + "New Timer": "Novo Temporizador", + "New Alarm": "Novo Alarme", + "Auto snooze": "Soneca automática", + "week": "semana", + "circle 3": "círculo 3", + "(repeat)": "(repetir)", + "Save": "Salvar", + "Keep Msgs": "Manter Msgs", + "music": "música", + "circle 4": "círculo 4", + "circle 2": "círculo 2", + "circle count": "contagem em círculo", + "circle 1": "círculo 1", + "battery warn": "aviso de bateria", + "show widgets": "exibir widgets", + "data": "dados", + "heartrate": "frequência cardíaca", + "distance goal": "distancia de chegada", + "Circle": "Círculo", + "colorize icon": "colorir ícone", + "min. confidence": "min. confiança", + "minimum": "mínimo", + "maximum": "máximo", + "Heartrate": "Frequência Cardíaca", + "weather circle": "círculo meteorológico", + "step length": "comprimento do passo", + "valid period": "período válido", + "TAP right top/bottom": "TAP superior/inferior direita", + "Vector font size": "Tamanho de letra vectorial", + "Yes\ndefinitely": "Sim\ndefinitivamente", + "BTNs 1:startlap 2:exit 3:reset": "BTNs 1:startlap 2:exit 3:reset", + "STEPS": "ETAPAS", + "Font": "Fonte", + "Show clocks": "Mostrar relógios", + "App Source\nNot found": "Fonte do aplicativo\nNão encontrado", + "Mark Unread": "Marcar como não lido", + "View Message": "Ver Mensagem", + "start&lap/reset, BTN1: EXIT": "start&lap/reset, BTN1: SAÍDA", + "Launcher Settings": "Configurações do Launcher", + "Delete All Messages": "Apagar todas as mensagens", + "Delete all messages": "Apagar todas as mensagens", + "Utils": "Utils", + "LCD": "LCD", + "Apps": "Apps", + "Record Run": "Gravar Corrida", + "No Messages": "Sem Mensagens", + "Unread timer": "Temporizador não visto", + "Are you sure": "Tem certeza", + "Make Connectable": "Habilitar Conexão", + "Piezo": "Piezo", + "Bluetooth": "Bluetooth", + "BLE": "BLE", + "Programmable": "Programável", + "Vibration": "Vibração", + "Quiet Mode": "Modo Silencioso", + "Foreground": "Primeiro plano", + "Passkey BETA": "Senha BETA", + "HID": "HID", + "Light BW": "BW Leve", + "Foreground 2": "Primeiro plano 2", + "Dark BW": "BW Escuro", + "Background": "Plano de Fundo", + "Highlight FG": "Destaque FG", + "Customize": "Personalizar", + "Background 2": "Plano de Fundo 2", + "Wake on BTN3": "Acordar no BTN3", + "Wake on BTN2": "Acordar no BTN2", + "Highlight BG": "Destaque BG", + "LCD Timeout": "Tempo limite do LCD", + "Wake on FaceUp": "Acordar no FaceUp", + "Wake on BTN1": "Acordar no BTN1", + "Wake on Twist": "Acordar ao Balançar", + "Wake on Touch": "Acordar ao Tocar", + "Connect device\nto add to\nwhitelist": "Ligar dispositivo\npara adicionar a\nWhitelist", + "Remove": "Remover", + "Add Device": "Adicionar dispositivo", + "LCD Brightness": "Luminosidade do LCD", + "Twist Max Y": "Max Y do Balanço", + "Utilities": "Utilidades", + "Twist Threshold": "Limiar do Balanço", + "Time Zone": "Fuso horário", + "Twist Timeout": "Timeout do Balanço", + "Clock Style": "Estilo do Relógio", + "Debug Info": "Debug Infos", + "Log": "Logs", + "Storage": "Armazenamento", + "Rewrite Settings": "Re-escrever Configurações", + "Compacting...\nTakes approx\n1 minute": "Compactando...\nLeva aproximadamente\n1 minuto", + "Flatten Battery": "Drenar Bateria", + "Reset Settings": "Resetar Configurações", + "Compact Storage": "Armazenamento compacto", + "Stay Connectable": "Manter Conectavel", + "Turn Off": "Desativar", + "Connectable": "Conectável", + "This will remove everything": "Esta ação irá apagar tudo", + "Date": "Data", + "Month": "Mês", + "Second": "Segundo", + "Minute": "Minuto", + "Flattening battery - this can take hours.\nLong-press button to cancel": "Drenando Bateria - isto pode demorar horas.\nSegure o Botão para Cancelar", + "Reset to Defaults": "Resetar Dispositivo", + "Hour": "Hora", + "No Clocks Found": "Não encontramos nenhum Relogio", + "Right": "Confirmar", + "No app has settings": "Nenhum aplicativo possui configurações", + "App Settings": "Configurações do aplicativo", + "OFF": "DESLIGADO", + "Side": "Lado", + "Left": "Esquerda", + "Sort Order": "Ordem de classificação", + "Widgets": "Widgets", + "Invalid settings": "Configurações inválidas", + "Sleep Phase Alarm": "Alarme da Fase do Sono", + "Alarm": "Alarme", + "Minutes": "Minutos", + "TIMER": "TIMER", + "Hours": "Horário", + "on": "em", + "Reset All": "Resetar tudo", + "Repeat": "Repetir", + "Delete": "Deletar", + "Enabled": "Habilitado", + "Reset all widgets": "Redefinir todos os widgets", + "Reset": "Resetar", + "goal": "meta", + "Message": "Mensagem", + "Beep": "Bip", + "Vibrate": "Vibrar", + "System": "Sistema", + "Alerts": "Alertas", + "Locale": "Localização", + "Set Time": "Tempo Definido", + "Whitelist": "Whitelist", + "Select Clock": "Selecionar Relógio", + "BACK": "VOLTAR", + "Timer": "Temporizador", + "Error in settings": "Erro nas Configurações", + "Disable": "Desativar", + "Factory Reset": "Reset de Fábrica", + "Connected": "Conectado", + "ALARM": "ALARME", + "Sleep": "Dormir", + "Messages": "Mensagens", + "Hide": "Esconder", + "Show": "Mostrar", + "On": "Ativo", + "Ok": "Ok", + "No": "Não", + "Settings": "Configurações", + "steps": "passos", + "back": "voltar", + "Steps": "Passos", + "Year": "Ano", + "Yes": "Sim", + "Loading": "Carregando", + "Music": "Música", + "color": "cor", + "off": "desativado", + "Off": "Desativado", + "Theme": "Tema", + "Back": "Voltar" + } +} From 070f78e7528c3d4461484b3279af48f5a4dd52dd Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Sun, 5 Jun 2022 19:51:19 +0100 Subject: [PATCH 236/306] Create README.md --- apps/bigdclock/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 apps/bigdclock/README.md diff --git a/apps/bigdclock/README.md b/apps/bigdclock/README.md new file mode 100644 index 000000000..068f78294 --- /dev/null +++ b/apps/bigdclock/README.md @@ -0,0 +1,12 @@ +# Big Digit Clock + +There are a number of big digit clocks available for the Bangle, but this is +the first which shows all the essential information that a clock needs to show +in a manner that is easy to read by those with poor eyesight. + +The clock shows the time-of-day, the day-of-week and the day-of-month, as well +as an easy-to-see icon showing the current charge on the battery. ![screenshot](./screenshot.png) + +## Creator + +Created by [Deirdre O'Byrne](https://github.com/deirdreobyrne) From edf06fe56f6005736a2795cea68cf217f586b8f7 Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Sun, 5 Jun 2022 19:51:45 +0100 Subject: [PATCH 237/306] Update README.md --- apps/bigdclock/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/bigdclock/README.md b/apps/bigdclock/README.md index 068f78294..71f4362fa 100644 --- a/apps/bigdclock/README.md +++ b/apps/bigdclock/README.md @@ -5,7 +5,9 @@ the first which shows all the essential information that a clock needs to show in a manner that is easy to read by those with poor eyesight. The clock shows the time-of-day, the day-of-week and the day-of-month, as well -as an easy-to-see icon showing the current charge on the battery. ![screenshot](./screenshot.png) +as an easy-to-see icon showing the current charge on the battery. + +![screenshot](./screenshot.png) ## Creator From dfacb87e37bb43023c68ecb1dfb3514bdd788fcd Mon Sep 17 00:00:00 2001 From: deirdreobyrne Date: Sun, 5 Jun 2022 19:53:03 +0100 Subject: [PATCH 238/306] Update metadata.json --- apps/bigdclock/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index a84247aff..275a33343 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -8,6 +8,7 @@ "tags": "clock", "allow_emulator":true, "supports" : ["BANGLEJS2"], + "readme": "README.md", "screenshots": [ { "url":"screenshot.png" } ], "storage": [ {"name":"bigdclock.app.js","url":"bigdclock.app.js"}, From 4001c58d74d46bfbe28d51b8862a58a10ecf8aab Mon Sep 17 00:00:00 2001 From: Dione Batista Date: Sun, 5 Jun 2022 15:11:59 -0400 Subject: [PATCH 239/306] update screenshots --- apps/cassioWatch/metadata.json | 2 +- apps/cassioWatch/screens/main.png | Bin 4389 -> 0 bytes apps/cassioWatch/screens/screen_day.png | Bin 0 -> 457475 bytes apps/cassioWatch/screens/screen_night.png | Bin 0 -> 352025 bytes 4 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 apps/cassioWatch/screens/main.png create mode 100644 apps/cassioWatch/screens/screen_day.png create mode 100644 apps/cassioWatch/screens/screen_night.png diff --git a/apps/cassioWatch/metadata.json b/apps/cassioWatch/metadata.json index 48a597ada..448b0906c 100644 --- a/apps/cassioWatch/metadata.json +++ b/apps/cassioWatch/metadata.json @@ -2,7 +2,7 @@ "id": "cassioWatch", "name": "Cassio Watch", "description": "Animated Clock with Space Cassio Watch Style", - "screenshots": [{ "url": "screens/main.png" }], + "screenshots": [{ "url": "screens/screen_day.png" },{ "url": "screens/screen_night.png" }], "icon": "app.png", "version": "0.5", "type": "clock", diff --git a/apps/cassioWatch/screens/main.png b/apps/cassioWatch/screens/main.png deleted file mode 100644 index a5d348575e320790b60ea52248370085fd9e730a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4389 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