From e8bc79c34f008f462a21a46c267bfeee2861c85b Mon Sep 17 00:00:00 2001 From: hughbarney Date: Mon, 21 Feb 2022 20:11:54 +0000 Subject: [PATCH 01/10] The Ring - proof of concept ring guage using preset images --- apps/thering/0p.png | Bin 0 -> 11212 bytes apps/thering/100p.png | Bin 0 -> 2106 bytes apps/thering/10p.png | Bin 0 -> 11612 bytes apps/thering/1circle.png | Bin 0 -> 3127 bytes apps/thering/1ring.png | Bin 0 -> 14515 bytes apps/thering/20p.png | Bin 0 -> 11874 bytes apps/thering/2p.png | Bin 0 -> 11309 bytes apps/thering/30p.png | Bin 0 -> 12079 bytes apps/thering/40p.png | Bin 0 -> 12350 bytes apps/thering/4p.png | Bin 0 -> 11369 bytes apps/thering/50p.png | Bin 0 -> 12567 bytes apps/thering/60p.png | Bin 0 -> 12840 bytes apps/thering/70p.png | Bin 0 -> 13089 bytes apps/thering/7p.png | Bin 0 -> 11475 bytes apps/thering/80p.png | Bin 0 -> 13266 bytes apps/thering/90p.png | Bin 0 -> 13573 bytes apps/thering/README.md | 73 +++++++++ apps/thering/app-icon.js | 1 + apps/thering/app.js | 224 +++++++++++++++++++++++++++ apps/thering/app.png | Bin 0 -> 3305 bytes apps/thering/calc_precentages.js | 58 +++++++ apps/thering/metadata.json | 14 ++ apps/thering/screenshot_thering1.png | Bin 0 -> 3113 bytes apps/thering/screenshot_thering2.jpg | Bin 0 -> 45141 bytes 24 files changed, 370 insertions(+) create mode 100644 apps/thering/0p.png create mode 100644 apps/thering/100p.png create mode 100644 apps/thering/10p.png create mode 100644 apps/thering/1circle.png create mode 100644 apps/thering/1ring.png create mode 100644 apps/thering/20p.png create mode 100644 apps/thering/2p.png create mode 100644 apps/thering/30p.png create mode 100644 apps/thering/40p.png create mode 100644 apps/thering/4p.png create mode 100644 apps/thering/50p.png create mode 100644 apps/thering/60p.png create mode 100644 apps/thering/70p.png create mode 100644 apps/thering/7p.png create mode 100644 apps/thering/80p.png create mode 100644 apps/thering/90p.png create mode 100644 apps/thering/README.md create mode 100644 apps/thering/app-icon.js create mode 100644 apps/thering/app.js create mode 100644 apps/thering/app.png create mode 100644 apps/thering/calc_precentages.js create mode 100644 apps/thering/metadata.json create mode 100644 apps/thering/screenshot_thering1.png create mode 100644 apps/thering/screenshot_thering2.jpg diff --git a/apps/thering/0p.png b/apps/thering/0p.png new file mode 100644 index 0000000000000000000000000000000000000000..26b159a172b966bd60e74e76c0b6c4fa0865c3ff GIT binary patch literal 11212 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 literal 0 HcmV?d00001 diff --git a/apps/thering/100p.png b/apps/thering/100p.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1464b65e930bb65050503620735a6519d4e245 GIT binary patch literal 2106 zcmb7GX*kq-8~*)=nK8ql*EW_UOV(;6%VC<3CBqOYw3xp(DOp+=8Je*bDn(9OD9gND z$(WQa)SslBRE*HEj-`=oQ)ujt^X2{iet7QXy6*e=_FUJKywBa4fLFr<00=I79lX|= z_wPty*0Hp5#DATj3trClfcr^f3;^t`i-Vmv!+$cnEuzOt#vyxc?fa}%U>{APM|&^O zU{#j>xfd3mLA3=fh1c{^LYM8>d3YuW^Bgr;a)kgUfsY4aK}!ajtU%Ry8OEjgs-F5y zsVKnY9F#2biC$gS;L(jR$Nke%AKY zHTX|L3t$YbBF~c5KygtkO1JI}a(J^(QJ!@)MXX623)2=d4q_^@jpw5$%u4 zcKPo2P_NE_7U{zqPnQhzqNCO2L>>Fpdf}rx@CRPC4g0bzEe^h4)#QZyvX&Ll2y>5f zPphbt(;&tk9mlQHJ`rW&1z4`|3~6ul=hW z{bvGfm{IjW(OX-B%=S_2k*g2w-)CpZ> z*a@58eq*~FbO6`0o<52!#adWcJi4BGB8BC(R*;6~lz5C~Ue?LvKxDs@DVS zGBYf1X1_O;nR3(zxxI9sw>a zZ0gqUvOIvW^*62O|C^xqqCBf%7}$`v;?DCN&C$x$hp<_*B}v!)>!b~3kjoJ{KAu)c zs_B&+or}R5#ylBb0DDZkdIP%Okn~pjk7J_97N|96i8k6)m`k#0%~7A6{$0C2Y= zZ3rS_{;#M2FFJ}_J${!@zGD=-INjJ+qoMWs4pH&22ip#_a5w6QU$oO(z)bplu0~Q& z(V5dm1dj$U^lXEwO3DLwR!EZcHw4<|b$`>UrR&#-_dG9*Au4-zuwSMa!LS@F^>Xja zU=VUHbWLav35~z4g2{<6k@1Lg@-n^I=Hs#H0X&f}UUAjX-ykU81A+cr>*$w;0zAoZ zLMSawFn|-pmlJ>h>Zop{K_DU{Ju$-I7M}Dj$i`%Jrfx&qZgH2tP(xl)KU%)_qm zr-XoQ_Uy#jIf*RAo4ks(`>A7Ru~~{!atBUbO&uGTCK)~qidm`C;77{BUR4w_exp@E z>29Qehf-TKx8h8b*Cj>wFC}YEsLZBY~SF@yUW$KwJ?u8q+vrD}g;hoK`4|ZuN?PYaYvYpejJR5Gy|K!9uUv(D0 z!pSradFy4~l?-)5nNf8;wO`Ws-{l`5wkA}cFu!I|lb-0kLA~oy60P||D9ch4PPe+3 zN9#EkXNiTi`W+7NE7S)&psaB1WQ);rTmemFE+kIgb4Pu&?uq<;UOQF@k#|sa$s*TcVjOBy1993zmN zpU5XghN8?=(ge@N_ct&s*OCVNB`fS}$KHMMPqCPwpt#pmtU;RQ^JJ+?sQBSl>H1iuTZF>_Xi-6Mu5sF6wV#=WkdlQov z*<8fNM38d!iJa)oJEuHs-a_nHl3FLk*mC1-yAI)maaH2QVzek&ZTFM{6NiguV7l!E ztL3v1H8Dxa#5&RDE%#24-7@aumfPF>+VNXH?az{%dW}Vj^WR1q8C_R3Ml93|FGCZ! zvh+4h#AxpL{p5anuYy48)}yiS_d0WKId%Pz68!M0gI2ljJGF}49eSr1SdL#tdBQ(H zAg3(e@Pn%c2uVBs;$-3U)oYhLHmp@#k>~B+x_di&z>ba+#^Y7 z$Rc0wKl6Bj&m(6Rq3Dz)_-dkRXgp literal 0 HcmV?d00001 diff --git a/apps/thering/10p.png b/apps/thering/10p.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a80aa23a17bc12c641a88f2f2491d806dcbb43 GIT binary patch literal 11612 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 VF^h->{tAGkD61w@A!Q!?{{Tlnw+8?K literal 0 HcmV?d00001 diff --git a/apps/thering/20p.png b/apps/thering/20p.png new file mode 100644 index 0000000000000000000000000000000000000000..4b2ce214c7b89c2166c45b8c7eda474842e74e40 GIT binary patch literal 11874 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 literal 0 HcmV?d00001 diff --git a/apps/thering/40p.png b/apps/thering/40p.png new file mode 100644 index 0000000000000000000000000000000000000000..07470987ad1de8457b9003e56e83a95656b7c65f GIT binary patch literal 12350 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 EU$`@Nx&QzG literal 0 HcmV?d00001 diff --git a/apps/thering/60p.png b/apps/thering/60p.png new file mode 100644 index 0000000000000000000000000000000000000000..18720530a0c3db53eb30b2e1e185a1fed585c508 GIT binary patch literal 12840 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 H4l(})KD5l+ literal 0 HcmV?d00001 diff --git a/apps/thering/70p.png b/apps/thering/70p.png new file mode 100644 index 0000000000000000000000000000000000000000..a55a0ffaf5cf2afa8c47e96db163158bdbc0540a GIT binary patch literal 13089 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 literal 0 HcmV?d00001 diff --git a/apps/thering/80p.png b/apps/thering/80p.png new file mode 100644 index 0000000000000000000000000000000000000000..a183084eb07ad7bc7781e44c450e210d99284562 GIT binary patch literal 13266 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 literal 0 HcmV?d00001 diff --git a/apps/thering/README.md b/apps/thering/README.md new file mode 100644 index 000000000..a63f7896a --- /dev/null +++ b/apps/thering/README.md @@ -0,0 +1,73 @@ +# The Ring + + *A proof of concept ring guage clock using images, acts as a tutorial piece for discussion* + + +Written by: [Hugh Barney](https://github.com/hughbarney) For support +and discussion please post in the [Bangle JS +Forum](http://forum.espruino.com/microcosms/1424/) + +* The ring is a proof of concept to establish a clean way to draw a +large ring guage with few aliasing issues and artifacts. +* Rather than use grahics commands to draw the ring a series of fixed images are used. +* This allows for better accuracy of the initial image and also does not suffer from performance issues. +* The downside is that more storage and memory is used to hold the + initial images. This is not an issue on a Bangle 2. +* The ring effect is constructed from 14 images that represent a range of different percentages +* The percentages of the images are 0,2,4,7,10,20,30,40,50,60,70,80,90,100% +* The app is not intended to be enhanced further (apart from bug fixes) but rather as code that can be reused in other apps +* The full set of original images are included in the source code to demonstrate the concept +* I will use this code to build a new clock similar to Pastel but + using this ring guage for steps. The new clock will use more + attractive fonts and provide a settings meu to change the primary + color of the ring. + + +## Screenshots + +![](screenshot_thering1.png) + +It is worth looking at a photograph of the clock in action as the +screenshot does not do the final effect justice. + +![](screenshot_thering2.jpg) + +## Production + +1. I first generated a circle on black background using [The +Gimp](https://www.gimp.org/) image editor. I used this [Youtube +video](https://www.youtube.com/watch?v=AoIAznSdLik) to get started. +The initial image is 178x178 pixels. + +![](1circle.png) + +2. I then drew another smaller black circle over the top of the original to make a ring + +![](1ring.png) + +3. From the empty ring image I coloured segments of the ring and saved new images at specific percentages + +4. I used the file `calc_percentages.js` to work out the x and y +coordinates of the end point of each percentage position along the +ring. + +5. The [Image +Converter](https://espruino.github.io/EspruinoWebTools/examples/imageconverter.html) +was used, set to 2-bit optimal, transparency Y, compression Y and +ImageObject Y, to convert each PNG file to code. + +6. NOTE that the generated image object pallete seemed to switch the +order of the colors from 50% onwards. + +7. The greying out of the unused part of the ring is acheived by +using a dithered color. So if the ring colour is green #0f0 then the +greyed out part is done in '#020'. + + +## Stages of The Ring + +Below are some examples of the different stages of the ring + +![](0p.png) +![](7p.png) +![](60p.png) diff --git a/apps/thering/app-icon.js b/apps/thering/app-icon.js new file mode 100644 index 000000000..7d6edf547 --- /dev/null +++ b/apps/thering/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEw4UA///un/1XEh32DyX/+AKIn/6//ABQ0P/Wq1dcBY3+1QAB64KFgfqBYWVoAtFBQWq2tQBYgtBBYdUERALBq5FE1WuF4dVKoYiB3QLEHgQiC1eq1EAitVuAiEBoOABYsOD4PqCwMA6tVKgU6FwWgAwNVqqFC/WrEQI1CBYY6BFwIiCgILDHQO79QiCBYg6BFwJFBgEFBYc+1YLBOAU1BYf6326FwReCBYXq3wuDLwRfBIwIuEKQR3BgY6CCwRGCBYbsBBYUNBYVAh+r1w6DIwS/BhwLBHQ1VNQILBHQzjBn2q9wLCFwb7Bn2u9wuEEgKCCUoIuEZQaOBIwQiDfQQvBBYRRDKQILEIoQiBIwK+CBYM9BYN9IwTWC1EDNAY6CBYP61AWCBoQuBFYP//oVDFwYLBBQppCAAX/D4V1XgQLDn4YEq4uCHgQYDqtfBQY8C//dCwPwBYgwBAAYiEGAQKC/gKFEgYWHHoYtGABYA=")) diff --git a/apps/thering/app.js b/apps/thering/app.js new file mode 100644 index 000000000..f7cfaa015 --- /dev/null +++ b/apps/thering/app.js @@ -0,0 +1,224 @@ +const h = g.getHeight(); +const w = g.getWidth(); +// palette for 0-40% +const pal1 = new Uint16Array([g.theme.bg, g.toColor("#020"), g.toColor("#0f0"), g.toColor("#00f")]); +// palette for 50-100% +const pal2 = new Uint16Array([g.theme.bg, g.toColor("#0f0"), g.toColor("#020"), g.toColor("#00f")]); +const infoWidth = 50; +const infoHeight = 14; + +var drawingSteps = false; +//var fakeSteps = 0; + +var p0_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLLLzWEABLgbVgohEGopYaiofDBihWVHJpYYDgYPbKx1ACJhYZIwT4OcAZWYHyRYUIgQXQH4RqOThCXUYRpCHNyQVVQQTwVQiSZWIQSEQNgSYSIYiEQQSyEUCQLDSOAyCnQiSCYQiSCYQiSCZDaDARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) +}; + +var p2_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette: pal1, + buffer : require("heatshrink").decompress(atob("AH4A/ADNUFE8FqtVq2q1AqkFIIrDAAOAFMEBFQYrE1WgKsYrGLL4qFFY2pqDWeFZdUVkAhCAQMKFYdVLDUVFQYMHlWq0oMJKyoOJlQrCLDBWDB5clB5xWOoARMCARYWKwT4OgpYXKwY+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) +}; + +var p4_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFY2loAqjFY1VqDWeFZdUVkAhEhQrDLDcVFQYMHlQrCBhBWVHJpYYDgYPbKx1ACJhYZIwT4OgpYXKwY+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) +}; + +var p7_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgWlKzVACJgrCqBWYawgAJcAOlNBhWMCZ8qFYJYUgoqBC6ECFYJqOAApWSS4jCNQQ5uSCqqCCeCqESFQKZUIQSEQNgSYSIYiEQQSyEUCQLDSOAyCnQiSCYQiSCYQiSCZDaDARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A==")) +}; + +var p10_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAOkQSdUFacK1WloCCSCaAAEFYKaQQSyEC0pvQirZTbomlIh6CYZAZFOQTBxDQhyCYOQhoPQS4bQHaBzaVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) +}; + +var p20_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4AWgNVoAEGAERSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A=")) +}; + +var p30_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4rbgNVoArjgGq0Ar/FbMFFc+oFYYqkgEqFf4r/FY0VqgrlhWqFf4r/Ff4rdqorowArBqArlgQr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlhQrCioroAYIr/Ff4r/FbcFqorllWoFf4r/FY9AFcmqFYUBFc+gFf4rZgFVqAqjgWqwAr/FbdUFccFawkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) +}; + +var p40_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4rbgNVoArjgGq0Ar/FbMFFc+oFYYqkgEqFf4r/FY0VqgrlhWqFf4r/Ff4rdqorowArBqArlgQr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlhQrCioroAYIr/Ff4r/FbcFqorllWoFf4r/FY9AFcmqFYUBFc+gFf4rZgFVqAqjgWqwAr/FbdUFccKFYkVFcwFDitVFccqFYkFFcuoFeNAFcWqFYkBFcugFYtQFUMCFYsAFcuAFYtUFcMKFY0VFcgHFitVFcMqFY0FFceoFY9AFcGqFY0BqtQFT8C1WgFeMAqtUFb8K1WAFY7cglQrIioriBI8FqtAFb2q1ArJbjzaBFZEBbj7aB0ALIFcLaHbkLaJFYbcd1QrKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAiEXKwKuNQjUBQR6EaiqCPQjVVQSATCqtUFSZvB1WACiSEUY4KCQQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) +}; + +var p50_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZgGq0AqjgNVoAr/FbeoFccFFYkqFcwFDlWqFccVFYkKFctUFeOAFcVVFYkCFctQFYugFUMBFYsAFctAFYuoFcMFFY0qFcgHFlWqFcMVFY0KFcdUFY+AFcFVFY0C1WgFT8BqtQFeMA1WoFb8FqtAFY7cgiorIlQriBI8K1WAFb1VqgrJbjzaBFZECbj7aBqALIFcLaHbkLaJFYbcdqorKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAiEXKwKuNQjSCQQjSCQQjSCRAAIrB1AqTgorBoAUQQiyCSQgjdSbISCRQgZYSKwKCSQghYQKwSCSQghYQKwSCTAAMqFYOoCJsFFQNVFShYEwARMFQRWVLAiFMQIRWWLAosKFQZWXLAosIFQZWYLAzgFawZWbAAMKFgmq1IoEAANUFTQABFZtAFbgsFFYwqeWQorFVjZZJFYhVfcAwrCazoA/AHI")) +}; + +var p60_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZgGq0AqjgNVoAr/FbeoFccFFYkqFcwFDlWqFccVFYkKFctUFeOAFcVVFYkCFctQFYugFUMBFYsAFctAFYuoFcMFFY0qFcgHFlWqFcMVFY0KFcdUFY+AFcFVFY0C1WgFT8BqtQFeMA1WoFb8FqtAFY7cgiorIlQriBI8K1WAFb1VqgrJbjzaBFZECbj7aBqALIFcLaHbkLaJFYbcdqorKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAelNBqCLVxqEC0oRPQS6EC0oSQQSyECFYKEVQSIABFYI/QAAcFFYJDRCgSCmYYjdSCqqYCLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) +}; + +var p70_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZAgoAggNVoAr/FbdUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) +}; + +var p80_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AcIdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) +}; + +var p90_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESquq1ArTgqESNgOqwArTIYKERH4KCUQigSBbKTdGCKKCVQiTCCFSyERCALBQQjAPBoArXDZ7ARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) +}; + +var p100_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLFjzWEABLgbVgohEGoqyaiofDBihWVHJpYYDgYPbKxz5NLDJGCfBzgDKzA+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) +}; + +function setLargeFont() { + g.setFont('Vector', 48); +} + +function setSmallFont() { + //g.setFont('6x8',1); + g.setFont('Vector', 16); +} + +function getSteps() { + //return fakeSteps; + try { + return Bangle.getHealthStatus("day").steps; + } catch (e) { + if (WIDGETS.wpedom !== undefined) + return WIDGETS.wpedom.getSteps(); + else + return 0; + } +} + +function getGaugeImage(p) { + console.log("p="+p); + if (p < 2) return p0_img; + if (p >= 2 && p < 4) return p2_img; + if (p >= 4 && p < 7) return p4_img; + if (p >= 7 && p < 10) return p7_img; + if (p >= 10 && p < 20) return p10_img; + if (p >= 20 && p < 30) return p20_img; + if (p >= 30 && p < 40) return p30_img; + if (p >= 40 && p < 50) return p40_img; + if (p >= 50 && p < 60) return p50_img; + if (p >= 60 && p < 70) return p60_img; + if (p >= 70 && p < 80) return p70_img; + if (p >= 80 && p < 90) return p80_img; + if (p >= 90 && p < 100) return p90_img; + if (p >= 100) return p100_img; +} + +function draw() { + var date = new Date(); + var timeStr = require("locale").time(date,1); + var da = date.toString().split(" "); + var time = da[4].substr(0,5); + var hh = da[4].substr(0,2); + var mm = da[4].substr(3,2); + var steps = getSteps(); + var p_steps = Math.round(100*(steps/10000)); + console.log("steps="+ steps + " p_steps=" + p_steps); + + g.reset(); + g.setColor(g.theme.bg); + g.fillRect(0, 0, w, h); + g.drawImage(getGaugeImage(p_steps), 0, 0); + setLargeFont(); + + g.setColor('#0f0'); + g.setFontAlign(1,0); // right aligned + g.drawString(hh, (w/2) - 1, h/2); + + g.setColor(g.theme.fg); + g.setFontAlign(-1,0); // left aligned + g.drawString(mm, (w/2) + 1, h/2); + + drawSteps(); + g.drawString('Battery ' + E.getBattery() + '%', w/2, h/4); +} + +function drawSteps() { + if (drawingSteps) return; + drawingSteps = true; + setSmallFont(); + g.setFontAlign(0,0); + var steps = getSteps(); + g.setColor(g.theme.bg); + g.fillRect((w/2) - infoWidth, (3*h/4) - infoHeight, (w/2) + infoWidth, (3*h/4) + infoHeight); + g.setColor(g.theme.fg); + g.drawString('Steps ' + steps, w/2, (3*h/4) - 4); + drawingSteps = false; +} + +Bangle.on('step', s => { + drawSteps(); +}); + +// for testing the segments +/* +function nextSteps() { + fakeSteps += 100; +} + +function prevSteps() { + fakeSteps -= 100; +} + +Bangle.setUI("clockupdown", btn=> { + if (btn<0) prevSteps(); + if (btn>0) nextSteps(); + draw(); +}); +*/ + +g.clear(); +Bangle.setUI("clock"); +Bangle.loadWidgets(); +/* + * we are not drawing the widgets as we are taking over the whole screen + * so we will blank out the draw() functions of each widget and change the + * area to the top bar doesn't get cleared. + */ +for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";} + +draw(); +setInterval(draw, 60000); diff --git a/apps/thering/app.png b/apps/thering/app.png new file mode 100644 index 0000000000000000000000000000000000000000..0c68d224683b5ff3d5e67563c806973a418b0e23 GIT binary patch literal 3305 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 literal 0 HcmV?d00001 diff --git a/apps/thering/calc_precentages.js b/apps/thering/calc_precentages.js new file mode 100644 index 000000000..b94815c2e --- /dev/null +++ b/apps/thering/calc_precentages.js @@ -0,0 +1,58 @@ +/* + +Used to calculate the x,y coordinates (so that we can manuall create +images) of the outer circumference of a rotating ring guage where +cx,cy is the centre of the screen r1 is the radius of the circle. p +is the % completion or % measure for the guage to take we need to +generate images at percentages 0,2,4,7,10,20....100 + + +the output is below + +p=0 x=88 y=4 +p=2 x=99 y=5 +p=4 x=109 y=7 +p=7 x=124 y=12 +p=10 x=137 y=20 +p=20 x=168 y=62 +p=30 x=168 y=114 +p=40 x=137 y=156 +p=50 x=88 y=172 +p=60 x=39 y=156 +p=70 x=8 y=114 +p=80 x=8 y=62 +p=90 x=39 y=20 + +*/ + +const h = g.getHeight(); +const w = g.getWidth(); + +function radians(a) { + return a*Math.PI/180; +} + +function calc() { + var i = 0; + var r1 = (w/2) - 4; + var startrot = 0 - 180; + var endrot = -360 - 180; + var cx = w/2; + var cy = h/2; + var p = 0; + + // calc coords for each percentage point + for (i = startrot; i > endrot; i -= 3.6) { + x = cx + r1 * Math.sin(radians(i)); + y = cy + r1 * Math.cos(radians(i)); + x = Math.round(x); + y = Math.round(y); + + if (p==2 || p==4 || p==7 || p % 10 == 0) + print('p=' + p + ' x=' + x + ' y=' + y); + p++; + } +} + +g.clear(); +calc(); diff --git a/apps/thering/metadata.json b/apps/thering/metadata.json new file mode 100644 index 000000000..bb82d4a27 --- /dev/null +++ b/apps/thering/metadata.json @@ -0,0 +1,14 @@ +{ "id": "thering", + "name": "The Ring", + "version":"0.01", + "description": "A proof of concept ring guage clock using images, acts as a tutorial piece for discussion", + "icon": "app.png", + "tags": "clock", + "supports" : ["BANGLEJS2"], + "screenshots": [{"url":"screenshot.png"}], + "readme": "README.md", + "storage": [ + {"name":"thering.app.js","url":"app.js"}, + {"name":"thering.img","url":"app-icon.js","evaluate":true} + ], +} diff --git a/apps/thering/screenshot_thering1.png b/apps/thering/screenshot_thering1.png new file mode 100644 index 0000000000000000000000000000000000000000..bf7e6cebc0c8160a1dee247ccf534da2d978d850 GIT binary patch literal 3113 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 Dgx=Ia literal 0 HcmV?d00001 diff --git a/apps/thering/screenshot_thering2.jpg b/apps/thering/screenshot_thering2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..521a610171da359e9ae8e2c3f2816846d541a258 GIT binary patch literal 45141 zcmb@sWmFzPvo1QgySu#vhv4omA-KD{yF+m2#hu_9+&#Dk2o8Z@!QK7xowN4Z`^UNK z{y4X0&CD|`HQm)yJzdrHzWn|dK$nw}l>#6j0083S0N%GDX=TO54V6^BO35ln{;v#3 zeBgtiKLdchgPV(rv>3UTwhsA!(*BE#Op$4!f8*HyU>7wN@sBbEADGtie_)gUfj!-v+&;>T z{-?aDlgoeb`Ue)Uw{!o`yZ%G}X)&_7gSzU+UF+i{23!FZKpGJH!2iF}f6LRc5CC{? z0RSrTztc=I0iZPu0Pt7;I}KC-0BE5A(DKX4*v0sNH3s_Q3Ta^h09R!IfT9fmSTg{C zsQX_H{qMT}Jr@5jeI@^>L;TTC$B)Ajumj8iazGYv089bq55xw123P^E_ccKLL1T54?_J0WgfP#jFgGYdbL4*L1 zJ__)n1CakA00s&Q3K{|$5()wm3K|9j788yFfXAX_MZgxtp<=^THU_baso-&_ItSy6 zn}EN6R3-k<6`23Y8h`>IAfaJC_>A`qZEbF8q1*z6u~iL40%u3Ih-Z+G+{S z*m!^NMqQ_~?%xWy|BWsClgbkZ zsWc9UdQo2UDAb?7ICON_#9n92w=<6MRrWeh0ThxW?HjJ60;XfctvSx}UbQGQeY;LV z0^nF~Hou6JeY4Q@n$z_6;Hsq7|48@w{=GUtQ(gKc3&&2Vwtv#!kKqj{71NX5)dteC zajcfhVyDEIHGE~n0%z)7F8wbT&E3hhwNRxbxRoKrTCh>IhuXYZZlfO~V=_%nosfm_ zVw|i#FN^s3=S1;-A~rLw#G(MXOw3u;FVQ@wef=YWVWdrr7s6r?Aln{ z2IuGKVnxn}V}rtlzspNF?Y{%%wfTO3G&u(!Q)8(E=*D&=MlZYkym>AzWHr@^H*k3;p!{K->y|swi^{n#^s&CWvXJd9j>os>*XU zXSQhgijGP4M*$-e=?_#Jt=4hCa;s`7b(3(A8^(*YuqwgPr(!tJfWIl3Lp6epL(HFD z$;dH+jHHFkQ2*F`h2#0GgRh06Ayh$e>JZv>uAjRY@29hYgTa-qZxLlf~wRJ33X`81|8*6olg}5*SIX< zcr{3*e_N#6^zdFsoJqs7mZljLw9U2Jp-{;oW27O0C~DMkBSVjEJzm=ytTfj!TqI;qn-qHQZ||F6f_D`Bv!*@YA* zkf|zR$O@CiB*~4lo^a`nlhNpn^;GhwTV8QOh|Y&Wn;+wtL*ORK-G zPSnoT(Y8u|a%rf_n})Xt@@j^%a`!vMEukB&`9VJzoa3&4g|=5E z*k*yce2Q58YTj|4JK7;i-8^AU8?9DjcQD&%zl=PgGQH0JC}OjXdL3C zs>YaSDi@8DsSOB!t81Hqt;@bMUdXz*YZXahDVoKdeZ9q4R$p@;@EHh(f$M7#r}@%$ z(?)D=csMsdv_(|{L;Ej`@po3fE*}2`oHc)w`=Et{@LgXP0(?~1L6OtGVo}#tBwaV3 z`Mi60C(d67Rr%CCuXo_{^hLb#)xPrG5qSrXC~2@NY=d^CKh6^?DWewZn+X-ALFzo zgdMLZ7Wss~^$#5`gLLyFq5@8H6*!f2B$YRT_BVxjyyRhXT%X`G)I>Pl`CYyT8Vzto z)?o8ftlQ=toe>oUv2c4`6Xoo0ekR^bdBhsJy;c*52uxbZG=A#P|L-&w2LC-1QS*1$MUw`iG7{d6wOuVr#%NdueB1BZsRF;}a`746=D6 zh3%E;dC+hs5IdW8%e}NSpv#i7<<|a@O5CLzpy0(f){P;_*sCR;B0WQrsPn2&%QBO> z3w;Mzr2H~~AQ&qgSqXoe6ynw`Pr|g1T7tuMiUZ;T_+J*oT|KPLi?`7)Z9+we4DhTqNfjcgGU^-tzv+ZUc z<0Fkug$}aprlflo*_5J)B3y=&bmQ6>QC-vFyW_n0o^hPL#w6?+G%UJH*VvG)wy8fH z4G$u5G#I()0D>PL;>Y#Z0-P?h4boJw8`2zG8&Mo}Zcg9idkP><$ZY(vE@_oxA7SI( z(gs*oziOTo)1nl(7y3GyVY~xCei#%TC`-TcZoY9*@U4WsvO>8)hT#Ba4WsswMn8BJ ztG<-XVL25GB8U(+J78gq&72PE|3Yn_C=Xa0qHiBytee`KFTS z@+nL+C-24E)=$~Gn+SSZp`3hmQF<9RADAHFAntjLm)9pK!~9*KfJkYRhZ1vWYKU-E z4a1&TTAl3sLQV=P+*Om-VyDCUhIm!1ox9D2cC`AWv!Ac5iCV7a-8n*qdQn|tWtv9R z!eH#I>GpvLZfmaJ5NT&4pO!l$_gI;X9>Ltr*zbG}C?q}zEikUnZ1*@#o;6$UyEx%XqeBv0GEIn{;Xfrgsex$^) z4fpH1aZmbu+Slr6g~YU{5CY%Yp-l5BM*mJ$gkXM9F2Ql;pJ80BYclfbtD|;0I)mZi zyMs%cMeyK-ij4B&AXahlf=8{<&qK`oAN9QMX&@~F0TWqfli|Kilrzm_Q?IWGdyhT3 z`NOlV;snXHp}1ym`8qi92#omOy=zxwEiwieZlfscR>^Mq2N+fo5okNRX&+~Y;}#c# zCjm(M$$LkkjfI3?zousXwdJR@YYnYj;u@e*kGFHvhAaHS?Kdm=wcTE-O1^NoPrqA# zrLtGATH_pO&pyI#Qc@57aIB<|vRk`sj6FB-&FE%(l1%rQAUTCNrdevj&ENkfl!p02 zLpS(JvzdlP zeDPi_M`k0|5N!%A+al?QE*lMOxEdV=H~@ckq|AAjT#(w4^6aFUQMPB zAwiOoE3d5@#@%mXxxsJZ^(SzV`xe)De-L3Dc(H=2>FQ@@F~Ug4grX~dq|ov+ zl!7Yw?k}vA6P{c$Y0k>Aag8gt0?sA;cj{CRe952g4{jeYR~|LGn`jwK(MVKqIewhE z`Ba;W!x|TSRq8|WFRm@BHGPmF$9#O-mVFcNS-t4#GcKq{oQSGxI=NL(>s$=`V>0qFJ z)@6+x?P@V)pzD8YoTnJj97n}jIhYewk5ej-yy*7_U8bh*jnwLh- zm8ij9$D!^%DCb*pkK~%)@!^huq@U{ zTEq_>d>W=kIPv$g=Zrp#56cr_Qv=DKmUQt2+?+9u!Uau|_xzQXj;FXFCM;!lxyt!s zOPq(qW!vr5fWBAxi?05)LJxFjBQT3&hBcp5HC`$!V(H=Sqb+9^M2w#38E{U(fU_-Z zFw-%q`#mAPD<_$f&_iFT-!$0QmE25HrgCU$vjirFlAJ~|>P{!Qt4|glBJBA`Yvk!} zfNRE(L#MNGROP^1JY#YUtQulJsm^VzED=|3CZTt(zP4`T$U#LKvEItPV{0{pE8io8 zjGY;2z3Yg_Dqi~O4EpQtXXajq?o{~FB3wC zROI_dgpro9?6JzoEgMr91wQdv4d$)hJ}V)R=N26V$ddjVTp`CiJ6Uu#*bJ4WbFww0 zWqoVklM;c63XS)<)0r<+fwF>(QlPW<*tm1QOO%D%MjzA5gNIvnCsMXgf&~27N2Q0O!AkdfDaJfkrT@-{u2T2(iUGyBR zN=~)=g}!3w7$b2N@k|PUlW6`FzXOH1dWl6QRCkq$13C}Nm27Q6bw{n zf}g3k|8IWZMCT5d4IV!9@yD1N&Na*^rt*eT#+p5^6L}qTe)T+CNOnR2TD7V?$$^!} z)q0$qjzRyCf2RLP6(_b%#a-?R!owy7KiN&KuIOpV#a@wT2z((57@r@qsqy8-pHpSD zU>9J^`jwa51p8r)ImBSG?Vn;}JT?1meTk{;Wfowea3K}Fi9=PmeA_0dU#2y~HL}H( zXZzEb5-y6al?KY<#9f_KQMP#`LFNc4M9C^08pHmTP7ArvKpag->c>EQv*#_c6N5r1 z$Z{o+iJ{K5LSi%O)1jM@HzfBCWGEh;Y5UsHoN?`iQ#l={cMiKv#4Z~uE75JH$gm)I zB|O!HPVU+X>GDl}8sBxKv55Svj&oc^_gOPatFqb%bGDo`G?I~AO}+bhnvO9MX|tPK zB6mNK#ej7GL8flK{(LDf^ORH^)2P<=>}yBU^;fxdHZiRc$~q(yUP??+M*lKdR0No3 zD`;-~+GMgcpTrTU%Yd(0f*LfPu7Va&ro}dUp($T@W|yDno98hn%dy?v{hMtMAHoo& z9(f+^4}$%CGmw>rvvyZ3Q***0mIcFACV_yW$_Qi)va5$AeOh|2-_H@Qq9yJ9Qjgq^ z9`69&<%Z$)-KaO0d!D38dFANRI7KX^tk!lCaeiw7AUSXIFLk!_7{%(gN3q9{OYcG< zhXG!(zLt8jvX0FokrfXo$SgLP^7Zgf&p!}@EWI)(uk}DEP6!x3?u%ZhM*Q0h@+M6n zixsYn7nivjEl7H-VT<4yGGK?jrGHbrCgYbSeE|$eqPVnRZGyJ%CEu?jlY>Xme#Zjs z_p5Z$F~L#wF#&Fx<{H$d0zPSp2-At2@+v1q=XtS2d3L^|4D?HZU%OQC)WEe3M4TyH znxQT8wnr+s{|RAA?<+3FoD>ei1pCnGEF;0`42@q`Kf6!F1Yx;QO<8ph5Q851*P zVHbW5D`l;8kpan>Ha1q+MfWOBT2ALf2u_-)pryT-J#Z&mFSa>}*}RIY-Z%VNp`vi4 z=RxWsCI0+MP5A~0>O7~uL^oR!_hOvDbhOk|uXX3qOe#nkq^Tbg+QXf=%1M@MFrbbU zB}A@BCm~RBgQsr9Z80rQkA9DuAkTJFkzx7p*P7`D5=1l|hEIBKphQ`I7Y|%@GRJ-y zM8cS#v7pC*N9k0G&zE|-JjijN0I~75B;_D&>V&7s2_kR_{?AC=cKULBXu?FpQ*3+J zez6ZXAl!5=-NM z=GPBWMCYuX3U5EIFXWZ>D3?#XlzCweLTheiR*QuRs|*W+&7bKG$~us9voG5;pevFj z%z9RI%T^0n3A>W6Ofgv-``U@t%uMpd!ZYU*0nLBU8O zQhf4^cQwS{5424!35?%8P7;8%l9rA*l10yI%Fb$DRrUX*ILpyoN|H3-t5gtdN5pFX zre@{K<6)4%@|{y7gudl1$@ZoY=$qD}G%GJUokK7)!#z4ps~$omE2D3Ou_BJwPZyez zsOFD8PH!?0K6t#=&$)yXuKJiaCmS(!E*+EFp?L&A+VWqp^^j66tC{E*E0(=A=(U(- zeSDf5`|7GR#;P(@zaH-Gw`a#BVuQtJM>+0U@{jciR7rxl07QdHPbb#Jrp%Mw_BO9m zg?K7z_4*`cekv8sG#?c0pI>Y?=i6XqJ_m8AjBv1dysa0=KyeYyLC^#|rSHhpK~RT& zD%gFAPNNznwk6_}ZSP)p@T3Zor$lyl_-akw%=Zo`q<X z&s{lbm~*^s4VU6ap=D<}=gRUIG4No+u2lhF5LDtZZW^OomoxXjUN$qoirsVS$40PV z6w|eVbo#F$gGnWgyiz`0l|cD|n7FKF#*EVbsZkZUbq2+F_v zwva{=P~y0~TjgvS8$>bRnIa2CWpo-{v?Ub2e_KZ5j7rU5WMzfX4jG038r=U>7*8i; zMzf1>OjRw6_->K?db4}+?laHF8?O2?eSLAr_!atR4{CG&Dp%BbT_g1X79{93MIYg? z{Taai5a>VucL1G&(ZUYk-6Td&+($Uto4GGPal)v(PI7YWlgov9+jZU?ZuL%U;KQap) zjzMQ4f{nvSh)q-DH|iah!to}%cap2vH*KKgxe#^mNex-7;xFNjTBF`eall>5){Xqr%JxieMnIir84hUJ8>uOx>+`SuxM@8k4#q z;JMT(zk9dG)_PfQ&-++KIIz;eyjBZ&MDF#iB%C@LwWjV*DqhRaAjkn31ZLSqEZ3`- zlj!=d;8D4#KdMK%St|VKS`Je76?Z;h>7D|p<1KMPqMQ#`snS|mV)=k{U$FyBk=` zlc5XS$*uTYOdOHANB&8M4cF8Io)fD9TeP={2ROFj3mKSMo@KZYE@d8SZ#7&OmD(Lx z>3=inO8vQ4{_v)nnAhzMHImRNn4O}PM3@HdI=Nj=iBnG;?p{#mE>QxdKp6o;0-ih>Cva@h9a&D*rCkJb5>iqn(3MpL*-`GP!MJq9PlJGGuAIQEEB-`Ow}zLUA=H30oR&P>;i37 zjQMlAKy0MHFAY}Ka(p&VzHQ9RTK$xKQ^zBOG=cb{tGPIi8okcp ztTOfp8yh8Cec8##c1^mef%ABM=*p*xLuoxuV^CN{bT;9xINqQfKCQU&qGtxqObT8{ zal*g^icmQUZ|3dqRh-BMn*TmYYCvuv+qbD6nk~9ly8Qf0WPu#%>^(~x*01BIv!P?C z*0l~2^~qzVjHoa6a5+Ba)u_BHOwbwmn~g=+~yZ<_R0a2D?!_hB;k`Q z0gi_^eleYf-+OKbFIa1ct*bex4YCHdm({0tFz98@-$5??XeXn@nkfNi)`DnfpBnUH zJ6YuetKm3y*KLRNdgB)`l*g{3=e^vYIbG~Ik(RR?n`3{jRGEZX+v;;JPM7Fd#l|6a z?|VN<8pwD@c^Vl$f1B1AM}UbpT=cDY-eu2z2Q*qy{7Ctl(oR;|=p

PZ>rG*M~V* zC=?>g<|qzUT^}9eqm`cR-)I=G%D(J`n$g*O+P+6K*i1SmQxJoPJy1-=+C!XPq zXt}li9;HoaA#*YruFn<(?aZy;Gk-omgP;Tu?VX>u{|%i&05tz4)r&W<>4qON|T{S-l=El;BD@~G0;3Zdw%_I;xJ>C7skh{n8_ z1r$-3d%J?jPxjaGb$HYSfy%xHQ>HkGn6ze-HgDn`h}pCJ=JMyPk9(uQ2l2^x*)FNT z^A7CU%y;7fKhtN~z0ti&UTiI15>bra(5u6?V_VDzCEA3#^b#d>BSPB$lA!y*g9uU4 z@wD()0iq7>8$RVJgXqm#qdS}gc)T|aqDjqh=FXpNj2z{KQaA~9m)+coK$QAmy+r20C+G~`6dK8p$cTg#30zac>=!9*{mlU4^%FzH1GLUxT42Yhv+dMStgI@awnB8-Z5@|- z>ai1%5l&rW0ul=# z=U}w1>YAUs6lhCUs;as3+lo}t0`d&j)e1+ZskBSsRbBf_AXsgynhZw-Ps=Q+)d~8RH-A$ncazPIV650N=byGl>S7t ze)cA`)PbBe(Pl=#v$U(Er#qT;B`d0(G$4!f7EgY-rpeT^@a0v7GW|9eSgy*OJtAwt z7!PX@&dPGDpkBTkk3d7@^OZwHK(34kH?HHe?-Cc3^Dicom*#y9k6y%`mUIt4oxuCPn9;^520*>@VS z3-Sa~*vAWYZU^dgHbQ-`_3OdAt^D z8R>^Zw_ymMw3SY1)iX0Xe!T4&@uOJH&5T2DDh4Kag``Qsg#B4l&Qbjr@T@y#kR{T; zv6t?G8X9}m4nhH|H8w)6=kLEMh6qRQAH$}Rol%DJOn2|k;R?tHqpHiEmjn|;8x|iN zi5M>#!RVvAiP(R8<6jm|ka`f_dt=!?#40l``=kY~Nww$o{9aCu)P@5>p_eJKi|2J( zs;y>#3qL`Cy<(*&E%PVN_YWLQ@K?N9gEIod�e9j3!`F3^QxZK5jA}%d6?l5dX7% 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 OpD1M{07xEZSpV5*ZhS)k literal 0 HcmV?d00001 From a00d2a59a6543bdafc8ae2e5b6e0746dde81b50a Mon Sep 17 00:00:00 2001 From: hughbarney Date: Mon, 21 Feb 2022 20:34:52 +0000 Subject: [PATCH 02/10] Fixed metadata --- apps/thering/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/thering/metadata.json b/apps/thering/metadata.json index bb82d4a27..a2d5e9e4e 100644 --- a/apps/thering/metadata.json +++ b/apps/thering/metadata.json @@ -5,7 +5,7 @@ "icon": "app.png", "tags": "clock", "supports" : ["BANGLEJS2"], - "screenshots": [{"url":"screenshot.png"}], + "screenshots": [{"url":"screenshot_thering1.png"}], "readme": "README.md", "storage": [ {"name":"thering.app.js","url":"app.js"}, From 94b2363fdcd4fa651247cc1d50b99f6a7e8d157e Mon Sep 17 00:00:00 2001 From: hughbarney Date: Mon, 21 Feb 2022 21:21:25 +0000 Subject: [PATCH 03/10] Fixed metadata --- apps/thering/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/thering/metadata.json b/apps/thering/metadata.json index a2d5e9e4e..4cc61bd93 100644 --- a/apps/thering/metadata.json +++ b/apps/thering/metadata.json @@ -10,5 +10,5 @@ "storage": [ {"name":"thering.app.js","url":"app.js"}, {"name":"thering.img","url":"app-icon.js","evaluate":true} - ], + ] } From a460f4c315b0e577ae6e43022ab455762784adfb Mon Sep 17 00:00:00 2001 From: hughbarney Date: Mon, 21 Feb 2022 21:40:00 +0000 Subject: [PATCH 04/10] updated README --- apps/thering/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/thering/metadata.json b/apps/thering/metadata.json index 4cc61bd93..03f2d12fd 100644 --- a/apps/thering/metadata.json +++ b/apps/thering/metadata.json @@ -1,7 +1,7 @@ { "id": "thering", "name": "The Ring", "version":"0.01", - "description": "A proof of concept ring guage clock using images, acts as a tutorial piece for discussion", + "description": "A proof of concept clock with large ring guage for steps using images, acts as a tutorial piece for discussion", "icon": "app.png", "tags": "clock", "supports" : ["BANGLEJS2"], From 4812a8043e99a9abd1010dad16dc9827dc57159b Mon Sep 17 00:00:00 2001 From: hughbarney Date: Mon, 21 Feb 2022 21:40:57 +0000 Subject: [PATCH 05/10] updated README --- apps/thering/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/thering/README.md b/apps/thering/README.md index a63f7896a..f932278ee 100644 --- a/apps/thering/README.md +++ b/apps/thering/README.md @@ -1,6 +1,6 @@ # The Ring - *A proof of concept ring guage clock using images, acts as a tutorial piece for discussion* + *A proof of concept clock with large ring guage for steps using images, acts as a tutorial piece for discussion* Written by: [Hugh Barney](https://github.com/hughbarney) For support From 0c5d7a564a04a6806795050c00bf3cc713508985 Mon Sep 17 00:00:00 2001 From: hughbarney Date: Mon, 21 Feb 2022 22:02:49 +0000 Subject: [PATCH 06/10] added screenshot , updated README --- apps/thering/README.md | 2 +- apps/thering/metadata.json | 4 ++-- apps/thering/screenshot_thering3.jpg | Bin 0 -> 19580 bytes 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 apps/thering/screenshot_thering3.jpg diff --git a/apps/thering/README.md b/apps/thering/README.md index f932278ee..382fe853f 100644 --- a/apps/thering/README.md +++ b/apps/thering/README.md @@ -1,6 +1,6 @@ # The Ring - *A proof of concept clock with large ring guage for steps using images, acts as a tutorial piece for discussion* + *A proof of concept clock with large ring guage for steps using pre-set images, acts as a tutorial piece for discussion* Written by: [Hugh Barney](https://github.com/hughbarney) For support diff --git a/apps/thering/metadata.json b/apps/thering/metadata.json index 03f2d12fd..32b1dae4b 100644 --- a/apps/thering/metadata.json +++ b/apps/thering/metadata.json @@ -1,11 +1,11 @@ { "id": "thering", "name": "The Ring", "version":"0.01", - "description": "A proof of concept clock with large ring guage for steps using images, acts as a tutorial piece for discussion", + "description": "A proof of concept clock with large ring guage for steps using pre-set images, acts as a tutorial piece for discussion", "icon": "app.png", "tags": "clock", "supports" : ["BANGLEJS2"], - "screenshots": [{"url":"screenshot_thering1.png"}], + "screenshots": [{"url":"screenshot_thering3.jpg"}], "readme": "README.md", "storage": [ {"name":"thering.app.js","url":"app.js"}, diff --git a/apps/thering/screenshot_thering3.jpg b/apps/thering/screenshot_thering3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da8f140c0b36dbcc3c09c9fcc163a02bd1cfdc4d GIT binary patch literal 19580 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 Date: Mon, 21 Feb 2022 22:38:47 +0000 Subject: [PATCH 07/10] Daisy created --- apps/daisy/README.md | 73 +++++++++ apps/daisy/app-icon.js | 1 + apps/daisy/app.js | 248 +++++++++++++++++++++++++++++ apps/daisy/app.png | Bin 0 -> 5008 bytes apps/daisy/metadata.json | 14 ++ apps/daisy/screenshot_thering1.png | Bin 0 -> 3113 bytes apps/daisy/screenshot_thering2.jpg | Bin 0 -> 45141 bytes apps/daisy/screenshot_thering3.jpg | Bin 0 -> 19580 bytes 8 files changed, 336 insertions(+) create mode 100644 apps/daisy/README.md create mode 100644 apps/daisy/app-icon.js create mode 100644 apps/daisy/app.js create mode 100644 apps/daisy/app.png create mode 100644 apps/daisy/metadata.json create mode 100644 apps/daisy/screenshot_thering1.png create mode 100644 apps/daisy/screenshot_thering2.jpg create mode 100644 apps/daisy/screenshot_thering3.jpg diff --git a/apps/daisy/README.md b/apps/daisy/README.md new file mode 100644 index 000000000..382fe853f --- /dev/null +++ b/apps/daisy/README.md @@ -0,0 +1,73 @@ +# The Ring + + *A proof of concept clock with large ring guage for steps using pre-set images, acts as a tutorial piece for discussion* + + +Written by: [Hugh Barney](https://github.com/hughbarney) For support +and discussion please post in the [Bangle JS +Forum](http://forum.espruino.com/microcosms/1424/) + +* The ring is a proof of concept to establish a clean way to draw a +large ring guage with few aliasing issues and artifacts. +* Rather than use grahics commands to draw the ring a series of fixed images are used. +* This allows for better accuracy of the initial image and also does not suffer from performance issues. +* The downside is that more storage and memory is used to hold the + initial images. This is not an issue on a Bangle 2. +* The ring effect is constructed from 14 images that represent a range of different percentages +* The percentages of the images are 0,2,4,7,10,20,30,40,50,60,70,80,90,100% +* The app is not intended to be enhanced further (apart from bug fixes) but rather as code that can be reused in other apps +* The full set of original images are included in the source code to demonstrate the concept +* I will use this code to build a new clock similar to Pastel but + using this ring guage for steps. The new clock will use more + attractive fonts and provide a settings meu to change the primary + color of the ring. + + +## Screenshots + +![](screenshot_thering1.png) + +It is worth looking at a photograph of the clock in action as the +screenshot does not do the final effect justice. + +![](screenshot_thering2.jpg) + +## Production + +1. I first generated a circle on black background using [The +Gimp](https://www.gimp.org/) image editor. I used this [Youtube +video](https://www.youtube.com/watch?v=AoIAznSdLik) to get started. +The initial image is 178x178 pixels. + +![](1circle.png) + +2. I then drew another smaller black circle over the top of the original to make a ring + +![](1ring.png) + +3. From the empty ring image I coloured segments of the ring and saved new images at specific percentages + +4. I used the file `calc_percentages.js` to work out the x and y +coordinates of the end point of each percentage position along the +ring. + +5. The [Image +Converter](https://espruino.github.io/EspruinoWebTools/examples/imageconverter.html) +was used, set to 2-bit optimal, transparency Y, compression Y and +ImageObject Y, to convert each PNG file to code. + +6. NOTE that the generated image object pallete seemed to switch the +order of the colors from 50% onwards. + +7. The greying out of the unused part of the ring is acheived by +using a dithered color. So if the ring colour is green #0f0 then the +greyed out part is done in '#020'. + + +## Stages of The Ring + +Below are some examples of the different stages of the ring + +![](0p.png) +![](7p.png) +![](60p.png) diff --git a/apps/daisy/app-icon.js b/apps/daisy/app-icon.js new file mode 100644 index 000000000..b577b3d5e --- /dev/null +++ b/apps/daisy/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEw4UA///pf+sdR0n8CAkCwAcJhNgBI8KwALBgWgCo8NqAZHhNYktYloLKkoLHqwLByoLEgXoBYsrK4UDq0CqulrVVwGV4AXCquCBYYEBC4UC6tiBYeJq57DytayttvNW0tWHgclq2VtNpAYNYKQgiBBYIkBKgUK9Q8B9Nq1Nrqug1WgCoOqytq1/61NW1XVsALBq2ttbMB9N62olBKQNVtNvBYP61dVKgWlqtY34LB/wGBvQ8CEgIKBAAOVq7NDGwILD2/qBQWqAAILDAwUAlIzB1YLD9X1q+oytVqtbBYflA4NeBZVWlQjJ9A7LKZhrLQZS9Bqvq16bGWZXgZY2JZYcK1TjC9WrcYOAcYL7FpL7EAAMlq219NrRYNYBYeVrWV9t7q2lqwKCFwNi6utvVXxLuCBYWCGAIuBAgILCgdegVXBYPVwG1C4eohNWktYyvglYLCKgVeBYO1KQgLCrElvElBY94loBBBY/ghtghILGhSsBsECRgQZHBI5XCJ4kAA=")) diff --git a/apps/daisy/app.js b/apps/daisy/app.js new file mode 100644 index 000000000..7e148381b --- /dev/null +++ b/apps/daisy/app.js @@ -0,0 +1,248 @@ +const h = g.getHeight(); +const w = g.getWidth(); +// palette for 0-40% +const pal1 = new Uint16Array([g.theme.bg, g.toColor("#020"), g.toColor("#0f0"), g.toColor("#00f")]); +// palette for 50-100% +const pal2 = new Uint16Array([g.theme.bg, g.toColor("#0f0"), g.toColor("#020"), g.toColor("#00f")]); +const infoWidth = 50; +const infoHeight = 14; + +var drawingSteps = false; + +function debug(o) { + //console.log(o); +} + +var p0_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLLLzWEABLgbVgohEGopYaiofDBihWVHJpYYDgYPbKx1ACJhYZIwT4OcAZWYHyRYUIgQXQH4RqOThCXUYRpCHNyQVVQQTwVQiSZWIQSEQNgSYSIYiEQQSyEUCQLDSOAyCnQiSCYQiSCYQiSCZDaDARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) +}; + +var p2_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette: pal1, + buffer : require("heatshrink").decompress(atob("AH4A/ADNUFE8FqtVq2q1AqkFIIrDAAOAFMEBFQYrE1WgKsYrGLL4qFFY2pqDWeFZdUVkAhCAQMKFYdVLDUVFQYMHlWq0oMJKyoOJlQrCLDBWDB5clB5xWOoARMCARYWKwT4OgpYXKwY+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) +}; + +var p4_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFY2loAqjFY1VqDWeFZdUVkAhEhQrDLDcVFQYMHlQrCBhBWVHJpYYDgYPbKx1ACJhYZIwT4OgpYXKwY+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) +}; + +var p7_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgWlKzVACJgrCqBWYawgAJcAOlNBhWMCZ8qFYJYUgoqBC6ECFYJqOAApWSS4jCNQQ5uSCqqCCeCqESFQKZUIQSEQNgSYSIYiEQQSyEUCQLDSOAyCnQiSCYQiSCYQiSCZDaDARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A==")) +}; + +var p10_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAOkQSdUFacK1WloCCSCaAAEFYKaQQSyEC0pvQirZTbomlIh6CYZAZFOQTBxDQhyCYOQhoPQS4bQHaBzaVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) +}; + +var p20_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4AWgNVoAEGAERSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A=")) +}; + +var p30_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4rbgNVoArjgGq0Ar/FbMFFc+oFYYqkgEqFf4r/FY0VqgrlhWqFf4r/Ff4rdqorowArBqArlgQr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlhQrCioroAYIr/Ff4r/FbcFqorllWoFf4r/FY9AFcmqFYUBFc+gFf4rZgFVqAqjgWqwAr/FbdUFccFawkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) +}; + +var p40_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4rbgNVoArjgGq0Ar/FbMFFc+oFYYqkgEqFf4r/FY0VqgrlhWqFf4r/Ff4rdqorowArBqArlgQr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlhQrCioroAYIr/Ff4r/FbcFqorllWoFf4r/FY9AFcmqFYUBFc+gFf4rZgFVqAqjgWqwAr/FbdUFccKFYkVFcwFDitVFccqFYkFFcuoFeNAFcWqFYkBFcugFYtQFUMCFYsAFcuAFYtUFcMKFY0VFcgHFitVFcMqFY0FFceoFY9AFcGqFY0BqtQFT8C1WgFeMAqtUFb8K1WAFY7cglQrIioriBI8FqtAFb2q1ArJbjzaBFZEBbj7aB0ALIFcLaHbkLaJFYbcd1QrKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAiEXKwKuNQjUBQR6EaiqCPQjVVQSATCqtUFSZvB1WACiSEUY4KCQQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) +}; + +var p50_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZgGq0AqjgNVoAr/FbeoFccFFYkqFcwFDlWqFccVFYkKFctUFeOAFcVVFYkCFctQFYugFUMBFYsAFctAFYuoFcMFFY0qFcgHFlWqFcMVFY0KFcdUFY+AFcFVFY0C1WgFT8BqtQFeMA1WoFb8FqtAFY7cgiorIlQriBI8K1WAFb1VqgrJbjzaBFZECbj7aBqALIFcLaHbkLaJFYbcdqorKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAiEXKwKuNQjSCQQjSCQQjSCRAAIrB1AqTgorBoAUQQiyCSQgjdSbISCRQgZYSKwKCSQghYQKwSCSQghYQKwSCTAAMqFYOoCJsFFQNVFShYEwARMFQRWVLAiFMQIRWWLAosKFQZWXLAosIFQZWYLAzgFawZWbAAMKFgmq1IoEAANUFTQABFZtAFbgsFFYwqeWQorFVjZZJFYhVfcAwrCazoA/AHI")) +}; + +var p60_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZgGq0AqjgNVoAr/FbeoFccFFYkqFcwFDlWqFccVFYkKFctUFeOAFcVVFYkCFctQFYugFUMBFYsAFctAFYuoFcMFFY0qFcgHFlWqFcMVFY0KFcdUFY+AFcFVFY0C1WgFT8BqtQFeMA1WoFb8FqtAFY7cgiorIlQriBI8K1WAFb1VqgrJbjzaBFZECbj7aBqALIFcLaHbkLaJFYbcdqorKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAelNBqCLVxqEC0oRPQS6EC0oSQQSyECFYKEVQSIABFYI/QAAcFFYJDRCgSCmYYjdSCqqYCLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) +}; + +var p70_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZAgoAggNVoAr/FbdUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) +}; + +var p80_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AcIdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) +}; + +var p90_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESquq1ArTgqESNgOqwArTIYKERH4KCUQigSBbKTdGCKKCVQiTCCFSyERCALBQQjAPBoArXDZ7ARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) +}; + +var p100_img = { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLFjzWEABLgbVgohEGoqyaiofDBihWVHJpYYDgYPbKxz5NLDJGCfBzgDKzA+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) +}; + +// 300 +Graphics.prototype.setFontRoboto18 = function(scale) { + // Actual height 18 (17 - 0) + this.setFontCustom(atob("AAAAAAAAAAAAAAAf8Qf8QAAAAAA+AAAAA+AAAAAAAABGABGwB/wf2AZGABHwD/AfGABGAAAADhwHw4MYIYIM4MOMMIGGYDDwAAAAAAPAAQgAQggZjAPOAAYABjgDPwEIQAIQAHwADAAAAAHgPMwZwQQwQR8QfGQODwADgAPwAAQAAA+AAAAAAAAA/wD/8OAHYABAAAQAAYABOAOD/8AfgAAAGAAGQACwAfgAfgACwAGAAAAAAAAAYAAYAAYAH/gH/gAYAAYAAYAAAAAAAAA8AAQAIAAIAAIAAIAAIAAAAAAQAAQAAAAAIAB4AHAA8AHgAeAAQAAAAAH/AOBgYAQQAQQAQYAQODwH/AAAAAAAEAAMAAIAAYAAf/wAAAAAAAAAAAAAAAOAQMBwYDQQGQQMQYYQPwQHAQAAAAAAGDgMAwYQQQQQQQQY4QPtwHHgAAAACAAOAAeAByADCAOCAf/wf/wACAACAAAAABAfxgcgwQgQQgQQgQQwwQfgAAAAAAB/AH7gMgwZgQZgQQgQQxwAfgAAAQAAQAAQAQQBwQHgQcARwAfAAcAAAAAAAAHHgPswYwQQQQQQQY4QPswHHgAAAAAAHwAMYQYMQQEQQEwYIgPfAH+AAAAAAADAQBAQAAAAAADA8BAQAAAAAAAYAAcAA0AAmABiABDADDAAAAAAAAkAAmAAmAAmAAmAAmAAmAAkAAAAAAADDABDABiAAmAA0AAcAAYAAIAAAAMAAYAAQGQQcQYwAPgAGAAAAAAfwBwcGAGEACIPzI4RZgRZARZBhY/zIAQMAQGAwD/gAeAAAQADwAfAB+APGAcGAPGAD2AAeAAHwAAwAAAf/wf/wQQQQQQQQQYQQYwwP5wHPgAAAAAAD+APvgIAwYAQQAQQAQQAQYAwODgCDAAAAAAAf/wf/wQAQQAQQAQYAQYAwMBgH/AB8AAAAAAAf/wf/wQQQQQQQQQQQQQQQQQQQAQAAAf/wf/wQQAQQAQQAQQAQQAQQAQAAAAAD+AP/gIAwYAQQAQQIQQIQYIQOIwGPgAAAAAAf/wf/wAQAAQAAQAAQAAQAAQAAQAf/wAAAAAAAAAAAAf/wAAAAAAAAAADgAAwAAQAAQAAQAAwf/gf+AAAAAAAf/wf/wAYAAwAB4ADMAGHAMBgYAwAAQAAAf/wf/wAAQAAQAAQAAQAAQAAQAAAf/wf/wOAADwAA8AAHgABwADwAOAB4AHgAeAAf/wAAAAAAAAAf/wf/wOAAHAABwAA4AAOAAHAABwf/wAAAAAAAAAD+APHgIAwYAQQAQQAQQAQYAwODgD/AAAAAAAf/wf/wQIAQIAQIAQIAYYAIQAPwAAAAAAAD+APDgIAwYAQQAQQAQYAQYA4ODsD/EAAAAAAf/wf/wQIAQIAQIAQYAYeAMzgHgwAAQAAAHDgPgwYwQQwQQQQQYQYYQMNwGHgAAAQAAQAAQAAQAAYAAf/wQAAQAAQAAQAAAAAAAAf/Af/gAAwAAQAAQAAQAAQAAwf/gf+AAAAYAAeAAHwAA+AAHgAAwAHwAeADwAeAAYAAQAAfAAD8AAPwABwAPgD4AfAAeAAHwAAfAADwAHwD+AfgAYAAAAAYAwMBgHHAB8AA4AB8AHHAMBgYAwAAAQAAcAAHAADgAA4AAfwA4ADgAOAAYAAAAAAAAQAwQDwQGQQcQQwQRgQXAQcAQYAQAAAAAA//////wABQAAeAAHgAA8AAPAAB4AAIwABwAD///AAAAAABwAHAAcAAOAADgAAwAAAIAAIAAIAAIAAIAAIAAIAAIAAAwAAYAAIAAAAAAAAAngBmwDMQCMQDMQDMwB/wAAQAAAAAA//wf/wBAQDAQDAQDAQBxwA/AAAAAAAA/gBhwDAQCAQDAQDAQBxgARAAAAA/ABxwDAQDAQDAQBAQf/w//wAAAAAAA/gBtwDMQDMQDMQDMQB8wAYAAAADAAf/w7AAzAAwAAAAAA/ABxyDATDARDARBAzB/+D/8AAAAAA//wf/wBAADAADAADAAB/wA/wAAAAAAT/wT/wAAAAABT//T/8AAAAAA//wf/wAMAAeAAzABhgDAwAAQAAAf/w//wAAAAAAD/wB/wBAADAADAADAAB/wB/wBAADAADAADAAB/wA/wAAAAAAD/wB/wBAADAADAADAAB/wA/wAAAAAAA/gBhwDAQDAQDAQDAQBhwA/gAEAAAAD//B//BAQDAQDAQDAQBxwA/AAAAAAAA/ABxwDAQCAQDAQBAQB//D//AAAAAAD/wB/wBAADAADAAAAABxgB4wDMQCMQDEQBGwBjgAAADAADAAP/wDAQDAQAAAAAAD/gB/wAAQAAQAAQAAwD/wD/wAAADAADwAAeAADwABwAHgA8ADgAAAAAAAD4AAfAADwAHwA+ADwAB4AAPAABwAHwB8ADgAAAAAAADAwBxgAfAAOAA7ABhwDAwAAADAADwBAeDAH+AB8AHgA8ADgAAAAAAADAwDBwDHQDMQD4QDgQDAQAAAAIAAMAH/wfz+wACgADAAAf/8f/8AAAgADwAGfz8D/wAMAAAAAAAAMAAcAAQAAQAAYAAMAAEAAEAAEAAYAAA"), 32, atob("BAQFCgoNCwMGBggKAwUEBwoKCgoKCgoKCgoEBAkKCQgQCwsMDAoKDA0FCgsJEA0MCwwLCwsMCxALCwsEBwQHCAUKCgkKCQYKCgQECQQQCgoKCgYJBgoJDgkJCQYEBgwA"), 18+(scale<<8)+(1<<16)); + return this; +} + +// https://www.1001fonts.com/rounded-fonts.html?page=3 +Graphics.prototype.setFontBloggerSansLight46 = function(scale) { + // Actual height 46 (45 - 0) + this.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAA/AAAAAAAAPwAAAAAAAD4AAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAH/gAAAAAAP/wAAAAAAf/gAAAAAAf/AAAAAAA//AAAAAAB/+AAAAAAD/8AAAAAAH/4AAAAAAH/wAAAAAAP/gAAAAAAf/gAAAAAA//AAAAAAB/+AAAAAAA/8AAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///8AAAAP////4AAAP/////AAAH/////4AAD+AAAB/AAA8AAAAHwAAeAAAAA+AAHgAAAAHgADwAAAAB4AA8AAAAAPAAPAAAAADwADwAAAAA8AA8AAAAAPAAPAAAAADwAB4AAAAB4AAeAAAAAeAAHwAAAAPgAA/AAAAPwAAH/////4AAA/////8AAAH////+AAAAf///+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAPAAAAAAAAHwAAAAAAAB4AAAAAAAA+AAAAAAAAfAAAAAAAAHgAAAAAAAD4AAAAAAAB8AAAAAAAAeAAAAAAAAPgAAAAAAADwAAAAAAAB//////4AAf//////AAH//////gAA//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAD4AAHAAAAD+AAD4AAAB/gAA8AAAB/4AAfAAAA/+AAHgAAAf3gAB4AAAPx4AA8AAAH4eAAPAAAD4HgADwAAB8B4AA8AAA+AeAAPAAAfAHgADwAAPgB4AA8AAHwAeAAHgAD4AHgAB4AD8AB4AAfAB+AAeAAD8B/AAHgAAf//gAB4AAH//wAAeAAAf/wAAHgAAB/wAAA4AAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AADgAAAAPAAB4AAAADwAAeAAAAA+AAHgAAAAHgAB4ABgAB4AAeAA8AAeAAHgA/AADwAB4AfwAA8AAeAP8AAPAAHgH/AADwAB4H7wAA8AAeD48AAPAAHh8PAAHgAB5+BwAB4AAe/AeAA+AAH/AHwAfAAB/gA/AfgAAfwAH//wAAHwAA//4AAA4AAH/8AAAAAAAf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAD+AAAAAAAD/gAAAAAAH/4AAAAAAH/+AAAAAAP/ngAAAAAP/h4AAAAAf/AeAAAAAf/AHgAAAA/+AB4AAAA/+AAeAAAB/8AAHgAAA/8AAB4AAAP4AAAeAAAB4AAAHgAAAAAAAB4AAAAAAAAeAAAAAAP///4AAAAH////AAAAA////gAAAAP///4AAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAD4AA8AAD///gAPAAB///4AD4AAf//+AAeAAH+APAAHgAB4AHgAA4AAeAB4AAOAAHgAcAADwAB4AHAAA8AAeADwAAPAAHgAcAADwAB4AHAAA8AAeAB4AAeAAHgAeAAHgAB4AHwAD4AAeAA+AB8AAHgAP4B+AAB4AB///gAAOAAP//gAABAAA//wAAAAAAD/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAAAAB///4AAAAD////wAAAD////+AAAB/////4AAA/gPgB/AAAfgDwAHwAAPgA8AA+AADwAeAAHgAB4AHgAB4AAeAB4AAfAAHgAeAADwABwAHgAA8AAcAB4AAPAAHAAeAAHwAB4AHgAB4AAeAB8AAeAAHgAPAAPgAB4AD8APwAAOAAfwP4AADgAD//8AAAAAAf/+AAAAAAB/+AAAAAAAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAA4AAeAAAAB/AAHgAAAB/wAB4AAAB/4AAeAAAD/4AAHgAAD/wAAB4AAH/wAAAeAAH/gAAAHgAP/gAAAB4AP/AAAAAeAf/AAAAAHgf+AAAAAB4/+AAAAAAe/8AAAAAAH/8AAAAAAB/4AAAAAAAf4AAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAAA/AB/+AAAA/8B//wAAA//gf/+AAAf/8PgPgAAH4fngB8AAD4B/wAPgAA8AP8AB4AAeAB+AAeAAHgAfgADwAB4ADwAA8AAcAA8AAPAAHAAPAADwAB4ADwAA8AAeAB+AAPAAHgAfgAHgAB8AP8AB4AAPgH/AA+AAD8H54AfAAAf/8fgPwAAD/+D//4AAAf/Af/8AAAB/AD/+AAAAAAAP+AAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAf/wAAAAAAf/+AAAAAAP//4AAwAAH//+AAeAAD+APwAHgAA+AA+AB4AAfAAHgAOAAHgAB4ADwAB4AAPAA8AAeAADwAPAAHgAA8ADwAB4AAPAA8AAeAADwAPAAHgAA8AHgAB8AAeAB4AAPgAHgA+AAD8ADwA/AAAfwA8A/gAAD/wef/wAAAf////4AAAB////4AAAAH///wAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AB4AAAAAfgA/AAAAAH4APwAAAAB+AD4AAAAAPAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), 46, atob("DRAcHBwcHBwcHBwcDQ=="), 56+(scale<<8)+(1<<16)); + return this; +}; + +function setLargeFont() { + g.setFontBloggerSansLight46(1); +} + +function setSmallFont() { + g.setFontRoboto18(1); +} + +function getSteps() { + try { + return Bangle.getHealthStatus("day").steps; + } catch (e) { + if (WIDGETS.wpedom !== undefined) + return WIDGETS.wpedom.getSteps(); + else + return 0; + } +} + +function getGaugeImage(p) { + //debug("p="+p); + if (p < 2) return p0_img; + if (p >= 2 && p < 4) return p2_img; + if (p >= 4 && p < 7) return p4_img; + if (p >= 7 && p < 10) return p7_img; + if (p >= 10 && p < 20) return p10_img; + if (p >= 20 && p < 30) return p20_img; + if (p >= 30 && p < 40) return p30_img; + if (p >= 40 && p < 50) return p40_img; + if (p >= 50 && p < 60) return p50_img; + if (p >= 60 && p < 70) return p60_img; + if (p >= 70 && p < 80) return p70_img; + if (p >= 80 && p < 90) return p80_img; + if (p >= 90 && p < 100) return p90_img; + if (p >= 100) return p100_img; +} + +function draw() { + var date = new Date(); + var timeStr = require("locale").time(date,1); + var da = date.toString().split(" "); + var time = da[4].substr(0,5); + var hh = da[4].substr(0,2); + var mm = da[4].substr(3,2); + var steps = getSteps(); + var p_steps = Math.round(100*(steps/10000)); + debug("steps="+ steps + " p_steps=" + p_steps); + + g.reset(); + g.setColor(g.theme.bg); + g.fillRect(0, 0, w, h); + g.drawImage(getGaugeImage(p_steps), 0, 0); + setLargeFont(); + + g.setColor('#0f0'); + g.setFontAlign(1,0); // right aligned + g.drawString(hh, (w/2) - 1, h/2); + + g.setColor(g.theme.fg); + g.setFontAlign(-1,0); // left aligned + g.drawString(mm, (w/2) + 1, h/2); + + drawSteps(); + g.drawString('Battery ' + E.getBattery() + '%', w/2, h/4); + queueDraw(); +} + +function drawSteps() { + if (drawingSteps) return; + drawingSteps = true; + setSmallFont(); + g.setFontAlign(0,0); + var steps = getSteps(); + g.setColor(g.theme.bg); + g.fillRect((w/2) - infoWidth, (3*h/4) - infoHeight, (w/2) + infoWidth, (3*h/4) + infoHeight); + g.setColor(g.theme.fg); + g.drawString('Steps ' + steps, w/2, (3*h/4) - 4); + drawingSteps = false; +} + +Bangle.on('step', s => { + drawSteps(); +}); + + +/////////////////////////////////////////////////////////////////////////////// + +// 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; + //prevInfo(); + //checkIdle(); + draw(); + }, 60000 - (Date.now() % 60000)); +} + +// Stop updates when LCD is off, restart when on +Bangle.on('lcdPower',on=>{ + if (on) { + draw(); // draw immediately, queue redraw + } else { // stop draw timer + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + } +}); + +g.clear(); +Bangle.setUI("clock"); +Bangle.loadWidgets(); +/* + * we are not drawing the widgets as we are taking over the whole screen + * so we will blank out the draw() functions of each widget and change the + * area to the top bar doesn't get cleared. + */ +for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";} +draw(); diff --git a/apps/daisy/app.png b/apps/daisy/app.png new file mode 100644 index 0000000000000000000000000000000000000000..89252e5dfd0295126c077ec1c75e06fea87f2632 GIT binary patch literal 5008 zcmV;B6L0K^P)-v88G*JLG`G4@&6Nt35%$J#FD z|HaUZhO)I!k*cjL$S;Ouv`n51_NQ$MoKAB=cG9Gh%ozK%;-IgkQ-RZIrYyF~!NYRa z+0FKbqMXDr=lhGYllt53me>(v`l0WDbfjlGIm_v!3Fo&d%yZ_6@qA->7}L*YGBLv<Ayz+6mK>Q6aeJ*O~br9r`aTldp+Vci{hB9+*Bb_ zcBb@VM6)nBQnn_Ef0;Ucbo}^9!zci-+9ZZDh~>XVfH9%!%;~mhdFCw>SW)1o6l5li z0svk#A=MEy3q1e#)U0ANN=@1d-Tx%KwDW^fVzsgo^=LE+@Toj_qu^2CCyq(_Rf zoa4@~|NMB%3Af8f%d*l%h+%N|{Y6%*LwW@OXoj-$LKGitb_o<<1%Nn*^xT~b3alJ& z0syG0hK8EcyePB#&!1yvZer%F9OtipdcLlhKw(buL`RHu<860Nd#-mz(&l-?G7rqi zNKT9RIgTy+p}aQQe(d_>LZ_ z2QQe8tT}x;1OPV=NQwRBh@5pXR(r*);t8+E#94O~WI8Vh09QnS0R8eO4l&(!=QQf| z_a3$1b^k5HZ8q^xQLb|;0Qh~ux3+EC=a00fXbN-Y-5^^g~pcx8;5R=1V zU0QPc4Fbb3QQyw(2mL-z=pO)3keM_phBZ|c&7Cysy|qtC3w|?Dy!rYhkvX1f2Bt1(lVWR<(-9=Uh$4)@fJM9vh=1srR5~z7tI24^3pU- z(?acS?&w$@?VV6nHJsbGk0zR)&Y zGS{kvR8MV9Q^f^I=PTf+GsP;e-$G zt*#Gsbb1Rehw-umw$!=2flz49(nW9k+FD)FdW%)WvoGIgwK}AGf`RbSwg37$3N|$@ zk>Nz1`DW*l==u0&cZHAVIi&PSh|c%vN2N+2ARo2a#rZ2%J!r8zEK%^C9tF!@s#LvR zrFcViYvUCWD9nqu7UU$)F3d{$-@=^aiIdaQ1pwGob9PTqmhXAu_pkXqol#7%*(EGq zevgHssJwL_mHLlYo&W$i99Hl=Bf8Fc^!Bz+xLsbfw|R7q=R~``>#nLfeiCc{^_8EZ zsJ@Gr-D9!Yr6_n`K*QqYhxJfUeSAY*^R~!*MOn_&f~>?TGjo%#D@jQaBlQdbOwW$B zNrJUz+{7WX2M*0HG_h<+IN*JJc%Q_X=@yXGdmctYP6l5n&>Nha+vz4zt7`;AKRl~802JF~=(Er`;3NS3QRgslOi(UNP z|1FI(Pn0Ku^)qJ7t3V*N55 z_Ig7vaw7M@JO5g2wbEyzdw%6B$25;mev_r?I7KD11`lx1H(l?P1`TjP6uQOilTROV z|4`X6XG48!X%_*f(=5jG4G;WrZo-7g!=jf=#AI2)-W}y+^}Cz>!9e&Z0djAgIo5pl z?}|ipl&kY^V1@C0X^QGGLYEN&?5@~$~#EFpS7mJ?TJoRnCHwh3w-I+8Drva z|IG~Ud?^qyUDxs1Cp*-&AAIE_1n+;mWkqn;m)}3~@w@BzCkhSpvRwlCPeGh=<^oNi*6p0P#O4Q$?aMq9n6!50V_Gb5q(f*HG3LU@tm zm|K6npuj%q#u3!{w`RoZs++LnvA2D)Ke$rh$YU#RH(9R~JOBiPK{Pb`@WNKRrl|BX z!OT9q_>m#jetA9LHN+s;cd#9QeZR&Z468dsKI7gm>YJl+{i3tZ$mu;a)^1q|LdKW; z>IUJ)>0_AlFCYMDZ|lUu1uul}$XB=t{pl-54?s~AbaZr}tdYZpqYh=|Go!hr1o474 zvaF+YPm8hUv&KMJ(W`<%<-sp%TlfETtjkVZn3a-kaR^IQMJ>$9?V}ADnQKi=OJeK} z34VVF|5&veFU&J=sXc#50;+yFz<*lyum{^wH z>0GK=(tgR{OI@-hxH%sDRhGudIF?d3VqpKAa(ltFKhZGMla5Tr6 z1UVSWD;h~`bH*|~PukCz9G2mBbxDmaM@8(YwsZ;tTdk_PEQfWC=NP+*qXj~UnWm^9 zMNvTl;thw5YB{9sBOv7)>RKuRfSs9}e4XSL*JcfIa>K{;vnBVAr|k|2HoFB8%`OKO zw4ZaMuDVJ4X7>?aTZ`MEp$7(}FtJw)9sqQ;TY6;oQn9yI3oBtND?W~A$Bj*pa% zc=Cal$fD^XD$#M3`v*WrM+X$8ORb*sG5Fj5II?WXSSl`t|CyfMR#x7Q=T{wVp#h?M zJ%OtNpz8z#0QuRLJx$XzC~CLVCIp}fg{un#fJHI^6h%=5+0Nk>iC<%}OL0R-=J8oM zDMDg$90Y*_$D3f51cZWNw6(ZUU)`jAv+Ibzqrauv^N0=V2Rgu~%z zRc$Mazkh3M)d>c!I&#w1v?GHh&oyZ}+?3gO|f4xe9z$E%|GY)CIFZ}**S@`pn~ zeRh<0QFc;)0&2J*a$`Ax&t(|OPIQR6p-TW2(p4>_D5{SaIELj|Q4Y%4MZ<}8PX3i2 zV!z)HpU-ze-PRw>D6NrPg2>jYsveSML+3f#X5wg(5MrhX3{aF8fUFxvwH!2#YKDGL zsB77~2GB3Na5Hjx54B6;6Pl*Z=r<@+9Wp$}mYSAG+w5Io^u53Q^UA^~0sMiU;0Xa% zY>mbI`9mQ|Y&48k9CdrEYCBnziCXXVkR=-%PS;*yPK_MK;cvF5YJ!rMorf9LfmkFBq3F8}Em7ff7~@p*MYsrY3~Tocwwtu z3+e1~No4-;)T4uKx!FCXgl-V*`L>n3|6!e9Q}s_gt@?u-nwx_?2oz*GCrDO){V(sD zZkt{>p1GI?(li|(y}wP}@aZnEX6V~Z3_ELdet)t0;2~!Iq)x<1Mo**{v35U=cXr#6 z+doPBzPvr8Yh)A6(l^hZ)yFcsDD9$RPEibe@JXGreaG4MU|65BzPhTY9o9tmH68Sb*ikA=T5lI`TH7pCJ^ods~Z#oVH(Yy3=W*& zvG$M+$6C!wP{uQ@=R#v{o|?j0B^JYm#IYlW#f$sCZ;kZ@^tURjI?t@zcrvZ&bU@{K zhKq|6z%X53rB8~5Dm&D!w)y28_2e=o7XT5nf~&M(bmROUOfLwrOQO?s?EYC z2polANIm8X(7m5nIM~rU*^GxDFY|>}edDw#y>Geej-05>_4-sST6)mua?4ML!t$Fm zgt-Shjiv}C5{5c4qNcfK319%g zoPm8Fh>f!^d*O|TtX8Wz3cjwvhb1d3{Hm&|%N7rh$UZLl-#u(dTw3pBGkV1fP&I=+UgIhM_WQQD>#s}Z1ilLj&odY|I)N+Q-8v=1!k1RN z0%wk$JEvE>eNELae?^VUUv>5M-brsfuBaDu=L3k3BypZN13zt0~{ zEg?RR$CC>OSw+#b{+7PI<1UBsvIHD4;+pyQ-(t0!;?sXjq~)L)il zTA1^cSj927k2led>xRUGZ~M(S9W!fkUhB;LgIZf}>LS-7~&@9ylr z?DBH#m|c_}BbwR2UK4@BEa&)`I7jXc(?&B9@W*RBShV!8+UW@|Xzz5tscXix3Hgap z^dVV8U4w@;v6MMJw)+Vh7sJEEGeT8Or%4WXzXc}dCsB&3&+>(Zmt7v^(cdpR;ID7& zmK()0(o8fkwKzK=>#7M582J+>54FNy1J!*TYuBH`@|TZ#+uH);K00#pU4atkjT_yI zitJqg*uLYe&a(6ugg_L{-SuXXg+UB6%TSw2ceg~hktDGg+&_jkQGuDC9&LJ~vr{g5 z@|i>K?K{pIgmkUa#Qa27qu7a8O#l?W-@1NJ_?_1`lLZeQP`@l~-P#sZGuAhpEdv0_ z%KmEdb;(ksxvm>n^ZAL8*J~^#6r~cQTR+H(4u+ya0WVp$_KOpKa-Ou9I@u{%t)>M4 zu%W)SH0aldzW-s(f%_ia=lN(|gRysitI9w>b}5*bl)@Y8T6Pr}^i3PS^ko|q*}bWz zwISl0o}JAriaezMd1;Uxds_$y_1(sX)3v`Ek*0)|ZdnnQbx<_rU*CAT;x=3A@%?4z zMvooU3ji>9U<_2%i2lIX(9nDeKz>n9;+WNI0^Nny*F;kFzoi4YSC? zYUSuzxhcIj)|@^Q>GNX><&wZ7c1?dN4TGeor%6$L{lO>oilUH@Bk2#KQ?(v%H-WZx z8L~oZ0bpZI%K5^!zHKF6?>yV?3Hl$2 z`27L3qWNqn8gAG@!|0=w#*P8R`nTiN0E z;A2mf>8F|kaww>e-BRz0#&|>550zJR_)3b?8~||mXuD#7L?0tt>du@l%yJeiex`gw zR)z(qngW4pUtNHEa1vd&YayGhphxk>==rnc;Xzu=uZLYa>$r@vFG5w a!~P${2J+_@gHSpE0000Px=<4Ht8RCr$Po$GcZDGY=&@Bh%V$DVPvhX5*F00FgscF&p?Qt6|t?!?ZoudlD) zU;Kv(Y^uO70=#MGnD$!%0!$FLR)7F+-99EyfM+rw-EF+O!GBZ=5MW8J7jz$$y#JQ= zYQ0Xdo5~SjD^!;2BnQ^SB-Ff#dn*v>u#!V-07ce5_e0hnxP}fqv#E68aJBCNc&5{~ zoH)9DlH*@6X50gCG(6GqwC;QXoQTBd0vzSIh>D}vwBSY@xYS{Eu9M@R3-Dwix!oEC z&H>o!xNCHe-}Tb^&jC0d2}ayNfqenK)Nx>@F41RSfZx=h*IHeS@{@c`e}NY*=5fpGvYI+0V=<7Pht99l>zDoels++QF?z27=`LAPYShw3TK9atjN#J7(SMDg;{euVQLJqN{90y( z_#}YQ1CFeFt@&tL{@c54md!WOslzB~26wB!RLIe?Ql3mN~^ ztTY2ZA?`I4bvtA~X#_zW>$#5=7Ae=(!6^@Z4Loa3FvJ5E`T-vByiaq(MS%ZMVR7cx z=zz@1W)_2a@dIqGq&c2Y&w-e{L)!rko@GWCnjwCK`(~&kB!?h=>;Q*UaZeD! zJEqrqfP-h4F=ge8svR}*RS=v}5J!4|gX>^8D&SE-4{*@z;z^p<9;ASiCq2LiX~$Cb zR{#e%XlB`8GFA|(fRig6;LxlYj0(gkfCKEDRbtX*lw%bz@`VF@ta2=DX9aM8jVEMh zahUr=1&n;*08gxiTTua20U2Q9$v_j}Ix6sw0!rRwfT=GPNUVSiu<}GCu9d0npn#G$ z8Q>j?W{%e?AOoyC5!Wio!ebOr@+JculNO^;fguXC0e1e3+LUemODX>kW&d)@emcE< zNA3B@Nb~tMjjmE$O|075As;tVa+kw_C2&jiBB7G@j@+xLLkpM|7;Stl(As>o@sag< z2S%czYb1E2I3Bpry*+z0^7n#;g5%vsl;81v%~I^-o}w{@BulQzYKgHJbwoEfHDI9 z51^jBfcAP|iiTfuZlIhrOXfOo1SA%SYuA*{8j+jwse=Y23&fs7vz*Yh4jiG37PfMI zZ7k5njHp8yLkpyKy)vB?%jY_9RLNS{KI<)Wa?lJMQMwjL?fQru!(z~ZA5wnA=&7qc z6k(mh18ITOuE#UUv+}0{gXAwO!7>9Q$tDMQ#0)Gw*3-=Bh{UEf0*~{bLYS)fd(kL( z-w$aUi6s~zEbzWdYW&GwZ3|L>+-c9ht;_1b$g^B+XP)bm0xUu3d4{Z&YYE6lIPhqA z6F9I0Y7I6CC`(KUYH3gD`smm5&%hGAFGV8W<`+A#1vUvLOH2eXX<_nGcI z#gO(6ffopp%Yj$Hdl|qQ_`HVzV6eYr3kO~aZjuqA)kSHJ)xc^b% z=}~3y4D5l)07;nRyq&` zlhy@S?TbKIKXre9&%1QsV)5M1#H|8p)xM4Hd12DRE8WnckXiRd<6G9zfi0?)*BGB$ zYe9|zXw|+dsfF416N?V4Qnj(z2r%l5QQ(%@OCXQhH$rk5VDJP)Cc{`%;9CKZzqt;~ z{!oEn1?JAc!O1h+!3xlU4{k0?`&NJsOc-)1KnKp*7iJZ!fZl;WCnGiwMxz3M6lghb zgF8NjAUInqAOj4}B3rA#{4p8rM|_aF-{w|)HESvjoLu1m z&m>Z@7y6Y=rva?3yOcB)#EO3ZsH5{oR_kGnvx+0f=A|_#pN)MsX(xasxX`-Mbt8HM z$8_?vwF7IQ)U1WY4_=7o*jnekKDeAI;q(AIXO_sSv<-XiUAkP$xob1z>;JV}vKL3H zT{{-EYC!+~o8Ido>Vj1cMI4dTZRa3q0&v9vdFi0k#h z`T&X?B5Rqg10)^B&wlCPwF*(W&JJ+U3=>$(cPIq7T64=>N;oxdBx7_ELfx6Z+P0I*j0SB!|yY5wsW|RqR(eO}yfP-ckYo+K7Ryiy8ZsL%e zz!C~g9+n%q$ebeI9n^gb=EV=Nx`Ox%N_ddRNEsiawZoFZMuGJJODFpC z`Wk(>Yx4fA2bhRZ0fz#408W0=9UAX>=_dWi1Mr@0X4Z=p$OkZb@;MvFqO+;)`2db> z3!@#bKz@KxXE?l3!^+!S-~0d%>l_20puj!=qfWuuxXg6(GR7Ich84jC4)Ni2zR!nOlrgfB;L{W^rgK z&r4q?z?U}ul(Gr%DV@Bu4g!2><4-A@0H4yyOY8U#?cvaBIPc{<00000NkvXXu0mjf Dgx=Ia literal 0 HcmV?d00001 diff --git a/apps/daisy/screenshot_thering2.jpg b/apps/daisy/screenshot_thering2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..521a610171da359e9ae8e2c3f2816846d541a258 GIT binary patch literal 45141 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

PZ>rG*M~V* zC=?>g<|qzUT^}9eqm`cR-)I=G%D(J`n$g*O+P+6K*i1SmQxJoPJy1-=+C!XPq zXt}li9;HoaA#*YruFn<(?aZy;Gk-omgP;Tu?VX>u{|%i&05tz4)r&W<>4qON|T{S-l=El;BD@~G0;3Zdw%_I;xJ>C7skh{n8_ z1r$-3d%J?jPxjaGb$HYSfy%xHQ>HkGn6ze-HgDn`h}pCJ=JMyPk9(uQ2l2^x*)FNT z^A7CU%y;7fKhtN~z0ti&UTiI15>bra(5u6?V_VDzCEA3#^b#d>BSPB$lA!y*g9uU4 z@wD()0iq7>8$RVJgXqm#qdS}gc)T|aqDjqh=FXpNj2z{KQaA~9m)+coK$QAmy+r20C+G~`6dK8p$cTg#30zac>=!9*{mlU4^%FzH1GLUxT42Yhv+dMStgI@awnB8-Z5@|- z>ai1%5l&rW0ul=# z=U}w1>YAUs6lhCUs;as3+lo}t0`d&j)e1+ZskBSsRbBf_AXsgynhZw-Ps=Q+)d~8RH-A$ncazPIV650N=byGl>S7t ze)cA`)PbBe(Pl=#v$U(Er#qT;B`d0(G$4!f7EgY-rpeT^@a0v7GW|9eSgy*OJtAwt z7!PX@&dPGDpkBTkk3d7@^OZwHK(34kH?HHe?-Cc3^Dicom*#y9k6y%`mUIt4oxuCPn9;^520*>@VS z3-Sa~*vAWYZU^dgHbQ-`_3OdAt^D z8R>^Zw_ymMw3SY1)iX0Xe!T4&@uOJH&5T2DDh4Kag``Qsg#B4l&Qbjr@T@y#kR{T; zv6t?G8X9}m4nhH|H8w)6=kLEMh6qRQAH$}Rol%DJOn2|k;R?tHqpHiEmjn|;8x|iN zi5M>#!RVvAiP(R8<6jm|ka`f_dt=!?#40l``=kY~Nww$o{9aCu)P@5>p_eJKi|2J( zs;y>#3qL`Cy<(*&E%PVN_YWLQ@K?N9gEIod�e9j3!`F3^QxZK5jA}%d6?l5dX7% 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 OpD1M{07xEZSpV5*ZhS)k literal 0 HcmV?d00001 diff --git a/apps/daisy/screenshot_thering3.jpg b/apps/daisy/screenshot_thering3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da8f140c0b36dbcc3c09c9fcc163a02bd1cfdc4d GIT binary patch literal 19580 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 Date: Tue, 22 Feb 2022 22:06:34 +0000 Subject: [PATCH 08/10] Daisy updates --- apps/daisy/app.js | 265 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 247 insertions(+), 18 deletions(-) diff --git a/apps/daisy/app.js b/apps/daisy/app.js index 7e148381b..54743d945 100644 --- a/apps/daisy/app.js +++ b/apps/daisy/app.js @@ -1,5 +1,19 @@ +var SunCalc = require("https://raw.githubusercontent.com/mourner/suncalc/master/suncalc.js"); +const storage = require('Storage'); +const locale = require("locale"); +const SETTINGS_FILE = "pastel.json"; // XXX +const LOCATION_FILE = "mylocation.json"; const h = g.getHeight(); const w = g.getWidth(); +let settings; +let location; + +// variable for controlling idle alert +let lastStep = getTime(); +let warned = 0; +let idle = false; +let IDLE_MINUTES = 26; + // palette for 0-40% const pal1 = new Uint16Array([g.theme.bg, g.toColor("#020"), g.toColor("#0f0"), g.toColor("#00f")]); // palette for 50-100% @@ -9,8 +23,8 @@ const infoHeight = 14; var drawingSteps = false; -function debug(o) { - //console.log(o); +function log_debug(o) { + print(o); } var p0_img = { @@ -111,13 +125,6 @@ var p100_img = { buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLFjzWEABLgbVgohEGoqyaiofDBihWVHJpYYDgYPbKxz5NLDJGCfBzgDKzA+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) }; -// 300 -Graphics.prototype.setFontRoboto18 = function(scale) { - // Actual height 18 (17 - 0) - this.setFontCustom(atob("AAAAAAAAAAAAAAAf8Qf8QAAAAAA+AAAAA+AAAAAAAABGABGwB/wf2AZGABHwD/AfGABGAAAADhwHw4MYIYIM4MOMMIGGYDDwAAAAAAPAAQgAQggZjAPOAAYABjgDPwEIQAIQAHwADAAAAAHgPMwZwQQwQR8QfGQODwADgAPwAAQAAA+AAAAAAAAA/wD/8OAHYABAAAQAAYABOAOD/8AfgAAAGAAGQACwAfgAfgACwAGAAAAAAAAAYAAYAAYAH/gH/gAYAAYAAYAAAAAAAAA8AAQAIAAIAAIAAIAAIAAAAAAQAAQAAAAAIAB4AHAA8AHgAeAAQAAAAAH/AOBgYAQQAQQAQYAQODwH/AAAAAAAEAAMAAIAAYAAf/wAAAAAAAAAAAAAAAOAQMBwYDQQGQQMQYYQPwQHAQAAAAAAGDgMAwYQQQQQQQQY4QPtwHHgAAAACAAOAAeAByADCAOCAf/wf/wACAACAAAAABAfxgcgwQgQQgQQgQQwwQfgAAAAAAB/AH7gMgwZgQZgQQgQQxwAfgAAAQAAQAAQAQQBwQHgQcARwAfAAcAAAAAAAAHHgPswYwQQQQQQQY4QPswHHgAAAAAAHwAMYQYMQQEQQEwYIgPfAH+AAAAAAADAQBAQAAAAAADA8BAQAAAAAAAYAAcAA0AAmABiABDADDAAAAAAAAkAAmAAmAAmAAmAAmAAmAAkAAAAAAADDABDABiAAmAA0AAcAAYAAIAAAAMAAYAAQGQQcQYwAPgAGAAAAAAfwBwcGAGEACIPzI4RZgRZARZBhY/zIAQMAQGAwD/gAeAAAQADwAfAB+APGAcGAPGAD2AAeAAHwAAwAAAf/wf/wQQQQQQQQQYQQYwwP5wHPgAAAAAAD+APvgIAwYAQQAQQAQQAQYAwODgCDAAAAAAAf/wf/wQAQQAQQAQYAQYAwMBgH/AB8AAAAAAAf/wf/wQQQQQQQQQQQQQQQQQQQAQAAAf/wf/wQQAQQAQQAQQAQQAQQAQAAAAAD+AP/gIAwYAQQAQQIQQIQYIQOIwGPgAAAAAAf/wf/wAQAAQAAQAAQAAQAAQAAQAf/wAAAAAAAAAAAAf/wAAAAAAAAAADgAAwAAQAAQAAQAAwf/gf+AAAAAAAf/wf/wAYAAwAB4ADMAGHAMBgYAwAAQAAAf/wf/wAAQAAQAAQAAQAAQAAQAAAf/wf/wOAADwAA8AAHgABwADwAOAB4AHgAeAAf/wAAAAAAAAAf/wf/wOAAHAABwAA4AAOAAHAABwf/wAAAAAAAAAD+APHgIAwYAQQAQQAQQAQYAwODgD/AAAAAAAf/wf/wQIAQIAQIAQIAYYAIQAPwAAAAAAAD+APDgIAwYAQQAQQAQYAQYA4ODsD/EAAAAAAf/wf/wQIAQIAQIAQYAYeAMzgHgwAAQAAAHDgPgwYwQQwQQQQQYQYYQMNwGHgAAAQAAQAAQAAQAAYAAf/wQAAQAAQAAQAAAAAAAAf/Af/gAAwAAQAAQAAQAAQAAwf/gf+AAAAYAAeAAHwAA+AAHgAAwAHwAeADwAeAAYAAQAAfAAD8AAPwABwAPgD4AfAAeAAHwAAfAADwAHwD+AfgAYAAAAAYAwMBgHHAB8AA4AB8AHHAMBgYAwAAAQAAcAAHAADgAA4AAfwA4ADgAOAAYAAAAAAAAQAwQDwQGQQcQQwQRgQXAQcAQYAQAAAAAA//////wABQAAeAAHgAA8AAPAAB4AAIwABwAD///AAAAAABwAHAAcAAOAADgAAwAAAIAAIAAIAAIAAIAAIAAIAAIAAAwAAYAAIAAAAAAAAAngBmwDMQCMQDMQDMwB/wAAQAAAAAA//wf/wBAQDAQDAQDAQBxwA/AAAAAAAA/gBhwDAQCAQDAQDAQBxgARAAAAA/ABxwDAQDAQDAQBAQf/w//wAAAAAAA/gBtwDMQDMQDMQDMQB8wAYAAAADAAf/w7AAzAAwAAAAAA/ABxyDATDARDARBAzB/+D/8AAAAAA//wf/wBAADAADAADAAB/wA/wAAAAAAT/wT/wAAAAABT//T/8AAAAAA//wf/wAMAAeAAzABhgDAwAAQAAAf/w//wAAAAAAD/wB/wBAADAADAADAAB/wB/wBAADAADAADAAB/wA/wAAAAAAD/wB/wBAADAADAADAAB/wA/wAAAAAAA/gBhwDAQDAQDAQDAQBhwA/gAEAAAAD//B//BAQDAQDAQDAQBxwA/AAAAAAAA/ABxwDAQCAQDAQBAQB//D//AAAAAAD/wB/wBAADAADAAAAABxgB4wDMQCMQDEQBGwBjgAAADAADAAP/wDAQDAQAAAAAAD/gB/wAAQAAQAAQAAwD/wD/wAAADAADwAAeAADwABwAHgA8ADgAAAAAAAD4AAfAADwAHwA+ADwAB4AAPAABwAHwB8ADgAAAAAAADAwBxgAfAAOAA7ABhwDAwAAADAADwBAeDAH+AB8AHgA8ADgAAAAAAADAwDBwDHQDMQD4QDgQDAQAAAAIAAMAH/wfz+wACgADAAAf/8f/8AAAgADwAGfz8D/wAMAAAAAAAAMAAcAAQAAQAAYAAMAAEAAEAAEAAYAAA"), 32, atob("BAQFCgoNCwMGBggKAwUEBwoKCgoKCgoKCgoEBAkKCQgQCwsMDAoKDA0FCgsJEA0MCwwLCwsMCxALCwsEBwQHCAUKCgkKCQYKCgQECQQQCgoKCgYJBgoJDgkJCQYEBgwA"), 18+(scale<<8)+(1<<16)); - return this; -} - // https://www.1001fonts.com/rounded-fonts.html?page=3 Graphics.prototype.setFontBloggerSansLight46 = function(scale) { // Actual height 46 (45 - 0) @@ -125,12 +132,22 @@ Graphics.prototype.setFontBloggerSansLight46 = function(scale) { return this; }; +Graphics.prototype.setFontRoboto20 = function(scale) { + // Actual height 21 (20 - 0) + this.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAH/zA/+YAAAAAAAHwAAwAAHwAA+AAAAAAAAAAAQACDAAYbADP4B/8A/zAGYZADH4A/+A/7AHYYADCAAAAAAAQAeHgH4eBzgwMMHnhw88GGBw4wHj+AcPgAAAAAAAAAAB4AA/gAGMAAwhwGMcAfuABzgABzgAc+AOMYBhBAAMYAB/AAHwAAAAAHwD5+A/8YGPDAw8YGPzA/HYD4fAADwAB/AAOYAABAAAAHwAA4AAAAAAAAAAH/gD//B8A+cAA7AADAAAAAAAYAAbwAHHgHwf/4A/8AAAAEAABiAAGwAA8AA/AAH+AAGwAByAAEAAAAAAAMAABgAAMAABgAH/wA/+AAMAABgAAMAABgAAAAAAAIAAfAADwAAAABgAAMAABgAAMAABgAAAAAAAAAAAAADAAAYAAAAAAAAADgAB8AB+AA+AA+AA/AAHAAAgAAAAAAB8AB/8Af/wHAHAwAYGADAwAYHAHAf/wB/8AAAAAAAAAAABgAAcAADAAAYAAH//A//4AAAAAAAAAAAAAAAAAAAAABwDAeA4HAPAwHYGBzAwcYHHDAfwYB8DAAAYAAAAAAABgOAcBwHADAwwYGGDAwwYHPHAf/wB58AAAAAAAAADAAB4AAfAAPYAHjAB4YA8DAH//A//4AAYAADAAAAAAAAAEMA/xwH+HAxgYGMDAxgYGODAw/4GD+AAHAAAAAAAAAf8AP/wD2HA5wYGMDAxgYGOHAA/wAD8AAAAAAAAAAAGAAAwAAGADAwB4GB+Aw+AGfAA/gAHwAAwAAAAAAADAB5+Af/wHPDAwwYGGDAwwYHPHAfvwB58AAAAAAAAAAAB+AAf4AHDjAwMYGBjAwM4HDOAf/gB/4AAAAAAAAAAAAYDADAYAAAAAAAAAAYDAfAYHwAAAABAAAcAADgAA+AAGwAB3AAMYABjgAYMAAAAAAAAAAAAAAABmAAMwABmAAMwABmAAMwABmAAMwAAiAAAAAAAAAYMADjgAMYAB3AAGwAA2AADgAAcAABAAAAAAAAAMAADgAA4AAGBzAweYGHAA/wAD8AAEAAAAwAB/4A/PwOAGDgAYYPxmH/Mw4ZmMDMxgZmM+Mx/5mHDAYAIDgDAPBwAf8AAMAAAAAAAYAAfAAPwAP4AH+AH4wA8GAH4wAP2AAPwAAfwAAfAAAYAAAAAAAAAAA//4H//AwwYGGDAwwYGGDAwwYH/HAf/wB58AAAAADAAH/AD/+AcBwHADAwAYGADAwAYGADA4A4DweAODgAAAAAAAAAAAAAAH//A//4GADAwAYGADAwAYGADAYAwD4+AP/gAfwAAAAAAAAAAAH//A//4GDDAwYYGDDAwYYGDDAwYYGCDAgAYAAAAAAAH//A//4GDAAwYAGDAAwYAGDAAwYAGAAAAAAAAAAH/AD/8AcBwHAHAwAYGADAwYYGDDA4YYDz/AOfwAAAAAAAAAAA//4H//A//4ADAAAYAADAAAYAADAAAYAADAA//4H//AAAAAAAAAAAAAAA//4H//AAAAAAAAABAAAeAAB4AADAAAYAADAAAYAAHA//wH/8AAAAAAAAAAAAAAA//4H//AAcAAPAAD4AA/wAOPADg8A4B4GAHAgAYAAAAAAAH//A//4AADAAAYAADAAAYAADAAAYAADAAAAAAAA//4H//A+AAB+AAD8AAD8AAH4AAPAAH4AH4AD8AD8AA+AAH//A//4AAAAAAAH//A//4H//AeAAB8AADwAAPgAAeAAA8AADwH//A//4AAAAAAAAAAAH/AB/8AeDwHAHAwAYGADAwAYGADA4A4DweAP/gA/4AAAAAAAAAAAH//A//4GBgAwMAGBgAwMAGBgAwcAH/AAfwAA8AAAAAA/4AP/gDgOA4A4GADAwAYGADAwAYHAHgeD+B/8wD+GAAAAAAAAAAA//4H//AwYAGDAAwYAGDgAweAHH8Afz4B8HAAAIAAYAPDwD8OA5w4GGDAwwYGHDAwYYHDnAePwBw8AAAAGAAAwAAGAAAwAAGAAA//4H//AwAAGAAAwAAGAAAwAAAAAAAAAH/4A//wAAPAAAYAADAAAYAADAAAYAAPA//wH/8AAAAAAAAgAAHAAA/AAB/AAD+AAD+AAD4AAfAAfwAfwAfwAH4AA4AAEAAA+AAH/AAH/gAD/AAD4AD+AH+AH8AA+AAH+AAD+AAD/AAD4AH/AP/AH+AA8AAAAAAAAAGADA4A4HweAPPgA/wAB8AAfwAPvgDweA8B4GADAAAIGAAA4AAHwAAPgAAfAAA/4AH/AD4AB8AA+AAHgAAwAAAAAAAAAGADAwB4GAfAwPYGDzAx4YGeDA/AYHwDA4AYGADAAAAAAAA///3//+wAA2AAGAAAGAAA+AAD8AAD8AAD4AAH4AAHgAAMAAAAwAA2AAG///3//+AAAAAAAAAAAOAAHwAD4AA8AAD8AADwAAGAAAAAAABgAAMAABgAAMAABgAAMAABgAAMAABgAAAEAAAwAADAAAIAAAAAAAAAAEeABn4Ad3ADMYAZjADMYAZmAB/4AP/AAAAAAAA//4H//ABgwAYDADAYAYDADg4AP+AA/gABwAAAAAAAAA/gAP+ADg4AYDADAYAYDADAYAOOABxwAAAAAEAAH8AB/wAcHADAYAYDADAYAcDA//4H//AAAAAAAAAAAAH8AB/wAdnADMYAZjADMYAZjAB84AHmAAMAAMAABgAB//gf/8HMAAxgAGIAAAAAAH8IB/zAcHMDAZgYDMDAZgcHcD//Af/wAAAAAAAAAAH//A//4AMAADAAAYAADAAAcAAD/4AP/AAAAAAAAAAAGf/Az/4AAAAAAAAAAMz//mf/4AAAAAAAAAAH//A//4ABwAAeAAH4ABzwAcPACAYAABAAAAAAAA//4H//AAAAAAAAAAAAf/AD/4AMAADAAAYAADAAAcAAD/4AP/ABgAAYAADAAAYAADgAAP/AA/4AAAAAAAAf/AD/4AMAADAAAYAADAAAcAAD/4AP/AAAAAAAAAAAAH8AB/wAcHADAYAYDADAYAYDADx4AP+AA/gAAAAAAAAf/8D//gYDADAYAYDADAYAcHAB/wAH8AAEAAAAAAEAAH8AB/wAcHADAYAYDADAYAYDAD//gf/8AAAAAAAAAAAf/AD/4AcAADAAAYAACAAAAEAB5wAfnADMYAZjADGYAYzADn4AOeAAAAAAAADAAAYAAf/wD//ADAYAYDAAAAAAAAD/gAf/AAA4AADAAAYAADAAAwAf/AD/4AAAAAAAAYAAD4AAP4AAP4AAPAAH4AH4AD8AAcAAAAAAQAADwAAf4AAf4AAPAAP4AP4ADwAAfgAA/gAA/AAD4AH+AD+AAeAAAAAAAAACAYAcHADzwAH8AAfAAH8ADx4AcHACAIAcAMD4BgP4MAP/AAPwAP4AP4AD4AAcAAAAAAAAADAYAYHADD4AY7ADOYAfjADwYAcDADAYAAAAADAAA4AH//B/v8cABzAACAAAH//w//+AAAAAAACAACcAAx/n+H//AA4AAHAAAAAAAAAAAAAOAADgAAYAADAAAcAABgAAGAAAwAAGAADwAAcAAAAA"), 32, atob("BQUHDQwPDQQHBwkMBAYGCQwMDAwMDAwMDAwFBAsMCwoTDg0ODgwMDg8GDA0LEg8ODQ4NDA0ODRMNDQ0GCQYJCQYLDAsMCwcMDAUFCwUSDAwMDAcLBwwKEAoKCgcFBw4A"), 21+(scale<<8)+(1<<16)); + return this; +} + +function setSmallFont20() { + g.setFontRoboto20(); +} + function setLargeFont() { g.setFontBloggerSansLight46(1); } function setSmallFont() { - g.setFontRoboto18(1); + g.setFont('Vector', 16); } function getSteps() { @@ -144,8 +161,70 @@ function getSteps() { } } +/////////////// sunrise / sunset ///////////////////////////// + +function loadSettings() { + settings = require("Storage").readJSON(SETTINGS_FILE,1)||{}; + settings.grid = settings.grid||false; + settings.font = settings.font||"Lato"; + settings.idle_check = settings.idle_check||true; +} + +// requires the myLocation app +function loadLocation() { + location = require("Storage").readJSON(LOCATION_FILE,1)||{}; + location.lat = location.lat||51.5072; + location.lon = location.lon||0.1276; + location.location = location.location||"London"; +} + +function extractTime(d){ + var h = d.getHours(), m = d.getMinutes(); + return(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2)); +} + +var sunRise = "00:00"; +var sunSet = "00:00"; +var drawCount = 0; + +function updateSunRiseSunSet(now, lat, lon, line){ + // get today's sunlight times for lat/lon + var times = SunCalc.getTimes(new Date(), lat, lon); + + // format sunrise time from the Date object + sunRise = extractTime(times.sunrise); + sunSet = extractTime(times.sunset); +} + +const infoData = { + ID_DATE: { calc: () => {var d = (new Date()).toString().split(" "); return d[2] + ' ' + d[1] + ' ' + d[3];} }, + ID_DAY: { calc: () => {var d = require("locale").dow(new Date()).toLowerCase(); return d[0].toUpperCase() + d.substring(1);} }, + ID_SR: { calc: () => 'Sunrise: ' + sunRise }, + ID_SS: { calc: () => 'Sunset: ' + sunSet }, + ID_STEP: { calc: () => 'Steps: ' + getSteps() }, + ID_BATT: { calc: () => 'Battery: ' + E.getBattery() + '%' } +}; + +const infoList = Object.keys(infoData).sort(); +let infoMode = infoList[0]; + +function nextInfo() { + let idx = infoList.indexOf(infoMode); + if (idx > -1) { + if (idx === infoList.length - 1) infoMode = infoList[0]; + else infoMode = infoList[idx + 1]; + } +} + +function prevInfo() { + let idx = infoList.indexOf(infoMode); + if (idx > -1) { + if (idx === 0) infoMode = infoList[infoList.length - 1]; + else infoMode = infoList[idx - 1]; + } +} + function getGaugeImage(p) { - //debug("p="+p); if (p < 2) return p0_img; if (p >= 2 && p < 4) return p2_img; if (p >= 4 && p < 7) return p4_img; @@ -163,6 +242,14 @@ function getGaugeImage(p) { } function draw() { + if (!idle) + drawClock(); + else + drawIdle(); + queueDraw(); +} + +function drawClock() { var date = new Date(); var timeStr = require("locale").time(date,1); var da = date.toString().split(" "); @@ -171,7 +258,6 @@ function draw() { var mm = da[4].substr(3,2); var steps = getSteps(); var p_steps = Math.round(100*(steps/10000)); - debug("steps="+ steps + " p_steps=" + p_steps); g.reset(); g.setColor(g.theme.bg); @@ -187,9 +273,14 @@ function draw() { g.setFontAlign(-1,0); // left aligned g.drawString(mm, (w/2) + 1, h/2); - drawSteps(); - g.drawString('Battery ' + E.getBattery() + '%', w/2, h/4); - queueDraw(); + setSmallFont(); + g.setFontAlign(0,0); // left aligned + g.drawString((infoData[infoMode].calc()), w/2, (3*h/4) - 4); + + // recalc sunrise / sunset every hour + if (drawCount % 60 == 0) + updateSunRiseSunSet(new Date(), location.lat, location.lon); + drawCount++; } function drawSteps() { @@ -205,11 +296,142 @@ function drawSteps() { drawingSteps = false; } +/* Bangle.on('step', s => { drawSteps(); }); +*/ +///////////////// IDLE TIMER ///////////////////////////////////// + +function drawIdle() { + let mins = Math.round((getTime() - lastStep) / 60); + g.reset(); + g.setColor(g.theme.bg); + g.fillRect(Bangle.appRect); + g.setColor(g.theme.fg); + setSmallFont20(); + g.setFontAlign(0, 0); + g.drawString('Last step was', w/2, (h/3)); + g.drawString(mins + ' minutes ago', w/2, 20+(h/3)); + dismissBtn.draw(); +} + +/////////////// BUTTON CLASS /////////////////////////////////////////// + +// simple on screen button class +function BUTTON(name,x,y,w,h,c,f,tx) { + this.name = name; + this.x = x; + this.y = y; + this.w = w; + this.h = h; + this.color = c; + this.callback = f; + this.text = tx; +} + +// if pressed the callback +BUTTON.prototype.check = function(x,y) { + //console.log(this.name + ":check() x=" + x + " y=" + y +"\n"); + + if (x>= this.x && x<= (this.x + this.w) && y>= this.y && y<= (this.y + this.h)) { + log_debug(this.name + ":callback\n"); + this.callback(); + return true; + } + return false; +}; + +BUTTON.prototype.draw = function() { + g.setColor(this.color); + g.fillRect(this.x, this.y, this.x + this.w, this.y + this.h); + g.setColor("#000"); // the icons and boxes are drawn black + setSmallFont20(); + g.setFontAlign(0, 0); + g.drawString(this.text, (this.x + this.w/2), (this.y + this.h/2)); + g.drawRect(this.x, this.y, (this.x + this.w), (this.y + this.h)); +}; + +function dismissPrompt() { + idle = false; + warned = false; + lastStep = getTime(); + Bangle.buzz(100); + draw(); +} + +var dismissBtn = new BUTTON("big",0, 3*h/4 ,w, h/4, "#0ff", dismissPrompt, "Dismiss"); + +Bangle.on('touch', function(button, xy) { + var x = xy.x; + var y = xy.y; + // adjust for outside the dimension of the screen + // http://forum.espruino.com/conversations/371867/#comment16406025 + if (y > h) y = h; + if (y < 0) y = 0; + if (x > w) x = w; + if (x < 0) x = 0; + + if (idle && dismissBtn.check(x, y)) return; +}); + +// if we get a step then we are not idle +Bangle.on('step', s => { + lastStep = getTime(); + // redraw if we had been idle + if (idle == true) { + dismissPrompt(); + } + idle = false; + warned = 0; +}); + +function checkIdle() { + log_debug("checkIdle()"); + if (!settings.idle_check) { + idle = false; + warned = false; + return; + } + + let hour = (new Date()).getHours(); + let active = (hour >= 9 && hour < 21); + //let active = true; + let dur = getTime() - lastStep; + + if (active && dur > IDLE_MINUTES * 60) { + drawIdle(); + if (warned++ < 3) { + buzzer(warned); + log_debug("checkIdle: warned=" + warned); + Bangle.setLocked(false); + } + idle = true; + } else { + idle = false; + warned = 0; + } +} + +// timeout for multi-buzzer +var buzzTimeout; + +// n buzzes +function buzzer(n) { + log_debug("buzzer n=" + n); + + if (n-- < 1) return; + Bangle.buzz(250); + + if (buzzTimeout) clearTimeout(buzzTimeout); + buzzTimeout = setTimeout(function() { + buzzTimeout = undefined; + buzzer(n); + }, 500); +} + /////////////////////////////////////////////////////////////////////////////// // timeout used to update every minute @@ -220,8 +442,7 @@ function queueDraw() { if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(function() { drawTimeout = undefined; - //prevInfo(); - //checkIdle(); + checkIdle(); draw(); }, 60000 - (Date.now() % 60000)); } @@ -236,8 +457,16 @@ Bangle.on('lcdPower',on=>{ } }); +Bangle.setUI("clockupdown", btn=> { + if (btn<0) prevInfo(); + if (btn>0) nextInfo(); + draw(); +}); + +loadSettings(); +loadLocation(); + g.clear(); -Bangle.setUI("clock"); Bangle.loadWidgets(); /* * we are not drawing the widgets as we are taking over the whole screen From d050ffde67828257e4619e6d6558802cff712a4e Mon Sep 17 00:00:00 2001 From: hughbarney Date: Tue, 22 Feb 2022 23:19:02 +0000 Subject: [PATCH 09/10] Daisy - first release --- apps/daisy/ChangeLog | 1 + apps/daisy/README.md | 81 +++------- apps/daisy/app.js | 227 +++++++++++++++-------------- apps/daisy/metadata.json | 3 +- apps/daisy/screenshot_daisy1.png | Bin 0 -> 3072 bytes apps/daisy/screenshot_thering1.png | Bin 3113 -> 0 bytes apps/daisy/screenshot_thering2.jpg | Bin 45141 -> 0 bytes apps/daisy/screenshot_thering3.jpg | Bin 19580 -> 0 bytes 8 files changed, 135 insertions(+), 177 deletions(-) create mode 100644 apps/daisy/ChangeLog create mode 100644 apps/daisy/screenshot_daisy1.png delete mode 100644 apps/daisy/screenshot_thering1.png delete mode 100644 apps/daisy/screenshot_thering2.jpg delete mode 100644 apps/daisy/screenshot_thering3.jpg diff --git a/apps/daisy/ChangeLog b/apps/daisy/ChangeLog new file mode 100644 index 000000000..9db0e26c5 --- /dev/null +++ b/apps/daisy/ChangeLog @@ -0,0 +1 @@ +0.01: first release diff --git a/apps/daisy/README.md b/apps/daisy/README.md index 382fe853f..09ecb78cd 100644 --- a/apps/daisy/README.md +++ b/apps/daisy/README.md @@ -1,73 +1,28 @@ -# The Ring - - *A proof of concept clock with large ring guage for steps using pre-set images, acts as a tutorial piece for discussion* +# Daisy + *A beautiful digital clock with large ring guage, idle timer and a + cyclic information line that includes, day, date, steps, battery, + sunrise and sunset times* Written by: [Hugh Barney](https://github.com/hughbarney) For support and discussion please post in the [Bangle JS Forum](http://forum.espruino.com/microcosms/1424/) -* The ring is a proof of concept to establish a clean way to draw a -large ring guage with few aliasing issues and artifacts. -* Rather than use grahics commands to draw the ring a series of fixed images are used. -* This allows for better accuracy of the initial image and also does not suffer from performance issues. -* The downside is that more storage and memory is used to hold the - initial images. This is not an issue on a Bangle 2. -* The ring effect is constructed from 14 images that represent a range of different percentages -* The percentages of the images are 0,2,4,7,10,20,30,40,50,60,70,80,90,100% -* The app is not intended to be enhanced further (apart from bug fixes) but rather as code that can be reused in other apps -* The full set of original images are included in the source code to demonstrate the concept -* I will use this code to build a new clock similar to Pastel but - using this ring guage for steps. The new clock will use more - attractive fonts and provide a settings meu to change the primary - color of the ring. +* Derived from `The Ring` proof of concept and the [Pastel clock](https://banglejs.com/apps/?q=pastel) +* Includes the [Lazybones](https://banglejs.com/apps/?q=lazybones) Idle warning timer +* Touch the top right/top left to cycle through the info display (Day, Date, Steps, Sunrise, Sunset) +* Uses mylocation.json from MyLocation app to calculate sunrise and sunset times for your location +* The screen is updated every minute to save battery power +* Uses the [BloggerSansLight](https://www.1001fonts.com/rounded-fonts.html?page=3) font, which if free for commercial use +## Future Development +* Add settings menu to change primary clock color +* Add a heart rate option in the information line that turns on when selected +* Use mini icons in the information line rather that text +* Add weather icons as per Pastel clock +* Add a lock icon to the screen ## Screenshots +![](screenshot_daisy1.png) -![](screenshot_thering1.png) - -It is worth looking at a photograph of the clock in action as the -screenshot does not do the final effect justice. - -![](screenshot_thering2.jpg) - -## Production - -1. I first generated a circle on black background using [The -Gimp](https://www.gimp.org/) image editor. I used this [Youtube -video](https://www.youtube.com/watch?v=AoIAznSdLik) to get started. -The initial image is 178x178 pixels. - -![](1circle.png) - -2. I then drew another smaller black circle over the top of the original to make a ring - -![](1ring.png) - -3. From the empty ring image I coloured segments of the ring and saved new images at specific percentages - -4. I used the file `calc_percentages.js` to work out the x and y -coordinates of the end point of each percentage position along the -ring. - -5. The [Image -Converter](https://espruino.github.io/EspruinoWebTools/examples/imageconverter.html) -was used, set to 2-bit optimal, transparency Y, compression Y and -ImageObject Y, to convert each PNG file to code. - -6. NOTE that the generated image object pallete seemed to switch the -order of the colors from 50% onwards. - -7. The greying out of the unused part of the ring is acheived by -using a dithered color. So if the ring colour is green #0f0 then the -greyed out part is done in '#020'. - - -## Stages of The Ring - -Below are some examples of the different stages of the ring - -![](0p.png) -![](7p.png) -![](60p.png) +It is worth looking at the real thing though as the screenshot does not do it justice. diff --git a/apps/daisy/app.js b/apps/daisy/app.js index 54743d945..5490d0740 100644 --- a/apps/daisy/app.js +++ b/apps/daisy/app.js @@ -24,107 +24,9 @@ const infoHeight = 14; var drawingSteps = false; function log_debug(o) { - print(o); + //print(o); } -var p0_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal1, - buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLLLzWEABLgbVgohEGopYaiofDBihWVHJpYYDgYPbKx1ACJhYZIwT4OcAZWYHyRYUIgQXQH4RqOThCXUYRpCHNyQVVQQTwVQiSZWIQSEQNgSYSIYiEQQSyEUCQLDSOAyCnQiSCYQiSCYQiSCZDaDARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) -}; - -var p2_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette: pal1, - buffer : require("heatshrink").decompress(atob("AH4A/ADNUFE8FqtVq2q1AqkFIIrDAAOAFMEBFQYrE1WgKsYrGLL4qFFY2pqDWeFZdUVkAhCAQMKFYdVLDUVFQYMHlWq0oMJKyoOJlQrCLDBWDB5clB5xWOoARMCARYWKwT4OgpYXKwY+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) -}; - -var p4_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal1, - buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFY2loAqjFY1VqDWeFZdUVkAhEhQrDLDcVFQYMHlQrCBhBWVHJpYYDgYPbKx1ACJhYZIwT4OgpYXKwY+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) -}; - -var p7_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal1, - buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgWlKzVACJgrCqBWYawgAJcAOlNBhWMCZ8qFYJYUgoqBC6ECFYJqOAApWSS4jCNQQ5uSCqqCCeCqESFQKZUIQSEQNgSYSIYiEQQSyEUCQLDSOAyCnQiSCYQiSCYQiSCZDaDARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A==")) -}; - -var p10_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal1, - buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAOkQSdUFacK1WloCCSCaAAEFYKaQQSyEC0pvQirZTbomlIh6CYZAZFOQTBxDQhyCYOQhoPQS4bQHaBzaVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) -}; - -var p20_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal1, - buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4AWgNVoAEGAERSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A=")) -}; - -var p30_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal1, - buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4rbgNVoArjgGq0Ar/FbMFFc+oFYYqkgEqFf4r/FY0VqgrlhWqFf4r/Ff4rdqorowArBqArlgQr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlhQrCioroAYIr/Ff4r/FbcFqorllWoFf4r/FY9AFcmqFYUBFc+gFf4rZgFVqAqjgWqwAr/FbdUFccFawkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) -}; - -var p40_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal1, - buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4rbgNVoArjgGq0Ar/FbMFFc+oFYYqkgEqFf4r/FY0VqgrlhWqFf4r/Ff4rdqorowArBqArlgQr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlhQrCioroAYIr/Ff4r/FbcFqorllWoFf4r/FY9AFcmqFYUBFc+gFf4rZgFVqAqjgWqwAr/FbdUFccKFYkVFcwFDitVFccqFYkFFcuoFeNAFcWqFYkBFcugFYtQFUMCFYsAFcuAFYtUFcMKFY0VFcgHFitVFcMqFY0FFceoFY9AFcGqFY0BqtQFT8C1WgFeMAqtUFb8K1WAFY7cglQrIioriBI8FqtAFb2q1ArJbjzaBFZEBbj7aB0ALIFcLaHbkLaJFYbcd1QrKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAiEXKwKuNQjUBQR6EaiqCPQjVVQSATCqtUFSZvB1WACiSEUY4KCQQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) -}; - -var p50_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal2, - buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZgGq0AqjgNVoAr/FbeoFccFFYkqFcwFDlWqFccVFYkKFctUFeOAFcVVFYkCFctQFYugFUMBFYsAFctAFYuoFcMFFY0qFcgHFlWqFcMVFY0KFcdUFY+AFcFVFY0C1WgFT8BqtQFeMA1WoFb8FqtAFY7cgiorIlQriBI8K1WAFb1VqgrJbjzaBFZECbj7aBqALIFcLaHbkLaJFYbcdqorKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAiEXKwKuNQjSCQQjSCQQjSCRAAIrB1AqTgorBoAUQQiyCSQgjdSbISCRQgZYSKwKCSQghYQKwSCSQghYQKwSCTAAMqFYOoCJsFFQNVFShYEwARMFQRWVLAiFMQIRWWLAosKFQZWXLAosIFQZWYLAzgFawZWbAAMKFgmq1IoEAANUFTQABFZtAFbgsFFYwqeWQorFVjZZJFYhVfcAwrCazoA/AHI")) -}; - -var p60_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal2, - buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZgGq0AqjgNVoAr/FbeoFccFFYkqFcwFDlWqFccVFYkKFctUFeOAFcVVFYkCFctQFYugFUMBFYsAFctAFYuoFcMFFY0qFcgHFlWqFcMVFY0KFcdUFY+AFcFVFY0C1WgFT8BqtQFeMA1WoFb8FqtAFY7cgiorIlQriBI8K1WAFb1VqgrJbjzaBFZECbj7aBqALIFcLaHbkLaJFYbcdqorKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAelNBqCLVxqEC0oRPQS6EC0oSQQSyECFYKEVQSIABFYI/QAAcFFYJDRCgSCmYYjdSCqqYCLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) -}; - -var p70_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal2, - buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZAgoAggNVoAr/FbdUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) -}; - -var p80_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal2, - buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AcIdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) -}; - -var p90_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal2, - buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESquq1ArTgqESNgOqwArTIYKERH4KCUQigSBbKTdGCKKCVQiTCCFSyERCALBQQjAPBoArXDZ7ARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) -}; - -var p100_img = { - width : 176, height : 176, bpp : 2, - transparent : -1, - palette : pal2, - buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLFjzWEABLgbVgohEGoqyaiofDBihWVHJpYYDgYPbKxz5NLDJGCfBzgDKzA+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) -}; - // https://www.1001fonts.com/rounded-fonts.html?page=3 Graphics.prototype.setFontBloggerSansLight46 = function(scale) { // Actual height 46 (45 - 0) @@ -224,21 +126,120 @@ function prevInfo() { } } +// putting into 1 function like this, rather than individual variables +// reduces ram usage from 70%-13% function getGaugeImage(p) { - if (p < 2) return p0_img; - if (p >= 2 && p < 4) return p2_img; - if (p >= 4 && p < 7) return p4_img; - if (p >= 7 && p < 10) return p7_img; - if (p >= 10 && p < 20) return p10_img; - if (p >= 20 && p < 30) return p20_img; - if (p >= 30 && p < 40) return p30_img; - if (p >= 40 && p < 50) return p40_img; - if (p >= 50 && p < 60) return p50_img; - if (p >= 60 && p < 70) return p60_img; - if (p >= 70 && p < 80) return p70_img; - if (p >= 80 && p < 90) return p80_img; - if (p >= 90 && p < 100) return p90_img; - if (p >= 100) return p100_img; + // p0 + if (p < 2) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLLLzWEABLgbVgohEGopYaiofDBihWVHJpYYDgYPbKx1ACJhYZIwT4OcAZWYHyRYUIgQXQH4RqOThCXUYRpCHNyQVVQQTwVQiSZWIQSEQNgSYSIYiEQQSyEUCQLDSOAyCnQiSCYQiSCYQiSCZDaDARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) + }; + + // p2 + if (p >= 2 && p < 4) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette: pal1, + buffer : require("heatshrink").decompress(atob("AH4A/ADNUFE8FqtVq2q1AqkFIIrDAAOAFMEBFQYrE1WgKsYrGLL4qFFY2pqDWeFZdUVkAhCAQMKFYdVLDUVFQYMHlWq0oMJKyoOJlQrCLDBWDB5clB5xWOoARMCARYWKwT4OgpYXKwY+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) + }; + + // p4 + if (p >= 4 && p < 7) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFY2loAqjFY1VqDWeFZdUVkAhEhQrDLDcVFQYMHlQrCBhBWVHJpYYDgYPbKx1ACJhYZIwT4OgpYXKwY+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) + }; + + // p7 + if (p >= 7 && p < 10) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgWlKzVACJgrCqBWYawgAJcAOlNBhWMCZ8qFYJYUgoqBC6ECFYJqOAApWSS4jCNQQ5uSCqqCCeCqESFQKZUIQSEQNgSYSIYiEQQSyEUCQLDSOAyCnQiSCYQiSCYQiSCZDaDARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A==")) + }; + + // p10 + if (p >= 10 && p < 20) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAOkQSdUFacK1WloCCSCaAAEFYKaQQSyEC0pvQirZTbomlIh6CYZAZFOQTBxDQhyCYOQhoPQS4bQHaBzaVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) + }; + + // p20 + if (p >= 20 && p < 30) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4AWgNVoAEGAERSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A=")) + }; + + // p30 + if (p >= 30 && p < 40) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4rbgNVoArjgGq0Ar/FbMFFc+oFYYqkgEqFf4r/FY0VqgrlhWqFf4r/Ff4rdqorowArBqArlgQr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlhQrCioroAYIr/Ff4r/FbcFqorllWoFf4r/FY9AFcmqFYUBFc+gFf4rZgFVqAqjgWqwAr/FbdUFccFawkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHI")) + }; + + // p40 + if (p >= 40 && p < 50) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal1, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVqtW1WoFUgpBFYYABwApggIqDFYmq0BVjFYxZfFQorGLLrWCFZbgbVgtUBQcKLD8VFQYMHlQsDKzoOJFgZYYKwYPLFgZWaoARMLDJWCawgAJcAZWYCZ6FCLCkFFQNQCZ8CFYOoFaZWSLAmAQShWQLAiESQQRtTLAKESFQNUFacKQiSCCoArTgCESQSyEUirZTboyCnQiSCYQiSCYQiSCZQgeAVxwqYQgSwMVwNUFbMKWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbhdVFcTcHbT7cDFY0BbT7cD0ArxgtVoArfgGq1ArHFUDcBFY0VFceqFY1UFcMKFY1VFcmAFYtQFcMCFYsBFcugFYtAFcMAFYsFFcuoFYoqigEqFeEVFcuqFYlUFccKFYlVFc2AFYdQFccCFf4rbgNVoArjgGq0Ar/FbMFFc+oFYYqkgEqFf4r/FY0VqgrlhWqFf4r/Ff4rdqorowArBqArlgQr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlhQrCioroAYIr/Ff4r/FbcFqorllWoFf4r/FY9AFcmqFYUBFc+gFf4rZgFVqAqjgWqwAr/FbdUFccKFYkVFcwFDitVFccqFYkFFcuoFeNAFcWqFYkBFcugFYtQFUMCFYsAFcuAFYtUFcMKFY0VFcgHFitVFcMqFY0FFceoFY9AFcGqFY0BqtQFT8C1WgFeMAqtUFb8K1WAFY7cglQrIioriBI8FqtAFb2q1ArJbjzaBFZEBbj7aB0ALIFcLaHbkLaJFYbcd1QrKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAiEXKwKuNQjUBQR6EaiqCPQjVVQSATCqtUFSZvB1WACiSEUY4KCQQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) + }; + + // p50 + if (p >= 50 && p < 60) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZgGq0AqjgNVoAr/FbeoFccFFYkqFcwFDlWqFccVFYkKFctUFeOAFcVVFYkCFctQFYugFUMBFYsAFctAFYuoFcMFFY0qFcgHFlWqFcMVFY0KFcdUFY+AFcFVFY0C1WgFT8BqtQFeMA1WoFb8FqtAFY7cgiorIlQriBI8K1WAFb1VqgrJbjzaBFZECbj7aBqALIFcLaHbkLaJFYbcdqorKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAiEXKwKuNQjSCQQjSCQQjSCRAAIrB1AqTgorBoAUQQiyCSQgjdSbISCRQgZYSKwKCSQghYQKwSCSQghYQKwSCTAAMqFYOoCJsFFQNVFShYEwARMFQRWVLAiFMQIRWWLAosKFQZWXLAosIFQZWYLAzgFawZWbAAMKFgmq1IoEAANUFTQABFZtAFbgsFFYwqeWQorFVjZZJFYhVfcAwrCazoA/AHI")) + }; + + // p60 + if (p >= 60 && p < 70) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZgGq0AqjgNVoAr/FbeoFccFFYkqFcwFDlWqFccVFYkKFctUFeOAFcVVFYkCFctQFYugFUMBFYsAFctAFYuoFcMFFY0qFcgHFlWqFcMVFY0KFcdUFY+AFcFVFY0C1WgFT8BqtQFeMA1WoFb8FqtAFY7cgiorIlQriBI8K1WAFb1VqgrJbjzaBFZECbj7aBqALIFcLaHbkLaJFYbcdqorKbjzaKbkDaLbgSwcVwLaJWD6uLFYawaVwIrMbgKwaVwLaKbgawaVwLaLbgawZQQLaLWDiuOWAaEYQQKuMWAelNBqCLVxqEC0oRPQS6EC0oSQQSyECFYKEVQSIABFYI/QAAcFFYJDRCgSCmYYjdSCqqYCLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) + }; + + // p70 + if (p >= 70 && p < 80) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AFYegFccBFf4rbgWqwArjgFVqAr/FbMKFc9UFYYqkgEVFf4r/FY0q1ArlgtVFf4r/Ff4rd1QrooArB0ArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rb1ArlgorClQroAYIr/Ff4r/FbcK1QrlitUFf4r/FY+AFclVFYUCFc9QFf4rZAgoAggNVoAr/FbdUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) + }; + + // p80 + if (p >= 80 && p < 90) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESFQOoFacFQiSCCwArTgCESQSyEUlTZTboyCnQiSCYQiSCYQiSCZQgdAVxwqYQgSwMVwOoFbMFWBquaWCArBVzKwDbRoqaWATcKbQKuaWAbcKbQKuaWAbcKVzqwNFYIqcWATaKVziwDbhDaebhjaebhgrBbTrcCFZDafbheqFcTcHbT7cDFY0CbT7cDqArxhWqwArfgFVqgrHFUDcBFY0qFcdVFY2oFcMFFY2qFclAFYugFcMBFYsCFctQFYuAFcMAFYsKFctUFYoqigEVFeEqFctVFYmoFccFFYmqFc1AcIdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) + }; + + // p90 + if (p >= 90 && p < 100) return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4AChWq1WpqtUFUgpBFYYABoApggQqDFYlVqBVjFYxZfFQorGLLrWCFZbgbVguoBQcFLD8qFQYMHiosDKzoOJFgZYYKwYPLFgZWawARMLDJWCawgAJcAZWYCZ6FCLCkKFQOgCZ8BFYNUFaZWSLAlAQShWQLAiESQQRtTLAKESquq1ArTgqESNgOqwArTIYKERH4KCUQigSBbKTdGCKKCVQiTCCFSyERCALBQQjAPBoArXDZ7ARObKuBSZwcaVzR0QFYKuZWAYNZWCJJKMoKuaWAahKBhiwTJRSudURorBFTgfMVzqjDO5DaeZ5jaeJhhiKbi4rIbT4hLqoriPI7afUpS5BbTwiKFdZgIADSmHFYIqgbgIrGcgIriEYwzHADZ7HRY4rdaYrjHADcBFYoGBFcgkEGQwAeFYqKHFbzUEcQ4AdiorwiorlEogxFAD59FWoorhoArDqArjgIr/FbYwFAEJSDFf4rXgornqgrDFUkAior/Ff4rGAYYAjKYYr/Ff4r/FbdVFdFAFYNQFcsBFf4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/FbdUFcsFFYUVFdADBFf4r/Ff4rbAYYAjKYYr/Ff4rFoArkqorCgIrnqAr/FbIEFAEBSFFf4rYqgrjgorEiormAocVAogAfEooxFFcB9EFdq1DAD9VFYkBFctQFYoGEADokHFcp8FRQoAdag7iFFb4HFioHGADYjHGY4rcPYyLHADbTHcYNQFT4iIFdZgIADKmJqrcgiorIBIIrhMKIAXUpIrBbjzaBFZAKKbS5MJFcKkJbj4fLBYLcdqorKbjzPMbjxKNMhauTURawdJJorBWDShBFZiRBWDQcOHRyuPOhorBWDIbPWDRzQSYKEYIwLLOHgSEXDIJyPQjD2SQjCCQQjSCRCYY/QN4xDRQiyCSQgjdSCqqECLCRWBYyiECISBWCYqgXCLCBWCQSYYEIhxqCeChYFThoQCKypYEIxgPPLB4cKFQZWXDoosIBhhYWcArWDKzYhHABA1EADArNoArcFhgqeWQysgLJxVfcBLWdAH4A5A")) + }; + + // p100 + return { + width : 176, height : 176, bpp : 2, + transparent : -1, + palette : pal2, + buffer : require("heatshrink").decompress(atob("AH4A/AH4ACgtVAAVUFUgpDAAdAFMEBFQ4ABqBVnLMQqLFjzWEABLgbVgohEGoqyaiofDBihWVHJpYYDgYPbKxz5NLDJGCfBzgDKzA+SLChECC6A/CNRycIS6jCNIQ5uSCqqCCeCqESTKxCCQiBsCTCRDEQiCCWQigSBYaRwGQU6ESQTCESQTCESQTIbQYCJzZVwKTODjSuaOiArBVzKwDBrKwRJJRlBVzSwDUJQMMWCZKKVzqiNFYIqcD5iudUYZ3IbTzPMbTxMMMRTcXFZDafEJdVFcR5HbT6lKXILaeERQrrMBAAaUw4rBFUDcBFYzkBFcQjGGY4AbPY6LHFbrTFcY4AbgIrFAwIrkEggyGADwrFRQ4reagjiHADsVFeEVFcolEGIoAfPoq1FFcNAFYdQFccBFf4rbGAoAhKQYr/Fa8FFc9UFYYqkgEVFf4r/FYwDDAEZTDFf4r/Ff4rbqorooArBqArlgIr/Ff4r/Ff4r/Ff4r/Ff4r/Ff4r/Ff4rbqgrlgorCioroAYIr/Ff4r/FbYDDAEZTDFf4r/FYtAFclVFYUBFc9QFf4rZAgoAgKQor/FbFUFccFFYkVFcwFDioFEAD4lFGIorgPogrtWoYAfqorEgIrlqArFAwgAdEg4rlPgqKFADrUHcQorfA4sVA4wAbEY4zHFbh7GRY4AbaY7jBqAqfERArrMBAAZUxNVbkEVFZAJBFcJhRAC6lJFYLcebQIrIBRTaXJhIrhUhLcfD5YLBbjtVFZTceZ5jceJRpkLVyaiLWDpJNFYKwaUIIrMSIKwaDhw6OVx50NFYKwZDZ6waOaCTBQjBGBZZw8CQi4ZBOR6EYeySEYQSCEaQSITDH6BvGIaKEWQSSEEbqQVVQgRYSKwLGUQgRCQKwTFUC4RYQKwSCTDAhEONQTwULAqcNCARWVLAhGMB55YPDhQqDKy4dFFhAMMLCzgFawZWbEI4AIGogAYFZtAFbgsMFTyyGVkBZOKr7gJazoA/AHIA=")) + }; } function draw() { diff --git a/apps/daisy/metadata.json b/apps/daisy/metadata.json index c42432955..90b83ba97 100644 --- a/apps/daisy/metadata.json +++ b/apps/daisy/metadata.json @@ -1,11 +1,12 @@ { "id": "daisy", "name": "Daisy", "version":"0.01", + "dependencies": {"mylocation":"app"}, "description": "A clock based on the Pastel clock with large ring guage for steps", "icon": "app.png", "tags": "clock", "supports" : ["BANGLEJS2"], - "screenshots": [{"url":"screenshot_thering3.jpg"}], + "screenshots": [{"url":"screenshot_daisy1.jpg"}], "readme": "README.md", "storage": [ {"name":"daisy.app.js","url":"app.js"}, diff --git a/apps/daisy/screenshot_daisy1.png b/apps/daisy/screenshot_daisy1.png new file mode 100644 index 0000000000000000000000000000000000000000..afef3a4246d9a14451d3f3921459be353bfec9e7 GIT binary patch literal 3072 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 Dgx=Ia diff --git a/apps/daisy/screenshot_thering2.jpg b/apps/daisy/screenshot_thering2.jpg deleted file mode 100644 index 521a610171da359e9ae8e2c3f2816846d541a258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45141 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

