From 862494a0d7d2967643cd59c766c0dbb58d3c9dca Mon Sep 17 00:00:00 2001 From: CarlR9 <108166078+CarlR9@users.noreply.github.com> Date: Fri, 3 Feb 2023 11:19:47 +1300 Subject: [PATCH] Add files via upload --- apps/tempgraph/ChangeLog | 2 ++ apps/tempgraph/README.md | 36 ++++++++++++++++++++++++++++++++ apps/tempgraph/app.png | Bin 0 -> 6941 bytes apps/tempgraph/metadata.json | 18 ++++++++++++++++ apps/tempgraph/screenshot_1.png | Bin 0 -> 3320 bytes apps/tempgraph/screenshot_2.png | Bin 0 -> 4186 bytes apps/tempgraph/screenshot_3.png | Bin 0 -> 3480 bytes 7 files changed, 56 insertions(+) create mode 100644 apps/tempgraph/ChangeLog create mode 100644 apps/tempgraph/README.md create mode 100644 apps/tempgraph/app.png create mode 100644 apps/tempgraph/metadata.json create mode 100644 apps/tempgraph/screenshot_1.png create mode 100644 apps/tempgraph/screenshot_2.png create mode 100644 apps/tempgraph/screenshot_3.png diff --git a/apps/tempgraph/ChangeLog b/apps/tempgraph/ChangeLog new file mode 100644 index 000000000..58dd75a19 --- /dev/null +++ b/apps/tempgraph/ChangeLog @@ -0,0 +1,2 @@ +0.01: 3/Feb/2023 Added 'Temperature Graph' app to depository. + diff --git a/apps/tempgraph/README.md b/apps/tempgraph/README.md new file mode 100644 index 000000000..de4a0af59 --- /dev/null +++ b/apps/tempgraph/README.md @@ -0,0 +1,36 @@ +# Temperature Graph + +**Temperature Graph** (tempgraph) is a Bangle.js 2 app for recording graphs of the temperature for various time periods from 10 minutes to 7 days long. It samples the watch's temperature sensor 150 times while creating a graph, regardless of the time period selected. + +### Menu Options +* **Widgets** Toggles the watch's widgets on and off. With them off gives you a bigger graph when viewing it. + +* **Duration** Select the time period for drawing the graph, from 10 minutes to 7 days long. + +* **Draw Graph** Draws the graph. + * Tapping the screen toggles the graph between Celsius (red) and Fahrenheit (blue). + * Pressing the watch button takes you back to the menu. **Note:** While the graph can still be viewed after returning to the menu, you can't continue recording it if you had returned to the menu before the time period was up. The graph is saved in the watch though so it's still there the next time you start the app. + +* **Show Graph** Shows the last drawn graph. + * Tapping the screen toggles the graph between Celsius (red) and Fahrenheit (blue). + * Pressing the watch button takes you back to the menu. + +* **Save Graph** Sends a screengrab of the graph to the Espruino Web IDE from where you can save it as you would any image on a webpage. + +* **Save Data** Sends a CSV file of the graph's temperature data to the Espruino Web IDE where you can save it for further use. I suggest you use the Espruino Web IDE's Terminal Logger (selected in the IDE's Settings/General) to record the data as it's sent. This is the easiest way to save it as a text file. + +* **Show Temp** Shows the current temperature. + +### Screenshots +![](screenshot_1.png) +![](screenshot_2.png) +![](screenshot_3.png) + +### Note +Using the watch in a normal fashion can raise the temperature it's sensing to quite a few degrees above the surrounding temperature and it may take half an hour or so to drop to close to the surrounding temperature. After that it seems to give quite accurate readings, assuming the thermometer I've been comparing it to is itself reasonably accurate. So best to load the app then not touch the watch for half an hour before starting a recording. This is assuming you're not wearing the app and are just using it to record the temperature where you've put the watch. You could of course wear it and it'll still draw a graph, which might also be useful. + +### Creator +Carl Read ([mail](mailto:cread98@orcon.net.nz), [github](https://github.com/CarlR9)) + +#### License +[MIT License](LICENSE) diff --git a/apps/tempgraph/app.png b/apps/tempgraph/app.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae347ac837d8366797f532b8d304dc77802fd02 GIT binary patch literal 6941 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 V5(kw?=U-<5P+3(-m9%N_e*t{e8WjKl literal 0 HcmV?d00001 diff --git a/apps/tempgraph/metadata.json b/apps/tempgraph/metadata.json new file mode 100644 index 000000000..f714c1eef --- /dev/null +++ b/apps/tempgraph/metadata.json @@ -0,0 +1,18 @@ +{ "id": "tempgraph", + "name": "Temperature Graph", + "shortName":"Temp Graph", + "version":"0.01", + "description": "An app for recording the temperature for time periods ranging from 10 minutes to 7 days.", + "icon": "app.png", + "type": "tool", + "tags": "temperature,tempgraph,graph", + "supports" : ["BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"tempgraph.app.js","url":"app.js"} + ], + "data": [ + {"name":"tempgraph.json"} + ], + "screenshots": [{"url":"screenshot_1.png"},{"url":"screenshot_2.png"},{"url":"screenshot_3.png"}] +} diff --git a/apps/tempgraph/screenshot_1.png b/apps/tempgraph/screenshot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7395f289695fd5be8a03d97b8644f55cc29072db GIT binary patch literal 3320 zcmc&%c|4Tu8h*_pJ0(S9`$$TK>`RF3Ya+5w(IETUSevn=P$GL-Bg7!fjD+4g*~@OM zGqeZ^qm1U831`&#zVpZV`}>_g-uL27D5p%~=j{Mo|6#qT;hC6L3H=B#aSZ=-rYbK6xno$72nqPjb;DfH3MrYnLP#894q}Y@ugiEoZdW|BYZ9Lv|iQ< zwaI6^acXnYOx!eL%5GcT@umv_K6y&aiJFQk!#VSU?H$6)_WBO0P$x-3cpE&q>4BL5 zd$y;}fnr>$3aB)1jfwi=`)B2Nh|*9y@PiiI6wuh81kCm&907aYS&L+n0dK0L%~Rh- z*pUKy`>Weqx(|bt_?jG^5D|ILYeVHWO;N!J3;yPXmaIECbEk=Ni){s{DI=ZBm*p$= z{X6Z`xBHYmA`}t%LeRD)XV1l{sSv{$J`l%6gvw{IbR|OJ4@FzEs63Ai2tnp#|M{^L=yN-GEnwnd+I!20t zq{Vc^c;PuCMzA+#rTId;=ok1@bwzVw6EU5tVN*L*gOx1F3G0bHNK={{)}Dy*9uM(g zFQJYenODA#Q)$(46$>WGV zc@AUJSuP+B=J1GV&i&MuUnqez9z53}D?dWynXfc7)KGCmWg(ti`dLZ%dOsK6(O0b9 zi?j0JL+XDJey9nVjYLY-WgVA?E>b2*eI$S=de(urKb+Ug(ep#=B~KO^i@T8Jv_5Bt&1w`_eio?uO}^Xh(~P2VJmm_NX&Vc1Lxm&RnGH!8h@Z{GV#zLT}b(Bjru-Dzg(*OguVl%8Tw z&4bIFECctBO}csvy^=Lo+yk}Z9Gy*;h}R}m#QHH)k#4(1m-Sh-W=f3R*aE|qUTsOl z^Mqf?cVH4iJLZ12J1DgIT#M?nm&%~;zL8K^n&L5_H|#@y|N7_Kt$^!M=~pdQD{ZD^ zVtxG$nKTuvzIvThSP~)SUQMPoOl9g&HzZfSUuAGpIveFBh?$iz`-WsOW7h1B?A?i? z!}k}aG$6uUAH1kHAT&3X?f%!)s!!ii3aE3QGL5h z^a6!IANCE`;SSY9Y?L&lu=kcFa9C}T^u~o|=${4Feb^Vwuc`pfyx@b;Za=Z* z^%ptuZD8cR+3ggM_rGx2Kn1r$b1OB@o}Z@+D>9@l88v-&;JdP}6pQeB8J(TU9IV{^ zMEhRnY8uu9*>CUTeFcT2;k=|>f5V<*!TS@Nm=hk2eZFG}h_M^(9w==JANkE1+6%s9 zp_Q%t#)7qkplg3|RRyKrzOIJF3g`^*QhLQ*r6|?3Aa0BmY(oa?)|s{fL}!rh{NgtO zrFDxl8!Vz*YY|DL^ZhuRe#=>Oz{}Y8TBd7l_Pd_i9lWXd+%~tLqu}FwuW-mM`=PY4 z8>I~stZM3#ZU>N35B4K{VO^fcYBAkBbpd1`N2lJiy&b#$5<0muCqB;yBG8W8*mIF< zeJe0Qo3Cwv`}UlZR?)f`B)vbIAA6^jd6bkBA!vrwLj(U{cf*%m*nGt;8XfnT z>tZyAf3<*x_{Icjedb&(xNt51*RGrc@b`Gena)fTsUAEURFC_Q=x&SfEO>XQZG6lk_Nqv zx0FMrF^tS9C;oZKFYs(BFt_Dz3;yjeOU#*qkv*TP|F2K~v7j}!`tTMTj=}Q<%g662 zqg64@Hr+iwuXC~8G!D5iX$;P$o2ol#5%|N{8f`lX`Uy}hr2<}~g>sTK*h9=v`H}tUCE-rgYZ^XTgcwXczGu999aQsplzp>}I{fd-9D zx(p&&k@2TfZ~A`rT85=ii?MfmUd7IoLr0#pV4K7E96Pemw6@Y=Pl0ENU7B_`J%-lt z!}o08G}soG0}ZUA))X;NGST4{hq-m}^vdeffSHox0iU07M6OrsAs$`gofch{Ed#kQ zID6V#NPwMIopRRq(9d2=jxh$?Uds-2d#md9t^!MMqD93l|-vfgx7KT z!po_VW)_slIscF{@=m1)W11u4>{xd~p&0FPj3WtIzO*?Xo@yCgW|208<3=kTQWCS_RGAxU__kBhfvWde&TDtAT?(@o@b#xrdOz-Zo-}o-2U}D%e!ImGa$1zcOHr zTZ}eC`{5~&1+4EiQ8}m+dkGw9IHjk&i2|BLeGKbSY;v)mnYd9%w2k(M3ua2T7v$s> zpCHv2Oa-smUB9LmVIgaEmW1K~HR7YF_)!0Gex7>Y;sNGWt=Q$fLZQGpb&*ma%B-NZ zeOT%Z!H|LAD66}O5DN9Xj-NJAXjG;~tzK75wL2W#sLr*nS-Jj!e4rFgDdDM?7f>q& z^8iDIvHfo84djD&#&jR*!|y@P^0yYYHeKuCnu?^$Kh|o#M?Xd&Pc&&y$PBM_HG31M zRky1{E-JgdaJfbd80TG1f%vZKp;a#jzuR)fM~hLH;3F?0^k=fRhl#O7jat0lxJ~UJ zntXM}W?qC{ry?io?5!gBQ&%1R{tAROiRHz{nG{&dTI!97SpknTY)3=25G&*imiBwo z+;HRmj6=oBm0|8-ticWb>$&J|e;rv55#sk-g(jT^I8#R>R9OQj7KJ?B=q<$6cd>6h zZXBw=^^$5^cestb+TxGo?=!7QxnysZNTxJji289(|y5(K>LD z&JQ>7sTkOD)rqPlWb4)kEREHbtNAVek;Bs-@-p2;i_(UA4HzmK7GR?k$+0K~`Q-Ld zF-DDID=S{%=K3Ph-H+3pH`>N?rMBzE%(6*(LDgvWbpEMNrUpJl1eK~$xyvqFelldzHm>5{<*XkkT{tZ@2JSzYI literal 0 HcmV?d00001 diff --git a/apps/tempgraph/screenshot_2.png b/apps/tempgraph/screenshot_2.png new file mode 100644 index 0000000000000000000000000000000000000000..68d0ea236c6a513868c69eae8a5e51f995fad9f4 GIT binary patch literal 4186 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 Di-xj= literal 0 HcmV?d00001