From 1c54177922f00d8449e4000f44321311ccb70987 Mon Sep 17 00:00:00 2001 From: Alex xu Date: Thu, 2 Jan 2025 16:16:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=86=85=E5=AE=B9=EF=BC=9A1?= =?UTF-8?q?=E3=80=81=E5=AE=8C=E5=96=84KEY=E9=95=BF=E6=8C=898s=E5=8F=91?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD=EF=BC=9B2=E3=80=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96UI=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=90=84=E4=B8=AA?= =?UTF-8?q?=E8=BD=AC=E7=81=AF=E7=94=B5=E5=8E=8B=E7=82=B9=E4=BC=9A=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E7=81=AF=E6=95=88=E5=88=87=E6=8D=A2=E6=B7=B7=E4=B9=B1?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=E6=94=BE=E7=94=B5=E7=81=AF?= =?UTF-8?q?=E6=95=88=E8=BD=AC=E6=8D=A2=E5=88=B0=E4=BD=8E=E7=94=B5=E7=81=AF?= =?UTF-8?q?=E6=95=88=E5=90=8E=EF=BC=8C=E6=81=A2=E5=A4=8D=E9=AB=98=E7=94=B5?= =?UTF-8?q?=E7=81=AF=E6=95=88=E9=9C=80=E8=A6=81=E6=8E=A5=E5=85=85=E7=94=B5?= =?UTF-8?q?=EF=BC=9B=203=E3=80=81=E5=A2=9E=E5=8A=A0=E6=9D=B0=E7=90=86?= =?UTF-8?q?=E8=80=B3=E6=9C=BA=E5=8F=8C=E5=90=91=E9=80=9A=E8=AE=AF=E7=A0=81?= =?UTF-8?q?=EF=BC=9B4=E3=80=81=E4=BC=98=E5=8C=96=E5=85=B3=E7=9B=96?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=8B=EF=BC=8C=E6=8C=89=E9=94=AE=E3=80=81?= =?UTF-8?q?=E6=8B=94=E5=85=85=E7=94=B5=E7=AD=89=E5=8D=87=E5=8E=8B=E5=94=A4?= =?UTF-8?q?=E9=86=92=E8=80=B3=E6=9C=BA=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Out/8837_EVB_241227_1754.bin | Bin 12288 -> 0 bytes Out/8837_EVB_241227_1754.hex | 831 ------------------ Out/8837_EVB_241227_1754_9B89_010102.bin | Bin 12290 -> 0 bytes Out/8837_EVB_250102_1610.bin | Bin 0 -> 12288 bytes Out/8837_EVB_250102_1610.hex | 831 ++++++++++++++++++ Out/8837_EVB_250102_1610_67C3_010102.bin | Bin 0 -> 12290 bytes Project/SY8837_Demo.uvgui.GH | 166 ++-- .../Backup/vox_module(2236).h | 502 ----------- SY8837_Demo.si4project/SY8837_Demo.sip_sym | Bin 313172 -> 351512 bytes SY8837_Demo.si4project/SY8837_Demo.sip_xm | Bin 156 -> 156 bytes SY8837_Demo.si4project/SY8837_Demo.siwork | Bin 95876 -> 50334 bytes .../cache/parse/UsrInc_vox_vox_module.h.sisc | Bin 37722 -> 0 bytes UsrInc/bat/bat.h | 19 +- UsrSrc/bat/bat.c | 71 +- UsrSrc/charger/charger_module.c | 20 +- UsrSrc/key/key.c | 72 +- UsrSrc/userapp/userapp.c | 9 +- UsrSrc/vox/vox_module.c | 35 +- 18 files changed, 1054 insertions(+), 1502 deletions(-) delete mode 100644 Out/8837_EVB_241227_1754.bin delete mode 100644 Out/8837_EVB_241227_1754.hex delete mode 100644 Out/8837_EVB_241227_1754_9B89_010102.bin create mode 100644 Out/8837_EVB_250102_1610.bin create mode 100644 Out/8837_EVB_250102_1610.hex create mode 100644 Out/8837_EVB_250102_1610_67C3_010102.bin delete mode 100644 SY8837_Demo.si4project/Backup/vox_module(2236).h delete mode 100644 SY8837_Demo.si4project/cache/parse/UsrInc_vox_vox_module.h.sisc diff --git a/Out/8837_EVB_241227_1754.bin b/Out/8837_EVB_241227_1754.bin deleted file mode 100644 index 5639a31ad17d0b7bf2dbff86562e2317183b6fe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmcI~4|o*Sx%bTMpKSi_X0rK9fMM8Rf+QIdR0Na_ixlf0_L^w9*LxqAN^JGRWW`PMeu8=TCXiv8`^r6HkoK2pNf!gBKM={g#mWM-(;s?Vhm*G`<|4asiIXytA^hSzfBXoXDRZ>RBxBx z4F8mt-;wvpzmWeWoUHI^|BCjC|0lf}8~&;Mj+8V&;MWYnO7Hx=9n-q7@ z!q5+rUuK2=`)l%Ro$av(ER1cJj(BI3n#C6URtH308|d%I@XxbHsglrgwy;phnu=Ef zyz!XEQaN%K$YYV$Mx-p0NkI(wQ7YefkxUWLXhCpN6Ig_ojKmRTq^ z8fNGcK#dTs#-h|+YNv`$<0l&&TI_NnP>PZ@P+)dHD@3Dz;BA_U75sXX`dCSJDw>JM z4E>07x6Q^D-kgXqy|o8w4;=n-qSXaM zgk6iV)nvTiVEhqb?9dsTqRnJ%9sN=2Zl%Kpb(Idv&xp+_&2_aC!P#F`C&y%4r0YK+ zBM_&`2UdQ_rFAx0$;!$1)TZB2CC))M5$qq{b&_ccQ)Z{19PWHbD{h#15 zfv5NHpSl1Fr-;B#6~THn5!jRn2FD3oyHmDan6mXXhx8*w>r^mu2lZKU<&YSbgfiA~ zQ?uZfC`HUMF;e4is=d3;@AMX##?r^Je{k3NpQzJRBO2&b#41-%=_7mU zsR6FLh9vnW-V{l^u!%81Cc{l3h79JEK?{Q6w21~G`=OeDf}yTLuc6umLvuK%G9(ge z>*+wYX*Sp}Z3pHI;7J3{niD0h06u({f!Iao4|UPG24WZOh*IvExuw@K;mV7#u_M5D21@WSHzq{YzWGc?$+%Ul{8*Vy?> z0ZG+b>FHHwdewqzlxop!69JDccs8r@N}j99;<7D_;{(A-ez{tkTq`ezk7-fXGXcy9 zTTJZ?WvE--Tc~XeHdcd=1@w`tVd!$84W1jlTor?ehBh5z^HnhnX*UCd$dtjge?zeX_qgH?l(+-exdV$lmf(8b zh}OVAZl$+bW13i{o6H)xlhj*j5i1r3vIdsvbwKcmT%&@0FMTn`_!n>+PWZR#5VZ z-j4NNfNv+vt!iY(KyOE}|0Z2p3(T0gGiAE1>&LcP%n`Se0B7oCBZJI{H9C2Xziy({ zFgKZOdQ4=Hq>N5zra;Ga%agglh^uu*clf{YUtyFQL&9kqdvhW&DzCHG^)}VJH1;>l z3~@Cqex6w*jE{hZm|1O>XgQ&$EGGug|`_P?q@|9`Ir zrr|uTrW(OQc0s-5Bf@yLrhqZ^O1$KHCU^(ubIU$r1yg3?J0CVib1KvbV5cG~P`w@Gyy6H|pY>I>l6Roo?JoE#Wus z{wgizUy=-;RrZOQ{fUl82q(rc1(8SaWvA>xIu|od;~2_)b@VX%*aZmTF|UKUQ)V>$ zgevMfcG0d03nQeAsNw>G-o;D zBATU$JN=Z8J3Ll%pluFpdbChtiBeV_ujpQ;U?-P%rnO4W6N?fJPEYicMcz*|p)fPy z`9oI;M#{5Ji>C*e{B&DZJS)i9GKCU2aXLkwV2VCus#k?9a*1e(NhQOGjA)#CW5emg znZsG2Ol##>=NfT1oS{i>DNo9m3Zx>bSen5)XK2A}p~TiovChDrtY2mFU1bkQhonN% z;_2(kp!_9aH6xNP9I`onqtW(1?w&Wo9kK=)xj_80=ODyO_^nc0E@X1o$!_tF(4kw- z7vGZ)iT@@SiCucnTz*=J-kVN&|H3-6G>F1De<070i^ZRyehJSQo-ev3SmpYo-@>#5mco^=em`%-O8D6Wr)pvy-)eFPZ{e|F0lnWwZIz_ zZRnv-@z7{oM3LrrhBffnp^QI^Pi@t<sON;GH#yGd-?d5Z|mtOQTmz;;soDAbkYwR?^0&6TbGO_(Tr9>bP7cl3<=DRf<7pF)AtKSg{{Int}H-X*9wJc ztr5}kj>AHb@@=h^48R;WW3=^puJ|JV<9zX8c~f}9h6+k{!^DCcMkKS2c8oC2cPstA z+t&i@v2@ueFCB}rcWq~#-p~^K$OYkaE8}{FTV`SMn}u7qa;}VR%Z=2Gi${!g{aaY7 zU&q2-jlDynBwEglQWun9H9|T@wn#R~Az7t#DMMx@L?;`7MN%i2DkUvAOYkIG`WszwHVczC z%F*y;Usp6F4E(ba4G5>k#dHGUlr#h>c9z>rYVbbItya?lGA-vySYBWs04K2_GIJof zM#!~FxuTcIb}0t2qSV(ET}UEdK+q+($~p34oiK7Oxd%< zGt;nSAS8!uHO5Bg`lfC}V!i$ji*7yXCh>00dPkJH-B7Z0Qpwv>N`6;Y@^+Yd!W1(m zu}o8>8Kw|7#7{S51?F*1gu}!zsd37GEvAM~XX(>K&X!od)yiD|78y;!Ql>+70T1js zX^urFjtiY3uRiQVRnFmypX3ya;GJ(MP;P|3Ivv519TW3UO4mn2ygN!gssvYWrMFNm zYgp?0;w=*@TxB%H$ous#EC~$otl(+n#AZm9BQ8TyxTBi<~stf~4)F(YF2vZ9i;RI(6E$Mp>u7QLHmAnqIB%c(NkhJ zK|nJ&e|diF7wX_8-XKvX@TO3lJ$hRFG(~~_zZCaBttJ9=&fS6Dr`16Z(`BXn?+mw{ zGfI2r&b_T|ZZv=N@poxEp;CB1bBcdA$(+3d3zr zx5pk2G26c#NOX2~ipS1Br|#bWfx7?W(ZucpAE=e%v1OM}@2>jr1N9bCOzhU;YI!oI zSD>ptQ=ljF1th008b_xnb(Ewelg&6C6>sYt!j^GV=~QuSy1^ZI$Q^h@KQNVCP9-)h z>elsB5*vE5!-Tcc%>1Q-GhMzFj)-_3cn(iXa?gnAarTTF-ha=S@$Mu$l2ycc=Px0r z$^*Tu1sOqOKboO3CGAn_m|}>si5%Zbo}ZBBh~fGiaI!?WqhJN^bVQAm4&Y2wa+xXl zQG6tr6(0>c;$uN;{CJ>}U|H1oNQ2YZyBw*#D~PL+qsWGZkIxQ|IK!it!(;Cuwk60s zS5BBo<>6!#LgctcHnp;rzb6S4Q!71mMq~VySvO^&T+ZP?_wCthpPK zI!Oi=DsGiqsrR`OHqm=~i*at&3;W?B4N-Zvn)Tn$R=%!#O163)bWi0PrsZzNr>Aa= z{J|vdMB;{|0H-8ws=q_JK@wm^bAmX_Pz1Ur*w{1;NC4G3 zE{FC7x2@Y4{C0Cw9mQv>(Rny*QFJavyQn(qFva9h)Cx)_KmSgC zJ|aIKlb=t>Pag%WgLwW-^{nWrq1~3AWj(j_+}g9ej=HGz%aHo z8O~+Sr<}5Drt8~vR2(v&#uEd>6U1HvRL{Jg>v}4B%6dFK<#p64s%L)B^;G;s1EV{* zMDWHab zsXQ}E4XP3cMml|eM=?ojIOMtVEP1icV2l9LgxOYUwoLXEY+|Y~^C4l`g93jY=VHWi zJ^Tb8csMuwHTR&zM`mtffO{5x=P`mmr{c=f&NPZSz#dXTW)WuDrCBJ@(oD%k4nVlw z0n<%51Rw*C(qiyMR80F_dKQ)23{ujG*bt@8Kn9!F5)*HZQX7>n+8HB0ksLBM!rzHC z1d7ZQBH+iAz)U?&IzexUdj>*`$hqQLP|`Z(S)!LWgD^+Z7m)-I#p{VUmLSeyLnJdf zOF!KNtlMaEyctpiB@Ofzoqh;pJTbS7d!!*%cj@3kCDhJA!Y^X^4z-QO4p7?i^JJ@+ zEr>uN61(4v=M7kpQj$?B4Fy`k5#n)m2uEtJkLEOH&fS(d_uJ>(pEl@#bd<|%c$e}=>*pU z|BRaAv7{1M2^GV4{aZvYE$Hy=W9s)MMRGBSGFQJZA!a1HG`nvfU%ziiC&Z$vO{REN zBBw^^((3n(`}Wa1$WT1y+vh@2v+KoNK89iWcao_b@9j8zzQf|Rv{HNmam?I?{=p8X z4q@ij40e2E)0`h9~P zH=V~4UMepnB!oi9L*sT(AfqLS_Czn?Lq10l@(8cL13FsrL~ATkJOW-G00|HO3^|X0 zgoUobj(G+a=@FE%q)?UHJJ@lNaJ5TSpkkh&h3aaM{s*M@+NEm1xF=|_6d+wUyIh58 zHmbUQR=N5KT3R4gifg4Ri4g9B1^f#KJ02qpDue~-^+^JFB4UWTeGLk)@)&4{wSFQcZF3cWT*@+<(n^N4g@1$>gpDlVRlED_i zfyhH7rx9@tjDzTMZ{lTbXh#xjm3)VSZ#9O*8~-X@?$zl&*13w0TuqqdQ~`86TohoI z$>htEPjI<(6$Sn(O`qC%K$TX&-5flpzTcp(q=!jDScbcdQh!$Yy3OnUS0h*797ZU$ z-|zqeGlMNa zsSYONGn8s3T8%D1Q@6&$GaeU?GomAYL5Qb? zFL1!&;}?*GaiJ8y*w7t#Bzz$&e6gFy1E<0-O$6*{l52RW21Kz^%%?+2hfFT=J8(A{ zzTgrqdQY1yJU$VN7~hCRiU)?@4kv>?t;qN5TpVPO6{Ee3RF^<932!f?V)$;QyS=-u zyD!{FbyMB8ZhLoH{3YSIt^TEPX$eZoruvtX^2#XnIWAX=$;~Pgd@#NP^{#t~qs93{ z%n^$W$Qv&BOngaYRYMikqp$7|Z^nT{6)~BHCxMac2jEKK{NTrS4XqbPL*fg5+hB*+ zi~Qp-xqAOxm6!IV_1XJueN$pHdUka7yZ8%E*O6r+I4tXXvRRhg01oFB6OG z@N?qauOf|4Y4_T&#kk*wL6V97oskl+#V*nX@#BH)*zoa4X<{U-+IHisyOM!qf5-EF z`%o{wcgvn^DB9#VjENfvxsHc5X}Ak7AAU{<%Tz>*jU2|dNwrc>(9r(a<)dTa@4m*A z-@sJuNB#!K@J_E~M5K|H`CP0ZkcKo*)`z{d?>9JCav!#Pt)Jf~(yK;}#l%dSu{vCw zSB#d%V^7fA1MhWe4aQ3 z`aRYmr3y>K(o%izFNjo39y%QZnsJc)PZc^tY1m^QCCR+46jF8-WN0n8X!>VTSTH)U zH!Ur)U_fKbNBM+jEZ}zs?(*1!5669|-K*mgz{KSo^yFjO&ql&uV(rnfEDKf%HMgzoQTybZl5-tKMd-o7w7y*zotmzwHet9|>#LaB_oB%V4Ww;iTx( zm~b+uUc2nm=y0+ytSysYm-n#LyloF7fUdgCR+X^xcOn-;au%3l2_%eWxdY|yKs8An zd2GR3eEXiR-}i1f*<7z(@M-D1Z{L2slJsd=i0?Mn|MsBow*s%fEU2TjA1}z_(*(m| z6hQ`JLMvk5*X<4wUzr}hyh0NT!bvB3#4bDyjwtWh10*c8JbMr?#`5e@ye!r|wjUic z7=rLhhNAmw>^{Fo!(e2gsa{icTR5>$eEJ8$t8hd>0I*6KcdLT|tO{T1HWgQiP05&s zu-xH4HiYv=Z{GT6lA?78)6glNMyND7a|Wl(oO55DIk=D~icg&zsovqBR*`QnRw=!^ zV)%BHTQV*$nI^$7_MKH^ksRTL>*h&V#GjIVCE*TaxdS=anOL@JshG`HZ4vQ_=Mgac zR23?0QU#m2i^oCMfz@_VX~vDy3E?Dy{|gvk{dVbsD&H!(n*}mOfMF z_%uiOlc&N-6flqQ%LvZ2aMDw+^#aM`)0XkEOWUj(z84~IY}ly+V-_sTf+OZO8@gQf z%z4vjc#1=nHR@{XR z6f;e1wf)rYQ&O*11;2)>_0n>+p{-YGlZo`&^Pcw%bJGcivdhcoQxsGAxv<2Q=%lUTyFB9Ly@APh`TRRI20+~L^l_lEm~2uV({(oJ2b(2jv{|d^>%r8 z_@}h|uDnnFh5Rq!WQ9-rSF~6BKWTSt@Tc;-(mv@I5`ougs{x-CjZzd_v>{4uQrtlc zLqAM@nPvL#ugR}!ME7y3rj8~EIDl}d>u|btByc(sl%tEoz zFh!RDYJ_Mt7Nzc0J5+QUKU43}V%HLZQk1NL0<-&RAsYPyZ_`Aq;Mb$nM@q6o(M&vM z;76ppZ8o;>)DMO_a*eNl1UB=iurn_2C4bI>jd@ z?5h}CO~wZe#vc;K4xOvNNvk@Ryox z4zn%GZ1d*oBVi&;Wh|%6auFucIy(56!3ivnw7UnO>%90G;S9tsNXbVgTTlB^@A5Ii zn7Gg^=Y?po+^pEq>*$fhs{=oQc$C+{7GX~3iFW;Mvcr-9v{3InHTj9OULK*9* zsabGKlp^LB8>!LVYR}F~JG@1vvGj2~(!cZ4Pt-}O5e;-IVwLNt^bx)Rm1*64OkJ~w z)Bx9hg(UeV-ULa!u!%81Cc{l3h79I}K?{Q6q=^P0k3cp57(-o!9z(S;hURciWJn~` z*3p4%(`>L|+AEkdfF}(&YfhB30{HN024W|jKhR0%8i<{=BTBhblSSv)NyExyh6P;) z3a0r?;8?|yM6kqU0dm5868U6r=^pEQuW16Z7>=}KZWG6xWDBsmiUERy(pz?Vr$nh^ zist|TN0kLsvL{OYUu9>M>Q#35SDH*FQ2^-A)6H9w&>eRv@w%b`DmB+Yh|&An6tb#f z9`PCDqoU(~$w{~gk0@0-F4`!Q_LA9ufuR?yo^O<3b!a$w<47%ge~w92GC>9tHf6kn zo}FF@W=xcnCY!KfjDdiOEsLSRZd9Qy?)`Q>VCa*ezQKBie&#{@7V zY%#SXl%Z~QZ=tp^*jNod7SKm-grUoUHh6CIazhLv8rpP>%{Rm_q}>b*B3tGT=&kg$ zm%|yPCuJwZ6Kb-g8fl@lKw2v0$hSoD`!oa%>BrYug8#@Zw8;yZ%A;ep*+x$?)i!#v ztx%t2EYwYFkueL$IMTaY6!kQT~hC{C#W7?RQcZzxvao>JU_5_jMxcVL0X5?rSn z(Hi*2t@Ji)OcSeglUW1zka`O(V#UHh*1!_I&WIR(n8O;FtJf{;+!NvqgTK>n1Aj3O zy^;xV3KiJH>SbaoF@Q8vzL^&mWJn9x%A@ik`4*mAn#J9m&gIy-nWp`;o_5-A1tp*8 zXt^|TlJZ_%Z-z>JwYQl{IwZe*Lq9C0fNa3)SRGRTZLUnigMuN`YO z%uObn9upZPDWemb3D8m9@?(F6c5n*c$6w*jE{k+-T7zMh!M^^?4Gucbb_P?sZk^f!| zOv8CvOf`aq?A$uZM}+ZgO#x%-^?1p3Oz>{b=azlM3Z~4&cdj=^b0X9TU?(CfP`;-< zc?m%#jQcHd)c`i;f8czDvflMXVz5kJ$1-KpNi6jdSWn{Cjk@@zPBB$ns~dM*OZd%I zU#7+UOOoNU%04mkNTU5w!ih0VLF5s9*(rOF&c#gAIEHdx9zD!Hb}mAA%f^=#G*vK(-S?qz&DQhaq0VZJsuYP)Op@wsMzhT95tsm_M&4Cgj<7YOx*380WUUIvRWB zTI|DN$$cr9b@!CF9b)t5!$2tyECDus4J9zTc&=xo`EVy$a{He$b_S03?-lF6vc}sTW~DwkYhH zRp)wbjq~$+oL82)cCB{pUhdj`mn+NXdgp%E3oBeN-06DZYwUe~=haH5R^{U7xGXbW z9LFx6?R;+~MY&3rE?r7BXZ-9KSKt6_o6Ti3K-|NM;@F7-F37Rr-B* ztpV6$>9kQ^Iu>Q`-Of6_q1*5y7lhNTjO#USiG|5;67JZ_xiYpbHBvJ!9x>LOx3N^e zj)l7tdxu0xw452GE-S%mgmjE-k!+GfvP$VvhRjNcPBs9Gq)sqZN}6$+v?7@82xW)EwOxym6`K48BM`brbBfB5A8W) zjztHK3mqY^KI}wQ&f$xn;S`JDooy&kZiK%&9l??vWAjf+*GEHK6{Q|if-ASuTd3yM zEcJcy_AwQ1Fq-1{Xy$Y2tZXpRN3ygTj(f9|#&cy<-&xs$WDA4~G;=yOsM1am&73g_J?e{R9R?7eGVCzMr zv}fkbJ6mT)^M{{!kG2ykh4(XO`S+5{8NHL(cK$s&E8bc$*cxxU4RJ8UE)-^7RGN^Vy z;dG+#_f-ecIfIl>52_C6-8P#j0G#v0NEyU>Y8lXtB@Z*(9pnaIX;fM(Bq=oaRGvu_v)5DCfc!R(HX?ZYSxwm#Dq zdm_Ya|8^kJ(a|BEy!5=f>)?L%;77xWU5ECom7}pG*Us&#IhkW=M> zUe=6^ps^oKQJIpqD0NaXMA<}+ZzV5`Npr$*eGWKTBHX871@Cl1jgDfv-+ zD3}!=4m#o^L2LX}ppsx&)c8=n)7ZNlsl6+RtC3HU4GW)|9v*Urhp&Z4-bZXpka@10 zFq6u|$wq|8agA(hWzBz25-6rtdgzSAsIkGFPN|sM==Q`?^?2&tXS|^@*%euHHzakE z3@lXKDz{wkb2)6H_x3j9+^iQ4!bKXQ@@zHhe~_(wQ}>i?^(^R~$~8>N-Hc97-5B|U zaon-Q4M_n`NZeF^hjfD^z_O+Y=iAWqL_<~ihV_jNx0S7{$j+b$bak+yaT1UKs&!lr z?Q`#3yD|9frpAURxVst&pnO&MF+yJcKvSeHwDvY3QWmMG0y9EK5IEnx%eneB-0DpY z8z;eQ8`p6rH|}cNaM+^gT#9y4wbXHn$)TualuUm9o&0=A zem){UN6Akw1+2q({!Dc*>z+@$E!|7HZ|}aNduc6oMeCl~&3DhBr=tA=o&h}PL3EK2 z_2X&A6T!0u&t^0vNW)*8-OD*|#oww+_u}r`YN^k_aFFs*pIRBFmiidAPpIxi-M7?I z|AF!;JSV7bwmYZWRZBggb!RW5?j>s7O@1DysFL+xEe7Xl`|8H=mRc$ZUX6rdh@!fk z-MRD|6kSTuQ>bolcP(Aw50q0KnZL`tkX4!`X1$XY%Pz=XnY|@@clPHw%W|H{IquAG zE^$8XlwDI@->#+Nkog>*7#N-=_Ufa$XLaAyUC~|E?ddMBrOr~_v%BX|@zeE;?%)!^ zo1@f4Gre$8zurVDljJDUxan?ry6Eajv_}WpY1BEZ%*iw4QfaEVOekF>FONm04oRi* z)F{=jN*oyJ^her@Nm|1p&y=Uhi*yDf1dt|7w@TAxvZr7ZQ-!II2umIo_?tKvBbMvo zC-}g_x#6$5hb2BTbrS>J3-CLS6Z{z!*PnJKQOp4LfC@5;FwHJaLxGm2N-lB$!tD;2 zZo(k|8F-WyfiI$B+V9e{sN80dl1{|>D0Ln(*u0jQcx#l}sC3fK81aeZkg*Z|PMlAm z$V?#ueq0Gm)zhS7^oF?SA;gfJE3N@0ty5kgdU-Plb0mEcNdQrtL&UKJaSj_GnaOGT z=_X*^Mw8>sfFdYqpttDs10dsxxnp2_hqu8PZe{^RW>*uS}H$4|a0oggQhoa;gJEyzPp|iXE0wNA=SQt_S`Z zHN|5|C9o1IhHuW>L@zDq@a<#j_9aDfF^Do(w=W@PBsw*_Zy#T`Z$Kx+qN+)zcvT{& zM(EP&_Ko`X(LBgdJn7r#LQ%8p#aupyVflBGsT}QTKYpp*;uNvF(UK=xW0B$^@bUmic=)Htc?2ZP zbM?2+GO$RGpo}Gjs@$Ib_A7*|U8({V^CT@)SA+CFAidWvRRhL7NsFZb>AKnFDpa#k z)%CN=)lbsWT&YrABUMR+a3?I_pV#01IAKsB%tfzH5s+P)o8n(t3A9#&ed8Blcl-+#gD7KK99BG|0l^(; zAn~N9*^?x%UwUkC9G)|g>^`mLCknZ0J)-Qy?2(ln7(%fz#ZCK8`nC_)qL(8XY!MuY zJV0_95m(CfR2ZY0?aa* ze0g#dmrFNL;IGp3svU<^X&Kzj;fv}A_3CnZkR*g#gi^PC z!~f8V4Qsz881YW3mI|R#wHm!`QeddZOdMjqPy;tHibRn05JE5ng>&obA3|Veumvd9 z!FYUz()_VjqYKc~E-*S<-th24dM99oSP0d|kO5fUuwiX8cVEMXrnT!xEO%#Ps9_@! zrE%Rio4I?N)-}ukG~QP)rZ&v9x?d+F`9pjpe-j-)C&X>xbDZdm$Awdj=!jny;%VW_ z9B}yfWh7x-D8;YTcLg2|U(O0&>EiLgsql*v0Xv%H`MfkAM6puLr(;UHOfK@=G?{Pn#?}J`sx;--tzu`v%_$Cxbq%$oK199AuCcqrHq&n?N!NZ!e@`_%5ZZt*f=G zH{45gQC+q!dskZgW#N>q?&VSGHk6c2buTC7isiSUfi43Ywxx7QoX&st-Wo%%KVsyQ&J~WMlKXO%v%FEL(hD2IMq$^DzV5b zeombEWu(yw?Oq$U8239cNHTF`N2J7Sv5Ry;{8S)2Hh3yhnivYJwq5w@uB0z{r2PfI zeV_;5yJe3z6m9Yw#>5STT+73nG~9)k4?i!2Wh$b@hK^&~q*|yaX=s1)+NUGo@4ms5 zFJ!6?B7cKpc!$?AB+^LBd?r>9NPU_o>p)M<2ldY7+<`W)^|J>=dd1Mmn3zd3R)>r8 ziqX<|>`8ii;QbD*eyI>oub-X-A@Vtg>$}R7z?qq0`Z)83)P#RG}l3hCTK%lFZvmA!S!VhSq|Mrhg`dxx;;X z)6yby`!u$Em``{{0)BVkUXMMvK9&qsRt=NhpGXA(Rl~2RlIPzbn1EvQ{{}(z77C|Y(!)R%bq9|Gtfu8c_1%~QhlV3D`LW}oGc@C z;zAuK?y)mw^I3_1FS;0O^;I{bx2eMy*`_H{_zJDB0CWE1x?}$Cw9wYMshQueUg*h7Ud+=jO}LxXJ@_6A0hyP`$p0j;qHKD! zO&ZMWULBVJ#xCceCm++s?*?OPsKpG+V*2HBTdH$n60*X~PRzQ=+pJGyjWuWO;H4$; zICrW(ep)zdk#FbW6P0YCYhm(b2ZHfG*yoaS`ZCj53y6PHRRl?5Rfm{g5SzwMOkT9C&4wSnC)g*P~ zu?27U?R%zf-+SR?Q=N9%r=|10eFybQ(x+u1zS~^)+rz%!3cUWZppMc(ydaBD6AXt@ z1R014t%!Z!v^zw6WqSPDGEFQ9C!OdKyYM79qP*u0k+9J6++n;J%X6RNWwGwD{ph5@ z5QNt=6x}ys_t||K1|thib(*T%!ik0A(?1Aafg=I}fECK9TkQ{ERrpf3sklmPOvW^X zSFP!G%0geB#_l^$rKMf_!_iLh0EV z!?&Z{ZKLvSlO!0#zO#ZXk`uge(<}*#_+zrKB;0{4cOVBl6U$aD7PHx^Eh0YgJOPFu zt3riMs$esB@;Jyku-dLDO}KG7Eu2B{e;EU;-!5HN(0rLpIjNnWQCp~pq50E@QZ3!Q{y3MNLdm-}1hMg)fX2HVDJz;LMp=)K& z4n7-tr0j=-KZJ8a|6?0mIBCaZG{(am8%tQzq*kd-`kwR@taO}c%g)?GN}YCweDidi z_!6%L`!3pXyANAr8~^wODpP9Zr8XY4()W0_atk}{ZMJ-i;K`LdY}sjcc9Om6RyOT7 zEc-Y=nNDuy|qv03tlXvs%oPWSpQr&zDxy|{N z{Cl>dk*!=Qeg^4%nuyQM!`j~P&u8eSq~(3!RG+9%8`Q$d2QYE*stap0f+KuUPW$Z~ zYY~=PrR6>R5k9^bF;pVp5SG|tgL|>K>zbbkH9Ur_+4>NPyrQ@XP}%D5;jL(V_y=_O z*=yk+K7y~`pXG&@tkO%;t-_0p^y2*RdzSF4pM+ojvG1oe&r*%Prx}KNfV*{6zV$~h c@!^Y0@Fjlu3Zs9IKb~v(pDNKb^YRb=KdA?}K>z>% diff --git a/Out/8837_EVB_250102_1610.bin b/Out/8837_EVB_250102_1610.bin new file mode 100644 index 0000000000000000000000000000000000000000..b88e2c1782a59221d2413206301fe5386e160427 GIT binary patch literal 12288 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 literal 0 HcmV?d00001 diff --git a/Out/8837_EVB_250102_1610.hex b/Out/8837_EVB_250102_1610.hex new file mode 100644 index 0000000..26cb68a --- /dev/null +++ b/Out/8837_EVB_250102_1610.hex @@ -0,0 +1,831 @@ +:030000000227EEE6 +:1027EE00758E3075D20078FFE4F6D8FD9000007F2C +:1027FE00007E01E4F0A3DFFCDEFA7581A702284912 +:0F2F4B0053797374656D20496E69742E0D0A00F9 +:102EE000122B6E7BFF7A2F794B120F5CD2AED2BEC3 +:082EF000122982122D5C80F40E +:101CD400010D000113000112000111000110004167 +:101CE40000DA00020E00004200D400004200D800D6 +:101CF400004200CD00004200CF00004200D60000A8 +:0F1D04004200D200004100D1004100DB00C14489 +:102EF80075FE0F43FF8075FE2975FFB575A5217511 +:082F0800FE1E43FF01D2BD22B1 +:1023A000AB072044030224D79000D4E0FEA3E078DA +:1023B00003CEC313CE13D8F9F0EE9000D4F0900002 +:1023C000D1E024FD603014606514700302246A2497 +:1023D000FE700302249E240560030224D4780DE6D7 +:1023E000FF3395E0FEC39000D5E09FFF9000D4E05E +:1023F0009E9000D8806E9000D4E0FEA3E0FF7C09A0 +:102400007DC4121889780A1218279000D4EEF0A320 +:10241000EFF07810E6FD3395E0FCC3EF9DFFEE9CF6 +:10242000FE7C007D051217279000CDEE80369000CF +:10243000D4E0FEA3E0FF7C097DC4121889780A125B +:1024400018279000D4EEF0A3EFF07811E6FD339555 +:10245000E0FCC3EF9DFFEE9CFE7C007D051217277C +:102460009000CFEEF0A3EFF0806A780DE6FF339591 +:10247000E0FEC39000D5E09FFF9000D4E09EFE7C7C +:10248000097DC4121889780A121827EEF0A3EFF01C +:10249000E025E0FE9000D4E0339000D68032780D45 +:1024A000E6FF3395E0FEC39000D5E09FFF9000D497 +:1024B000E09EFE7C097DC4121889780A121827EE66 +:1024C000F0A3EFF0E025E0FE9000D4E0339000D2DE +:1024D000F0A3CEF0C244229000D1EBF0C454F044FB +:0F24E00001F5A5E49000D4F0A3F09000DBF0220A +:03006B000229EB7C +:1029EB00C0E0C0F0C083C082C0D075D000C000C0B2 +:1029FB0006C007E5F330E038AFA1780E760008A6E5 +:102A0B0007E5A254031846F608E6F69000DBE0C390 +:102A1B009408501718E6FE08E6FF9000D4EE8FF0EE +:102A2B0012177C9000DBE004F08005D24453A5FE26 +:102A3B0075F301D007D006D000D0D0D082D083D090 +:042A4B00F0D0E032B5 +:051D1300C12A011403C8 +:1000260075FE8843FF20E47816F67818F67814E60D +:100036007817F6781976017916E718461846F5B155 +:0400460075B201226C +:10222C00E4FE9000D8E0FCA3E0FDC394D8EC94034A +:10223C0040037F0022EF7003022345D3ED940FEC93 +:10224C0094034003022323ED94CBEC94005003023F +:10225C002323D3ED94AAEC94024022D2287814E6DE +:10226C00FF137817F6302911D3ED94BFEC9402408C +:10227C0004C22980047817A607E4FE8070D3ED947D +:10228C00AAEC94025043ED9437EC9401403BD229D4 +:10229C007814E6FF7817F6302813D3ED9493EC946A +:1022AC00025004C2288006EFC3137817F67819760B +:1022BC0001301311D3ED9451EC94015004C21380EE +:1022CC0004E47819F6E4FE8024D3ED9437EC940101 +:1022DC00501BD213E47819F6302910ED9426EC94A7 +:1022EC00015004C229800478197601E4FE302611CD +:1022FC00C3ED94F3EC94025006C226E4FE80027EF9 +:10230C000130272FD3ED94DDEC94004006C227E476 +:10231C00FE80207E01801CD3ED940FEC94034006CC +:10232C00D2267E01800DD3ED94CBEC94005004D2D8 +:10233C00277E01C224C2258058C226C227D3ED9421 +:10234C009FEC94035031ED9471EC940040293024AF +:10235C0010ED9484EC94035006C224E4FE80027EBB +:10236C000130252DD3ED9482EC94004006C225E477 +:10237C00FE801E7E01801AD3ED949FEC94034004E2 +:10238C00D224800BC3ED9471EC94005002D2257EC4 +:03239C0001AF0688 +:01239F00221B +:1025D300E5E65480FFE4FCFDFEEF700753B3FE789D +:1025E30015F62278157601E5E830E50575E82080D3 +:1025F3000FE5E530E1028008E5F230E50775F220EA +:1026030053B3FE22E5F2540C601353B3FEE5F354C7 +:10261300C0700302269775F20C75F3C02275F3C0E0 +:102623007F0112222CEF600653B3FED22A22C22A64 +:10263300E5F230E41CC39000D7E094D29000D6E0DA +:10264300940F500575F210800353B3FE781576038B +:10265300227916E77818461846F5B17819E6F5B2E7 +:1026630075FE7043FF1843B311781BE6FFD3940143 +:102673004002C23CEFD394034002C238EFD3940725 +:102683004002C23AEFD3940C4002C239EFD3941103 +:052693004002C23B22E1 +:041D1800C140C141C4 +:10000E00304010EFB4010475B5C02253B5BFED44B6 +:04001E0080F5B52292 +:102F3A00E5B55480FFEF6008304005E4F5B5C240BE +:012F4A002264 +:102B1200C240E5E520E154E5E230E703D24122E597 +:102B2200E830E00D301D4475E8017D38E4FF020015 +:102B32000EE4FF12222CEF6006122F3AD22A22C292 +:102B42002A303C03022F3AD24030411F7815E6B4B6 +:102B52000219C39000D7E094109000D6E0940E4082 +:0C2B620005D240C24122122F3AC240228C +:081D1C00C142C1434100F5FF83 +:102D8E00E5E25408FF9000F5E06F6021E5E230E3E4 +:102D9E00089000F47401F08005E49000F4F0D24243 +:0D2DAE00C210D243D2379000F5EFF0D246AC +:012DBB0022F5 +:101D2400C131C130C12F011C004100EC004100F061 +:0E1D3400004100EB004200ED00004100EF0016 +:10206D00E5E25402FFE4FCFDFEEF70319000ED75EA +:10207D00F00112177C9000EDE0FEA3E0FFC3941772 +:10208D00EE94024004D22F800EC3EF9487EE94009D +:10209D004005202E02D22ED22BC22C8040302B3662 +:1020AD00D246E4781CF6C22BD22C9000EFF09000B3 +:1020BD00EDE0FEA3E0FFD3941EEE94005008D23164 +:1020CD00D22DD237800EC3EF944FEE9401500530D0 +:1020DD002E02D230C22EE49000EDF0A3F0302C662B +:1020ED0030406330302720100280287F03122BC52B +:1020FD009000EFE0D394235003022218C230781CD5 +:10210D007602E49000ECF0900071F0A3F0302F29EE +:10211D0020100A7D3FE4FF12000ED210227F031221 +:10212D002BC59000EFE0D394235003022218C22F49 +:10213D00E49000F0F0781C7603302D06C22D781C4B +:10214D007601C22CC2109000F4E0640160030222FB +:10215D002B781CE6640260030221ED9000ECE0C3D5 +:10216D00940150107D017F01121EA5E4900071F0C5 +:10217D00A3F080549000EBE0D394054003E4803944 +:10218D00900072E0B4010FE4FD7F02121EA59000D5 +:10219D00727402F08032900072E06402702A900036 +:1021AD0071E0601D7D017F02121EA5E4900071F0AB +:1021BD00A3F09000ECF09000EBF0781CF6D21180BB +:1021CD0058E4FD7F01121EA59000ECE0D39414405D +:1021DD000A9000EBE004F0E4A3F0229000EC802BD9 +:1021ED00781CE6640370379000F0E0FFC394B450A0 +:1021FD001EEF540F70047D0180099000F0E054072C +:10220D007006FD7F03121EA59000F0E004F022E49D +:0E221D00781CF6D2119000F0F07F04122BC551 +:01222B002290 +:101D4200410079004100780041007A0041007700AB +:102E2E0075FE0675FF3C75FE0E53FF0F75FE0F53B4 +:102E3E00FFF075FE0375FFFFC282C283C285C28496 +:012E4E002261 +:102EAC00EF14600D14600D14600D2403700BD282AE +:0A2EBC0022D28322D28422D2852282 +:052E6F00900000E0FFEF +:102E7400EF14600D14600D14600D2403700BC282F6 +:0A2E840022C28322C28422C28522EA +:102AB200E4FF747B2FF582E43400F583E4F0747F45 +:102AC2002FF582E43400F583E4F0EF25E02483F56A +:102AD20082E43400F583E4F0A3F0EF25E0248BF5E3 +:102AE20082E43400F583E4F0A3F0EF25E02493F5CB +:102AF20082E43400F583E4F0A3F0EF25E0249BF5B3 +:0F2B020082E43400F583E4F0A3F00FEFB404A3F2 +:012B110022A1 +:102A4F00AC07747B2CF582E43400F583EDF0EAC318 +:102A5F0013FEEB13FFEC25E02483F582E43400F53D +:102A6F0083EEF0A3EFF0AF03EC25E0248BF582E4C7 +:102A7F003400F583EAF0A3EFF0900005E0FEA3E049 +:102A8F00FFEC25E02493F582E43400F583EEF0A308 +:102A9F00EFF0EC25E0249BF582E43400F583E4F0BD +:032AAF00A3F0226F +:102CEE00747B2FF582E43400F583EDF0747F2FF5BD +:102CFE0082E43400F583EBF0EF25E02483F582E4E3 +:102D0E003400F583E4F0A37469F0EF25E0249BF51D +:0B2D1E0082E43400F583E4F0A3F0220F +:100B8400E4900000F0F0900000E0FFC39404400300 +:100B9400020EC6747B2FF582E43400F583E06022F4 +:100BA40024FE6024147003020C8E147003020D05DD +:100BB40024036003020E62900000E0FF122EAC02D8 +:100BC4000E62122E6F020E62900000E0FF25E024F8 +:100BD40083F582E43400F583E0FCA3E0FDEF25E037 +:100BE400249BF582E43400F583E0FEA3E0C39DEE8C +:100BF4009C5005122EAC8003122E6F900000E0FF73 +:100C040025E0248BF582E43400F583E0FCA3E0FDC9 +:100C1400EF25E0249BF582E43400F583E0FEA3E0B5 +:100C2400C39DEE9C5003020E62900000E025E02478 +:100C34009BF582E43400F583E4F0A3F0EF25E0248F +:100C440093F582E43400F583E0FEA3E0D39400EE50 +:100C540094004016900000E025E02493F582E434EB +:100C640000F58374FFF5F012177C900000E0FF2577 +:100C7400E02493F582E43400F583E0FCA3E04C60C7 +:100C840003020E62747B2F020D21900000E0FF2509 +:100C9400E02483F582E43400F583E0FCA3E0FDEF77 +:100CA40025E0249BF582E43400F583E0FEA3E0D341 +:100CB4009DEE9C5005122EAC8003122E6F90000006 +:100CC400E0FF25E0248BF582E43400F583E0FCA307 +:100CD400E0FDEF25E0249BF582E43400F583E0FE9B +:100CE400A3E0C39DEE9C5003020E62900000E02539 +:100CF400E0249BF582E43400F583E4F0A3F0020ED3 +:100D040062900000E0FF247FF582E43400F583E084 +:100D14007017122C67C245900000E0247BF582E432 +:100D24003400F583E4F0020E62900000E0FF247FBB +:100D3400F582E43400F583E0FE6402704B20451430 +:100D4400D245EF25E02483F582E43400F583E4F012 +:100D5400A37469F0900000E0FF25E02483F582E4A9 +:100D64003400F583E475F00112177CEF25E0248349 +:100D7400F582E43400F583E0FCA3E0C394FEEC9434 +:100D8400005003020E4C804EEE6401705A20451749 +:100D9400D245900000E025E02483F582E43400F598 +:100DA40083E4F0A374FEF0900000E0FF25E02483C8 +:100DB400F582E43400F58374FFF5F012177CEF2517 +:100DC400E02483F582E43400F583E0FEA3E0D394C9 +:100DD40069EE94005072900000E0247FF582E434C0 +:100DE40000F583E4F08061900000E0FF247FF58249 +:100DF400E43400F583E06403704EEF25E02483F5CA +:100E040082E43400F583E0FEA3E0FFC394FEEE9495 +:100E1400004004D245800BD3EF946AEE9400500254 +:100E2400C245900000E025E0248330450DF582E4BE +:100E34003400F58374FFF5F0800BF582E43400F59B +:100E440083E475F00112177C900000E0FF25E02494 +:100E540083F582E43400F583A3E0FD122C169000A0 +:100E640000E0FF7011747B2FF582E43400F583E019 +:100E7400900079F08043900000E0B40110247BF5E9 +:100E840082E43400F583E0900078F0802C90000038 +:100E9400E0B40210247BF582E43400F583E0900092 +:100EA4007AF08015900000E0B4030E247BF582E410 +:100EB4003400F583E0900077F0900000E004F00245 +:100EC4000B8AE4900000F0900000E0FFC39404500B +:100ED4001BEF25E0249BF582E43400F583E475F0F0 +:0C0EE4000112177C900000E004F080DB9D +:010EF00022DF +:0B1D52004200F100004100F30FC14609 +:102DBC0075FE1E43FF0275FE2143FF0875D487750F +:102DCC00FE2143FF0475FE2143FF02300F0775FE01 +:0C2DDC002453FFC32275FE2443FF3C2259 +:10005600D2AC759A01D2B9D2BDD2A9D2AB75FE295E +:0400660043FFB02282 +:10006E00C2ACE4F59AD2B9C2BDC2A9C2AB75FE2923 +:04007E0053FF4F22BB +:092F900012006E43870202005694 +:102F26007815E6D394015006201203304604C246B3 +:042F3600C322D322BD +:102B6E0075FE01E4F5FF122EC6122F83122F68E4B4 +:102B7E00F58675B7C375FE6A75FF0475FE6C43FF67 +:102B8E000A122EF875FE8043FF0275FE0E53FFFCEF +:102B9E0043FF0175FE1775FF3CD2A8D2AF12002677 +:102BAE007D697F03122F10122E2E122AB2122DBC07 +:072BBE009000E07401F02219 +:03000300020006F2 +:03000600D24632AD +:03004B00022FA1E0 +:062FA10075EB3CD2463244 +:03005300022FA7D2 +:062FA70075F302D2463270 +:101D5D0020402900000000000000000000000000ED +:101D6D000000000000000000000000000000000066 +:101D7D000000000000000000000000000000000056 +:101D8D000000000000000000000000000000000046 +:0F1D9D00000000C13FC13E4100F6004100F700C9 +:0E2F5A00900029EFF0122F99900029E0FF223D +:082F9900203DFDD23D8F99227D +:102EC60075FE0E53FFF343FF04D2DF43878075BAC6 +:0A2ED6000375AAFD759852D2AC22D4 +:03002300022F7633 +:0D2F7600309904C299C23D309802C29832D1 +:0D2F830075BB03759DDC759B92439A01227E +:062D290090004312185A4D +:102D2F00E4900046F0F0900046E0C39FE49E501CF4 +:102D3F00203EFDD23E900043E475F001121843127D +:0C2D4F00168CF59C900046E004F080DA41 +:012D5B002255 +:030083000227450C +:10274500C0E0C083C082C0D075D000C000C005C045 +:1027550006C007E59B30E105539BFDC23EE59B3076 +:10276500E076539BFED2469000F6E01460191460A3 +:102775003424027063E59C9000F6B455087401F0AA +:10278500A3E4F0800E8018E59C9000F6B4AA1074BE +:1027950002F0A3E0FF04F074292FF8A69C8039E429 +:1027A500F0A3F080339000F7E0FF04F074292FF8D0 +:1027B500A69C782BE62404FFE433FEE0FDC39FEEE0 +:1027C5006480F87480985005ED9440400B9000F7B4 +:1027D500E4F09000F6F0D23FD007D006D005D00047 +:0927E500D0D0D082D083D0E032C4 +:1024EF004177616B6520536F757263653A57505F23 +:1024FF00466C6167303A307825782C57505F466CC0 +:10250F006167313A307825782C57505F466C616798 +:10251F00333A307825782E286C696E653A25642910 +:10252F000D0A00536C656570205374617465202823 +:10253F006C696E653A2564290D0A004348475F535D +:10254F0054413A25642C53545F564F583A307825EE +:10255F00782C535441303A307825782C53544131EC +:10256F003A307825782C535441323A307825782CEC +:10257F00535441333A307825782C535441343A3000 +:10258F007825782E4465635F536C6565703A2564D2 +:10259F000D0A004465636E745F536C656570446526 +:1025AF006C61792052656C6F61642E0D0A00456E67 +:1025BF00746572205374616E646279204D6F646527 +:0425CF00210D0A00D0 +:101DAC004300E00402024100DD004100DE00C137C7 +:0E1DBC00C1364100DF004100E3004100DC00C1 +:102DE800E4FB7D04FF122CEEE4FB7D047F01122C32 +:102DF800EEE4FB7D047F02122CEEE4FB7D047F03EE +:032E0800022CEEAB +:1007B600303759C237E49000DEF0781AF69000051B +:1007C600F0A3F0FBFAFDFF122A4FE4900005F0A318 +:1007D600F0FBFAFD7F01122A4FE4900005F0A3F02A +:1007E600FBFAFD7F02122A4FE4900005F0A3F0FB0E +:1007F600FAFD7F03122A4F9000797402F090007878 +:10080600F090007AF0900077F0D24622202A0C2051 +:100816000D030208C8300F030208C8203205D23281 +:10082600D23722900079E06402601A900005E4F065 +:10083600A3740AF07B147A007D02E4FF122A4F901B +:1008460000797403F0900078E06402601A90000565 +:10085600E4F0A3740AF07B147A007D027F01122A69 +:100866004F9000787403F090007AE06402601A906A +:100876000005E4F0A3740AF07B147A007D027F027F +:10088600122A4F90007A7403F0900077E0640260B9 +:100896001A900005E4F0A3740AF07B147A007D0236 +:1008A6007F03122A4F9000777403F0200D03020B8A +:1008B600839000DEE0C394285003020A01D20FD2CF +:1008C600372230320CC232C234C233C243C20ED2D5 +:1008D600367815E6FF70030209DB6403705C20348A +:1008E60005D234022DE8E4900005F0A3F0FBFA7D72 +:1008F60001FF122A4FE4900005F0A3F0FBFA7D01F8 +:100906007F01122A4FE4900005F0A3F0FBFA7D0167 +:100916007F02122A4FE4900005F0A3F0FBFA7D0156 +:100926007F03122A4F9000797401F0900078F090BE +:10093600007AF0900077F00209D220330ED233C24B +:1009460034D237E49000E3F00209D29000DEE0C32F +:1009560094015057E004F09000E3E014601A14602C +:100966002714603424037064900079E06404605CAA +:100976007B017D04E4FF802E900078E06404604CE7 +:100986007B017D047F01801E90007AE06404603C58 +:100996007B017D047F02800E900077E06404602C6A +:1009A6007B017D047F03122CEE80219000DEE0C3E4 +:1009B600940F5005E004F08013E49000DEF0900000 +:1009C600E3E004F0E0C394044002E4F0C243C20E44 +:1009D600C231D2352230330AC233122DE8D237D291 +:1009E600362220430C203509200E06203103020B47 +:1009F600839000DEE0FFC394015004E004F022EF90 +:100A0600C394644003020B2E9000DEE004F0303AFB +:100A160037900079E064037003020B83E4900005CD +:100A2600F0A3F07B64FA7D03FF122A4F90007974DD +:100A360004F0E4900005F0A3F0FBFAFD7F01122A12 +:100A46004F9000787402802D303941E4900005F013 +:100A5600A3F0FBFA7D01FF122A4F9000797401F092 +:100A6600E4900005F0A3F0FBFA7D017F01122A4F06 +:100A76009000787401F0E4900005F0A3F0FBFAFD15 +:100A86007F02122A4F90007A74028043E490000598 +:100A9600303B53F0A3F0FBFA7D01FF122A4F900082 +:100AA600797401F0E4900005F0A3F0FBFA7D017F74 +:100AB60001122A4F9000787401F0E4900005F0A32B +:100AC600F0FBFA7D017F02122A4F90007A7401F042 +:100AD600E4900005F0A3F0FBFAFD7F03122A4F9085 +:100AE60000777402F022F0A3F0FBFA7D01FF122AD0 +:100AF6004FE4900005F0A3F0FBFA7D017F01122A76 +:100B06004FE4900005F0A3F0FBFA7D017F02122A64 +:100B16004FE4900005F0A3F0FBFA7D017F03122A53 +:100B26004F90007974018048C243C235C20EC2316B +:100B3600E4900005F0A3F0FBFAFDFF122A4FE490C3 +:100B46000005F0A3F0FBFAFD7F01122A4FE49000A6 +:100B560005F0A3F0FBFAFD7F02122A4FE490000590 +:100B6600F0A3F0FBFAFD7F03122A4F90007974027E +:0D0B7600F0900078F090007AF0900077F099 +:010B8300224F +:102E4F009000DAE0FF04F01223A09000DAE0B4065D +:102E5F000204F09000DAE0C3940840037402F022F9 +:102E8E00122D8E12206D12288E301C11C21C12258E +:0E2E9E00D3122B121226981207B612125622C9 +:1018C800E4900000F09000E0E0FFA3E0FE6F7003FA +:1018D80002196CA3EEF09000E0E0A3F024FE60355E +:1018E80014606714606B24036003021AEB90000510 +:1018F800E4F0A37403F07B647A007D02E4FF122A0B +:101908004F900005E4F0A37403F07B647A007D0235 +:101918007F01022A4F300F09D24275E80CC20DC26E +:101928000F7BFF7A2479EFAFF6900004E4F0A3EF81 +:10193800F0AFF8A3E4F0A3EFF0AFFAA3E4F0A3EF5D +:10194800F0A37402F0A3740480169000F3740FF0EF +:10195800227BFF7A2579329000047402F0A3741C6C +:10196800F0021A729000E1E024FE603514607614EB +:101978007003021A8524036003021AEB9000DCE06E +:1019880004F0E0C394085003021AEB9000E07402DC +:10199800F0E49000DCF0781BE66003021AEB021A10 +:1019A8007EE5F6700CE5F87008E5FA7004E5E1608C +:1019B8002D9000E07403F0E5F6540FFFE4FCFDFE03 +:1019C8007B08FAF9F8C312181670069000E0740440 +:1019D800F075E11F75F60F75F8FC75FABC229000DA +:1019E800E07403F022202003021AEBC22075FE6E79 +:1019F800900000E5FFF07BFF7A25794A7815E6FF2D +:101A0800900004E4F0A3EFF0900000E0FF900006DF +:101A1800E4F0A3EFF0AFE2A3E4F0A3EFF0AFE3A3A9 +:101A2800E4F0A3EFF0AFE4A3E4F0A3EFF0AFE5A395 +:101A3800E4F0A3EFF0AFE6A3E4F0A3EFF09000F337 +:101A4800E0FF900012E4F0A3EFF0120F5C9000F3B7 +:101A5800E0D394004017E014F0204603021AEBC2CA +:101A680046740FF07BFF7A2579A2020F5C7BFF7A20 +:101A78002579BD120F5C9000E07404F022122F2625 +:101A8800505B122DBC7F04122BC5122F3AE4900034 +:101A980005F0A3F0FBFAFDFF122A4FE4900005F0D1 +:101AA800A3F0FBFAFD7F01122A4FE4900005F0A392 +:101AB800F0FBFAFD7F02122A4FE4900005F0A3F034 +:101AC800FBFAFD7F03122A4F9000797402F0900010 +:101AD80078F090007AF0900077F0022F909000E074 +:031AE8007402F095 +:011AEB0022D8 +:102D5C00301F26C21F9000DDE0FF04F0EF14600C62 +:102D6C0014600E24027012122E4F800D122E8E80C3 +:102D7C00081218C8E49000DDF0302105C221120BB6 +:022D8C0084229F +:101AEC00426F7820436C6F73652E286C696E653A73 +:101AFC002564290D0A00426F78204F70656E2E28E0 +:101B0C006C696E653A2564290D0A004F70656E2F5D +:101B1C00436C6F736520426F782C45617270686FEF +:101B2C006E657320496E20426F78284E756D3A258C +:101B3C00642928566F785374613A30782578292EA9 +:101B4C000D0A004F70656E20426F7820434D442083 +:101B5C005458204F7665722E0D0A004F70656E201A +:101B6C00426F7820416E642045617270686F6E65BB +:101B7C0020476574496E284E756D3A2564292856A0 +:101B8C006F785374613A30782578292E0D0A00430A +:101B9C006C6F736520426F7820416E6420466F72C3 +:101BAC00636520566F6C746167652055702E0D0A45 +:101BBC0000564F5820566F75742035562853544193 +:101BCC00313A307825782C6C696E653A2564292E6B +:101BDC000D0A00564F58204348472046756C6C2E12 +:101BEC000D0A00564F582047657420496E746F20BB +:101BFC00536C6565702E0D0A005258315F42756644 +:101C0C006665725B305D3A307825782C5258315FBE +:101C1C004275666665725B315D3A307825782C5278 +:101C2C0058315F4275666665725B325D3A30782575 +:101C3C00782C5258315F4275666665725B335D3A3B +:101C4C00307825782C5258315F4275666665725B28 +:101C5C00345D3A307825782C5258315F427566667F +:101C6C0065725B355D3A307825782C5258315F427D +:101C7C0075666665725B365D3A307825782C6C69D2 +:101C8C006E653A25640D0A0000000000000000009B +:101C9C000000000000000000000000000000000038 +:101CAC000000000000000000000000000000000028 +:101CBC000000000000000000000000000000000018 +:081CCC00000000000000000010 +:101DCA00C112C10EC110410073FFC10D42004D0086 +:101DDA000042004B000042007100001A6900000036 +:101DEA0000000000000000000000000000000000E9 +:101DFA000000000000000020248300000000000012 +:101E0A0000000000000000000000000000000000C8 +:101E1A000000000000000000000000000000410077 +:101E2A00700042006E00004200740000C10FC11130 +:031E3A0001A700FD +:102BC500EF24FE601E14602814602F24FE60352457 +:102BD50005703D43BD8853BDBB75FE6F53FFF24382 +:102BE500FF092243BDCC75FE6F53FFFE43FF0C2248 +:102BF50053BD7753B7CF43B7302253B7CF43B7034E +:102C050053BD772253B7CC53BD7775FE6A43FF306A +:012C1500229C +:1012560020400302155D30427B20100A7D3FE4FFEB +:1012660012000ED210227F03122BC5E490004AF022 +:10127600900048F0A3F0C200C201D20B9000F4E047 +:10128600702FC20ED202D203C205C208C204C2091E +:10129600C20AD212C23690006CF0A3F0900076F02B +:1012A6007BFF7A1A79EC9000047402F0A3740C8028 +:1012B60017C202C203D205C2067BFF7A1B790290CF +:1012C60000047402F0A37419F0120F5CC210C20D70 +:1012D600C20FC242900048E0C3940550030214EBCB +:1012E600300B05C20B0214A320004CD200E5E354D8 +:1012F600A06021E5E354A0FFE4FCFDFE7BA0FAF923 +:10130600F8C312181690007070057402F0800A7403 +:1013160001F08005E4900070F07BFF7A1B7917904E +:101326000070E0FF900004E4F0A3EFF0AFE3A3E465 +:10133600F0A3EFF0120F5C2005030213DD2001433A +:1013460090004AE0FFD39414501EEF54037003FD3F +:10135600800990004AE020E0077D017F06121EA565 +:1013660090004AE004F0806F7F04122BC5E49000E1 +:101376004AF0D201D211C2127BFF7A1B794F120FAB +:101386005C8054781CE6704F301104C2118040E531 +:10139600E354A0FBE4FAF9F8900047E0FFE4FCFD13 +:1013A600FEC31218166030E5E354A06004D20ED2D4 +:1013B600377BFF7A1B7967900070E0FF900004E4AA +:1013C600F0A3EFF0AFE3A3E4F0A3EFF0120F5CE5B8 +:1013D600E354A0900047F020020302155A30364825 +:1013E6002010237D3FE4FF12000ED210D212E490AB +:1013F600006CF0A3F0900076F0900048F0C208D29E +:101406000BC200D204227F03122BC57BFF7A1B7905 +:101416009B120F5CC210D203900048E0D394035095 +:10142600030214EBC236804E20044B900049E0FFC5 +:10143600D39414501CEF54037003FD8009900049A7 +:10144600E020E0077D017F81121EA590004902146D +:10145600EB90004AE0FFD39414501BEF5403700343 +:10146600FD800990004AE020E0077D017F07121EFB +:10147600A590004A806FE5E8540C6026200F1E9068 +:10148600004AE004F0E0C394055003021595E4F029 +:1014960075E80C7F03122BC5D20DC212227F0402FF +:1014A6002BC5C20DC20F3003257F03122BC57BFF50 +:1014B6007A1B79BDAFE3900004E4F0A3EFF0A374C8 +:1014C60003F0A37451F0120F5CC20302155A2008F0 +:1014D60046E5E354AC64AC600330382A900048E03B +:1014E600D394285004E004F0227BFF7A1B79DF12A4 +:1014F6000F5CD208E490004AF0900048F0C2097FE1 +:1015060004122BC5804E90006DE070487B017A0076 +:10151600794F120086803D90004AE0FFD394145024 +:101526001EEF54037003FD800990004AE020E00797 +:101536007D017F80121EA590004AE004F0801520F0 +:101546000912D2097F04122BC5C2127BFF7A1B79BE +:10155600EF120F5CC2072220070BD2077F04122B63 +:10156600C5C2128022E5E354A0FBE4FAF9F8900024 +:1015760047E0FFE4FCFDFEC31218166012E5E354D3 +:0F158600A06004D20ED237E5E354A0900047F0E6 +:011595002233 +:0600860090000012185A60 +:10008C00900076E0147003020163147003020242C4 +:10009C001470030202B314700302041F24046003DF +:1000AC0002059F90000012183A90001E1216A560CF +:1000BC000302059F78A7E6D3940A50260690001AEF +:1000CC00743F121705300C0302059F9000001218A4 +:1000DC003A90001A1216A5FDE4FF12000ED20C0283 +:1000EC00059FE478A7F6C20C90000012183A900015 +:1000FC0016E4121705900015E4121705900013E48E +:10010C00121705900012E4121705900011E4121753 +:10011C0005900010E4121705900018E412170590D2 +:10012C000017E412170590000EE4F5F01217E99091 +:10013C00000CE4F5F01217E9900019E41217059081 +:10014C00001B743F1217059000767401F0E49000C8 +:10015C004DF0A3F002059FE5E35408FFE4FCEF60CB +:10016C001CE5E35404601690000012183A90001E2F +:10017C007401121705E4900076F002059FE5E35434 +:10018C0008FFE4FCEF704A9000CFE0FEA3E0FF9084 +:10019C00000012183A900002EE8FF01217E97D055C +:1001AC00121727EF7802C333CE33CED8F9FF900065 +:1001BC000012183A900006EE8FF01217E99000D05A +:1001CC00E025E0FF9000CFE03390000A8FF012178B +:1001DC00E9E5E35404FFE4FCEF704F9000CDE0FE42 +:1001EC00A3E0FF90000012183AEE8FF01217CA909D +:1001FC0000CDE0FEA3E0FF7D05121727EF7802C3C8 +:10020C0033CE33CED8F9FF90000012183A90000488 +:10021C00EE8FF01217E99000CEE025E0FF9000CDB4 +:10022C00E0339000088FF01217E990000012183A92 +:10023C0090001D020594D390004EE0940590004D63 +:10024C00E094005002806FE490004DF0A3F0E5E3E1 +:10025C005408FFEF701F9000CFE0FEA3E0FF90006A +:10026C000012183A90000EEE8FF01217E990001859 +:10027C007401121705E5E35404FFE4FCEF701F90C2 +:10028C0000CDE0FEA3E0FF90000012183A90000CA5 +:10029C00EE8FF01217E990001774011217059000F9 +:1002AC00767403F002059FD390004EE09402900008 +:1002BC004DE09400500AE475F00112177C02059F82 +:1002CC00E490004DF0A3F090000012183A90000A50 +:1002DC00121792FFAEF090000E121792D39FE5F01A +:1002EC009E501C90000012183A900008121792FFB2 +:1002FC00AEF090000C121792D39FE5F09E4011E4E3 +:10030C00900076F090000012183A90001D0203E164 +:10031C0090000012183A9000181216A56401706D26 +:10032C0090000E121792FFAEF0D39414EE9400507E +:10033C0031E5E330E31F90001674011217059000AD +:10034C001A1216A5C3943F404490000012183A901C +:10035C000018E4803590000012183A9000137401D4 +:10036C00802890000012183A900006121792FDD3C4 +:10037C00EF9DEE95F0900000400812183A90001393 +:10038C00800612183A90001674011217059000009E +:10039C0012183A9000171216A56401600302059F0B +:1003AC0090000C121792FFAEF0D39414EE94005000 +:1003BC0034E5E330E2229000157401121705900029 +:1003CC001A1216A5C3943F500302059F9000001209 +:1003DC00183A900017E4803590000012183A9000FB +:1003EC00127401802890000012183A900004121721 +:1003FC0092FDD3EF9DEE95F0900000400812183A54 +:10040C00900012800612183A90001574011217050C +:10041C0002059FD390004EE0941490004DE09400A0 +:10042C005031E475F00112177C9000CFE0FEA3E090 +:10043C00FF90000012183A90000EEE8FF01217E9A0 +:10044C009000CDE0FFA3E090000CCF8FF01217E9E5 +:10045C0002059FE490004DF0A3F090000012183AB2 +:10046C009000181216A5640160030204FD90001799 +:10047C001216A56401707A900006121792FFAEF066 +:10048C0090000E121792FDACF0C39FEC9E4018909A +:10049C00000012183A90000A121792FFD3ED9FEC4D +:1004AC0095F0500302059F90000012183A9000043A +:1004BC00121792FFAEF090000C121792FDACF0C325 +:1004CC009FEC9E401890000012183A9000081217EA +:1004DC0092FFD3ED9FEC95F0500302059F90000026 +:1004EC0012183A90001674011217059000150205A7 +:1004FC009490000012183A9000181216A56401701E +:10050C0041900006121792FFAEF090000E12179257 +:10051C00FDACF0C39FEC9E401590000012183A9071 +:10052C00000A121792FFD3ED9FEC95F04014900047 +:10053C000012183A90001674011217059000767488 +:10054C0002F090000012183A9000171216A56401E0 +:10055C007041900008121792FFAEF090000C121729 +:10056C0092FDACF0D39FEC9E501590000012183AFF +:10057C00900004121792FFC3ED9FEC95F05014906D +:10058C00000012183A9000157401121705900076AD +:10059C007402F090000012183A9000181216A5FF81 +:1005AC006401600D9000171216A564016003020728 +:1005BC009C9000131216A5FE6401600D900012129F +:1005CC0016A564016003020716EFB4011E90001714 +:1005DC001216A5B40115EEB401119000131216A554 +:1005EC00B40108900014740112170590001812162B +:1005FC00A5FFB401189000171216A57010900013E7 +:10060C001216A56401702390001404801AEF701A5E +:10061C009000171216A5B401119000121216A5B471 +:10062C0001089000147401121705900013E41217BE +:10063C0005900012E41217059000141216A564011F +:10064C0060030207B590000012183A90001A1216B7 +:10065C00A5D39400400890001A74FE1216D2900094 +:10066C00191216A5FF90001A1216A5D39F401B90C5 +:10067C0000D7E024C8FF9000D6E03400FEC3900001 +:10068C00D3E09F9000D2E09E504890000012183AA0 +:10069C009000191216A5FF90001A1216A5D39F9060 +:1006AC000000501312183A90001AEF121705900020 +:1006BC001CE4121705801312183A90001C740112D6 +:1006CC00170590001A74021216D29000767404F07A +:1006DC0080139000767402F090000012183A90008B +:1006EC001CE4121705E490004DF0A3F090000012EA +:1006FC00183A900014E412170590001C1216A5FF6E +:10070C0090001A1216A5FD02079990000012183AD3 +:10071C009000161216A56401600D9000151216A516 +:10072C00640160030207B5900016E41217059000EF +:10073C0015E412170590001A1216A5C3943F500E1B +:10074C0090000012183A90001A74021216D29000FF +:10075C00767404F090000012183A90001B1216A543 +:10076C00FF90001A1216A5C39F4013900000121898 +:10077C003A90001AEF1217059000767401F0900071 +:10078C000012183A90001A1216A5FDE4FF02000E92 +:10079C00900076E0D394024010E4F0900000121820 +:0907AC003A90001E7401121705B9 +:0107B5002221 +:0B2CAB0090004312185A900046EDF014 +:102CB600E4FE900046E0FD14F0ED6029900043E448 +:102CC60075F00112184312168C6EFEE4FFEFC394E2 +:102CD6000850DFEE30E007C313648CFE8004EEC3B9 +:072CE60013FE0F80E8AF06AA +:012CED0022C4 +:081EA500900000EFF0A3EDF046 +:101EAD00E4A3F078037C007D017BFF7A1C7994FE1E +:101EBD007F40121666E4900003F0A37455F0A374EE +:101ECD00AAF0900000E0FE900007F0900001E0FD08 +:101EDD00900073F0EE1218631EFE011F2D021F7C81 +:101EED00031F89061F89071FD2801FDA8100001F7B +:101EFD00E89000067402F0ED700E9000087402F088 +:101F0D00E4900071F0021FE8900001E064016003AD +:101F1D00021FE890000804F0E4900072F0021FE840 +:101F2D009000067420F07F05900001E075F012A47A +:101F3D0024832FF8E6FE74032FF582E43400F58335 +:101F4D00EEF00FEFB412E17F17EFC3940D400302D3 +:101F5D001FE8900001E075F00DA424692FF8E6FE4E +:101F6D0074032FF582E43400F583EEF00F80DA90E0 +:101F7D0000067402F090000804F0805F9000067473 +:101F8D0005F09000087401F0781BE675F005A4A328 +:101F9D00F0A37420F0900001E0FF700D90006EE052 +:101FAD007002800F90006F8015EFB4012E90006FBE +:101FBD00E0700890000B74FFF0802090006EE090B0 +:101FCD00000BF080169000067401F0800E90000654 +:101FDD007402F0900070E0900008F0900006E0248C +:101FED0004FF900002F0FD7B017A007903122CAB07 +:101FFD00900002E02403F582E43400F583EFF07FD6 +:10200D0001122BC5900001E0FF700843BD0253BDC6 +:10201D00FE8016EFB4010843BD2053BDEF800AEFDB +:10202D00B4FF0643BD2253BDEE900002E02402FF33 +:10203D00E433FE7B017A007903122D29900001E033 +:10204D00FF700753BDFD43BD0122EFB4010753BD22 +:0F205D00DF43BD1022EFB4FF0653BDDF43BD11BB +:01206C002251 +:10290C00EF24FA605014604D24067069E4FE742DB7 +:10291C002EF8E6FF900073E075F012A424832EF8D5 +:10292C00A6070EEEB412E7E4FE743F2EF8E6FF9015 +:10293C000073E075F00DA424692EF8A6070EEEB412 +:10294C0008E7900073E0700690007104F02290008C +:10295C00727401F022782DE6B4E30D90004B7401F3 +:10296C00F008E690006EF02290004C7401F0782E86 +:05297C00E690006FF081 +:012981002233 +:10288E00E4900000F0303F75C23F7BFF7A1C790563 +:10289E007829E6FF900004E4F0A3EFF008E6FFA32A +:1028AE00E4F0A3EFF008E6FFA3E4F0A3EFF008E6F0 +:1028BE00FFA3E4F0A3EFF008E6FFA3E4F0A3EFF02C +:1028CE0008E6FFA3E4F0A3EFF008E6FFA3E4F0A30D +:1028DE00EFF0A37407F0A3747CF0120F5C7B007A08 +:1028EE00007929782BE62403FD122CAB782BE624F5 +:0D28FE002CF8E6B50707782CE6FF12290C30 +:01290B0022A9 +:101E3D00011B00C138C13CC13AC139C13B011A690E +:101E4D00602A00A30BB80BEA0C1C0C800CB20CE43E +:101E5D000D160D480D7A0DAC0E100E420E740EA619 +:0E1E6D000ED80F0A0F3C0F870FD2101D106801 +:10269800E4FF7815E6B40225EF25E024A3F582E4EB +:1026A8003400F583E0FCA3E02432FDE43CFCC39055 +:1026B80000D7E09D9000D6E09C50208023EF25E0D5 +:1026C80024A3F582E43400F583E0FCA3E0FDC39085 +:1026D80000D7E09D9000D6E09C40050FEFB415B2FE +:1026E800781BE6FEEFD39E400418068003781A167E +:1026F800E5E16007E4F5E1781BA607781AE6FED362 +:1027080094C85006EEC3940A5007781BA60718769B +:1027180069781BE6FFD394005002D23CEFD39401B2 +:102728005002D238EFD394055002D23AEFD3940A2C +:0C2738005002D239EFD3940F5002D23B74 +:012744002272 +:101E7B004100E7004100EA004100E6004200E400B7 +:101E8B00004100E800C11EC11FC121C11DC11CC101 +:091E9B00204100E900C122C1232D +:102982009000E9E06062E4F0D21E9000E7E004F01B +:10299200E0C394054004E4F0D21F9000EAE004F0A2 +:1029A200E0C3940A4004E4F0D2219000E4E475F01C +:1029B2000112177CC39000E5E094649000E4E09477 +:1029C200004006E4F0A3F0D21C9000E6E004F0E040 +:1029D200C394FA4013E4F0D21D9000E8E004F0E062 +:0929E20094044004E4F0D2202228 +:03000B00022E0BB7 +:102E0B00C0E0C083C082C0D074FC258CF58C746686 +:102E1B00258AF58A9000E97401F0D0D0D082D08356 +:032E2B00D0E032C2 +:0E2F6800758901758CFC758A66D2A9D28C22FF +:102C6700EFD39401501675FE0EEF25E02404FE7491 +:102C770003A806088002C333D8FC801475FE0FEF43 +:102C870024FE25E0FE7403A806088002C333D8FC9F +:102C9700F452FFEFB4040C75FE0F53FFF075FE0EF0 +:042CA70053FF0F22A6 +:102F100075FE54EF5407F5FF75FE56AF058FFF752C +:062F2000FE5375FF0122C3 +:102C1600EFD39401501875FE0EEF25E02404FE74E0 +:102C260003A806088002C333D8FC42FF801675FE4F +:102C36000FEF24FE25E0FE7403A806088002C333C6 +:102C4600D8FC42FFEF70038DCE22EFB401038DCF87 +:102C560022EFB402038DDE22EFB40304AF058FDF4B +:012C6600224B +:032FFD00010102CD +:10280E00022EE0E493A3F8E493A34003F68001F2D2 +:10281E0008DFF48029E493A3F85407240CC8C333CB +:10282E00C4540F4420C8834004F456800146F6DF9A +:10283E00E4800B0102040810204080901CD4E47E3A +:10284E00019360BCA3FF543F30E509541FFEE4938F +:10285E00A360010ECF54C025E060A840B8E493A356 +:10286E00FAE493A3F8E493A3C8C582C8CAC583CA81 +:10287E00F0A3C8C582C8CAC583CADFE9DEE780BE39 +:011EA400003D +:10159600E709F608DFFA8046E709F208DFFA803E37 +:1015A60088828C83E709F0A3DFFA8032E309F60824 +:1015B600DFFA8078E309F208DFFA807088828C838C +:1015C600E309F0A3DFFA806489828A83E0A3F60840 +:1015D600DFFA805889828A83E0A3F208DFFA804C1A +:1015E60080D280FA80C680D4806980F280338010F1 +:1015F60080A680EA809A80A880DA80E280CA80335A +:1016060089828A83ECFAE493A3C8C582C8CCC583D1 +:10161600CCF0A3C8C582C8CCC583CCDFE9DEE780A1 +:101626000D89828A83E493A3F608DFF9ECFAA9F020 +:10163600EDFB2289828A83ECFAE0A3C8C582C8CC76 +:10164600C583CCF0A3C8C582C8CCC583CCDFEADE8F +:10165600E880DB89828A83E493A3F208DFF980CCF1 +:1016660088F0EF60010E4E60C388F0ED2402B404EA +:101676000050B9F582EB2402B4040050AF23234591 +:0616860082239015E673BB +:10168C00BB010689828A83E0225002E722BBFE025C +:09169C00E32289828A83E493228F +:1016A500BB010CE58229F582E5833AF583E02250FA +:1016B50006E92582F8E622BBFE06E92582F8E22244 +:0D16C500E58229F582E5833AF583E493225E +:1016D200BB010FF8E58229F582E5833AF583E0281C +:1016E200F0225009C58229F8E58226F622BBFE09BE +:1016F200C58229F8E22582F222F8EA2583F583E9F8 +:0317020093282207 +:10170500F8BB010DE58229F582E5833AF583E8F01A +:10171500225006E92582C8F622BBFE05E92582C8C6 +:02172500F222AE +:10172700BC000BBE0029EF8DF084FFADF022E4CCA6 +:10173700F875F008EF2FFFEE33FEEC33FCEE9DEC6F +:10174700984005FCEE9DFE0FD5F0E9E4CEFD22EDB5 +:10175700F8F5F0EE8420D21CFEADF075F008EF2FFF +:10176700FFED33FD4007985006D5F0F222C398FDF0 +:051777000FD5F0EA228D +:10177C00C5F0F8A3E028F0C5F0F8E58215827002F8 +:06178C001583E038F02295 +:10179200BB0110E58229F582E5833AF583E0F5F095 +:1017A200A3E0225009E92582F886F008E622BBFE72 +:1017B2000AE92582F8E2F5F008E222E5832AF583B8 +:0817C200E993F5F0A3E993227D +:1017CA00BB010A89828A83F0E5F0A3F0225006F76A +:0F17DA0009A7F01922BBFE06F3E5F009F3192267 +:1017E900F8BB0111E58229F582E5833AF583E8F032 +:1017F900E5F0A3F0225009E92582C8F608A6F022EF +:0D180900BBFE09E92582C8F2E5F008F222D5 +:10181600EB9FF5F0EA9E42F0E99D42F0E89C45F028 +:01182600229F +:10182700E8600FECC313FCED13FDEE13FEEF13FF9F +:03183700D8F122C3 +:09183A00E0FBA3E0FAA3E0F922AF +:10184300F8E0FBA3A3E0F925F0F0E582158270022E +:071853001583E0FA38F022D2 +:09185A00EBF0A3EAF0A3E9F0228F +:10186300D083D082F8E4937012740193700DA3A314 +:1018730093F8740193F5828883E473740293686028 +:06188300EFA3A3A380DF28 +:10188900EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02DEC +:10189900FDE43CFCE8A42EC8C5F03DFDE43CFCEFAA +:0D18A900A4FFE5F028FEE43DFDE43CFC2238 +:100EF100E5082404F582E43400F583E00508229036 +:100F01000001301A03900004E475F0011218430245 +:100F1100168C2013E97F2ED2138018EF540F2490E2 +:100F2100D43440D4FF30170BEF24BFB41A00500360 +:100F31002461FFE50960021509050CE50C70020545 +:100F41000B301A0E900001E475F001121843EF0204 +:100F510018B6022F5A7403D21A8003E4C21AF50894 +:100F610090000112185AE4F509F50BF50CE509603A +:100F7100077F20120F3480F5750AFFC214C213C215 +:100F810015C216C218C219C21B120F00FF700D3014 +:100F91001A057F00120F45AF0CAE0B22B4255FC2BC +:100FA100D5C217120F00FF24D0B40A00501A75F0F1 +:100FB1000A780930D50508B6FF0106C6A426F62031 +:100FC100D5047002D21680D924CFB41A00EF500490 +:100FD100C2E5D217021146D21480C6D21380C0D204 +:100FE1001580BCD2D580BAD21880B47F20120F34BC +:100FF1002015077401B5090040F1120EF1FF120F1F +:1010010034020F6ED21BD2198095120EF1FB120E13 +:10101100F1FA120EF1F94A4B700679177A127BFF39 +:1010210020152EE509602A7E008E82758300121636 +:10103100A560060EEE650A70F0C2D5EBC0E0EAC00D +:10104100E0E9C0E0EE12118DD0E0F9D0E0FAD0E095 +:10105100FB12168CFF60AAEBC0E0EAC0E0E9C0E039 +:10106100120F34D0E02401F9D0E03400FAD0E0FBD3 +:10107100E50A0460DCD50AD980877BFF7A1179897A +:10108100D215809C791080027908C219C21B800890 +:10109100D2D5790A8004790AC2D5E50A047002F52D +:1010A1000AE4FAFDFEFF120EF1FC7B082014131274 +:1010B1000EF1FD7B1030130A120EF1FE120EF1FF3C +:1010C1007B20EC3382D592D55013C3E43013069FB5 +:1010D100FFE49EFEE42014039DFDE49CFCE4CBF8B8 +:1010E100C214EC700CCFCECDCCE824F8F870F380AC +:1010F10017C3EF33FFEE33FEED33FDEC33FCEB337F +:10110100FB994002FB0FD8E9EB301405F8D0E0C49D +:1011110048B214C0E00AEC4D4E4F78207B0070C2FB +:10112100EAB50A0040BCC0E012118FD0F0D0E02037 +:101131001404C4C0E0C4B214C0F0120F1DD0F0D525 +:10114100F0EB020F6E121863100B531085580FDC71 +:101151004C0FD84210894F1091441091490FF1431F +:08116100109755107B46107B2E +:1011690045107B471237500FE02D0FE42E10072B47 +:101179000FE82310052012202A0FA04800000FFFB6 +:101189003F3F3F00790AA2D5201614301809B9103B +:10119900020404B9080104A2D5201902500104204F +:1011A90015689215B509005034C0E07F2030161932 +:1011B9007F30A21572197218500F1211E6C215C2AA +:1011C90019C218C21B7F30800F301803E9C0E01222 +:1011D9000F34301803D0E0F9D0E0B509CC30181736 +:1011E9007F30B9100C120F347F583017077F788081 +:1011F90003B90803120F343015057F2D020F347F10 +:1012090020201BF87F2B2019F322921580CF286EFE +:10121900756C6C2900D214120EF13014F8C21478CE +:101229000930D50108F6020FA02D50434958120E76 +:10123900F12403B405004001E490123293120F2502 +:0D124900743A120F25D216750904021085A3 +:1018B600BB010689828A83F0225002F722BBFE0111 +:0218C600F3220B +:00000001FF diff --git a/Out/8837_EVB_250102_1610_67C3_010102.bin b/Out/8837_EVB_250102_1610_67C3_010102.bin new file mode 100644 index 0000000000000000000000000000000000000000..c83aa499b62fddee01c243fd4ec13d83a8219d52 GIT binary patch literal 12290 zcmb_?3v?96m3DW}Q_mT-Mh}DxO)~-nNNNx^HpXVefP$aQMvB*e)_XjTCEH{%8six} zvW(S{?D+B9&a9Eo+VKN#Ty#h^5huzt~)86iN@w82tjK-2$M z-P3v)*z@OXbktK-x9+`l@2%=vw{A5vf0&`{a_v%zVk)x)pF7z_TO+%=`MO=dA6g@h z?BXe=YD*;bq+jFW(ZbPa@o3c3A1xY<&e%dX7oI4tEv_B;zma!og7>c!`D3cymUl#c zO3UxbyX9ZVzl@~H{o4OQfB9)?M||X`@_W*5=@$}#*J(8;*hz5mEJ6Ww;BJ4W>>WrXN}QXQi*brLcj89B5*MtwYmr%v$)6LvYq zR+I65gYn0Nu~TPkigpEK>o^#rZdE#9$6J&RD!_QGP-EVLL%Yz-BVd%Ofaa=eKu?y4kk;T^AvC6k*f-o*# zY1Z?@w79@**fHw(!Q`vMFF-uX=VXhqrt?L+UYhLiN&s4<51wB9MB2&mmtp)bc`V@R z;|Hd`07X+oV5f>;y_5)SS_FgRgsnYkTQ5o5`m$5{v7&V$s^| z=;0Ve%rP-j<2%&e?SrrRicMqb^LTJ*```=eG}VX(Iu)_XMO69>UxLcCZUL6AIYN4Z zYc3;6fr&Ro5+7`0OpwWNOPC>(Ic3s9U^s1|LCAwpEil1QSE1KXZGxdWol_YS3AF|~ zm}8m^Hgvp#H3N9cfV1X8aTLOb&oU6Z=z`%cI?q7tqMb3ylU^)3$1WOHCMzuDHc+t4 z=K{wnmLx+ZCJT@g=F`ZhdrQy6*t<* zE4>{H;14os*#+^0rPs%SyKhPWZ)(*{fE4sMxEUdB`mOxR{CJFKsYdz!J(HmyabY0_FuhRjvx%GJ^`nasv<6#zprI`H?36}ZP0Pq4%jobL%P^IAd; zx)H6xJ6hL#-WZzkZL=g;P@%;0kE+!E7%T5ks(u!0Sr z?Cogq0StM*KwDU`To=>=3ud*at=7_TZmY$dY%2+GrmizGzl>NRTvIdAVHlY#F+CVE zu+yd{=u@EMy1mH?U_?J*AY5CgFX_L6M|#o-lWCmImBXm~6qZw@{QsYOaUE=XC9&=V z`QPH5PtzNu4O74OoGJE9fjf#jJzLjvo?EjA05QkFYi;Z4WZIm}MHrQ108ahtncS%A2yH;S*HRPq4da z_k@KJH%3))u?}XYfge^y5-}-VmfWe>59t=Ms!Z0?`WvJVj~6H~lc;5``H7H~A`bIY zKH>CQ&55=-v8~ZUi6ur^b-ZFfQ}_&*f3mew&KHZ5^)7Gh&@$g4O(@DrdVk+lf|>H( zr6n?gOhJY%JCPk?Y*|7H+%%mgPcp^7VXD3#w#X%-B`%eWApD_mw2hBsjAV^ugVNE; zv94v}NF-B}JW{??AQei*(hO-P>!P$!j!;~!U)}={FBz~(3Au>LtCcbbT^JB8RJXwMyP%nYg0;nUs9scz+Dw=&G;J=>>z)2E#4Q_i!6&uGDSCi*Z!pW>y_ zxr`#+iA-zov%{JHB|g!jJ)GD46a;*w*)1~7PGSVnDIadm6s^sf(qUkRn32r*x$%?+ znJ%KNFP{9<7BNtZqB}{NX@;Z(PW?Z`b0lrQ)2&^6Gf}l?(Cz9FshQ zq3i?uKi)Us9UBXs6^nY4)!J}%YN&dAu=>L3>hmx8nDee9Cr=9=+gP9S;ktJ{-Ad-* zEw`?ZaxGLyI<+g4@_o>)uz5e}Q~MOoWBssO`4C7d>$;*(J*=LF0omfa-C1?+$8UFi zcC+iqYWGv?-T%DC{m(bJzVf^O<$LayT6fD@cguI!#7smGB1z1I$iOq3i%=t(6)RkOQr&sHQ!gZ ztUzE^vK~>>xR^m8oZ>)KVrOT)Nm}qeO|4eb0x~Vhj zBHQ^m#EMbhQFI}Rd_h5%+$!hF%XPwgFDDnl1F6a}n1=5QSFPjRb0?-jW}%sBSTYfk zQ_hko*=o#>&iQ5Cjxzk>I_&5c-G3 znFetf1`(SQ1NGU#d7KMjFELMgwhCT|tC4|heX+}c2#vsGX=UJ#O?xj~jg<(s$hGYj~>d>2{@4r@h^%>-0B^vUpDX zNIWEN5YLF!qFa1RJSF~A{JHpv_@(#4fZ~%4tbd_D;0Qer0uj( z+c|gc+P1l|g8m2Jr|pDF;RDPG{{0klTpuL9jenocPPCPev?bbCARy)g_LF68WBowU zD_`=HojS5>Y!aX>Q29W{p0;wp=8b|xuYXzAc7`82Rn|VzesbFae(ZfZXOd(96om0! zf^H*~GyDfs*6*nDzjLZ zKpKrO-aG1i3&W=L`k934Jj0*fKBAs_ZMAyx)z#|2D{EDLAm|$G&A%{|KR%qFO6F@v zzT%bhoyxgRJBP7%C`zY_^V5}{;Ju#UKj|l@5_l&)hhb4$ z8m8nhromciX5o6ll_9T&FCxwdp2ORm+&OAGotqWbh(;dN*y_Ga>zLm1cE;1~M7r!ZN~lcsN7mdINt@*UiWHB^ z)#_u`!Y2A?KVw{X=#|~@k%p)|TQx864{XH;x~pWXRzUZ3a$#DYW_SOHAU;fcdZbjWzq6VFe7vXf%D(8hO57wTfe1o^E7zP zrUuUB#(k$Te8Z;8@|qZ)BSf`Lo9}MqZfn{YzU$sb?t3A^^|tl50}=^ySKhXuuD)i8 zF2`b1Hxt9Z?mJv9!a1{zQK3e-iL2Y#*r@aQ?(IwNTphXRp2p4pApE1jWD01>#h|4Z zgQ_nEExQ19hkH3Z*(R!Bj2t8GFDf$QTsCZ6;XowIc@igO! z;&~X)L+JR5bewhd)N;P^|EVrLt9q`lp+>>*FO(lgSca*gK1b^ds%Lr6RW;O6)Q{u& zjOt-~a(mo0)Pq`2&T8rwqSj61=K+c;*>HI=IB)yqJ12W;s1SH00S}!X>+}aNk!$oq*t{@brUgoEU9@>Y3FuyJt?%6+NXrTn%-S>fw9lQgBL1wR1>~ zcdAj#Bh*$J4y3fXBh~6-3-5sgAmQKl@VtW;pHfmW%7F^4;Ew4*br@%}St)vU1vC2* z%j~D@v!8Ozmc`kh{D`7v55UpEF${%pf_EA|_W_k5U|PYYibbzF^!Yb`=TH3vr^gHuG!dBeNmB24iUV{{CSqrsh|VT0IC z96sRoBdYCA`njkR{qc$laMs&rfCb0k)Je8;@A*2_w!kQ{_q#JdW>_2vLet}9v zH*!P(Qu@0t0dI9y4^`J zGufrt{k!?P-NQN|qs6OJX*t2r(+>iMNB2)+q}uT_NjM znjBYErQQ*;kHaoxWEEsQF}94$KULK?Wj=qOj`wyP8SJq5EUgruL?knJ?ZKfA zmkwd(&K>IbPa~%}cP_y13}RAwc>%r}(em-#h)|vf=FRyo~<1FE7m*#t^8w=?rNvT!blvRo zJT!CA)b+E<^B<)puT&=9F3pqX1H2s;2rL=ucz`e{7rYqtF#@tn-ZcNR3ZS(a{L28F z1%@SQO00aZm<5>#d4Q429;J8M`CmG?H5SJE=NNT}yd_b~{@(ok`A5D{@eUrsO8uka z9S;hgU?Yhry+8D(Nb#E2hDGN+6wT?^s$WpZ-RfawJ6`@n%4?WHaZ{R`_DIIo582|U zqM2;*e87fDek1Dc9|zHe-sG#=@GB{}Tk_!vKF$~xuljH4@-9txK<6s{@KVC0rV60r z;nD!B>=60Xo7sSJ%)Zt=8XD&Sn&__=(_Yq5_v=)&V3dy*Y@rhaLc$gq;6zsI za74~3zeLVtN6vQhc;Hg_#mS%@z4Ag{S_ry$DVEfql@6I) z-gn?KGIGW(TJ*uTSa^IE7B#*Li_YjDc{h>@`L$yIuk*02AxTF27-?k^StXQLqjaEL zfifHAH7N5?UdzWdoJzWwGLp*gH1qXvJ>I3{G^mgMDjEEh04L72V8 zJC!{6n$KEn7cJ3}!o;zlBR+C0I`b_@w4^_Euw!q)KHQ5h$s7b!yk&zSEO`-$urx{{ ztPLd*HWMWg)`jv~zFX;T?{4evi}X?5RJX0$-t9=dEF81dy*w^mkD9Wj?&XwR8>2>X z9Xx~F1v8<$6Zm{%wCj6hzsD&`%oU3b$UAO$eSH39Rm0^~V{g48UV~$mD&mFs%Oo(m zs2{sI_Fwqo?ZXY?SXg{9U>oZ2`LcjVz84r($MkBr@t}r$C6T&w={xG9~zP z-@l_tQcQ$9Ni+RnPx~K?q!FpO=&A+PB8FnCw zdW7T#TPP&<%8BJHxR?4RsVpAr-{o*b7x!yyc{ZQ)o(l#%!CSoc(1v&_Tv0hjMt?9J z>Q#=t<;WfGVo#uJ)npfm?b2P&69k(az#qWwNw#lV<)an-UB?l<-Gqj-A7L8lxfzXU zC0b3Sby5lbAg;=@V$_Lr8q|kWvphRSoif^)dKDP5gJ=L3^I-Rc# zPPxj|o%~J<0hxEs$P$rY&Zb9!q{F-&)^Q17;w}$*!ZS=>CC1fos~LR9^}Fcy^x(uK z#4VVEm~E4{*`CT8j>6i>OTI*cJ650gQaE9eYk0U#B}ceoO=N)HdbR#p4z4qFe~3hd z?hl2P76w(HP%~TiSu=F+)8W>AW3JC8`=lDAI95nLK9Zv2BN|)z5nI*HR^1mL`Elg8 zy^+)pBbqgm+UVCZ*~+m-S*2N?-~vyuisYBPw$OF{-A~r-em|0Gs?*N+wG7_Bd!OD&`L%3B@DJ7f z_JIGl0)gNHwT`HGvzO{uts!+kiceh|>Cxe!YRRV>wMy^yIKC(4t{<1LpC-Y`E2I}M$tS!pd!B@s_;cd6lb&F< zCzuPz&$5;4#T>TsIT4?I?ghioRbh@zn!{#2Mh-|$ylo>&6E3K}6prI~_cbP1zl{1? zl~+q{*)Jo0A4!rgwIZom`bwGO*PM|)I?5nPT)%3G)P0?F&wR`T)lTdf*C zAR;9;^mK(WD;8$)u(^wcFO)qq@=W-ivZqI$hI7LBllw=?j>TxqhdDQvh^9$xQoHoH z^cbx43DK6F`#Pz0*%|T?)F;H3_$=7g(2oy1V2d2%AKye}No~B;&VyEZoM$VZW4Zg; z1`!WMBW*X zy!c&t2hT3rgsr5i`6hDb^DFsxY}zA~o+c8;|OwN|ONmp{lSb|K742AzV>79ZJ#m%Fa{!EodKNUd!M zli)0d`vR4%!ncIwipEEtq9e~-h&+7{zKDN@7hbYTFG<%4FEY}LOC#@FBCmcHdHH$& uPidZ|Hu;}m80t3ex^elspS;9JPOrq*`H{1X{*C@*LgsH#qiN>e-v0;dI=OuS literal 0 HcmV?d00001 diff --git a/Project/SY8837_Demo.uvgui.GH b/Project/SY8837_Demo.uvgui.GH index d562478..d0436fb 100644 --- a/Project/SY8837_Demo.uvgui.GH +++ b/Project/SY8837_Demo.uvgui.GH @@ -15,7 +15,7 @@ 38003 Registers - 142 143 + 140 90 346 @@ -93,25 +93,25 @@ 2 3 - -32000 - -32000 + -1 + -1 -1 -1 - 155 - 1918 - 3838 - 1117 + 85 + 8 + 1928 + 1047 0 804 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000007000000010000000100000036453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000FFDC7800FFFFFFFF4C453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6469736368617267655C6469736368617267655F6D6F64756C652E6300000000126469736368617267655F6D6F64756C652E6300000000BECEA100FFFFFFFF41453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000F0A0A100FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5372635C737461727475705C535441525455502E413531000000000B535441525455502E41353100000000BCA8E100FFFFFFFF3B453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C757365725C757365722E680000000006757365722E68000000009CC1B600FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6B65795C6B65792E6300000000056B65792E6300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000AB08000066000000000F0000DD020000 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000007000000010000000100000036453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000FFDC7800FFFFFFFF4C453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6469736368617267655C6469736368617267655F6D6F64756C652E6300000000126469736368617267655F6D6F64756C652E6300000000BECEA100FFFFFFFF41453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000F0A0A100FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5372635C737461727475705C535441525455502E413531000000000B535441525455502E41353100000000BCA8E100FFFFFFFF3B453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C757365725C757365722E680000000006757365722E68000000009CC1B600FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6B65795C6B65792E6300000000056B65792E6300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006600000080070000CF020000 @@ -134,7 +134,7 @@ 16 - 7408000066000000100D0000F6000000 + F40000006600000090050000F6000000 @@ -150,7 +150,7 @@ 0 16 - 030000006600000024010000AD020000 + 0300000066000000ED0000009F020000 16 @@ -170,7 +170,7 @@ 0 16 - 030000006600000024010000AD020000 + 0300000066000000ED0000009F020000 16 @@ -190,7 +190,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -210,7 +210,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -230,7 +230,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -250,7 +250,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -294,7 +294,7 @@ 16 - 72080000090100003A0B000099010000 + A4000000BB0000006C0300004B010000 @@ -310,7 +310,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -330,7 +330,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -350,7 +350,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -370,7 +370,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -390,7 +390,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -410,7 +410,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -430,7 +430,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -450,7 +450,7 @@ 0 16 - 030000006600000024010000AD020000 + 0300000066000000ED0000009F020000 16 @@ -470,7 +470,7 @@ 0 16 - 030000006600000024010000AD020000 + 0300000066000000ED0000009F020000 16 @@ -490,7 +490,7 @@ 0 16 - 00000000DE02000080070000E6030000 + 00000000D002000080070000E6030000 16 @@ -501,7 +501,7 @@ 198 198 0 - 0 + 1 0 0 32767 @@ -514,7 +514,7 @@ 16 - 72080000090100003A0B000099010000 + A4000000BB0000006C0300004B010000 @@ -530,7 +530,7 @@ 0 16 - 03000000E10200007D070000CD030000 + 03000000D30200007D070000CD030000 16 @@ -574,7 +574,7 @@ 16 - 72080000090100003A0B000099010000 + A4000000BB0000006C0300004B010000 @@ -630,7 +630,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -674,7 +674,7 @@ 16 - 72080000090100003A0B000099010000 + A4000000BB0000006C0300004B010000 @@ -694,7 +694,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -714,7 +714,7 @@ 16 - 72080000090100003A0B000099010000 + A4000000BB0000006C0300004B010000 @@ -1034,7 +1034,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1054,7 +1054,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1074,7 +1074,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1094,7 +1094,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1114,7 +1114,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1134,7 +1134,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1150,7 +1150,7 @@ 0 16 - 030000006600000024010000AD020000 + 0300000066000000ED0000009F020000 16 @@ -1170,11 +1170,11 @@ 0 16 - 03000000E10200007D070000CD030000 + 03000000D30200007D070000CD030000 16 - 72080000090100003A0B000099010000 + A4000000BB0000006C0300004B010000 @@ -1190,11 +1190,11 @@ 0 16 - 03000000E10200007D070000CD030000 + 03000000D30200007D070000CD030000 16 - 72080000090100008E09000049030000 + A4000000BB000000C0010000FB020000 @@ -1210,7 +1210,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -1230,7 +1230,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -1250,11 +1250,11 @@ 0 16 - 03000000E10200007D070000CD030000 + 03000000D30200007D070000CD030000 16 - 72080000090100008E09000049030000 + A4000000BB000000C0010000FB020000 @@ -1270,11 +1270,11 @@ 0 16 - 03000000E10200007D070000CD030000 + 03000000D30200007D070000CD030000 16 - 72080000090100008E09000049030000 + A4000000BB000000C0010000FB020000 @@ -1294,7 +1294,7 @@ 16 - 72080000090100003A0B000099010000 + A4000000BB0000006C0300004B010000 @@ -1314,7 +1314,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1334,7 +1334,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1354,7 +1354,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1374,7 +1374,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1394,7 +1394,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1414,7 +1414,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1434,7 +1434,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1454,7 +1454,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1474,7 +1474,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1494,7 +1494,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1514,7 +1514,7 @@ 16 - 720800000901000062090000D4010000 + 70000000870000006001000052010000 @@ -1534,7 +1534,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1574,7 +1574,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1594,7 +1594,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1614,7 +1614,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1634,13 +1634,13 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 50017 50017 - 0 + 1 0 0 0 @@ -1650,11 +1650,11 @@ 0 16 - A3040000660000008D05000010020000 + F7000000660000008D05000081000000 16 - 720800000901000062090000D4010000 + 0A0000000A0000006E0000006E000000 @@ -1674,7 +1674,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1694,7 +1694,7 @@ 16 - 720800000901000062090000D4010000 + A4000000BB0000009401000086010000 @@ -1790,7 +1790,7 @@ 0 16 - 03000000300200008D050000A4020000 + 03000000000000000300000001020000 16 @@ -1798,8 +1798,8 @@ - 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D0000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF270100004F0000002B010000C60200000100000002000010040000000100000012FFFFFF87060000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000008007000066000000A7080000DD020000000000004F00000027010000C60200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000008007000030020000100D0000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C602000080070000CA020000010000000100001004000000010000004CFEFFFFD8010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000080070000E1020000000F0000FD03000000000000CA02000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 3390 + 000000000A000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000B8020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F0000000CF020000000000004F000000F0000000B80200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000001502000090050000190200000000000001000000040000000100000000000000000000000000000000000000000000000100000000000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000000000000000000000010000003102000000000000E9FFFFFF010000001A02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000080000001000000FFFFFFFFFFFFFFFF00000000B802000080070000BC0200000100000001000010040000000100000012FEFFFF9E010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000D302000080070000FD03000000000000BC02000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC500000001000000FFFF02001400434D756C746950616E654672616D65576E64457800010084A4000000BB0000006C0300004B01000000000000000000000200000000000000C60000000000000000000000000000000000000001000000C60000000000000000000000 59392 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3615,16 +3615,16 @@ ..\UsrSrc\vox\vox_module.c - 29 - 555 - 575 + 55 + 1549 + 1578 1 0 ..\UsrSrc\discharge\discharge_module.c - 6 + 9 158 176 1 @@ -3633,9 +3633,9 @@ ..\UsrSrc\userapp\userapp.c - 27 + 25 385 - 399 + 400 1 0 diff --git a/SY8837_Demo.si4project/Backup/vox_module(2236).h b/SY8837_Demo.si4project/Backup/vox_module(2236).h deleted file mode 100644 index 42a02cb..0000000 --- a/SY8837_Demo.si4project/Backup/vox_module(2236).h +++ /dev/null @@ -1,502 +0,0 @@ -/* - ****************************************************************************** - * - * @file VOX_Module.h - * @brief VOL/R module - * @ic sy8835 - * - * @version 1.0 - * @date 2024/11/01 09:59:40 - * @author Alex Xu - * - * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. - * All Rights Reserved - * - * History: - * Revision Date Author Desc - * 1.0.0 2024/11/01 Alex build this file - ****************************************************************************** - */ -#ifndef __VOX_MODULE_H__ -#define __VOX_MODULE_H__ - -/*_____ I N C L U D E S ____________________________________________________*/ - -#include "define.h" - -/*耳机方案商选择*/ -//#define QIANCHENG //岍丞 -//#define ZHONGKELANXUN //中科蓝讯 -#define XIAOMI //小米 - -/*硬件版本信息*/ -#define HW_VER 0x01 //硬件版本信息,范围0-9 -/*软件版本信息*/ -#define FW_VER 0x001 //程序版本 - -extern bit Vox_Vout_Enable; - -extern bit Earphone_Chg_Flag; //耳机出入盒标志位 - -extern bit Vox_Output_Short_Flag; - -#define IVOX_THN 20 //耳机跟随充电流下降阈值 - -#define IVOX_THP 200 //耳机跟随充电流上升阈值 - - -#define VOL_TYPE 0x00 - -#define VOR_TYPE 0x01 - - /*耳机配对状态*/ - typedef enum { - - VOX_PAIR_NONE = 0, //无效 - - VOX_PAIR_ING, //配对中 - - VOX_PAIR_OK, //配对完成 - - VOX_PAIR_KEEP, //不处理,保持当前状态 - - }e_Vox_Pairing_State; - - /*耳机配对记录*/ - typedef enum { - - VOX_PAIRED_NONE = 0, //无配对过 - - VOX_PAIRED_OK, //有配对记录 - - }e_Vox_Paired_State; - -#if VOX_ENABLE - -/******************************************************************************\ - Macro definitions -\******************************************************************************/ - -/*CHIP_STA1*/ -#define VOX_Sta_Vol_Output_Short_Pos (0U) -#define VOX_Sta_Vol_Output_Short_Pos_Msk (0x1UL << VOX_Sta_Vol_Output_Short_Pos) -#define VOL_Output_Short VOX_Sta_Vol_Output_Short_Pos_Msk - -#define VOX_Sta_Vor_Output_Short_Pos (1U) -#define VOX_Sta_Vor_Output_Short_Pos_Msk (0x1UL << VOX_Sta_Vor_Output_Short_Pos) -#define VOR_Output_Short VOX_Sta_Vor_Output_Short_Pos_Msk - -#define VOX_Sta_Vol_Ioff_Pos (2U) -#define VOX_Sta_Vol_Ioff_Pos_Msk (0x1UL << VOX_Sta_Vol_Ioff_Pos) -#define VOL_Ioff VOX_Sta_Vol_Ioff_Pos_Msk - -#define VOX_Sta_Vor_Ioff_Pos (3U) -#define VOX_Sta_Vor_Ioff_Pos_Msk (0x1UL << VOX_Sta_Vor_Ioff_Pos) -#define VOR_Ioff VOX_Sta_Vor_Ioff_Pos_Msk - -#define VOX_Sta_Vol_Loadon_Pos (5U) -#define VOX_Sta_Vol_Loadon_Pos_Msk (0x1UL << VOX_Sta_Vol_Loadon_Pos) -#define VOL_LoadOn VOX_Sta_Vol_Loadon_Pos_Msk - -#define VOX_Sta_Vor_Loadon_Pos (7U) -#define VOX_Sta_Vor_Loadon_Pos_Msk (0x1UL << VOX_Sta_Vor_Loadon_Pos) -#define VOR_LoadOn VOX_Sta_Vor_Loadon_Pos_Msk - -/* VOL/R Control Register - VOX_CTL0 */ -#define EN_VOL_ADTL_Pos (0U) -#define EN_VOL_ADTL_Pos_Msk (0x1UL << EN_VOL_ADTL_Pos) -#define EN_VOL_ADTL EN_VOL_ADTL_Pos_Msk - -#define EN_VOR_ADTR_Pos (1U) -#define EN_VOR_ADTR_Pos_Msk (0x1UL << EN_VOR_ADTR_Pos) -#define EN_VOR_ADTR EN_VOR_ADTR_Pos_Msk - -#define EN_VOL_PU_Pos (2U) -#define EN_VOL_PU_Pos_Msk (0x1UL << EN_VOL_PU_Pos) -#define EN_VOL_PU EN_VOL_PU_Pos_Msk - -#define EN_VOR_PU_Pos (3U) -#define EN_VOR_PU_Pos_Msk (0x1UL << EN_VOR_PU_Pos) -#define EN_VOR_PU EN_VOR_PU_Pos_Msk - -#define EN_VOL_VOUT_Pos (4U) -#define EN_VOL_VOUT_Pos_Msk (0x1UL << EN_VOL_VOUT_Pos) -#define EN_VOL_VOUT EN_VOL_VOUT_Pos_Msk - -#define EN_VOR_VOUT_Pos (5U) -#define EN_VOR_VOUT_Pos_Msk (0x1UL << EN_VOR_VOUT_Pos) -#define EN_VOR_VOUT EN_VOR_VOUT_Pos_Msk - -#define EN_VOL_VDS_Pos (6U) -#define EN_VOL_VDS_Pos_Msk (0x1UL << EN_VOL_VDS_Pos) -#define EN_VOL_VDS EN_VOL_VDS_Pos_Msk - -#define EN_VOR_VDS_Pos (7U) -#define EN_VOR_VDS_Pos_Msk (0x1UL << EN_VOR_VDS_Pos) -#define EN_VOR_VDS EN_VOR_VDS_Pos_Msk - -/* VOL/R ADT Config Register,VOX_CON0<6Ah> */ -#define Vox_Pull_Up_Pos (7U) -#define Vox_Pull_Up_Pos_Msk (0x1UL << Vox_Pull_Up_Pos) -#define Vox_Pull_Up Vox_Pull_Up_Pos_Msk - -#define Vox_Pull_Up_Deb_Pos (6U) - -#define Vox_Pull_Up_Deb_8Ms_Pos_Msk 0 -#define Vox_Pull_Up_Deb_16Ms_Pos_Msk 1 - -#define Vox_Pull_Up_Deb_8Ms (Vox_Pull_Up_Deb_8Ms_Pos_Msk << Vox_Pull_Up_Deb_Pos) -#define Vox_Pull_Up_Deb_16Ms (Vox_Pull_Up_Deb_16Ms_Pos_Msk << Vox_Pull_Up_Deb_Pos) - -#define Vor_Pull_Down_Pos (5U) -#define Vor_Pull_Down_Pos_Msk (0x1UL << Vor_Pull_Down_Pos) -#define Vor_Pull_Down Vor_Pull_Down_Pos_Msk - -#define Vol_Pull_Down_Pos (4U) -#define Vol_Pull_Down_Pos_Msk (0x1UL << Vol_Pull_Down_Pos) -#define Vol_Pull_Down Vol_Pull_Down_Pos_Msk - -/*自动识别负载电流阈值。*/ -#define VOX_ADT_Cur_0_5UA (0x0UL) -#define VOX_ADT_Cur_1_5UA (0x1UL) -#define VOX_ADT_Cur_2_5UA (0x2UL) -#define VOX_ADT_Cur_3_5UA (0x3UL) -#define VOX_ADT_Cur_4_5UA (0x4UL) -#define VOX_ADT_Cur_5_5UA (0x5UL) -#define VOX_ADT_Cur_6_5UA (0x6UL) -#define VOX_ADT_Cur_7_5UA (0x7UL) - -/* -VOX过流档位设置,在系统初始化中(Vox_init())通过配置VOX_CON0, - -SFRADDR = VOX_CON0; //设置VOX输出200mA,负载识别电流2.5uA。 -SFRDATA |= VOX_ADT_Cur_2_5UA; -//Vox轻重载滤波时间配置 -SFRADDR = VOX_CON2; -SFRDATA |= (VOX_LIGHT_TO_HAVEY_128 << 2) | VOX_HAVEY_TO_LIGHT_8; - -*/ -/* VOL/R Misc Config Register,VOX_CON2<6Ch> */ -#define Vox_Ioff_2mA (0x0UL) -#define Vox_Ioff_3mA (0x1UL) -#define Vox_Ioff_4mA (0x2UL) -#define Vox_Ioff_5mA (0x3UL) - -/*轻载转重载滤波时间配置。*/ -#define VOX_LIGHT_TO_HAVEY_1 (0x0UL) -#define VOX_LIGHT_TO_HAVEY_8 (0x1UL) -#define VOX_LIGHT_TO_HAVEY_128 (0x2UL) -#define VOX_LIGHT_TO_HAVEY_256 (0x3UL) -/*重载转轻载滤波时间配置。*/ -#define VOX_HAVEY_TO_LIGHT_0_125 (0x0UL) -#define VOX_HAVEY_TO_LIGHT_1 (0x1UL) -#define VOX_HAVEY_TO_LIGHT_8 (0x2UL) -#define VOX_HAVEY_TO_LIGHT_64 (0x3UL) - -/* VOL/R Comm Control Register,COMM_CTL */ -#define Vor_EN_COMR_Pos (7U) -#define Vor_EN_COMR_Pos_Msk (0x1UL << Vor_EN_COMR_Pos) -#define Vor_EN_COMR Vor_EN_COMR_Pos_Msk - -#define Vor_SW_MD_Pos (6U) -#define Vor_SW_MD_Pos_Msk (0x1UL << Vor_SW_MD_Pos) -#define Vor_SW_MD Vor_SW_MD_Pos_Msk - -#define Vor_SWDT_Pos (5U) -#define Vor_SWDT_Pos_Msk (0x1UL << Vor_SWDT_Pos) -#define Vor_SWDT Vor_SWDT_Pos_Msk - -#define Vor_SWDR_Pos (4U) -#define Vor_SWDR_Pos_Msk (0x1UL << Vor_SWDR_Pos) -#define Vor_SWDR Vor_SWDR_Pos_Msk - -#define Vol_EN_COMR_Pos (3U) -#define Vol_EN_COMR_Pos_Msk (0x1UL << Vol_EN_COMR_Pos) -#define Vol_EN_COMR Vol_EN_COMR_Pos_Msk - -#define Vol_SW_MD_Pos (2U) -#define Vol_SW_MD_Pos_Msk (0x1UL << Vol_SW_MD_Pos) -#define Vol_SW_MD Vol_SW_MD_Pos_Msk - -#define Vol_SWDT_Pos (1U) -#define Vol_SWDT_Pos_Msk (0x1UL << Vol_SWDT_Pos) -#define Vol_SWDT Vol_SWDT_Pos_Msk - -#define Vol_SWDR_Pos (0U) -#define Vol_SWDR_Pos_Msk (0x1UL << Vol_SWDR_Pos) -#define Vol_SWDR Vol_SWDR_Pos_Msk - -/* VOL/R Comm TRx Data Register,COMM_DAT */ -#define Vor_COMR_RX_Pos (5U) -#define Vor_COMR_RX_Pos_Msk (0x1UL << Vor_COMR_RX_Pos) -#define Vor_COMR_RX Vor_COMR_RX_Pos_Msk - -#define Vol_COML_RX_Pos (4U) -#define Vol_COML_RX_Pos_Msk (0x1UL << Vol_COML_RX_Pos) -#define Vol_COML_RX Vol_COML_RX_Pos_Msk - -#define Vor_COMR_DT_Pos (1U) -#define Vor_COMR_DT_Pos_Msk (0x1UL << Vor_COMR_DT_Pos) -#define Vor_COMR_DT Vor_COMR_DT_Pos_Msk - -#define Vol_COML_DT_Pos (0U) -#define Vol_COML_DT_Pos_Msk (0x1UL << Vol_COML_DT_Pos) -#define Vol_COML_DT Vol_COML_DT_Pos_Msk - -/* VOL/R Comm Config Register,COMM_CON<6Fh> */ -#define Vox_COMM_PULL_Vol_Pos (2U) - -#define Vox_COMM_PULL_Vol_1_8_Pos_Msk (0x00UL) -#define Vox_COMM_PULL_Vol_2_5_Pos_Msk (0x01UL) -#define Vox_COMM_PULL_Vol_3_0_Pos_Msk (0x02UL) -#define Vox_COMM_PULL_Vol_5_0_Pos_Msk (0x03UL) - -#define Vox_COMM_PULL_Vol_1_8 (Vox_COMM_PULL_Vol_1_8_Pos_Msk << Vox_COMM_PULL_Vol_Pos) -#define Vox_COMM_PULL_Vol_2_5 (Vox_COMM_PULL_Vol_2_5_Pos_Msk << Vox_COMM_PULL_Vol_Pos) -#define Vox_COMM_PULL_Vol_3_0 (Vox_COMM_PULL_Vol_3_0_Pos_Msk << Vox_COMM_PULL_Vol_Pos) -#define Vox_COMM_PULL_Vol_5_0 (Vox_COMM_PULL_Vol_5_0_Pos_Msk << Vox_COMM_PULL_Vol_Pos) - -#define Vox_Pull_Up_50k_Pos (0U) -#define Vox_Pull_Up_50k_Pos_Msk (0x1UL << Vox_Pull_Up_50k_Pos) -#define Vox_Pull_Up_50k Vox_Pull_Up_50k_Pos_Msk - -#define BOXHEADER 0x55AA //VOX通讯数据包头 - -#define EARPHONE_HEADER_HIGH 0x55 -#define EARPHONE_HEADER_LOW 0xAA - -#define BOXIDCODE 0xFF //VOX通讯耳机->仓数据包头 - -#define Vox_TX_Interval 2 //Vox定时发送指令时间间隔 - -#define Vox_TX_Interval_2 4 - -#define TIM_SHUTDOWN_DEBOUNCE 600 //关机前debounce时间 - - /******************************************************************************\ - Variables definitions - \******************************************************************************/ - /* 双向通讯协议选择 */ - -#define JIELI 1 - -#define ZHONGKE 0 - -/*耳机通道选择*/ - -#define TWS_VOL 0x04 -#define TWS_VOR 0x05 -#define TWS_BOX 0x02 -#define TWS_PC 0x03 - -#if JIELI - -/*耳机通道选择*/ -typedef enum { - - VOL_CHAN = 0x00, - - VOR_CHAN = 0x01, - - VOX_MAX_CHAN = 0x02, - - VOX_BOTH = 0xFF, - -}e_Vox_Chan; - -/*耳机和充电仓进行双向通讯的协议命令ID。*/ - typedef enum _VOX_BES_COMMAND_E -{ - - VHOUSE_CMD_PAIR = 0x01, //充电仓发起的配对信息 - - VHOUSE_CMD_EXCH_TWS_BTADDR = 0x02, //交换对耳的蓝牙地址信息。 - - VHOUSE_CMD_CLEAR_PAIR = 0x03, //清配对信息 - - VHOUSE_CMD_OPEN_BOX = 0x06, //开盖获取电量包 - - VHOUSE_CMD_CLOSE_WIN_GET_VBAT = 0x07, //关盖获取电量包 - - VHOUSE_CMD_RST = 0x08, // - - VHOUSE_CMD_PWROFF = 0x80, //关机消息 - - VHOUSE_CMD_CLOSE_BOX = 0x81, - - BES_RESET = 0xE1, - -}VOX_BES_COMMAND_E; - -#elif ZHONGKE - - /*耳机通道选择*/ - typedef enum { - - VOL_CHAN = 0x11, - - VOR_CHAN = 0x22, - - VOX_MAX_CHAN = 0x02, - - VOX_BOTH = 0xff, - - }e_Vox_Chan; - - /*耳机和充电仓进行双向通讯的协议命令ID。*/ -typedef enum _VOX_BES_COMMAND_E -{ - VHOUSE_CMD_GET_VBAT = 0x01, //获取电池电量,也可作为开始标志 - - VHOUSE_CMD_PAIR, //充电仓发起的配对信息 - - VHOUSE_CMD_GET_TWS_BTADDR, //获取对耳的蓝牙地址信息,充电仓无需使用本命令,本命令为对耳相互转发,充电仓只作转发缓存,收到该命令后,copy给另一只对耳即可。 - - VHOUSE_CMD_CLEAR_PAIR, //清除配对信息 - - VHOUSE_CMD_PWROFF, //关机消息 - - VHOUSE_CMD_ERR, //接收消息错误 - - VHOUSE_CMD_SUCCESS, //成功响应 - - VHOUSE_CMD_CLOSE_WINDOW, //关盖 - - VHOUSE_CMD_OPEN_WINDOW, //开盖 - - VHOUSE_CMD_CLOSE_WIN_GET_VBAT, //关盖获取电量包 - - VHOUSE_CMD_ENABLE_POPUP = 0x80, //开关弹窗功能控制 - - VHOUSE_CMD_CUSTOM_RESV1 = 0xE0, //客户保留指令 - - BES_RESET = 0xE1, - - VHOUSE_CMD_CUSTOM_RESV_END = 0xEF, - - VHOUSE_CMD_SYS_RST = 0xFF, //系统复位指令 - -}VOX_BES_COMMAND_E; - - -#endif - -/* Vox Channel Select. */ -typedef enum { - - VOL_CHAN_SET = 0x00, - - VOR_CHAN_SET = 0x01, - - VOX_BOTH_SET = 0x02, - -}e_Vox_Chan_Set; - -/* Vox Follow Charge State. */ -typedef enum { - - Vox_Follow_Chg_InitSta = 0x00, - - Vox_Follow_Chg_Sta1, - - Vox_Follow_Chg_Sta2, - - Vox_Follow_Chg_Sta3, - - Vox_Follow_Chg_Sta4, - -}e_Vox_Follow_Chg_Sta; - -/* VOX Enable Type */ - typedef enum { - - VOX_TRANS_Mode = 0x00, //VOx UART 透传功能使能 - - VOX_COMM_Mode_Uart, //VOx 通讯 UART Mode - - VOX_COMM_Mode_Reg, //VOx 通讯 Register Mode - - VOX_VOUT_Mode, //VOx 5V 输出使能 - - VOX_ADT_Mode, //VOx 负载接入、存在识别功能使能,负载自动识别 - - VOX_PUnK_Mode, //Vox上拉电阻配置,上拉到VOX_Vup。 - - VOX_PD1K_Mode, // VOX 1K 电阻下拉使能 1: VOR 通过 1K 电阻下拉至 gnd - - } VOX_Enable_Mode_e; - -extern bit Cover_Open_Flag; - -extern bit Vox_Ocp_Flag; -extern bit Boost_Open_Flag; - -extern bit OpenCover_TX_Cmd_Flag; - -#ifdef VOX_RX - -extern xdata uint8_t Vox_Get_Vbat_Flag[2]; //耳机配对状态,VOL:低4bit;VOR:高4bit。0是无效,1是正在配对,2是配对成功,3不处理,保持当前状态。 - -extern xdata uint8_t Vox_Get_BES_Addr_Flag[2] ; - -#endif - -#if VOX_FOLLOW_CHG - -typedef struct { - - uint16_t IVox_Init[VOX_MAX_CHAN]; //跟随充Vox初始化电流值。 - - uint16_t IVox_Threshold_Neg[VOX_MAX_CHAN]; //Vox电流下降阈值 - - uint16_t IVox_Threshold_Pos[VOX_MAX_CHAN]; //Vox电流上升阈值 - - uint16_t IVox_At_Present[VOX_MAX_CHAN]; //Vox当前电流 - - uint8_t IVox_TC_Mode[VOX_MAX_CHAN]; //Vox CV_TC充电电流阈值 - - uint8_t Vpmid_SubSta[VOX_MAX_CHAN]; //Vox的Vpmid电压下降标志 - - uint8_t Vpmid_SubSta_Flag; //Vpmid电压下降标志 - - uint8_t Vpmid_AddSta[VOX_MAX_CHAN]; //Vpmid电压上升标志 - - uint8_t Vox_InBox_Sta[VOX_MAX_CHAN]; //耳机在盒标志 - - uint8_t Vpmid_Threshold_Neg; //Vpmid电压下降阈值 - - uint8_t Vpmid_Threshold_At_Present; //Vpmid电压当前值 - - uint8_t Vpmid_Threshold_Pos; //Vpmid电压上升阈值 - - uint8_t Vox_PTM_Type; //Boost 直通模式使能状态位,ON:Enable;OFF:Disable。 - - uint8_t Vox_Follow_Start; //跟随充启动标志 - - uint8_t Vox_Follow_Stop; //跟随充结束标志 - -} g_Vox_Fllow_Chg_Cfg; - -extern g_Vox_Fllow_Chg_Cfg xdata Vox_Fllow_Chg; - -#endif - /******************************************************************************\ - UserCfg.Functions definitions - \******************************************************************************/ - -extern void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select); - -extern void Vox_Det_Machine(void); -#if VOX_FOLLOW_CHG -extern void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ); -#endif -extern void VOX_EN_Type(VOX_Enable_Mode_e VOX_Enable_Mode); - -#ifdef VOX_RX -extern void HandleVoxCommMsg(void); -#endif - -#endif - -#endif - diff --git a/SY8837_Demo.si4project/SY8837_Demo.sip_sym b/SY8837_Demo.si4project/SY8837_Demo.sip_sym index 675a0c24fb276e80d5f35befea2950fe79bcba77..fc89e87e41372c3a1905f6a15949b2175665b899 100644 GIT binary patch delta 2714 zcmeHIZ)_CT5#P7_jBWYOzGctm;utuGB_{kaXLO-ad)Vj1QGk$eQQVXi+OrF&jbb(D zmWI?gaORKgn1iet!kADgXB`p^Lcz`@S`?x55+X#~C^{=Np;FqIgdmb8>5-BOss7NJ zz14|)@5hcb`_s;E-n{qby*G35pfUDFtzKKMD4mKTADg8per72MwYA4ey0KHg%(EJr1Ua%$)zq4m4VQmCR8+8*mab)#ET7(ItY(+ z)5vBCxu%r<5e;H%331?@G$66a(ytIzO;ia%zbga5fb@FE8X=|BDiQ2Gq0NV}#bF36 zj$v{xt%mtlmv4p1VFP0egv?rtqXP0D`{Bxxn7{VE_|Lkx#e23sy|pJ!d5tHY+KvN% z(IS{Ur5zr77S&V6 znO#fX*{Ubp^Ql&Tnr&M#a6csWo0ty?4-~fVg@lwCU8x3P>=_HXK9tZf=Hq3fbzGAW z`)vw+FA3>wqHq=|i-iN{g>k6QVyZZk1>=1g@V#lmFLqcMe3j0Q7dAzA(ZOtGf0YV_ z_sr})J8ufeZ8xDa>5P|NFNY*`5WCN722>1K7z$IW&JI|R-(Y4FyKf3iM}$P{mnxuio4U)19!XxFBn|&5ekJE~o+U*d8aCu(_tcQx$A=f(O4EX(^g^4zIz#f;{ zLjw%hG-N??b8*lGV)ck?rvKTmvDOnUvqJ?HYzIWHw?SumY5v*A%nopXj9gA?r_UjKp; z9Rmvsr)j0~FulloDGRrgL&^=5g3C(`ICI$250a&xl#%72a}Rr7u)yk*-a4|3ICerO za5i{^XART7<`J>eC3iwgz<|gY-O)32dQA1XR3Bc>QIRPSm;1`)cDdXx7(JSS^l)*+ z4%fQF8G*q^DNUPROqD%L_Ia>sXg;RbQf7R|Qjk3A$JYwNm(3l!AisNCjqIs(fBev6 z=IiT3%6U@W*%Tm3>LBzkpvriM2P^zyFUFn~at>8trJI!N)r<6@ccnBaf3{Ef#S@yo zn*J(DONfmDktr4yu2fuD9CQ+d*8;+FiW1wnC^-m|8x5S;KvyMwn{XaDUI+*ucAV6F zcC22|+ex(eq2q=Rdm1P};XfYiY!CrEI9K$iFjOu~JNL5Kv<9qX88-e)tfz_~G55Y2 z6caGMs|~vzkTKi5A!Y&?`nf2Z_2bp+AAaCLY`LJWfl$&E=U}S84X14x!?WK|v~|_$ zae>hpQ8xR*`yY?5TNm%#5MT4lZCii!ba&5a<0|axQBCze1)4`%%l$lt12a35%_W${|F|h~xRaV$=G>^(>*|seY}(n@z3X zEyonQRF1(qVZx?me!NyMml?MfZHim+!f359@k@gim~W1{eG(@?^OSKlUg1<@O#68Q zp<6e=jmYV^VRB>Fu;Z$Jqe642^_KNx@*#Rv?6K1ITv-fSQRfDoSQOKj5m!rELYyoJ z1J4$HLPIy}RQqO~HuK)>K}rXAUq%)X`0#Eq&o-}WGoo@ES(&)QzU!JcU+Nd>hdV(D z@%j%{!|wS~>kxW|NDjrw@+W-jD=mZR9JNBWf8g3r*}wT(`;mZPP0?=i#V7fz{kMN= zdvyJ6a^{=Q$U{D`dxiY9rhiKhhT|}@bm6yBX7qoMjm?ZKALGkqWbUP|%oawL=k1@& zl227s{egN2M_sC{w?C|wLe<|V3wtuMykdXulb=>$mvp;P2lsBf&>***oDAi~|Mh>7 H15^ALIY<1+ delta 2549 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 diff --git a/UsrInc/bat/bat.h b/UsrInc/bat/bat.h index 0f07afc..1542416 100644 --- a/UsrInc/bat/bat.h +++ b/UsrInc/bat/bat.h @@ -27,17 +27,32 @@ /******************************************************************************\ Macro definitions \******************************************************************************/ +#define C_bat_level_protect 0 +#define C_bat_level_lowpower 1 + +#define C_bat_level_25p_power 5 + +#define C_bat_level_50p_power 10 + +#define C_bat_level_75p_power 15 /******************************************************************************\ Variables definitions \******************************************************************************/ extern idata uint8_t bat_level; -extern idata uint8_t bat_level_Pec; + + +extern idata uint8_t offset_bat_level; extern bit F_batlevel_low; //电池低压 extern bit F_batlevel_protect; //低电保护 +extern bit F_batlevel_25p; + +extern bit F_batlevel_50p; + +extern bit F_batlevel_75p; #if GAUGE_ENABLE @@ -50,8 +65,6 @@ extern void Bat_Gauge_Handle(void); #endif #if BAT_VALUE -#define C_bat_level_protect 0 -#define C_bat_level_lowpower 1 /******************************************************************************\ Functions definitions diff --git a/UsrSrc/bat/bat.c b/UsrSrc/bat/bat.c index f70f93d..f96dd56 100644 --- a/UsrSrc/bat/bat.c +++ b/UsrSrc/bat/bat.c @@ -21,7 +21,6 @@ #include "adc.h" idata uint8_t bat_level = 0; -idata uint8_t bat_level_Pec = 0; bit F_batlevel_low = 0; //电池低压 @@ -471,16 +470,21 @@ void Bat_Gauge_Handle(void) #if BAT_VALUE -#define C_offset_bat_level_MAX 150 +#define C_offset_bat_level_MAX 200 #define C_offset_bat_level_MIN 10 bit F_batlevel_protect = 0; //低电保护 +bit F_batlevel_25p = 0; + +bit F_batlevel_50p = 0; + +bit F_batlevel_75p = 0; + idata uint8_t offset_bat_level = ( C_offset_bat_level_MAX + C_offset_bat_level_MIN ) / 2; - -#define C_batLevel_SetMax 20 +#define C_batLevel_SetMax 21 /*充电电池电压会浮高,具体电压需要测试。*/ const uint16_t Boost_batlevel_Threshold[C_batLevel_SetMax] = @@ -492,18 +496,19 @@ const uint16_t Boost_batlevel_Threshold[C_batLevel_SetMax] = 3250, //20% 3300, //25% 3350, //30% - 3400, //4 - 3450, - 3500, //5 - 3575, - 3650, //6 - 3720, - 3800, //7 - 3850, - 3900, //8 - 3975, - 4050, //9 - 4125, + 3400, //40% + 3450, //45% + 3500, //50% + 3600, //55% + 3650, //60% + 3700, //65% + 3750, //70% + 3800, //75% + 3850, //80% + 3900, //85% + 3975, //90% + 4050, //95% + 4125, //100% 4200 //10 }; #if 0 @@ -566,8 +571,6 @@ void check_bat_level(void) RST_FLAG = 0; bat_level = i; - - bat_level_Pec = 5 * bat_level; } //debounce @@ -575,33 +578,33 @@ void check_bat_level(void) { //update bat_level = i; - - bat_level_Pec = 5 * bat_level; - offset_bat_level = ( C_offset_bat_level_MAX + C_offset_bat_level_MIN ) / 2; } - + if( bat_level <= C_bat_level_protect ) { F_batlevel_protect = 1; } - else -#if 0 - if( bat_level > ( C_bat_level_protect + 1 ) ) - { - F_batlevel_protect = 0; - } - #endif + if( bat_level <= C_bat_level_lowpower ) { F_batlevel_low = 1; } -#if 0 - else if( bat_level > (C_bat_level_lowpower + 1) ) + + if( bat_level <= C_bat_level_25p_power ) { - F_batlevel_low = 0; - } -#endif + F_batlevel_25p = 1; + } + + if( bat_level <= C_bat_level_50p_power ) + { + F_batlevel_50p = 1; + } + + if( bat_level <= C_bat_level_75p_power ) + { + F_batlevel_75p = 1; + } } #endif diff --git a/UsrSrc/charger/charger_module.c b/UsrSrc/charger/charger_module.c index ca7dfd8..fd7a173 100644 --- a/UsrSrc/charger/charger_module.c +++ b/UsrSrc/charger/charger_module.c @@ -592,10 +592,24 @@ void Charger_Handler(void) if( bat_level > (C_bat_level_lowpower + 2) ) { F_batlevel_low = 0; - } + } + + if( bat_level > (C_bat_level_25p_power + 2) ) + { + F_batlevel_25p = 0; + } + + if( bat_level > (C_bat_level_50p_power + 2) ) + { + F_batlevel_50p = 0; + } -#endif - ChgStatus = CHG_STA_ING; + if( bat_level > (C_bat_level_75p_power + 2) ) + { + F_batlevel_75p = 0; + } + +#endif #ifdef _DEBUG_CHARGER printf("Chg ing\r\n"); diff --git a/UsrSrc/key/key.c b/UsrSrc/key/key.c index 6065ab8..eddf533 100644 --- a/UsrSrc/key/key.c +++ b/UsrSrc/key/key.c @@ -32,21 +32,25 @@ /******************************************************************************\ Macro definitions \******************************************************************************/ -#define KEY_PRESS_500MS_CNT 25 //按键按下500ms(调用周期20ms) +#define KEY_PRESS_500MS_CNT 30 //按键按下500ms(调用周期15ms) -#define KEY_PRESS_2S_CNT 100 //按键按下计数2s(调用周期20ms) +#define KEY_PRESS_2S_CNT 135 //按键按下计数2s(调用周期20ms) -#define KEY_PRESS_5S_CNT 250 +#define KEY_PRESS_5S_CNT 335 -#define KEY_PRESS_8S_CNT 400 //按键按下计数8s(调用周期20ms) +#define KEY_PRESS_8S_CNT 535 //按键按下计数8s(调用周期20ms) #define KEY_TWS_PAIR_TIMER 20 #define KEY_TWS_PAIR_CNT 5 -#define KEY_TWS_PAIR_CLEAR_CNT 30 +#define KEY_TWS_PAIR_CLEAR_CNT 180 -#define KEY_LIFT_CNT 20 +#define KEY_LL_TX_Interval 8 //Vox定时发送指令时间间隔 + +#define KEY_LL_TX_Interval_2 16 + +#define KEY_LIFT_CNT 35 /******************************************************************************\ Variables definitions @@ -100,29 +104,24 @@ uint8_t Key_Lift_Debounce = 0; static bit nKey_Press_short_irq; static bit nKey_Press_2s_Flag; - - static bit nKey_Press_8s_Flag; if( !(CHIP_STA0 & KEY_STAT) ) //CHIP_STA0 的bit1为Key的状态值:0:按下; { Key_Press_Debounce++; - + if( Key_Press_Debounce >= KEY_PRESS_8S_CNT ) //长按8s,VOX掉电 + { + Key_Press_ll_irq = 1; +#ifdef _DEBUG_KEY + printf("supper long 8s press.(line:%d)\r\n",(u16)__LINE__); +#endif + } + else if( Key_Press_Debounce >= KEY_PRESS_2S_CNT ) //长按2s,需要抬键判断 { if( !nKey_Press_2s_Flag ) { nKey_Press_2s_Flag = 1; } - } - else - if( Key_Press_Debounce >= KEY_PRESS_8S_CNT ) //长按8s,VOX掉电 - { - if( !nKey_Press_8s_Flag ) - { - nKey_Press_8s_Flag = 1; - - Key_Press_ll_irq = 1; - } } Key_Press_Flag = 1; @@ -146,9 +145,7 @@ uint8_t Key_Lift_Debounce = 0; Key_Lift_Flag = 1; Key_Lift_Debounce = 0; - - nKey_Press_8s_Flag = 0; - + if( (Key_Press_Debounce <= KEY_PRESS_500MS_CNT) ) //松开按键,按下时间小于500ms,则识别为短按,显示电量 { Key_Press_short_irq = 1; @@ -162,12 +159,16 @@ uint8_t Key_Lift_Debounce = 0; if( (Key_Press_Debounce < KEY_PRESS_5S_CNT) ) //按键时间大于2s小于5s则判断为长按2s。 { if( nKey_Press_2s_Flag ) - { - nKey_Press_2s_Flag = 0; - + { Key_Press_l_irq = 1; } } + + nKey_Press_2s_Flag = 0; + +#ifdef _DEBUG_KEY + printf("Key lift(line:%d).\r\n",(u16)__LINE__); +#endif } Key_Press_Debounce = 0; @@ -244,7 +245,7 @@ uint8_t Key_Lift_Debounce = 0; Event_key = KEY_EVENT_LL_8S; #ifdef _DEBUG_KEY - printf("supper long 8s press\r\n"); + printf("supper long 8s press.(line:%d)\r\n",(u16)__LINE__); #endif } @@ -304,8 +305,12 @@ uint8_t Key_Lift_Debounce = 0; { if( Vox_Get_BES_Addr_Flag[VOR_TYPE] == 0x01 ) /*收到右耳回复的CMD3指令。*/ { -#ifdef VOX_TX +#ifdef VOX_TX +#if JIELI HandleTxCommand(VHOUSE_CMD_EXCH_TWS_BTADDR,VOL_CHAN); /*获取到右耳回复的CMD3指令,转发给左耳。*/ +#elif ZHONGKE + HandleTxCommand( VHOUSE_CMD_GET_TWS_BTADDR, VOL_CHAN ); /*获取到右耳回复的CMD3指令,转发给左耳。*/ +#endif #endif Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x02; #ifdef _DEBUG_KEY @@ -318,11 +323,14 @@ uint8_t Key_Lift_Debounce = 0; { if( Vox_Get_BES_Addr_Flag[VOL_TYPE] != 0x00 ) { -#ifdef VOX_TX +#ifdef VOX_TX +#if JIELI HandleTxCommand(VHOUSE_CMD_EXCH_TWS_BTADDR,VOR_CHAN); /*获取到右耳回复的CMD3指令,转发给左耳。*/ +#elif ZHONGKE + HandleTxCommand( VHOUSE_CMD_GET_TWS_BTADDR, VOR_CHAN ); /*获取到右耳回复的CMD3指令,转发给左耳。*/ #endif - Vox_Get_BES_Addr_Flag[VOL_TYPE] = 0x00; - +#endif + Vox_Get_BES_Addr_Flag[VOL_TYPE] = 0x00; Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x00; Key_TWS_Pair_Tim = 0; @@ -371,14 +379,14 @@ uint8_t Key_Lift_Debounce = 0; { if( Key_TWS_Clear_Pair_Tim < KEY_TWS_PAIR_CLEAR_CNT ) //每隔200ms发送一次,持续时间3s。 { - if( Key_TWS_Clear_Pair_Tim % Vox_TX_Interval_2 ) + if( !( Key_TWS_Clear_Pair_Tim % KEY_LL_TX_Interval_2 ) ) { #ifdef VOX_TX HandleTxCommand(VHOUSE_CMD_CLEAR_PAIR,VOR_CHAN); #endif } else - if( Key_TWS_Clear_Pair_Tim % Vox_TX_Interval ) + if( !( Key_TWS_Clear_Pair_Tim % KEY_LL_TX_Interval ) ) { #ifdef VOX_TX HandleTxCommand(VHOUSE_CMD_CLEAR_PAIR,VOL_CHAN); diff --git a/UsrSrc/userapp/userapp.c b/UsrSrc/userapp/userapp.c index f3f8829..6a2c722 100644 --- a/UsrSrc/userapp/userapp.c +++ b/UsrSrc/userapp/userapp.c @@ -118,6 +118,8 @@ void LED_Display_App(void) LED_On_Flag = 0; LED_On_Timer = 0; + + offset_bat_level = 0; Display_AllOff(); @@ -323,7 +325,7 @@ void LED_Display_App(void) LED_On_Timer++; /*电量显示,25%电量左侧第1个灯闪;25%-50%电量2个灯常亮;50%-75%电量3个灯常亮;75%-100%电量4个灯常量。*/ - if(bat_level_Pec < 25) + if( F_batlevel_25p ) { if (Display_RSta != LED_KEEP_FLASHING) { @@ -334,7 +336,7 @@ void LED_Display_App(void) } } else - if(bat_level_Pec < 50) + if( F_batlevel_50p ) { Display_Red_On(); Display_Green_On(); @@ -342,7 +344,7 @@ void LED_Display_App(void) Display_Blue_Off(); } else - if(bat_level_Pec < 75) + if( F_batlevel_75p ) { Display_Red_On(); Display_Green_On(); @@ -350,7 +352,6 @@ void LED_Display_App(void) Display_Blue_Off(); } else - if(bat_level_Pec < 100) { Display_AllOn(); } diff --git a/UsrSrc/vox/vox_module.c b/UsrSrc/vox/vox_module.c index 68322e9..77969f0 100644 --- a/UsrSrc/vox/vox_module.c +++ b/UsrSrc/vox/vox_module.c @@ -617,7 +617,7 @@ void Vox_Det_Machine(void) #elif ZHONGKE - HandleTxCommand(VHOUSE_CMD_OPEN_WINDOW,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 + HandleTxCommand(VHOUSE_CMD_GET_VBAT,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 #endif #endif @@ -632,7 +632,7 @@ void Vox_Det_Machine(void) #elif ZHONGKE - HandleTxCommand(VHOUSE_CMD_OPEN_WINDOW,VOR_CHAN); //右耳发开盖指令,区分耳机通道。 + HandleTxCommand(VHOUSE_CMD_GET_VBAT,VOR_CHAN); //右耳发开盖指令,区分耳机通道。 #endif #endif @@ -712,6 +712,10 @@ void Vox_Det_Machine(void) Vox_Voltage_Hold_Timer = 0; Vox_Chg_Full_Flag = 0; + + CoverEvent_Flg1 = 1; + + Get_CHIP_STA1_Flag0 = 0; Cover_Close_Force_Vout_Flag = 1; @@ -725,6 +729,8 @@ void Vox_Det_Machine(void) Boost_Open_Flag = 0; + Cover_Close_Flag1 = 1; + if( Vox_Voltage_Hold_Timer <= VOX_VOLTAGE_HOLD_CNT ) //关盖Boost VPMID保持时间。 { Vox_Voltage_Hold_Timer++; @@ -775,14 +781,25 @@ void Vox_Det_Machine(void) if( (Vox_Output_Debounce % Vox_TX_Interval_2) == 0 ) //200ms发送一次 { #ifdef VOX_TX - HandleTxCommand(VHOUSE_CMD_CLOSE_WIN_GET_VBAT,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 + +#if JIELI + HandleTxCommand(VHOUSE_CMD_CLOSE_WIN_GET_VBAT,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 +#elif ZHONGKE + HandleTxCommand(VHOUSE_CMD_PAIR,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 +#endif + #endif } else if( (Vox_Output_Debounce % Vox_TX_Interval) == 0 ) //200ms发送一次 { #ifdef VOX_TX +#if JIELI + HandleTxCommand(VHOUSE_CMD_CLOSE_WIN_GET_VBAT,VOR_CHAN); //右耳发开盖指令,区分耳机通道。 +#elif ZHONGKE + HandleTxCommand(VHOUSE_CMD_PAIR,VOR_CHAN); //右耳发开盖指令,区分耳机通道。 +#endif #endif } @@ -837,8 +854,8 @@ void Vox_Det_Machine(void) { if( !Vox_Chg_Full_Flag ) { - if( ( CHIP_STA1 & ( VOR_Ioff | VOL_Ioff | VOL_LoadOn | VOR_LoadOn ) == ( VOR_Ioff | VOL_Ioff | VOL_LoadOn | VOR_LoadOn ) ) || F_batlevel_low ) //耳机充满、VOX无负载、盒子低电,则关闭Vout输出通路,关闭Boost。 - // if( ( (CHIP_STA1 & 0xAC) == 0xAC ) || F_batlevel_low ) + // if( ( CHIP_STA1 & ( VOR_Ioff | VOL_Ioff | VOL_LoadOn | VOR_LoadOn ) == ( VOR_Ioff | VOL_Ioff | VOL_LoadOn | VOR_LoadOn ) ) || F_batlevel_low ) //耳机充满、VOX无负载、盒子低电,则关闭Vout输出通路,关闭Boost。 + if( ( (CHIP_STA1 & 0xAC) == 0xAC ) || F_batlevel_low ) { if( Vox_Voltage_Hold_Timer <= VOX_VOUT_5V_LEAST_CNT ) //重载转轻载延时5s后关闭Boost输出。 { @@ -1390,7 +1407,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->Vpmid_SubSta_Flag = OFF; #ifdef _DEBUG_FOLLOW - printf("Follow CHG SubSta,(STA:0x%x,Vpmid:0x%x,PTM:%d)(line:%d)\r\n",(uint16_t)Follow_Chg_Sta,(uint16_t)n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,(uint16_t)n_Vox_Fllow_Chg->Vox_PTM_Type,(uint16_t)__LINE__); + printf("Follow CHG SubSta,(STA:0x%x,Vpmid:0x%x,PTM:%d,Vbat:%d,Vout:%d)(line:%d)\r\n",(uint16_t)Follow_Chg_Sta,(uint16_t)n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,(uint16_t)n_Vox_Fllow_Chg->Vox_PTM_Type,(uint16_t)g_Vbat_Adc,(uint16_t)g_pmu_Adc_Vout,(uint16_t)__LINE__); #endif DisCharge_Boost_Open(n_Vox_Fllow_Chg->Vox_PTM_Type, n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present ); } @@ -1562,7 +1579,7 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select) /*Data Length*/ tx_pData[3] = 0x05; tx_pData[5] = FW_VER; //Version - tx_pData[6] = bat_level_Pec; //电仓电量值 0~100; + tx_pData[6] = bat_level * 5; //电仓电量值 0~100; tx_pData[7] = MAX_PACKET_SIZE; //max_packet_size:0x20 @@ -1689,7 +1706,6 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select) tx_pData[dataLen] = Crc8Maxim(tx_pData,dataLen); - #endif /* vor、vol都使用uart1进行分时通讯,设置TX模式*/ VOX_EN_Type( VOX_COMM_Mode_Uart ); @@ -1741,7 +1757,6 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select) COMM_CTL |= ( Vor_SWDR |Vol_SWDR ); } - } #endif @@ -1900,6 +1915,7 @@ void HandleVoxCommMsg(void) #ifdef _DEBUG_VOX printf("RX1_Buffer[0]:0x%x,RX1_Buffer[1]:0x%x,RX1_Buffer[2]:0x%x,RX1_Buffer[3]:0x%x,RX1_Buffer[4]:0x%x,RX1_Buffer[5]:0x%x,RX1_Buffer[6]:0x%x,line:%d\r\n",(u16)RX1_Buffer[0],(u16)RX1_Buffer[1],(u16)RX1_Buffer[2],(u16)RX1_Buffer[3],(u16)RX1_Buffer[4],(u16)RX1_Buffer[5],(u16)RX1_Buffer[6],(u16)__LINE__); #endif + #if JIELI CrcCheckSum = Crc8Maxim(RX1_Buffer, RX1_Buffer[2] + 3); //求校验和 @@ -1908,7 +1924,6 @@ void HandleVoxCommMsg(void) CrcCheckSum = Crc8Maxim( RX1_Buffer, RX1_Buffer[4] + 5 ); if( CrcCheckSum == RX1_Buffer[ RX1_Buffer[4] + 5 ] ) - #endif { HandleRxMsg((VOX_BES_COMMAND_E)RX1_Buffer[3]);