From e8062061b4761a0436e20d11b92405ae4409daf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B0=D0=B2=D0=B5=D0=BB=D0=B8=D0=B9=20=D0=A1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B5=D0=BD=D0=BE=D0=BA?= <56991906+Lisoveliy@users.noreply.github.com> Date: Sun, 20 Oct 2024 02:54:13 +0300 Subject: [PATCH] build(release): v1.0 of VHS Watchface --- .gitignore | 15 +++++ app.js | 10 ++++ app.json | 57 +++++++++++++++++++ assets/390x450-amazfit-gts-4/clk/0.PNG | Bin 0 -> 1053 bytes assets/390x450-amazfit-gts-4/clk/1.PNG | Bin 0 -> 637 bytes assets/390x450-amazfit-gts-4/clk/2.PNG | Bin 0 -> 883 bytes assets/390x450-amazfit-gts-4/clk/3.PNG | Bin 0 -> 1014 bytes assets/390x450-amazfit-gts-4/clk/4.PNG | Bin 0 -> 825 bytes assets/390x450-amazfit-gts-4/clk/5.PNG | Bin 0 -> 856 bytes assets/390x450-amazfit-gts-4/clk/6.PNG | Bin 0 -> 967 bytes assets/390x450-amazfit-gts-4/clk/7.PNG | Bin 0 -> 695 bytes assets/390x450-amazfit-gts-4/clk/8.PNG | Bin 0 -> 1019 bytes assets/390x450-amazfit-gts-4/clk/9.PNG | Bin 0 -> 988 bytes assets/390x450-amazfit-gts-4/clk/point.PNG | Bin 0 -> 325 bytes assets/390x450-amazfit-gts-4/clk/points.PNG | Bin 0 -> 399 bytes assets/390x450-amazfit-gts-4/date/0.PNG | Bin 0 -> 613 bytes assets/390x450-amazfit-gts-4/date/1.PNG | Bin 0 -> 309 bytes assets/390x450-amazfit-gts-4/date/2.PNG | Bin 0 -> 505 bytes assets/390x450-amazfit-gts-4/date/3.PNG | Bin 0 -> 600 bytes assets/390x450-amazfit-gts-4/date/4.PNG | Bin 0 -> 453 bytes assets/390x450-amazfit-gts-4/date/5.PNG | Bin 0 -> 482 bytes assets/390x450-amazfit-gts-4/date/6.PNG | Bin 0 -> 559 bytes assets/390x450-amazfit-gts-4/date/7.PNG | Bin 0 -> 347 bytes assets/390x450-amazfit-gts-4/date/8.PNG | Bin 0 -> 598 bytes assets/390x450-amazfit-gts-4/date/9.PNG | Bin 0 -> 583 bytes assets/390x450-amazfit-gts-4/date/perc.PNG | Bin 0 -> 663 bytes assets/390x450-amazfit-gts-4/date/point.PNG | Bin 0 -> 175 bytes assets/390x450-amazfit-gts-4/date/points.PNG | Bin 0 -> 213 bytes assets/390x450-amazfit-gts-4/icon.png | Bin 0 -> 1689 bytes assets/390x450-amazfit-gts-4/misc/dist.PNG | Bin 0 -> 1351 bytes assets/390x450-amazfit-gts-4/misc/hb.PNG | Bin 0 -> 777 bytes package.json | 17 ++++++ watchface/fontData/primaryFont.js | 12 ++++ watchface/fontData/secondaryFont.js | 12 ++++ watchface/index.js | 23 ++++++++ watchface/modules/battery.js | 31 ++++++++++ watchface/modules/clock.js | 29 ++++++++++ watchface/modules/date.js | 26 +++++++++ watchface/modules/distance.js | 35 ++++++++++++ watchface/modules/heartRate.js | 34 +++++++++++ 40 files changed, 301 insertions(+) create mode 100644 .gitignore create mode 100644 app.js create mode 100644 app.json create mode 100644 assets/390x450-amazfit-gts-4/clk/0.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/1.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/2.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/3.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/4.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/5.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/6.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/7.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/8.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/9.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/point.PNG create mode 100644 assets/390x450-amazfit-gts-4/clk/points.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/0.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/1.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/2.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/3.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/4.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/5.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/6.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/7.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/8.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/9.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/perc.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/point.PNG create mode 100644 assets/390x450-amazfit-gts-4/date/points.PNG create mode 100644 assets/390x450-amazfit-gts-4/icon.png create mode 100644 assets/390x450-amazfit-gts-4/misc/dist.PNG create mode 100644 assets/390x450-amazfit-gts-4/misc/hb.PNG create mode 100644 package.json create mode 100644 watchface/fontData/primaryFont.js create mode 100644 watchface/fontData/secondaryFont.js create mode 100644 watchface/index.js create mode 100644 watchface/modules/battery.js create mode 100644 watchface/modules/clock.js create mode 100644 watchface/modules/date.js create mode 100644 watchface/modules/distance.js create mode 100644 watchface/modules/heartRate.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e21f7f --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +.DS_Store +node_modules/** +dist/* +npm-debug.log +yarn-debug.log* +yarn-error.log* +yarn.lock +package-lock.json +selenium-debug.log +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..13d6c22 --- /dev/null +++ b/app.js @@ -0,0 +1,10 @@ +App({ + globalData: {}, + onCreate(options) { + console.log('app on create invoke') + }, + + onDestroy(options) { + console.log('app on destroy invoke') + } +}) \ No newline at end of file diff --git a/app.json b/app.json new file mode 100644 index 0000000..d24e37f --- /dev/null +++ b/app.json @@ -0,0 +1,57 @@ +{ + "configVersion": "v2", + "app": { + "appId": 24808, + "appName": "VHS Watch", + "appType": "watchface", + "version": { + "code": 1, + "name": "1.0.0" + }, + "icon": "icon.png", + "vender": "zepp", + "description": "VHS watchface" + }, + "permissions": [ + "data:os.device.info", + "data:user.hd.heart_rate", + "data:user.hd.distance" + ], + "runtime": { + "apiVersion": { + "compatible": "2.0.0", + "target": "2.0.0", + "minVersion": "2.0.0" + } + }, + "targets": { + "390x450-amazfit-gts-4": { + "module": { + "watchface": { + "path": "watchface/index", + "main": 1, + "editable": 0, + "lockscreen": 0, + "hightCost": 0 + } + }, + "platforms": [ + { + "name": "Lille", + "deviceSource": 7995648 + }, + { + "name": "Lillew", + "deviceSource": 7995649 + } + ], + "designWidth": 390 + } + }, + "i18n": { + "en-US": { + "appName": "VHS Watch" + } + }, + "defaultLanguage": "en-US" +} diff --git a/assets/390x450-amazfit-gts-4/clk/0.PNG b/assets/390x450-amazfit-gts-4/clk/0.PNG new file mode 100644 index 0000000000000000000000000000000000000000..5f8c7dd468d7d3f94744bcc977f7f503b1d50b1e GIT binary patch literal 1053 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%58v zyr+v}NJZS+xx2GP0!5B(-sPgrExJ`eUL#}q+#d`F{Wfe8l4f;v(fPytX3J&~L2m7> z0)N<M| z!St97EZqtY9-)yeYu@B^e0#w2C%3ppPC2Q!=?llP;roAdB&C9D=YH-LcSOFJU6X*xB9mJpSRacyBBChfQ?zDb5MyxAShIf zQG2(`-Z0iz4w;WQcSqiNxKTZGTCRm- z_rwZd(0xI%_STJ@2;I#$UNvr?x{ZDQgAZ|s-lr%1nX<(&;>4kAi)Tfo{p`5*z{>R0 ztRp}dE3hKFSZXe>`9jwl?~mN}eDZPq7w$40%WwC(oD}X9EDMYf7d&QHnqPi9i$93@ zqG`9q*(R_rSDg~lX<|?eO%>d*Xf3l~*32vK4xO>$lZsC3RJo(J#`3+MPl|)@tykF| z7etZ$n^|Hu$8C+KQrv!%FLxXh&rFCExyG~X|Llc4$4*3C*Ljq}2@Mvo15K=?^N!w? zeSdeJy+QCkrJ|LtT{YVdTwL-v$64jX{~u{)umASBEwI>DWh~7cDqhhvErCWcKD%ZoPAUO+&ZCu+!-v!8XLG@zk`?`-^WczyTw1~le z(Y`}|hvqrmHak<-)Oz}$&?TT>by55(o7VZv>`&xxgAD7&x$2!2x!$?1Nyj`NW$W$K zS#w4H-O8#hg-xcSJEfOqhpn6QtB)JSC)UzwH8=lXnJ@hD)-=5>a}TWQ{Le0?*y&f* T8^05n-x)kz{an^LB{Ts5?kLiQ literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/1.PNG b/assets/390x450-amazfit-gts-4/clk/1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..97acaaf24586fd5e8a2e9a93375da111e6ecc849 GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%56p z-_yl0q$2L^-Hl$%jv}oOV=sn@Y}v5!;=N_LX6c-3k%=N#WJ643UBRzd1(ap^_j(@eUwq*Mq)BWPq zhDUEsdH>1LJ-6wi+85u3ooWIR1N~boSlmuVRare@xIf{4HxN-?`Jss5|?cjcR)Pt@n#G z!-XwQ>&=^^ec+}k|K#j{eLv^0emNq<&C#&pEH08MVr#ue{n04>guVAJp1&u3W7gMt Z22rKZbIi9koCBsO22WQ%mvv4FO#paO0BZmM literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/2.PNG b/assets/390x450-amazfit-gts-4/clk/2.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e6cbcb24803ff79d2af729f31f6304aef48efff2 GIT binary patch literal 883 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%56( z)zif>q$2L^oc&oMfikV-XR?x1BRUccSXjN^vIu@D;ha&K+U5 zGM3NfSb0REqmiR=0o(Or#iL^PcK*J*+xpy_d5wy1&i(v5GymL~J2P*3u794H!gTe- zsd^6f=7YYqwaZo94{!8ey{c+j^yc}}6$0f^_3Oo+Wf=V__1x&JdT_H?c0@wA^t41q zCWowa#)y-f7q+pRPkEoB@;o(QHSZ%wu zWDR$z=^p7O-GqoXRt|=hb5kQ47$$rx-Nt>m{l*1_C9~Lnwk@sy@-R9r$1@^g`pzB} z_ajLg)$%r53DlhQn8y`)edUiFFOzpqqvrdcs?57nIW_<0aUF-N8+f<{7=o-%Z(v|l z*t(fv%@f^OF6*90{j*r~lk=Cva+5njQ5`CKR=>}GDyH4~H8go;0rzs#$-jOIWVWBtC^E&_k%57E zg{O;SNJZS+x%>Nl0wvngC9s};Jd3Jua$+m@EAGh3; z60>;RmKxE(Fu`gw!0~WOtK4>$zgJ?pa;@&s>`A*8STv@w{{MH|_e|{>X+^iIQRp3`@@G9A;u^ zxH6M9AvOPEN{#KckG}=aYIP(}xK!YsY4+&DtZ(spxofo6s9p_vD0c2fPS^8L9f_+6 z&sVX$+OD`DJ)(`3gJGrd=?x5w3cQ;imhXMXI6LlT%)+}av$mRCtqXo)u4eR0ko~P8 zH-kCUCU6jh?VZ5p+v~Qf`{~}S%-|(k--a%VDBr;HcxK$;id~mK%wP>Vy8-0Qp!8{p zj7$!%&MFe`%8LtaJH7Sbt0t?c8ygd6{PnSwMjhfx%;LB$5kD)1ZE4SbdKBC4ZOkx10VKTK_Nky;c2NiTcy>uyQ9pb(Zd%>;Hyz z?&6ECFJI30DtpUIL+&{ohmlNsS*0WEG}lx(QD9owPOcwcyl$6@Ep0Vie)dbtvs#~p zQg5=Sy4j{NR-we#hCQdkUgk3aLuXFf{11}nR^D)WxxsaPbnD)|%DY!KJ~iY{=|ql_ zEw5U?@J*H5xYf3P#Tt(Jmt|fqtLR&C@J3eAO3@da3i*mtx3M0yn%J9gfXV)@q``%t za=8bLmdMV`)R1*ryH!8&v(xc1=K24Z?EiAwK&<<0tI$5>*dY71qY3BL=hX9@Uj1j< zgIFJx84E9~Mpwv`E;zD5ZFcC!jv@}j$}>#q$B?7p)_IZY=zrT>Yvx`2w|T+dT}vN6 z^m=1|aqW|)(}ymV{89)EWBKjbWV-&}owJUevfpR0o{&V2i_M!8k6qu?r{D1H)ik}U fvInkg`7gegwe`TJlfA2e8JWS;)z4*}Q$iB}1yRbf literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/4.PNG b/assets/390x450-amazfit-gts-4/clk/4.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a1ca02b2300d81ae03dbd5376c20aacb214785d5 GIT binary patch literal 825 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%58f zwWo_?NJZS+IfnisjuLJ8yvGhTIdK{`GI1q2CV6UbY~1j~`~&+R&WOMd+8nH^`x{s| z4ONbvn|8=6w|Apq$aC{&T#L4s|335P?z&GtMrYstK3ntoO!e;K&AZJdBBX>@NNHCq z$?&yjPdw$BW_3I?bZ*))KCvQZ>z-L*Hmw|?X3`JuL3RBT3JA}6;1L(p8- zgs-2nBu+Q4l{j2>)?!}c$E{j#Ro6&7T)m=wZQqvGV}GQWIt~emDKIRt@{VX=m{3+` z+Vk{a(UYGW)ULZ4wC(h?ZWdLx>Hn3Kr<}V``Fte9q75yq91JVZLG*ARn051#;S1q>9Lj(-Xb}_oauD2*o;i5XTT;c zkK=XU&HmE;+=vU2zvq1Uc@TzltNS^PIi7N*~DxflO*{9-#&qU&3K`jeG$=XSyJsgl2Kjo0no@a3J~l{-e?Y8Nb9{Bh3JDIqUf zFtkHlgT-9pB)sq6WsKdb_E%DOseSEP&G_P`o|6h6xcBdEw&wWZxCWRP7(8A5T-G@y GGywqNVpfj; literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/5.PNG b/assets/390x450-amazfit-gts-4/clk/5.PNG new file mode 100644 index 0000000000000000000000000000000000000000..34b04e67c66802b68cb2d62af6f5fa6b9c217923 GIT binary patch literal 856 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%57k z%hSa%q$2L^oc-A%juH;}PXinUTwJ>wI+`+;Mnq_pv0eIYf8$ov&4>sNvwzHCQ5l+1 zT1lD8Tv10B_;QKrg!DW&Z(X4B`|;U|H@V+ zOl%BUV2O-h&byY>_CC;8mF3YWOBULmG40WbTyr*)n~y?bH#a!p*9|px>Gq6sN8fg> zPS~^WVtQz(?RnotA=g?ZEM%QCuPa^5iCh=?z(m_S@&JRwTAfrzW(M88QcVlRnC{9) z&wXq<^G`?a(cjB-E{hjTXNrjKSovl4k<$}OcWJU-*C}Y4g5qw6uv=Ddc>alWM3#JU zRH;x=KAA80d6{C~&QmW+7CJwAvcHeT|BT|v#s8$3R-XzIGhhgSSiAkP?ksD=|IDU* z(;j~{K5*Xt#kR?!+avR?p6tkVois!Dv?=$LnVY7t@-SQhYrC*9^cq{iW=`4JYy3}X z88Rdt4~uj-n-&u3Fds=3)NqKOwt^)}q|85lXRVh#@~79XkDo&>?HHe)PVKJE>V4WX zXDFVdQ&MBb@0KV*YaR2}S literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/6.PNG b/assets/390x450-amazfit-gts-4/clk/6.PNG new file mode 100644 index 0000000000000000000000000000000000000000..ba84c7f6e9895e481722fb24328e112178fb377a GIT binary patch literal 967 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%57^ z($mE;q$2L^+`ZW%juOZ6zxFh3J>ul^hheMHT(PF4 z5P0E|n~sp8$Dg)_se&JC+>|0x%HEl8F5i99mf3yM-RFOA+}~&Z`CifPmtSq#)B1tylroE=+(VytI}#dLyvCGc-8Sa>|K9bl`}=2ZQ%!pqu`SJF zhETVyY1#Z$rU!rXJlCA;s(X|@c+s-&uPg4IdcJVk-&6PP&PO(^g1O}|6HCLDsjLaA z`WIDd?q2`*vm;IP$;BmKX3crqW3gw=+vmm2Qx8Rj>5J+;EJ@RtpT05WO0%rK=aqbC zhw~eFxCI!3!lxxNGC4%;l4=T=J7Hgd*mfi1pLT&8u7uf$t@v4f|KgjV2On-}B=1rQ1Uh>j zva`38n6fOiQnX$A-uj5p&pBDzUccA)31nz+-rs#$;Kcqsn}f`=+Q0_y+QhKt(zQg_ zjr$rZ9#41|J|S1Kv24X!i|r_ zF>Ubrts{_?b7^yziD+k8?Ctf>(l)(Jcsc9JZV8^Rf%l6Xf39Lyd2Y$gV621WrCpnl z!syj0a5#9|d-%UTocZSFJo~Q;zww?}D!B5KrIP!`%Pl@OGIQizJALbhm z2-{ffgn0pE(4`AjEpge~jy+rWO_tT}zi0i+=}UQb2Thi=Jn>Tg@Zp5>S6Sj;tuEwY z-zp%?`KAohF5ssq03HjjTO1x h({KAFBt81i$Z%ZT`02`h{J@;a;OXk;vd$@?2>?G_sT2SJ literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/7.PNG b/assets/390x450-amazfit-gts-4/clk/7.PNG new file mode 100644 index 0000000000000000000000000000000000000000..1f71f03449930e3f1c4b073927c19ea4835ce21a GIT binary patch literal 695 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%56J z)6>NHtCJ>QzMcX83ndR;v>)IU;MLLH&0XMNRt?wPS)~MNt?Br-3xOPVvp~+mObP4 zs^>Zjw5CNkFu3G`$>{Qz0_V$q-nN=9oIQu>^?%9QUj27M$@in$MY|)r|87$8$hr|a zE%o-w2B1bgB#pUZ2c%AVx9^x{)nh8d8*yAGBEJ5MikyYC!N1HKh3-PyYI{X~U)ykU z`j3CkG2W%#J-=lhtyi2N?5(4~u*eKd_S#C<#mYT7U$sBCI)V4^#mf~B3J?6~<~p96 zmyu9vEH?JLd|u7klV3$&2qiGGWHo SS>J#uk-^i|&t;ucLK6UESr>`` literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/8.PNG b/assets/390x450-amazfit-gts-4/clk/8.PNG new file mode 100644 index 0000000000000000000000000000000000000000..967ee49a99937c6a190c35c4dabf09ae0274185b GIT binary patch literal 1019 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%57E zt*47)NJZS+xqGuk93_qwSGly(CI)yjie}{khxK&DC_qN@O5-Wc1+i#{x@x3W~{WWK4zuDROS53C9J65swrj*!? zM{TJQ4Ga^kHZ!bwb1~rQ!PK9(B|lcOZ87D$botf!vmOe?TH12Uo6cN|Ec)lf=hy4( z|G$uDJy?pQ{n~S?9-S#>ZYO?me@>;X+FV-)q<54|+l%;)U!F#_KS8mVn zFxVXa(JjaMz)J6#2h4I^t@OnL`4pMnZ$40llJd+fkKCKOKfrFymN}Q(pF37Bo@N)y zurYqo?9;5%Tc`edIM1>7oBhG6b^q?1bL?FE-Hv;LF>=C9>u-~cf4{YkYm0f-%Qq{S eBaGkvXLFCAvx`lT#R{0489ZJ6T-G@yGywn~kHX6U literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/9.PNG b/assets/390x450-amazfit-gts-4/clk/9.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c8c8fc5bebf911eacbbf364009c2a059fce336a0 GIT binary patch literal 988 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%57^ z&(p;*q$2L^T>lQ=M2TbXpC*|psZKf8F)8RqK+q|_jnjMQzPX{1x_Zf*l+4z-o5IR; zZgli&h)rgjxoC>f`29>9A54< zg@=uF92h)eBN@UzWvux2V9lT0{vS4cNn0JOd>-$V@l1)!J=(lVWpeGbIrh_=7w1a6 ztUvc~Yl7^mu7_s@)-b|!x3O|CymWBieZlTXRP%!@<`3Irb}gy5OTRU3M(f5kXA3sO z>6C@tsD0VbB5yorxsTn8fIa4_SyelaeGaqxZu&O-Us?5h))i9I5*e8sUY$ZXNyPWi z^;+Hi!WVTKY-UYq3-$^YY#0Cf^XHv}r5m1I@oo*aSUYpd`PC6duMYZ6S9x_-;DWKv zVJ4P_D^pV=8W<+*+Qh>xzz`IUZthF*mzuSfcV#-aFVWv>@1VDK`n0fXs=XhoQ|fO1 zx_FqyJMmz_-D%Qd5%q0I=3KgvUVF7>$00SF*F_9J{%Fq);}_doG2!8Q&dIW>er#DX z;!hX6>N;`$48!Y`a)Zm;rl#FXZ@iim0ScUz+NU=#FeS))7Q!0d3St`{91MIAafMVVum$VYn`X=&X4-RcSL%7$!eh+M(V3=FIz3?jAYt$&NduGZD#@Eni-pGutY+vAkMu)!GW?qD+@nHQ!DLzR4{L&0pYs z?ECDSlREx!)+Bq>hV3(K+3+dWq-9z(yTj=XpisYb!Kx)Ld)c993#UD`3HuaXwpn5N zvL(BpXe_Vi(Qmd5o_HjuqD-CVRjrT8jQvLLfEYR?8@Nj>gTe~DWM4fL*2$o literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/point.PNG b/assets/390x450-amazfit-gts-4/clk/point.PNG new file mode 100644 index 0000000000000000000000000000000000000000..0b706d28f875c4ef4922561487a4f7952bedb290 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_5h(cG z)5S5QBJS;_gS^cK0xS+PAH7&Lt>dK@skVG7@L_+W$>lU_@{hMS4c?eYGO=(7C^$4Q zFw%-~pqAxU==xjL^*y`iAN_5=cI)09)%&+LewFesy%%2d@niW}PsRxKg?$n_5seN4 zS8N!B-O!x;$NK@dVVmm%#_(61z#w4oboFyt=akR{0JXGS AK>z>% literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/clk/points.PNG b/assets/390x450-amazfit-gts-4/clk/points.PNG new file mode 100644 index 0000000000000000000000000000000000000000..b688157f62e50b567db0156f0e1fd9192f425f88 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^-awqm!3HFYwC-I8Qk(@Ik;M!QF>WBtC^E&_k%58H z(bL5-q$2L^osGPQ3!+b*L&BK{zqrO4O|l&A9>vBdwglEo6W~Mm&;qf zwTRA<(TQku5HOA0z|^RawJCv>$?;0cK`xf26(^fSIamTGizf8exE8P001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>(7fD1xR7gw3mpv~;K@^5vBv@aOP#{#w6%s+AT?x_b|B%p16f{IM z{(wrUwUvZMg+#SMqu7vDXf{4Ji^O`4+*#S#xp(H?jWx;1-I;slyzja1nUD3F46R%) zuQNPodS@AX^gM6NX&xY1EKbXs09w@`5fl6#^80O0Y-*j_h%@F7=gF#A<-*HU9O@x+ zQVO6sCgVucJeX`SV;UR4X0+L-^!FShuHZAT`CZU|!Y)M<0aywMbkBFq*gznfHuzKs zSA^G`&gs8m*ERtE{SD6(tP7j1nFEWALA<16aJ_hvhFF<~2p{yhtck$58>chPvBNYm zHVDC5un8+093q2|!6fsV}00My~6hr zK+M#N>p0~Nrzx?EXD7G9emWh!TOsL1t#97vhQ$tXyZJA#$8fM0O{!h}!5 z+IWYG1N5)L@3T(ij6Wu$T^oCRm+@J|dZGxgE&~rX0RR0s&!8L6&tjC4lxIISr3D>^ z<$?pysKH0#%DwBiWBtC^E&_5h(cF z)5S5w!#g=eLFmu_|NEs^OcD0{S?=a`EJ$gq@N%Avlk5s^Z1NqKPaZhXb@MU;1&3b+E6Q{7}wn-}`vI`jJTJvVilMy&QDN`>o*TH+;15ULWA{Pby zr$3Ogn`V&It(dSNo8hSCg(rN>KW#jcYfM)GnpLOxOFM}tQ+D9YpYr` z#074?J9N!tw^7tzA<-j0L>|7HzlJGmlG5QX={LSGFqqkI6P~tmRvpmG44$rjF6*2U FngGF3be#YI literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/date/2.PNG b/assets/390x450-amazfit-gts-4/date/2.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d61e64b0e22751b55d9400a3aa76f306984acf54 GIT binary patch literal 505 zcmVP001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>&t4TybR7gwhl|3&6K^Vs^mt2UKiiD_yLUJt%%2R3h0us^t0tyX|L1L=4LXDsMbSFP z!_r;G*<%m{Te| zyOI&KXF*^T{k;~(rA=@Tu8WAo)WZ9;pIAf}QZMQHC$TDxmvouBYmTo``~g{o@G0Ch vk?cAcGpW?Pr0egHsG1yry8>&Vo2q{R2YPSae!=eY00000NkvXXu0mjfP001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>(3Q0skR7gwJm%A@SK@`SaHt~o@rSMLKLP8@!p|lbr68;3yYm^Ea zHH}WA)mkM{dW42}Bq9;XDkv1|u?bnf!`!uIXZGINY_6E(0IADy#`;2$Qs{CIQ3fOSM=i5H5;;! z3Y==tf#ih9x1v@eDF+i!74Hht7nO+!ASnC0aRL^)ZcN z4|xwwq6lmxChioQ>PZ$NDOV&UF6DYAa~r;jwF<3f)$~!$vJa>C!3M_JdV!BuG-sDf zxe8^y!QwvBf-IG!JO#>TJnCcAvICZhp=GyfaCh2FoNhp1K-B0Zc`Gr4`rq55;GqLAHmsY;i2@tlKAP001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>&cS%G+R7gwhmcL2^K@i5hM4QBav9t}S=xd0+jc;M&1E{Gi#lphE z7qGJsQfOsop<<=j1?2nA@Qmq{D!SEuh#To~aEQ<07n&|}nydoe z$Rv1Vb@b)NYY2uksYDhH#5#!t$D9rDzBc(t93-2GT@)S-Rc_f`wFuvkn~Xox+F52q zGP({iFWxbU@Ukj$H+g`_Qoux(d%6zD`ZSTqL0LJHeL6_KfIKbbNLpwxJ0@Z3|7HUB zmLs|JR19Vfe~qx`^*qAPicPRuIuT9o@EcQUAHmH^gAgjaO+GS0ll(sWeY?xohYeMW v@c$$xQU1=jEZ@TMh~#$5H&|%*sX4v_cYm$|dZ3mI00000NkvXXu0mjf34F!C literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/date/5.PNG b/assets/390x450-amazfit-gts-4/date/5.PNG new file mode 100644 index 0000000000000000000000000000000000000000..5e3da5548773a6d32628e8bf8f53cb5737bfa0a3 GIT binary patch literal 482 zcmV<80UiE{P)P001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>&lu1NER7gu>{Qv)dCIbV5HW1SaTx9{8>39dL<3oHq~lMyF(fpHm(t`CO676~q>7&o;deiP8ZC(t-arPR@Q^#grm0>tQG z3tb|f+Lrvl=2dE2f;BjYk0mU?q@V=!BOjVSZvyiVIi)bx-~#27Nk9y0dm#f|AZKV* zzqoSz9AGeliW^XI-9;z|1JxD-)p!Cis2s!qxGXV;sst4k!~jj8B4=C*L6)2V;y*wv z2E>+V3Z;Rr^dQ0(SuASK0>$0{@j190&@dM) zAtIR2mD~Xe_(BCA0~5_x5E~xxP=OmDK^&D3F?Rk0ngcci8Q@A?tAL6?jRH~uxZ!{f Y0LwVI>1VUa$N&HU07*qoM6N<$f{XyPh5!Hn literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/date/6.PNG b/assets/390x450-amazfit-gts-4/date/6.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e4f35605b8975cbe3f0618a4f8280bbfec93ccc0 GIT binary patch literal 559 zcmV+~0?_@5P)P001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>&;Ymb6R7gwRmpd;+K@`Vb#9N1ijYOf5Y(WH3TL}?~PohyOXfzsM zU>iz_%2o=Eh*yYWg8~g9LM4PPHtToR+#6JL}XLTA@%_ zX1dq3<}>%~IL=xiJxH=hl$JFSG`f>mY@^?&#?67eDFroQXFyHA5Y^W|2#cvGu9wkC zxdinQJr1Sj;K>RaV@NkLu4(Tx-UwiE5zMrPJ7xTeoJmcDV9sLbfxKq?NN{w)fbksm z3a^1q7=IvFegta$mhU0bjtrOR;6=tzyktP*`sPU*Y-K7^cw4%n1R^?j$cU!=9xI7D ze3!b16-ig^kl1Q+#8%8lsQxu|nbh@cBpne5M5WWD7whhVpoa{sDxxi-x-a%ECq9l_ z-@EE+wR&1P001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>&4M{{nR7gu>{Qv)dCIbV5HW1SaTx9{8>q8?~SAP{q6 zGmI*h01cJ}Vtrh$CEF69>)C*YMnMf$!(zd1px84YzDRaZ0WA>#Vtl{_W;k6Uo@Ac@ zon8UNAAtBH7H?dK`VizxR+!=B#0dvbGd~X3{RNgFAJFB9wglt@pk|N-4p=PM3=}&D z#IHyW8e|R7Ai@>VDfkR0+9x;+`3e>PLn})@0>fW`nBbvH5+1dLn5clO84a${;36pm tNK!nSx=0ExQi}TdK$DT%Ro{uV2>^6pj~#4XX=4BY002ovPDHLkV1j5`e)RwV literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/date/8.PNG b/assets/390x450-amazfit-gts-4/date/8.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f8d4a329ad3b5e03f22e767f280feb024bf71dcd GIT binary patch literal 598 zcmV-c0;&CpP)P001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>(2uVaiR7gwhm%lGVQ545LDkzDC0Wq;iY<|TiQ3(-A{Ua8mfrY_h zv=|H~i$MpG5Q7C_YLMuL8W;=+p{dWQdtd7IKJT_k32~Ee?yv9panHH;^wq1dv}`sz z!*YvlFJ$e;^SpT{IgBJhDJ^L;5YdZhj52Oj^BN~_3Q0BS=~T;UPWAMO!e*=#*T0a7 zX#ygc0&U5Rf={NFJWl=wKY?IqwTZr6TT ze&7zm=>Y9kZb0I7{#L^b$UfwiFJAulBwk*;+-(Wl5ZEw0e`Wr;$k~r3#kJblnqgcP0^kx%po*lwft90a3 zqblDS$%U zWoDbwuo&hw+-W#tK6M9Zh77)_{|e0@I3*iXD#I9H*2DMoW1_XRyU9r-Qj kcCACw|5b{ym$s4L0Wu;XN}Z?QegFUf07*qoM6N<$f_~izZ2$lO literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/date/9.PNG b/assets/390x450-amazfit-gts-4/date/9.PNG new file mode 100644 index 0000000000000000000000000000000000000000..52fbad669143474b7465693471fee7201b212352 GIT binary patch literal 583 zcmV-N0=WH&P)P001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>&`AI}UR7gu>WWWOc|NmbN6qdv$M?ma3BO_xgQTl+ETmfQoz!hv3 zu)qX?CUODUQcylSQLe#M#11q^1uFau=&NriN`R6sm~^x>G>@Yal)iiW86p-Z%_;3=G#Tge(C%GysblxP##l zkEZA(kpBgUuMx5UDt{eF?*(EWAU4O)19Zg}ERm-}q~Yj^M+b{pTj&z;!^aX_5$_8O zTLWN#-vg$uW8}mSvL0NPv_Tau1kw~+LYFuJ<#KerIH00j`BcBUNi-FfcfVK<;Fuy0Hv;}K#X4f z>H@{EwxP(em@Z`(u6!~FTFmSM23r>)*8|lS1J!r}F{m8G0JtoHH3ps#vH&Wt38bBI zMm$jB95il3fV451LTR8YJ&3SK7K@s*K(RMa^C8khznKd2CeSC`KsLzs(t zf-AWLWcfmQpw=h2kcCG)RNw|Q=zfx7GLqV#Ky$!mAOl>fYZXuttgk|feb2Bd1^}*- Vi1iU=kAnaJ002ovPDHLkV1lgoUh literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/date/perc.PNG b/assets/390x450-amazfit-gts-4/date/perc.PNG new file mode 100644 index 0000000000000000000000000000000000000000..9e5655275ae23a497e1934c1d240ec13dfbd6550 GIT binary patch literal 663 zcmV;I0%-k-P)P001Kh1^@s6VF;n900009a7bBm003M@ z003M@0Th%&K>z>(Nl8ROR7gw3R?RC!Q52uYkc4CQ3)NFD<8I=141G{16y&jl$4j2t5G32fi9*nWbb z6I%dQ`%x}v|3194eY+(+I{6X=H9?#JI}e`J=~Sffx|(dE9z5MGhIVa)>`2Kw1>6kQ zPQhuNlU^U`V%?$!+zp!Nf^s@J0Kb4+!9zZbN3qKZ;5a4R^ooTYwfIybh2mhqlP|#& zQjirXyybXCSWI1mAzgQnHEHB?SlR~3cjdsa zJAlWS(yVh?c*FOKT01ucU>32949%d8T$`>!0SvP}*%a>R3t<*;Ciw?aD2=Qi8&Kv1 z{w>9vh$`N~9M_ztq;atOU&1!!JR1e`hvr5506c=P@<6}072uWv<}uFON*6qFqDns; z&Y}kuN!Ad05;9_I!5t+ykK4+ITS2pvDb+9$VVCiW6kd1YrxDpLxO7~5m0OVOoSg8s zQieTI#W=eHIN=?5SS&gg|H=u^5Lu*uExajHYY=XO`2#yM0C^8P24@1N3k|`8m-KOk xy$AN1LD0z_*g4fsU@0F(e+OpWfaBcC(Ko`UOC8TE7$5)u002ovPDHLkV1m~nBJ=WBtC^E&_5hUm7 z;uzxLotz-Sx>(UbiV2N4ti~eI`Ss-g|Nq}MWG%gL<$X#@N{#;-NtUaOx;L4Qyg1OX zz-WBtC^E&_5h&R1 z>EamT;hmfy!K!S;BGLKv>;M1%O&hW*FIPx*Q%OWYRCr$Pn`>wsRTO~FnTctrDg9&A>W?b;Lq)1s1a0H)-bvOZs;DI>wF#Dz%^W#lwrrQp z?48-WvxV-3{K=f>H}{@9_pu0PdBd|je`pv0rPQ57lt9EK0Pq7Melj^Znd|E6+8^gj zi5-CJx=V;?1pstbNOS@K`U{0Ze>$B$5(kLb0A#aSVcRw*ew#*Oe=>;i@$vrN-roN- zAqJAO7n_+cz%xzd|}G2(Hvgd+6@~rPO8sSR29d z8Kpu*2QACGKb1;-ULM%AJwPe-9so3~y4Qi=7!fUV9OuJQ+Z6%ia=Du<%lfnqK{VRr z9w9_eRRBtpLQmk?r3C5K9>Cjnp$0CZ>sq%DGoyNT%K(k@(7mQt=k#4Q@e%m6^dZ&Rt%v~QX> zM2KhuB0i!KRGiC=?2>rqk(vgPgmr+Y102L)3?DCr+GL*VEH; zGRUs~&GIM!uzj6o8~`BVLC^EHJC4&|EdpLt0l>2X^yz zUM(4=6t75E1Hi@AWHp}03ZU2{-ts)}sqXIXqZ$F85|L8gg^23`;EFJMRb=A_zyTqm zM?^0OAvmGH=DMyRqUQmC3!UlK7yu<%90P#$LWu30DvzV)U!3B2Dt3BG^vUJhKGk|x3sk60pRL7 z5{Mmu=XrfyU0oZi0$_omp`kf#ZEZV<=(N*RgFxa2@Q@JV_44=wZ-|VHjGS})`0+l= zvQ`q&OoPd@ski_rBFZ?9v%6CKRjQHBBO>axEbAEqc6rAsQz#TN)edW> zodv1|p_Ez%04o9DnrgBd&kt*!>S~w*9^)Ay#7{cHkpZxxQmPFAxHs_M1-cIFB*(YN zIq}lF3RFPzE1;RMU=ktqs#sGjD!{}+sPVki0+S;1w?CktQQzuZ& zSPv-oqLkv3TLy8Ni9i8hr$3*6W60i=nYsb+3*~wKY{4MfBL<$eZ99`lBtDL)-Xm;u<@bjBLL|Z830&ECgwP2sTGt*>9*yg|X|4~5IPLm^i2mWk{c%1PI-`&Zu>vT@ z=DP0PMD#Eb%`ds%cbI=Y%Ac>vWb#nRJR*xX1VAy`fq{Y6j*gCbmSr7HCX>HK&Y}jz jh61P|ZeyxvJ%IlKbWHhQFv+?P00000NkvXXu0mjf@t_+( literal 0 HcmV?d00001 diff --git a/assets/390x450-amazfit-gts-4/misc/dist.PNG b/assets/390x450-amazfit-gts-4/misc/dist.PNG new file mode 100644 index 0000000000000000000000000000000000000000..65ea0aa0548a6b1a220c0caf1e49b171aa9119db GIT binary patch literal 1351 zcmV-N1-SZ&P)z>*`AI}URCodHn@xxuMHI(p)TmLT2{D>Of)_>5J%~n-;2~gS4|)(p z5b+~H10EFh5d4fNEFp+sB!_^Y4&p(%DqkRrR{6db+yZ>-An}wOS8@RlvXPcKhZchKS=H^rnjFqO%FV zU*y%r=Q4D5=he&P-^b^+VY>Ku1DQLA$(5-8k~lV&&=0C!K+RR)^+Abz6^HYQ&y!vX zb>lovJaK8f=sd~up^ExkInPp!(A9KZOOG=I^VG(!A2K#IiYt$y)W4BkL zoxb+DJoSSM-n~~SIb6ke9HB6 ze>bJcO)WXTWtf!^SA$oYAz#f5GGTaw$b+okzYG$ndtFk=!C;;`PCyb&F>v;gdn-I) zEWC-J9%ma1sqZ-&JFrzWEUB5p>97vv&p`c+{1I3L?sb--NoFOzOKKD(nH&t{enxRW zgKPI4c?NeC!a_m&^rcz9NhXIggnETl$`^9&$KZ~*yhjLydyy_xIlrmnW+ctcv-p*#D5kCP*RAFo5@Ixx>;Z+l zQl$S`iVjGR<>mJx`gPJtDmfU?O$?4sr_I7q2D>v$q;RDVbY$^S)7EMF;RC}99uu^3 zO`&zZ(>=;}5W3Tp#znS6?YBn__Q2~)j`5x&vPV-Ct0Xy?sy2f<3~Wyrje4IhSKJvs z5ECr2d$P7R=8-kj?yB}2TF2e#I^=H@`Ll7y-YAlv)fvV1R2EYxIUeNhSQFtzXD0Q% z#_b;2UGTc#w5P6*g}+;1-e)R&cJ)r)SV=OeekR3cA;>p&Oo$L@s72$Yw3 z_%FfJKcu@ob)&}8=O53Tp#C)UX_5}v4xSBo!s{@=B!CSif><9g>t*9-s)R3}YUn2O z`u8z0`l~TK3vm(@5U-Ev>fqm16SgA=x3S(VtY$AGCb#Z`G7bJS5=)Hg##HYj$RLFS?Pe?f}z=0 z*S_yaV@+!__fV{`k^9Ebv80xlqCUTmbrLD3J(}B}+UTECI0;i6538SO`H}zt002ov JPDHLkV1i|001Kh1^@s6-0An-00009a7bBm003M@ z003M@0Th%&K>z>(yGcYrRA>e5S-)!(K@{H2FOVc$6O4@rnj-0rR4JlKK+qz+g%+at zC!`gN6v5;mU78dYDFQ0N{~!blwelBof>@k_g6NSG5)6r#?~%E^+1Z)wOlJ1njWh7r znK$2jZ|1w1w|l!`v)Q~B1i@t(U!H_v_?ma<*1o3i$oqh~fc8D!XIWoEjH)F^ z`fyBq0VbAP=_BO`kqGUtA`-qy3C_kfE5^v8-IWFDKj17u=^ByJ>I|~M6gI)r5rdVBDhgFe+&)e@?v?h3=}Ycs&>|GaP*$g48q5tj}7CE#YP`Brf`$k zXJ+))LBf@AsS^AF66JmZt>M5#HBeH>Uz3<5h?FG=x)pwFw@NH);tmk}M2tBW=Ps_J zS;s7_SlESih_gfjVV6zg;>98{I#D1veHl6<#H!;*`P1^L5`3%wf4Ww%*l&W(@B(*S3FhUyA*NzoHe-u(-0%tBK+rrLLxX82p!6jF9M(wmICPvAv8s4@ zeBn?RDHVzJ9`;n|tqE updateBatteryWidget(battery.getCurrent())) + hmUI.createWidget(hmUI.widget.IMG, { + x: 355, + y: 10, + src: 'date/perc.PNG' + }) +} +function updateBatteryWidget(batteryPercentage){ + if(batteryWg){ + hmUI.deleteWidget(batteryWg) + } + batteryWg = hmUI.createWidget(hmUI.widget.TEXT_IMG, { + x: 270, + y: 10, + type: hmUI.data_type.BATTERY, + font_array: fontArray, + h_space: 1, + align_h: hmUI.align.RIGHT, + text: batteryPercentage + }) +} \ No newline at end of file diff --git a/watchface/modules/clock.js b/watchface/modules/clock.js new file mode 100644 index 0000000..aab576d --- /dev/null +++ b/watchface/modules/clock.js @@ -0,0 +1,29 @@ +import * as hmUI from '@zos/ui' +import timeArray from '../fontData/primaryFont' +export default function(){ + console.log("[modules]: clock module init") + hmUI.createWidget(hmUI.widget.IMG_TIME, { + hour_zero: 1, // Whether to make up zero. + hour_startX: 10, + hour_startY: 50, + hour_array: timeArray, + hour_space: 1, + hour_align: hmUI.align.CENTER_H | hmUI.align.CENTER_V, //Я хз работает ли это + show_level: hmUI.show_level.ONLY_NORMAL | hmUI.show_level.ONAL_AOD + }) + hmUI.createWidget(hmUI.widget.IMG_TIME, { + minute_startX: 118, //120 - space on center(2) + minute_startY: 170, + minute_array: timeArray, + minute_space: 1, + minute_align: hmUI.align.CENTER_H | hmUI.align.CENTER_V, + show_level: hmUI.show_level.ONLY_NORMAL | hmUI.show_level.ONAL_AOD + }) + hmUI.createWidget(hmUI.widget.IMG_TIME, { + second_startX: 220, + second_startY: 290, + second_array: timeArray, + second_space: 1, + second_align: hmUI.align.CENTER_H | hmUI.align.CENTER_V + }) +} \ No newline at end of file diff --git a/watchface/modules/date.js b/watchface/modules/date.js new file mode 100644 index 0000000..352dfe0 --- /dev/null +++ b/watchface/modules/date.js @@ -0,0 +1,26 @@ +import * as hmUI from '@zos/ui' +import fontArray from '../fontData/secondaryFont' +export default function () { + console.log("[modules]: date module init") + hmUI.createWidget(hmUI.widget.IMG_DATE, { + day_startX: 10, + day_startY: 10, + day_align: hmUI.align.LEFT, + day_space: 0, + day_zero: 1, + day_en_array: fontArray + }) + hmUI.createWidget(hmUI.widget.IMG, { + x: 54, + y: 14, + src: 'date/point.PNG' + }) + hmUI.createWidget(hmUI.widget.IMG_DATE, { + month_startX: 70, + month_startY: 10, + month_align: hmUI.align.LEFT, + month_space: 0, + month_zero: 1, + month_en_array: fontArray + }) +} \ No newline at end of file diff --git a/watchface/modules/distance.js b/watchface/modules/distance.js new file mode 100644 index 0000000..cc02cf8 --- /dev/null +++ b/watchface/modules/distance.js @@ -0,0 +1,35 @@ +import * as hmSensor from '@zos/sensor' +import * as hmUI from '@zos/ui'; +import secondaryFont from '../fontData/secondaryFont'; + +let distWg; +export default function(){ + console.log("[modules]: distance module init") + let distance = new hmSensor.Distance(); + updateDistance(distance.getCurrent()) + distance.onChange(() => updateDistance(distance.getCurrent())) + hmUI.createWidget(hmUI.widget.IMG, { + x: 10, + y: 405, + src: 'misc/dist.PNG' + }) +} + +function updateDistance(dist){ + if(!dist){ + dist = 0 + } + if(distWg){ + hmUI.deleteWidget(distWg) + } + dist = (dist * 1000).toFixed(0) + distWg = hmUI.createWidget(hmUI.widget.TEXT_IMG, { + x: 160, + y: 405, + type: hmUI.data_type.DISTANCE, + font_array: secondaryFont, + h_space: 1, + align_h: hmUI.align.LEFT, + text: dist + }) +} \ No newline at end of file diff --git a/watchface/modules/heartRate.js b/watchface/modules/heartRate.js new file mode 100644 index 0000000..a22a759 --- /dev/null +++ b/watchface/modules/heartRate.js @@ -0,0 +1,34 @@ +import * as hmSensor from '@zos/sensor' +import * as hmUI from '@zos/ui'; +import secondaryFont from '../fontData/secondaryFont'; + +let heartRateWg; +export default function(){ + console.log("[modules]: heartrate module init") + let heart = new hmSensor.HeartRate(); + updateHeartWidget(heart.getCurrent()) + heart.onCurrentChange(() => updateHeartWidget(heart.getCurrent())) + hmUI.createWidget(hmUI.widget.IMG, { + x: 10, + y: 365, + src: 'misc/hb.PNG' + }) +} + +function updateHeartWidget(hbpm){ + if(!hbpm){ + hbpm = 0 + } + if(heartRateWg){ + hmUI.deleteWidget(heartRateWg) + } + heartRateWg = hmUI.createWidget(hmUI.widget.TEXT_IMG, { + x: 100, + y: 365, + type: hmUI.data_type.BATTERY, + font_array: secondaryFont, + h_space: 1, + align_h: hmUI.align.LEFT, + text: hbpm + }) +} \ No newline at end of file