From c747b0b6205935368098c1c587eb645a9bfdd642 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 27 Jan 2021 08:04:53 +0000 Subject: [PATCH 1/9] fixing some test warnings --- apps.json | 2 +- apps/gpsservice/{ChangeLog.txt => ChangeLog} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/gpsservice/{ChangeLog.txt => ChangeLog} (100%) diff --git a/apps.json b/apps.json index a374c74ef..8dd5d4f26 100644 --- a/apps.json +++ b/apps.json @@ -2021,7 +2021,7 @@ "name": "Vertical watch face", "shortName":"Vertical Face", "icon": "app.png", - "version":"0.07", + "version":"0.08", "description": "A simple vertical watch face with the date. Heart rate monitor is toggled with BTN1", "tags": "clock", "type":"clock", diff --git a/apps/gpsservice/ChangeLog.txt b/apps/gpsservice/ChangeLog similarity index 100% rename from apps/gpsservice/ChangeLog.txt rename to apps/gpsservice/ChangeLog From 2d9e4ce3b86b2e43da40bff9f00814bcedd05913 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 27 Jan 2021 08:15:28 +0000 Subject: [PATCH 2/9] Check for 'no response' as opposed to 'invalid response' and prompt user about 'programmable'. Also dump JSON to console on error for debugging --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index f9020126e..1b1293a5e 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit f9020126eebd81abef204c6771914ff2c31160a1 +Subproject commit 1b1293a5eb9b8bb9e4f743c4599f0587f597d368 From e2d4ee387e0f7b313d4cf683611aaff495f875fe Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 27 Jan 2021 09:38:04 +0000 Subject: [PATCH 3/9] red favourite button --- css/main.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/css/main.css b/css/main.css index 8e91aec3d..0dbe8da14 100644 --- a/css/main.css +++ b/css/main.css @@ -32,3 +32,6 @@ top: 36px; left: -24px; } +.btn-favourite { + color: red; +} From 9ca209dad3c407a76a2329e934a1d0dd0533e9ea Mon Sep 17 00:00:00 2001 From: Pablo Gonzalez Date: Wed, 27 Jan 2021 17:29:11 +0100 Subject: [PATCH 4/9] adding new app --- apps.json | 12 +++ apps/intervals/app-icon.js | 1 + apps/intervals/app.js | 167 +++++++++++++++++++++++++++++++++++++ apps/intervals/app.png | Bin 0 -> 2930 bytes 4 files changed, 180 insertions(+) create mode 100644 apps/intervals/app-icon.js create mode 100644 apps/intervals/app.js create mode 100644 apps/intervals/app.png diff --git a/apps.json b/apps.json index 91262762b..a61e33036 100644 --- a/apps.json +++ b/apps.json @@ -2661,5 +2661,17 @@ {"name":"mclockplus.app.js","url":"mclockplus.app.js"}, {"name":"mclockplus.img","url":"mclockplus-icon.js","evaluate":true} ] +}, +{ "id": "intervals", + "name": "Intervals App", + "shortName":"Intervals", + "icon": "app.png", + "version":"0.01", + "description": "Intervals for training. It is possible to configure work time and rest time and number of sets.", + "tags": "", + "storage": [ + {"name":"intervals.app.js","url":"app.js"}, + {"name":"intervals.img","url":"app-icon.js","evaluate":true} + ] } ] diff --git a/apps/intervals/app-icon.js b/apps/intervals/app-icon.js new file mode 100644 index 000000000..1edb36293 --- /dev/null +++ b/apps/intervals/app-icon.js @@ -0,0 +1 @@ +E.toArrayBuffer(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQCZAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQCZAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQCZAAAAAAAAAAAAAAAAAAAAAACZAAAACZmQAAAAmQAAAAAAAAAAAAAAAAmQAAAAAAAAAAAACZAAAAAAAAAAAAAAAJkAAAAAAAAAAAAAAJkAAAAAAAAAAAAACZAAAACZmZmZmQAAAAmQAAAAAAAAAAAAmQAACZmZAAAAmZmQAACZAAAAAAAAAAAJkAAJmZAAAAAAAAmZkAAJkAAAAAAAAAAJAACZkAAJmZmZkAAJmQAAkAAAAAAAAAAAAAmQAJmZkJkJmZkACZAAAAAAAAAAAAAAAJkAmZAAAJkAAAmZAJkAAAAAAAAAAAAACZAJmQAAAJkAAACZkAmQAAAAAAAAAAAAmQCZAAAACJkAAACZmZmZmZmZmQAAAAAAkAmQAACIiJkAAAmZmZmZmZmZmZAAAAAJkAkAAAIiIqkAAAmQAAAAAAAACZAAAAAJAJkAAiIiIqkAAAmZmZmZmZmZmZAAAACqCqAAAiIiIqoAAACqqqqqqqqqqgAAAACgCqAAIiIiIqoAAAAKAAAAAAAAoAAAAACgCgACIiIiIqoAAAAKACIiIiIAoAAAAAqgqgACIiIiKqqgAAAKoAIiIiAKoAAAAAqgqgACIiIiqqqqAAAAoAAiIgAKAAAAAAqgqgACIiIqoAAKAAAAqgAKoACqAAAAAAqgqqqqqqqqoAAKoAAACqoKoKqgAAAAAAqgqqqqqqqqoAAKoAAAAKqqqqoAAAAAAAqgqgAAAAAAqgCqAAAACqoKoKqgAAAAAAqgqgAAAAAACqqgAAAAqgAKoACqAAAAAAqgCgAAAAAAAAAAAAAAoAAAAAAKAAAAAACgCgAAAAAAAAAAAAAKoAAAAAAKoAAAAACqCqAAAAAAAAAAAAAKAAAAAAAAoAAAAACqAKAAAAAAAAAAAAAKAAAAAAAAoAAAAAAKAKoAAAAAAAAAAACqqqqqqqqqqgAAAAAKoAqgAAAAAAAAAAqqqqqqqqqqqqAAAAAAqgCqAAAAAAAAAAqgAAAAAAAACqAAAAAACqAKoAAAAAAAAAqqqqqqqqqqqqAAAAAACqAAqgAAAAAAAAqqqqqqqqqqqgAAAAAAAKqgCqqgAAAACqqgCqoAAAAAAAAAAAAAAAqqAAqqqqqqqqAAqqAAAAAAAAAAAAAAAAAKqgAAqqqqAACqoAAAAAAAAAAAAAAAAAAAqqoAAAAAAKqqAAAAAAAAAAAAAAAAAAAAAKqqqqqqqqoAAAAAAAAAAAAAAAAAAAAAAAAAqqqqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")) \ No newline at end of file diff --git a/apps/intervals/app.js b/apps/intervals/app.js new file mode 100644 index 000000000..da436b104 --- /dev/null +++ b/apps/intervals/app.js @@ -0,0 +1,167 @@ +var counter; +var counterInterval; + +var settings; + +var work=false; //true if training false if resting +var prep=true; //true if we are in prep phase (at the beginning of the session +var setNum; + +var paused; + +function endPart() { + g.clear(); + if (prep){ + prep=false; + work = true; + counter = settings.workseg+settings.workmin*60; + startCounter(); + }else if (work){ + work = false; + counter = settings.restseg+settings.restmin*60; + startCounter(); + } + else{ + if (setNum>1) + { + setNum--; + work = true; + counter = settings.workseg+settings.workmin*60; + startCounter(); + } + else + { + //End session + setWatch(showMenu, BTN2); + E.showMessage("Press BTN2 for\ngoing back\nto the menu","Well done!"); + } + } +} + +function printCounter(counter){ + g.setFontAlign(0,0); // center font + g.setFont("Vector",80); // vector font, 80px + // draw the current counter value + let minutes = Math.floor(counter/60); + let segs = counter % 60; + let textMinutes = minutes.toString().padStart(2, "0"); + let textSegs = segs.toString().padStart(2,"0"); + g.clearRect(0,80,239,160); + g.setFont("Vector",30); + if (prep) + g.setColor(125,125,0); + else if (work) + g.setColor(255,0,0); + else + g.setColor(0,255,0); + g.drawString(setNum,120,50); + if (prep) + g.drawString("PREPARATION",120,190); + else if (work) + g.drawString("WORK",120,190); + else + g.drawString("REST",120,190); + g.setFont("Vector",10); + g.drawString("Touch to pause",120,215); + g.setFont("Vector",80); + g.drawString(textMinutes+":"+textSegs,120,120); +} + +function signal_to_user(le){ + if (settings.buzz) + Bangle.buzz(le); + else + Bangle.beep(le,4000); +} + +function countDown() { + counter--; + if (counter<4 && counter>0) + signal_to_user(200); + if (counter==0) + signal_to_user(600); + + if (counter<0) { + clearInterval(counterInterval); + counterInterval = undefined; + endPart(); + } + else + { + printCounter(counter); + } + g.flip(); +} + +function startCounter(){ + if (!counterInterval) + counterInterval = setInterval(countDown, 1000); +} + +function pause() +{ + if (!paused) + { + clearInterval(counterInterval); + counterInterval = undefined; + setWatch(resume,BTN4); + setWatch(resume,BTN5); + paused=true; + g.clear(); + g.setFont("Vector",60); + g.drawString("PAUSED",120,120); + g.setFont("Vector",20); + g.drawString("Touch to continue",120,180); + } +} + +function resume(){ + if (paused) + { + g.clear(); + counterInterval = setInterval(countDown, 1000); + setWatch(pause,BTN4); + setWatch(pause,BTN5); + paused=false; + } +} + +function startSession() { + E.showMenu(); + paused=false; + setWatch(pause,BTN4); + setWatch(pause,BTN5); + require('Storage').write('intervals.settings.json',settings); + setNum = settings.sets; + counter = 5;//prep time + prep=true; + work=false; + startCounter(); +} + +function showMenu() +{ + settings = require('Storage').readJSON('intervals.settings.json',1)|| + { sets:1,workseg:10,workmin:0,restseg:5,restmin:0,buzz:true}; + + var mainmenu = { + "" : { "title" : "-- Main Menu --" }, + "START" : function() { startSession(); }, + "Sets" : { value : settings.sets,min:0,max:20,step:1,onchange : v => { settings.sets=v; } }, + "Work minutes" : { value : settings.workmin,min:0,max:59,step:1,onchange : v => { settings.workmin=v; } }, + "Work seconds" : { value : settings.workseg,min:0,max:59,step:5,onchange : v => { settings.workseg=v; } }, + "Rest minutes" : { value : settings.restmin,min:0,max:59,step:1,onchange : v => { settings.restmin=v; } }, + "Rest seconds" : { value : settings.restseg,min:0,max:59,step:5,onchange : v => { settings.restseg=v; } }, + "Signal type" : { value : settings.buzz,format : v => v?"Buzz":"Beep",onchange : v => { settings.buzz=v; }} + }; + + E.showMenu(mainmenu); +} + +showMenu(); + + + + + + diff --git a/apps/intervals/app.png b/apps/intervals/app.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ca9ff41f50a570bb66426bc4e93bdc73a4aba0 GIT binary patch literal 2930 zcmV-&3yt)NP)3PnixkU$X2cPtbMD9}<5#}tE~#dK6pWvT&_M6!MR)wxt6C~OX=0=Tz7Rk*BQ%ppU00bSNq9u z*#sC%8=vK!(vU<-LlQ9_dyS>ddX zBwqs|b-ErSt?ak*c|%E8N4;hsYm7Ft9i~8y=6w)NX4!4H4n|mx zusa3%?N}&h8^OPB0iA>D_q$Q@2*F)-kncK5TblD+&>OfaNmKt&_>&{7b%YJI z1>F(U!75P^)-+s1LIJr!^@lY&@&duvmtG*B^Psl#93~Rou$llzfKq{Sg(K>4%C(4v zRtRme+=S3KCh#0eq5Ak`X`#gT3;G0gFd7w6mC`T~7YWD>s$V0~kw*z`E{c-R4rr5R zKAr}i06c+0wJhAcT;7V8H&3Iz7ooW;REfi}7L|Oma;10xee<=OqkI?02NYpu*vItJ zLOCBBm@hu3CTa9rTTc-e3Fw!vH)7c$@aV=OSp{&mfsH?s-4yH4A2j-z;=|k#NmBa9s>|%whHYKdZY9r zy63F1FnPlYIWTaD-m6Lh-~#uoTOoh0-FKq}#4#wK-37J)$JFKS^cH+{;xx}Hi~&vq zGd!1<*DjZ1@jBlM=vIK=t&~3Tyn7$iRw)rip*#+>27Yz=I1|6phHJ#K5ojY0cfA@D z(GVmR5D4hiC}k*TaOfS05H>Ea0AClFV^Wy9Y?++CsNMrn0V`j*ARvxlQ2mt^{6b+g z@P}}OytFi$dJ*0PQe8v0<<$nGK1g_!2n5u1J&FLIBlHVHMH=i>OFI$ri&oWispEHR zriS?@!p$cZ(<%Hh<%!x2pCi|ScECyCF4tj?RPnx1Dpa_ZD&8DASPvy5s}K=kUePL9 zU8jJQFk=LI0uNUDIGh@09nisg+_P-0Y>nGJwL@=mU^-RY3kV8leV|G9Ut=i%PAcrF zRdfvHk|Qs0Jx~B77m(jiTlkcp0IwCUk)q)Pbt*zX6&_w%jr{cO`Zy705?zEB#9N3Y z6QHz2c&>1@gf2xk5rz-a5X#gVZPqqwY8b7Suc+|U$bov5qf8KG<@|NBAa3*P*L4;V z#wY3|MWHI;c@>Q1Qy}>80PWQn0eG|{>O8(cEx)beS{^Z$*B7jnw|yQ{jm1@%7`Irk zSs(FR#``TKNMxHCpqpCSBZQvFRsVS< zh_GbtI{5%#@$WS~#WJg|K}xa71d@m#rOXL4tu~Kp zh`137k5tgZ0&3Y;+n~lLWT1y@Iq zQPfy&dm>jCP3W&z*6z>>rN(l~XZhZQUh+w1C83N;NR%=wnKCX%J{HSpV>xMEw$~}Z z_2}qR_5=7VU5v+pP%MPJx(V5SOY4N+{pYZI1>W)ZsBkPV8D*(a?svoNnwX<4tM~DI ziB$TO8LnmEq+HDp0YSewluz9vooltX2jxhpR0h_zpP8%vb72+&c?jjA6e&CuBehiFLEt7}14 zT9-KZuR+jN!m6aipHbdH*jx|(Ie27*0-6$9DOCWWfTp;|xf12wL=`4%l5@bff7(aS zVHp8*s#g5-=%`RIWvh&=tK*tp$Z|%MRdeelzgJ12dOU!zm#DWJ7Asy%bOuIDzeAguG)BY(Uxb=#z;eha9b(T1 zjiuwI$OHW74cTHWla0ra)GCgqR&mr=@_d#FlS`$vwtaCxU9Di5>v5mYWAvnLbeX(e zX1JCT*HSWhyUduhom+gCvBolpbG#fv6J7z;SOc?r>0Fe&GdpSBBAX{gm=+F`@#LT7 zU-c0(tG8Y+%AI0K6Ni#(``QvxVvbx%w-AnUPmZ~yt{4V)bodV|c z)FG-A;n2s{Bcw|Nl7X?W*h&{YZ zPWhDe#xiVPS8Zydhq+D}-Ko*SAg+!sz+AsvWr5>Mcp;qT6UuR zaCjNB3%aO3imgzu8V2eN=Yp!;Pu0(Qx#N;9sOwJTKu+n+o6e zJj#t_;lVu&xZxHaQh3#?pr|-ohc;G(v9tu98@i`)5n0hK8iJY;S<+jHS8mqtDZB_w z3+$CC#hrDu2)_o(Rk=U!ooI~E5UjjePXeE+Hf{z)Xa}?k?3F9xc}cy?1AAqzYnks_ zo?dm6{xI(ydC_>>>sqcg%GSL{{g;R&hYxwEescd|QNB%~~_*>?tyd@C-r#IF7Ph9oAPW+w$Ixo`d4p z+E&v(^V1a=EYX8nI>Kt>@K}@2IC0j`9N;^^vhz1GEH8GC+7Mjw2S*5Xx@Yk$$`61Y zuFJ!Bm&;#Evb38j6Np|fHbd}GJ{IAhsziV*fNP1avoOLcD?C47pX}V2r8lB10d5s| z_UwM1%%kDt>m?wL%^fvQg%^Ql3iB|`ynCN~xV5dOMVio8m7X!et$`|ydYhvNJ1Q)1 z+;>pUzLupO9LrRcp}=WT#@=;MiW@_`!2$rbUazfHn1(U}a0NC2ui{bqjYAxg1izI2 z&_Qn$p}!;aSGb+%W$;VJ61wAWUv6J%uz)zWwbx9?VN@&tX&cM_T;Q;Ue+#HU^O)am z8Y}-mg~fO*`1&FF@XHd9<4gak-`Q4g5JPX28x%5CXeAa!I3sXGg#)hTjUI>Py-T Date: Wed, 27 Jan 2021 17:36:04 +0100 Subject: [PATCH 5/9] changing file names --- apps.json | 2 +- apps/intervals/{app-icon.js => intervals-icon.js} | 0 apps/intervals/{app.js => intervals.app.js} | 0 apps/intervals/{app.png => intervals.png} | Bin 4 files changed, 1 insertion(+), 1 deletion(-) rename apps/intervals/{app-icon.js => intervals-icon.js} (100%) rename apps/intervals/{app.js => intervals.app.js} (100%) rename apps/intervals/{app.png => intervals.png} (100%) diff --git a/apps.json b/apps.json index a61e33036..a97e6d60e 100644 --- a/apps.json +++ b/apps.json @@ -2671,7 +2671,7 @@ "tags": "", "storage": [ {"name":"intervals.app.js","url":"app.js"}, - {"name":"intervals.img","url":"app-icon.js","evaluate":true} + {"name":"intervals.img","url":"intervals-icon.js","evaluate":true} ] } ] diff --git a/apps/intervals/app-icon.js b/apps/intervals/intervals-icon.js similarity index 100% rename from apps/intervals/app-icon.js rename to apps/intervals/intervals-icon.js diff --git a/apps/intervals/app.js b/apps/intervals/intervals.app.js similarity index 100% rename from apps/intervals/app.js rename to apps/intervals/intervals.app.js diff --git a/apps/intervals/app.png b/apps/intervals/intervals.png similarity index 100% rename from apps/intervals/app.png rename to apps/intervals/intervals.png From 34f0f49789c29723ce14a7cd278406201e41eccc Mon Sep 17 00:00:00 2001 From: Pablo Gonzalez Date: Wed, 27 Jan 2021 17:42:25 +0100 Subject: [PATCH 6/9] changing file names --- apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps.json b/apps.json index a97e6d60e..3315c4a71 100644 --- a/apps.json +++ b/apps.json @@ -2665,7 +2665,7 @@ { "id": "intervals", "name": "Intervals App", "shortName":"Intervals", - "icon": "app.png", + "icon": "intervals.png", "version":"0.01", "description": "Intervals for training. It is possible to configure work time and rest time and number of sets.", "tags": "", From b14da553f9e43231f2a9a0861c9f57696f5f5905 Mon Sep 17 00:00:00 2001 From: Pablo Gonzalez Date: Wed, 27 Jan 2021 17:48:39 +0100 Subject: [PATCH 7/9] changing file names --- apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps.json b/apps.json index 3315c4a71..71cd4d041 100644 --- a/apps.json +++ b/apps.json @@ -2670,7 +2670,7 @@ "description": "Intervals for training. It is possible to configure work time and rest time and number of sets.", "tags": "", "storage": [ - {"name":"intervals.app.js","url":"app.js"}, + {"name":"intervals.app.js","url":"intervals.app.js"}, {"name":"intervals.img","url":"intervals-icon.js","evaluate":true} ] } From c1c19dc224642c23dee21d5d27591d852b3edf7f Mon Sep 17 00:00:00 2001 From: Pablo Gonzalez Date: Wed, 27 Jan 2021 18:09:57 +0100 Subject: [PATCH 8/9] trying to show the icon --- apps/intervals/intervals-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/intervals/intervals-icon.js b/apps/intervals/intervals-icon.js index 1edb36293..d901489c2 100644 --- a/apps/intervals/intervals-icon.js +++ b/apps/intervals/intervals-icon.js @@ -1 +1 @@ -E.toArrayBuffer(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQCZAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQCZAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQCZAAAAAAAAAAAAAAAAAAAAAACZAAAACZmQAAAAmQAAAAAAAAAAAAAAAAmQAAAAAAAAAAAACZAAAAAAAAAAAAAAAJkAAAAAAAAAAAAAAJkAAAAAAAAAAAAACZAAAACZmZmZmQAAAAmQAAAAAAAAAAAAmQAACZmZAAAAmZmQAACZAAAAAAAAAAAJkAAJmZAAAAAAAAmZkAAJkAAAAAAAAAAJAACZkAAJmZmZkAAJmQAAkAAAAAAAAAAAAAmQAJmZkJkJmZkACZAAAAAAAAAAAAAAAJkAmZAAAJkAAAmZAJkAAAAAAAAAAAAACZAJmQAAAJkAAACZkAmQAAAAAAAAAAAAmQCZAAAACJkAAACZmZmZmZmZmQAAAAAAkAmQAACIiJkAAAmZmZmZmZmZmZAAAAAJkAkAAAIiIqkAAAmQAAAAAAAACZAAAAAJAJkAAiIiIqkAAAmZmZmZmZmZmZAAAACqCqAAAiIiIqoAAACqqqqqqqqqqgAAAACgCqAAIiIiIqoAAAAKAAAAAAAAoAAAAACgCgACIiIiIqoAAAAKACIiIiIAoAAAAAqgqgACIiIiKqqgAAAKoAIiIiAKoAAAAAqgqgACIiIiqqqqAAAAoAAiIgAKAAAAAAqgqgACIiIqoAAKAAAAqgAKoACqAAAAAAqgqqqqqqqqoAAKoAAACqoKoKqgAAAAAAqgqqqqqqqqoAAKoAAAAKqqqqoAAAAAAAqgqgAAAAAAqgCqAAAACqoKoKqgAAAAAAqgqgAAAAAACqqgAAAAqgAKoACqAAAAAAqgCgAAAAAAAAAAAAAAoAAAAAAKAAAAAACgCgAAAAAAAAAAAAAKoAAAAAAKoAAAAACqCqAAAAAAAAAAAAAKAAAAAAAAoAAAAACqAKAAAAAAAAAAAAAKAAAAAAAAoAAAAAAKAKoAAAAAAAAAAACqqqqqqqqqqgAAAAAKoAqgAAAAAAAAAAqqqqqqqqqqqqAAAAAAqgCqAAAAAAAAAAqgAAAAAAAACqAAAAAACqAKoAAAAAAAAAqqqqqqqqqqqqAAAAAACqAAqgAAAAAAAAqqqqqqqqqqqgAAAAAAAKqgCqqgAAAACqqgCqoAAAAAAAAAAAAAAAqqAAqqqqqqqqAAqqAAAAAAAAAAAAAAAAAKqgAAqqqqAACqoAAAAAAAAAAAAAAAAAAAqqoAAAAAAKqqAAAAAAAAAAAAAAAAAAAAAKqqqqqqqqoAAAAAAAAAAAAAAAAAAAAAAAAAqqqqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")) \ No newline at end of file +require("heatshrink").decompress(atob("mEwwg96xAWVhGIwAuWGCoXrCIZfFDZkJyAKTAAOZBaojEzIADGBoOChITEAgIUCGBAhCCwIlFA4YwIhIjCDQYtDAoIMBQhgUCzJMDR5xYGFwSPMHwYRED4KPMCQcIxKtHWApoCEYczmYXCPgYAEGgZGCAgMDC4pEGA4gVBGwIWCF6GqhWgC4kqBYYAGGgegC4QWCC4kKI4oQBC4guEC4wJDC4gtBGoIXDmWqBoQMBBQUwIAQXJKopSDJooXGmQRBBwYLBFgR2EC4QAEC4RIDToRQDC56pESYhHDAAYFBA4YvMD4oOEL5bMGaJIQFC5ZiEAoxRCC5I1KJoIXVBYJ4FEYgAGPAwwHSYIAGJAwwHEA5+HB5AvMZI4XKBwu72ELAQIHCAoQCBchQMCAQIADDgIfEDBYRBAAI5DCxYUDAxYYMAAgWPDIoVSAFAA==")) \ No newline at end of file From c6d35c5ae9c37f12318ed47892bb106b953a7a62 Mon Sep 17 00:00:00 2001 From: Pablo Gonzalez Date: Wed, 27 Jan 2021 18:15:58 +0100 Subject: [PATCH 9/9] adding the readme --- apps/intervals/README.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 apps/intervals/README.md diff --git a/apps/intervals/README.md b/apps/intervals/README.md new file mode 100644 index 000000000..63a483f4f --- /dev/null +++ b/apps/intervals/README.md @@ -0,0 +1,6 @@ +# Intervals app +Just my first app to test this amazing smartwatch. + +The idea is to create a simple app which allows to define a workout, being able to configure the work time, rest time and number of sets. Try it out, it is quite simple. + +This is obviously version 0.01 but it should work. \ No newline at end of file