PZ>rG*M~V* zC=?>g<|qzUT^}9eqm`cR-)I=G%D(J`n$g*O+P+6K*i1SmQxJoPJy1-=+C!XPq zXt}li9;HoaA#*YruFn<(?aZy;Gk-omgP;Tu?VX>u{|%i&05tz4)r&W<>4qON|T{S-l=El;BD@~G0;3Zdw%_I;xJ>C7skh{n8_ z1r$-3d%J?jPxjaGb$HYSfy%xHQ>HkGn6ze-HgDn`h}pCJ=JMyPk9(uQ2l2^x*)FNT z^A7CU%y;7fKhtN~z0ti&UTiI15>bra(5u6?V_VDzCEA3#^b#d>BSPB$lA!y*g9uU4 z@wD()0iq7>8$RVJgXqm#qdS}gc)T|aqDjqh=FXpNj2z{KQaA~9m)+coK$QAmy+r20C+G~`6dK8p$cTg#30zac>=!9*{mlU4^%FzH1GLUxT42Yhv+dMStgI@awnB8-Z5@|- z>ai1%5l&rW0ul=# z=U}w1>YAUs6lhCUs;as3+lo}t0`d&j)e1+ZskBSsRbBf_AXsgynhZw-Ps=Q+)d~8RH-A$ncazPIV650N=byGl>S7t ze)cA`)PbBe(Pl=#v$U(Er#qT;B`d0(G$4!f7EgY-rpeT^@a0v7GW|9eSgy*OJtAwt z7!PX@&dPGDpkBTkk3d7@^OZwHK(34kH?HHe?-Cc3^Dicom*#y9k6y%`mUIt4oxuCPn9;^520*>@VS z3-Sa~*vAWYZU^dgHbQ-`_3OdAt^D z8R>^Zw_ymMw3SY1)iX0Xe!T4&@uOJH&5T2DDh4Kag``Qsg#B4l&Qbjr@T@y#kR{T; zv6t?G8X9}m4nhH|H8w)6=kLEMh6qRQAH$}Rol%DJOn2|k;R?tHqpHiEmjn|;8x|iN zi5M>#!RVvAiP(R8<6jm|ka`f_dt=!?#40l``=kY~Nww$o{9aCu)P@5>p_eJKi|2J( zs;y>#3qL`Cy<(*&E%PVN_YWLQ@K?N9gEIod�e9j3!`F3^QxZK5jA}%d6?l5dX7% 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 OpD1M{07xEZSpV5*ZhS)k diff --git a/apps/daisy/screenshot_thering3.jpg b/apps/daisy/screenshot_thering3.jpg deleted file mode 100644 index da8f140c0b36dbcc3c09c9fcc163a02bd1cfdc4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19580 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 Date: Tue, 22 Feb 2022 23:46:23 +0000 Subject: [PATCH 10/10] Daisy - first release --- apps/daisy/README.md | 2 ++ apps/daisy/metadata.json | 2 +- apps/daisy/screenshot_daisy2.jpg | Bin 0 -> 4775 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 apps/daisy/screenshot_daisy2.jpg diff --git a/apps/daisy/README.md b/apps/daisy/README.md index 09ecb78cd..f6c0014be 100644 --- a/apps/daisy/README.md +++ b/apps/daisy/README.md @@ -26,3 +26,5 @@ Forum](http://forum.espruino.com/microcosms/1424/) ![](screenshot_daisy1.png) It is worth looking at the real thing though as the screenshot does not do it justice. +(Though I need to redo this photo at some point) +![](screenshot_daisy2.jpg) diff --git a/apps/daisy/metadata.json b/apps/daisy/metadata.json index 90b83ba97..fe66683a7 100644 --- a/apps/daisy/metadata.json +++ b/apps/daisy/metadata.json @@ -6,7 +6,7 @@ "icon": "app.png", "tags": "clock", "supports" : ["BANGLEJS2"], - "screenshots": [{"url":"screenshot_daisy1.jpg"}], + "screenshots": [{"url":"screenshot_daisy2.jpg"}], "readme": "README.md", "storage": [ {"name":"daisy.app.js","url":"app.js"}, diff --git a/apps/daisy/screenshot_daisy2.jpg b/apps/daisy/screenshot_daisy2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fec6a4c7b82c9dd40f3993017eb3edaa1a457b1a GIT binary patch literal 4775 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 literal 0 HcmV?d00001