From f82b125112def26d6dba0598036740096b3fb48a Mon Sep 17 00:00:00 2001 From: ZHAISHUI04 <3150778793@qq.com> Date: Fri, 25 Apr 2025 19:35:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8D=E4=B9=90=E8=BF=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/R2.uvoptx | 107 +------------------- MDK-ARM/R2/R2.axf | Bin 2826344 -> 2833188 bytes User/Algorithm/user_math.c | 5 +- User/Algorithm/user_math.h | 2 +- User/device/cmd.c | 90 +++++------------ User/device/cmd.h | 21 +++- User/device/dr16.c | 196 +++++++++++++++++++++++++------------ User/device/dr16.h | 45 ++++++--- User/task/dr16_task.c | 33 ++----- 9 files changed, 223 insertions(+), 276 deletions(-) diff --git a/MDK-ARM/R2.uvoptx b/MDK-ARM/R2.uvoptx index 7c29790..a44139d 100644 --- a/MDK-ARM/R2.uvoptx +++ b/MDK-ARM/R2.uvoptx @@ -153,112 +153,7 @@ 0 1 - chassis - - - 1 - 1 - ctrl - - - 2 - 1 - dr16,0x0A - - - 3 - 1 - UP_t,0x0A - - - 4 - 1 - UP,0x0A - - - 5 - 1 - can,0x0A - - - 6 - 1 - up_cmd,0x0A - - - 7 - 1 - rc_ctrl - - - 8 - 1 - up_cmd - - - 9 - 1 - cmd,0x0A - - - 10 - 1 - ctrl,0x0A - - - 11 - 1 - ctrl_up,0x0A - - - 12 - 1 - task_runtime,0x0A - - - 13 - 1 - can,0x0A - - - 14 - 1 - can_rx,0x0A - - - 15 - 1 - can_out,0x0A - - - 16 - 1 - gcan - - - 17 - 1 - raw_tx,0x0A - - - 18 - 1 - raw_rx2,0x0A - - - 19 - 1 - can_rx,0x0A - - - 20 - 1 - can_out - - - 21 - 1 - UP_CAN_out,0x0A + rc_ctrl,0x0A diff --git a/MDK-ARM/R2/R2.axf b/MDK-ARM/R2/R2.axf index 3d40118e6362054cb38ed19a39c72c0b646a14af..4b82759f0733102d78de8a118c3e701dda266942 100644 GIT binary patch delta 124788 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

~C zViDiOecM$Z@D)AfHe+=dpHvF=Y%OHJ~Ew}Hb!}tJ4Fl)a5;}eve5?Ee#mN;t{>g)iX;aYppWdA;JDRJF+@+nUH%574k zmQbSO#8{!%6$@l%R9)!RSnxPtjoeezqv>{;PR^Tw?Ng6t{L#L0XK#%>$p(KDct<{#bm(eebCU`N{rr_&^=T#c3hBp>KPev{Vdik~Y7@xhQ)vXR;V4ZOp?T zkk1Vhcge*?{9dgH8Mukjx0Pmkw`SxI%Ff1Oya@k(wu|R%(}uz@0&bt+ed6V>4dRaa z&&PR-0diP>VGA9{3>BOW8ou7BA|)$0>9VQw5@ni-yJ2FPUwaRq*QDIc96w`r%t z2q{hFIU331FDAg>#TEM45BQ{ka+^*%441~gr_xA?$pWqS=y+iKg#q$WLnSWan@{kp zL^&)uBh1+!Cl= zHJ1@|j}C(o#CIGihj~GY9I36AI*v8CsjRQ=m&LzKk&he12O;~8a5YtqY9-|BI5Fb? zPQyK99esIusvIt&ye$K6YE8 z>m$WyDdJNWxgA2!^NczTdh8i7V%peI$p}26j+^OxW08#f4YZM^p-{IG@`-fu<%_7X zMTlI>=&c5kV~~N*o#B$|<}`a(VrTmj$OPc zZ^pcAmsmIBkfvfM|CiXbH2K7I(RcAh(=H))E5kqH+|d6S`D62D%y7$fb1rQv_jQ4y zeejv~!d5T*S3C1Z$;TfSUk-^5N47^h2!?AL+JRB9A=54GW-Dvj$j|o+6-meJ2G3ia zj>T1ctAy{CMva!+X^x=d$d~alsKF7|jF#K>fHThnwNY#o!yEyUYd!1<4tz||uvh$H zw0zExcnJRh!(sm37&%gFLC5j&O_LUGjL};dj@|5iEmSsbp)WYM)XCa5d;ZY@GbFAsTEk`+4{AVAEl27n`s>Iv#A|gRiMa`KSqU#Dk)PI*t_y zud(VSGV-Q|Vi3eZst71WAT)77VeWidujako8VlzqCdv`o z9HQwV4dZotB9`0x}4y(ljRUCgy}c} zQ&Tx#-7kj^dI;ST-|uA~;~rDwhyg+i9Y+XjT0053&aAvgaC(Ie{d-n?#REbUci}Uq z$X^ZsEOW)NQ^dVR#xr^=n&aKTjh9fSC4(eEQ3GfnR1hO?*1@t#Kuh#BT0GT)ymzhn^K zITjw~Lo($~fjW#0YRmdTwEFU=GqDd8Uq_lg;G?vWY%~m(7$n8^ousaTdNd$0b0=u`_NW;B-!d0Bxb95YWit;se@> zBmB@TIZRVS$MK1B6Dfbql9PqzV%WqpbGE#7l=uu+`#iKKT)2eM)l$P6lb^NF?Zi@*O{Oa!IY;iOtEgx4culN1h4}pU{SSC(uH4Q`jFk&d&6PU{T^8iZ{^GeR zSKek2Uk(3yn0J{ghxQP>I*v1urj0x9Z(PKo={(D*1oEx9a*;uNh`eDW51l7>3ejPt z!=dPaeg=YnwUs1<;y&}k@+$`M{qm5J8|TX%0(B76q%kXhU_QoMeDIt!B<}as>&JZ; z!W{XNF+`L3frZdbhjHN3gzc||&`o@}eR>ivStLic*J0%0joGkc2AWZy5AYusVXlc! zzbhv3mHBc+pbq0(VO&LMP~yXUNEaWAXOHBWi*e|y!_c(}+iQ!_^K7uK9LdKm!D+7! zBQ!T*D_Me`ix1MHCi4-GVPtd|Us2*NM17;||Dx+!;Cn3F|MNV1?#F&}8e?W=W@d)5 zIY!CZ48t&|MKjyjm~FPv2*WGQ`H)-=a|lUVatf8ClH`>n^{V7h>QybNyd{bM_qw0o zz29N|_xW7>zSn)-*L~f`=RV(B>qZz~WFTkCN1=m1nqrI0hN1RvT++d^n8=Dx%}LM3 zU_$ci|pu*bN}P_Q>}Ss%%lE>WR2n2Z9H|aI3Jp{Au<)bF;;F2ZZjY#`Dc+R%b(e7QNK94);>$4~D0@#q-Tg7T-!> z9iUeKGNXG!oehy|?A^_}#op?&z18vX$e&isH`iHw>A|FjsPh6dME!njfqA_d--{4D z2Nk;;M)H5@`evW%{c;MEa)&!7jx<|i+c9Q<$^kYZXfOQ=f%q+di<*h8U?} zP~dLgPR8!3R|1AdbnW3AIy)=pn`9k?+RygW=%>wAy*RBUM5XjnYoI&tq4xSesSU&Q z-+XheRRk^b_ftlRoi#SZ=Z%%PrDcC_r4NDOVJn?2LDul)6A$C6+(l+{&S@JW>R#$r zd#fw1r0ze9%$>$J-%{~nvk?+@%VIMG{~cW{lljZVX8kJAk5ZjUe=RoGTL+&)d3uUA zEHT5>@8e6%SE}$%G~siB=4>zSy#|LA&W3nTOV)U?7BIq#<{_ulN&K68VyeHQGT01hoL zRk28d$=Tn~o|R_(Ap193MwcgaED_|DmFAv7yxmUtjKQtsdY-MZ03${_JpTpKu~0hN zGmpG4Px$a9=6YU!Q3@}8@%f!mFhTg7$e^DuoAv438uN)-e38i{(2>6Qw*RKH>D*O<82UA<6zCruC?)=A z2FWCwz*oo=fjad=Ox5N6E`n$ zKkgA2L6H zk04~)Z{a{F?4C0|L-?YcwV>M^##g%D#SX(cLg8dr66ZX1TTzwL>Nly|l~#Ny50|CP z{_bh@BUbvW%e3l^iSk~#`T5iG3NZn}*{OU)K)GAV7~~Nap96=%3LC6*n9gSpiOZfSkRtimN{QQf>WIRV@b$n^Mwb^L~(<@K;a8Rb0AG!Z#D^3c&W6N=lpAL)lSmx^_XjrI)b>#TIt}M zi}?1VM5?#Z3~#UCb@nD(mYo5H7Tmm2YE}Wuj$?#vh5yYK7A@OoW;ythq`kO1=?Fd8 zXtrvuU?=#c$!rv+;8HIiqc!biHi4V0m5w9u z@ENE(J=kQ1hbVa5%M;4WHF|WjxhjEgd71z!9g2eW1v)#vd{2N|xl#hRp(0D}*V+oZ zTePT@5cOJ6@D_7rYfi+DplZXA#c$|()#_3s`ggAURWk7{=;9W08+LR(xz%i01&W2w zopgG6tGPb;dJ;EMatm?Srwx6qFW)F2Tc|TpG3-lnHa}TR;`1jQ=9sto>cnCuTXdw6g>iIaZ1h~G^YF2}CAD6Gk5;3neR3W5nxXR# z`KxqghZz=r&_nVvkeA*6rpC{koAeTT>v^+jpLC%6kk2XTG67 z>D#NvAom&+A0ay^zCo?s{Vr$ZJZ{@_ldk0fd&PNdYnuL|xz{gt3`);Ox}IO1QjbS9 zuBzdgci--yvevZs1#_+AR2XJpfmhOByRq(mhGJfV$+zjFm(18EuO_vziqIAAt!deqzb*UDjCp~M5` z2l{miK4>-<+5oJ-Eq)dDUZu!GW-PXHk33}VF*;>ZmBVIhm30he`sjp0kr zZD|%n*n(0+zd-eln0xdabn*!1t8P0z7_UKRciQ}#*(SUWTF$JAGxBp$9+8|~0bK@T zuWrk>^vi2zslJPrzivi!8pGo5>A!~=@~#*E^Hp_irH6mnoth06Zcu+0r9#GX_8W-h z4qEtz*#fm?-y2YVj|LqDDrdBYs=o<=Bno`fY++Pu=kn=@4aS|~pfbArrrF$xZbyy( zgHMRmy6KqdJ2E62mGx&`U#nN|Ij~>K(2P{{nZiQQDFG#5b}lO&dk5kW&yx(~ga+^b z+$Ejlo`iaET+C1|e6wSAI|};`dhr~LV|23L;4%zQ*HB{e$( z(~JJs?$VaGF}E!R3hC_I<}1sz%|C)rC9MpXvwMBd70P_lGhxLJ>jUu9Wnx;cPkusgY>z& zPi_ntF>uUy2tVkT#a3OK^FDTmjSIuR;o~cPvO4mOoxaNv`H19dA${o8xOoH3bi06hUZ3I$#7>3U0Fj((QC5^}gn$WpSt64OWmd zZ3?TXjT0d*xS~JsqFCrly}1eVjt=jYt7D@l2w>8Ay3nlKrA## zt^S)r@zr9Kz(Ra}R@eFf+kbOu-Z^ubA2xUTn!e~&O{4B-%r?b&>>**`%zO;-2LomUy3CZ#%4o3k16)P<( zFC`~8ADOj5y9%-70^IVoK|3aYw&9;U<xR+Bk{e}?kUl(ti2r$`sRsKSQqTC9ChfoHPx5hrY8ORu%z zc_iEWKV{^P zperr<*xY0sEuyIN*j;_qQ|a`c9)*7tLs#K{7|=^!v+i8l?Ks!O@8nb&=RYtXot!FT zbcKJ~aeiO^lmf5FpEHZ4nf%+c!h|CvXNB>TKV=sF+Jm_=1HX_zWgfl5KV9`@K5LUu z3QnnjQg~Dal=Y>!7h|p(Y{*vD1Rw*O;{;O67$=ZAdP~sW_7m;|(vP1LNI$=Fa-?*! zwViVU>9U7`EX&adb*V(oQd%g1vnY;{z*+hp?tb{eC+4HNUw3?Rj)L-LQQW6yOtHdi zIJ596KY;!Ct$J0I2Ca6fCIDR-2gXm3)sxdRvQuZIWMpSd!FV7ANl>bN%Bk%fW8#49 zZos(H#%E0pEe}D?1?gRVa(@PX2TmD(G&O|Ae>Cp^K0L=Sn6vzjL+Dg7##*y!?Pq4o zlnTr?IqeI@1hZ#pE!BQ!_q1t+xf3QhOK_=n7QEyM`5H_)#6NR0(Vjl9ZRX!;{A*z^ z?&GcTTelVWu|9{d-5ffGu4S~sT{xiB{E67ygt0{J&Dsz!u(^#RUdT5e`lmG`anU@` z<7*z&@RPB5!xK|@Fe)cA`AnJcDH_KEpy7#{|JyCOD|bZVX?ZDf>VZ#;37_`#=S8y@ zr7ttP~B9|4mcwx1}|hWY+v!z?`0a=)Yf?Edtni4!kGhC?%U2(?_FfUtmgS%5I<8b@J@f zk=a=V=*|>8#HkTMpItUzazt@~0o9?!SImad3XbdJQC_xa)4=d3FO53Ul56OAmR~U` zqEBa5$xkoai9R7ecZ!_uJA9rOcFeJy^11sUe*CIAV<=ySCU0AQ>&&*4wZUCm2rXTjk)M{5hRaPg|0~jj9g@kDfBv>j$C*KS`%oI@ zehr)WIe;#(DSnB!O%0qjVNOd|QhU8^de7UYjStg+Z_Kjxk%?R@N|I&LU?NObr#}WT z^WI~M$+KgF6PU;ElAAf6aZJWV3N$7@7^Y_9A|`jG#IWT&E|Ok`kLK z^X5iJy7yo6#p1_sB1-t&!o$^i9?k^k+hZ30W70z>yjSmJyPX%d-Nv}wDo!2SE_2;n zcsA1J?r`Ixj5)bkr(A4VY;ECk7uWN2vF+^7X=s~kFUQ#I_AWNhSlY}{%;a;9ZLTB9 zmmP_!LS^40Q@0|`ai1+(kZApe$g04w7SZEc)JAK%7$UiOdX3|uJq-H&Fo*jtqp4C?Dt;GfYC>%xpG zRMhTEs|*ZUYy4{Z(U@{`hTqaPXsWQmx!jjR?wSj|Di0or}>B&*<(1 zWAp?*2%3_Sj{}I5zET0#GQFix(AYtl~~ zaPs(qycC!H?fS`5vc|zLt-J#|MQeXGBReRV?xkWwWff0@CI4`T+^^0nQQSgYDCcpkLZdle#q#S2pd1b|)_oJG>n5!M*VAgWbI+}mm3~!}i6f1Cx-Q&Ps zu^Z5ztH2ruzcX_lWKz!m%*a*>&hpZ*zp{oc{dvu2je{Sp*#^p^$A5-EW!G2HoC{4L3WmrENV*7^WtC1BUk)nv~KPQ%`nzQUbi-=^nX3z-}dg zi{2vxXvH7cixD}H9=c<0#q8+CJ7(zuOWp-0(HBKWy?$5(T2i* z9-aCN{uP|->HknA|JxII>Uv%8i={~ZFLk|2ZSL;csm~^3ca3jX&;?IL_W|7!pCx}x zpug^!+l^U?wDoUHO&_5y_s!_=kb#`|IO5xBh@tgokUp&tlQ%QcuwAY8Gg{k$wD`XH znjS^HADB&RX1a?n9!NzG%op^iXTwBn>@IdH$V1<*=}>GlV`OJzz%WDmM*6F0W`5Vs z4SaU4sBgSEkWzd_W7?{V+~FqLk=mdITM*f+*ve3+=di?-VTt`X!ps%bfR9+} z;FqILf_l>(Lo{ot;9gJv-&OMe$soeh0m~fx2vzNg{5s!NAJMd>g63e4@E->B48Pf6 zT!AT8IQTuQ<)CVG$`nmnDmcp1|ME)ypB((`W(3bKV|@Y2qcR~Hw^Fdo)BD$zynh4^ z?YVD;QlcsH2CYJ?1iJ7XG6;K)s@8U94%!0F^n*@!Ezu)ZEdbq0BTLo;OQ%6qMd-6f zMQ*Lptfyl2-2dD#Dy$+(vA9~xSF~&r&+77c!JFINIiA{hb#`(hm!kD3q<{K~7LlbM z^5-kdzXcX9oeRb)_Be-_g@ux@9HLF*TOR&e3_+-vmbZ6o)c#(pH-uvRP-e{`)Zb6+ zbnug8%Rv$Jr=MutUcq?w*Eg}>;FQD)lfer7UT2A=ARhnlio@g~oC2GTSxI!Ws@SNn zqs7%kxmWT#fLq#eY~KV+Pv*g83dT%Xx#%LY&&`c-_IzvCYKpwf1Dx6yd!T zj2a3%r)mBJhT~8#|CYV#K0vb=p`X(ZzaPhMw+NgYqiF+%(!`o#o8Kuc1I%23QTJ{N z@D~xW3LkM(eBVRyk8X-D;$6bpSiGC*FMiZZX+ka0CM0B-%cNxfU13s}VYc+iTH*x< zX7_!0n`Q`2uPs`}Dp=&^+em`%yxal}7wUY$d^s7 zR*-L?RmpObe`5s)-p=t)OsRB6n(XJ_J@~1I6uG|B4ZJnX8^%YVT)ffD!!E0d8HFj% zmm&C?@9ZQyE;s6k_Z)FBnBmm*Ctghq6w@3W%ZM0WkUJYFLW>nFWlhc~wH|@rSinvx%yl=_ z0^2M1Pr;X-oW{$=To`@>Om>UhmyA&y`Rp=Bb}umgOnlgV>|gX`4KXL}_W#iR`yKhX z$9+ZTUxpswi^(46dJ+eq1QXaoXNsKW-_E@WO)lzM8DnQc+cUDyY70i#shkod);hwF z0$o7|>3)z13{vn0`%9aEE!*ECW&K9d-nmvFooyhhQ_T;2@;mXHiGJ`FbO;sgeO-S> zxA+ui)7@o@yMy0<+yz<;fi-(MFL@u9 zQOFO#;A6<;PRVU`3-1g0yCQequN>gP(ey(jal*mRcFqA^pu=IJMRf)5z(+FG{K^O# z8k~%u)6#m`TSQ#f~_fA?X+~W5N04q|H$ANIP?8G>6Q+DA-nx( zxXJ_)5r22+(@62AqZ~=+kCG8a8=HxUY6{*#JZW&48Aj*!G;eFCbO{>bJ)kn8C=s1} z0p=@Kwa2(F7bWH94W5AA!aRk~&i!n5FL_ z3y)Eo7*WUg{W0nrBSIUnHhs7?Dz7LpKVv#t@`9e(xtxx%qiJr82sH5jx)>4CcRuv3 z2I-_*e{_pH|La*X-dt16C!G?5@{uGMPQ#I(Vc2*D#ZY^Hw!A}_H zfTBJ^Xjxr*BCFSVOk);g#kzX%LH(acysmV!EncLMm)=kB0P$ah=gqrVtXoyPe#Z&a)+moga% zlyt0lx&$tcbL^%O(<-rHT)1|@L<5}!$lY1tJTq=Y@&bPDe8!hN)KOo46< z_YUGN;3XZ!fBk}BStRJzr!?y!5mkZjjiEgciTW0Y-+3&3_>gE|aY&J4=_dGfS!)13 z(xdxf=dw~tA)Ul`4t@Ze-{LN!s+~ndu!0GY&YChcg|{SKFVVD|vDB}#2<2BhvO0^8 z9f{wfsRIR3uZKnSU@^IS(D$@<=&KQFkT-y%2PBY8nltS59I`*&~ z*5!xARljVQSPr`LA3F7jh#9PKgjDXbakEEY=d`&MSO&%)%kj+e2(0(x6xXF9ut-|k zMZE5J4l$dA5HDVOM&?g}4O8l8I}c`Vj3#Tmr{IbF!CAZGEpf#zR=7~XxH-hNax zYIN-@RMpWnMor1Ut2AvOr;qeY&OtM%)jqFXdYm3SD&F$rx6FS9-T0hNbrm7O3Ma8n z9tb*zeA822xZhRikMJ|-EVJ?pbWzqD`Y%?s+=AXb#KUxTf8?AJSmUMOPzrVKF0MKF zadm#VJ&Kz25aC@Fyujj^BA@6CZ}~Xj+`Pi9+#Dw-k2xM`Idq)8$8v2C(b;G_jy~=o z>es3RvE+R0n$rCLj=~@}g;E-eE|gcNMKFEUMc`xsO5avccY3#{XzZt8nNt}aa=zxr zC6pa5U83?{B0N~(Gi-yKl{cN99_cN9cCgZ5#B3e4>mwSsRVvAiRJ&RN6-*MuB<1&K12dYM&^c9hz3hw#` zFQ=VBwTKs&9Gnp>yn|}?6QO{FfQKSB%<0J)r$Fud*a`25B`ZQk9 zX6Ra6zn~qL3|St#qC9Q`bnE+a{Ck0=JImrFZ3R$rf&CHZ@;qxiZc7m%fmzJ2D7_28f6Xc#r1w5q0SH0P&6^3eGHcj^0WTP5l(~PqWinABc9P z8fqRlCgbSKfufP0g0X324iaJJ&@^;PZk38h+{#ZORF;A2(9eTJLq7%c(kO7S2s55Z zqu7_sKx*AVl(k{G`=F!WptgKq=!*>0mH`?0IT_h#gn472tTPp2Y1A@NM7BSRR67B0 zH$eJoqe|TS#_W7UI|cY1vkqWC<$5rFfqA(*@Z)ltMw^C+w;i`pH6tLh7uSrSa4Tr0 z(@bC^GTj!7he!@6i6#yeP5cz>oql-DQ1QI(SXoo|y$#Bwo=GCoPr>wb%1;u_t*vmn zRg<1e5)-U1@cW0FRDHNO>WKXjBMZ<1IzL=Q)m5-G9dlI2jU>3t`jKjm5ceHB&`~-D zilV@gBD|4;M4uV$?YvtUeiZWwbc&cMrXdNw@HcD5p1)MdODQUi1G3a$dS{pi&u! zdoY6n9uqCC?ogC?i+VqX&T$@opG5?!k>403yn?qf=;1M9!l14bkdi+cvmkXEQs~0C zW;RzrWlOkgaf@X4Yd(ZlgY;j7aCOb>Zd)Wgcl?EJjzQNk2fye1LVjb#8-BBpZaY92 zuzfUEgw;@Z4D@E@(YP`A=+8qqb0$#8S?@(Bj@RFT&S&h~=~B zkCB#3%{A$^9Q@6Gw0wdHtaA^)4Ma;{*UTsPeRzz{)ac#@(TzTujB)iEU)^^%he}f? zqES-tmL2J)ld`-coxmKANVldj86wi~&*Dgq3Eu^cM?m_kP2J*m)`yJ_K}gXKD$Ya| z$iwfs4%(QB8o0Nb?i*K~%V}zs2=i00B#V}0iH3$TiFRj+5aW6lodT|Zl5IdvqN9|Q z%O_)Tpa$A^Nek*w?Me6$B|;sxjiY1m)g<(y6%3n1H7AQez319Ye6k*%ELw!;Kxz(1 zeCioGP?c(}Jo(QU9LDz&TI_^S1b6;yR#Y`1-Ti@p(^?6?=C>K0J-@IC529UuAxH0`BLPl$LF4 zc+OZ2m)}9j(|DH4HL=Il^II0#>JmXe0OKTQx#R3S4*^8#O__70&{Bp-<<1eW^;mfY z({EQ%@$sBp*AgH72fykWJgtCraAX^@O!tq*=R=9zfg%*WiUuG!hq8*rBC8Z?%C69z zVsUhmc~|ot0qTT3Ufs4C`kQ`Lrn3*{u&}~8$E_6GZvI@xa==e6>XFSSqGpWF%E(UV zyZSi$9)nBVb21Jg&>wx5Lgyi0#^HAqs&Eorn~_OrX&N7C&e_$Thtt@+|;Od|4e z3Fm5;u}3y$yp>G*T+F7vq)HkOCm;U-O#`i3AX+q5Fy5IcZjCNS zeoro4S|CD$SHjuu0J|s6Y;bYciwN|YgfO1_Pz2IP6U2JQQnYT9Fc^rYZ=XV6P{A{~ zb_?Ekp=jMYn#UBNF!_inz8Wu26&S2r$~_(m?D~+Di|l7N`C*&`zI#=l z3>>#kM&=OIp8ShiEfR0^UxP6W4_q$#BN!ZbekHU9Wrv7&cq%^2LYrA}E`FS|Yj@7doLi z)eaL?*ENBDUNX}L$$6vG+ChfX3Sfk1TL6pBgOH*!B+dU)E%a01RsMCMN7K>2;3%v{ z_YO}DFB836D|pKefmOSraV($XRuPS@`4qEU)Qz4m*^Y&@!L4E*D*zM#G+^AWRm^`MEFPW~@rm;ugs6@Ew?ponHD15f~l>u_%!K zvFX+%9F=n2!B6z1&MQy>zQ8A_^d^6X{$3$^wo>qt%Me#IPZxMZvy56V7lF~sCD$vK zc&MRrEXNk$wjL3f+)w(zaQTUfk5@-#;p;llo|3!EwFxXP^lpnVoKN>)Su$2|IlF5@ zB<`B5Zgmich?^9;3Qc$s8l&3s+j(u3h-jqXjmp9LVV<43FBWBfoCaTm$^+?()%YGO z994K&JR^SgaU8*_l7aRzjQ(CLS`1P!9vZTWhD^)AIZFS?2H1`(8I}6%C6dj3_V}^6E+W|%`pJrE?-`0zMRwgu_v}jJL z2reED!NBuA`CuIdC8rH7N{~xCo#Cq|9FZqK%RKRia~Mc}P~EM^yhN74PT&J&F}=D`L`N%l1Aaa7YwdKegeaO$)k{UQ2GMZPld%L-m@h}=SS7bV#u?LTaH$Bd zJ`@6h>wRh?kh?;rP5*9SX>qU0*q6b8qab~OpIZz+mTu?3zshbU?ruLxw>#kb3i`Sf zCAl1>I1nvzCwhL9Xx&P|gVJVI>i(*S%St52EjuqvU%MHpQ0jwm9Tc9R*EWks+AHY) zgjXv3z>K`|z&1G|oa^rKbW66a;<_8Iu!vD=&OZXZau z`{36=2>LO1x7)JV1c4vTZl6|hD>jo5s+?2^pKXUPxY#U(+-jCR?`s#ESazfy&x@BF zCoqq5ndft8;Bz7@L_yyoP9l})LlEs2MRpY_eGVP=+t_2g4%YRijBTQQ8wKOpm-58z zL*R^mO6faATmYQdNd0E<@s=pwDM=E&B!xvlCaVB!(Y2zg14amC+EpJwA z0!JY3DAHZgqqXoFegmQ5+3meaR?H?W3UcWfOZOq|RV} zTcvV7=T!OlleWt4Ptw>j5oClvNr}5L@nh18U6`!=1(xm>t((?{#t|UZb*P7A@930fFwuW)%2LejUG0gY;wAfl)DWcU#I`0>7Ny-f?$ZY1d8gYaj^yU3a%K=@too zN1b}Sgn8h-=yGsB<6d*J%6JyciDx}26G``@u-!^YnsMRevB@k-hxOqFd0MYlq~{Ut-6XiaAU=bi#xIUljZQGN~Wrp-VUq&V7c zJKQh9M!O7H1z)N0rH*$T}f1%E#u}2vxCj3 z6lOU19HxEKRG%WMv0vo|$F2|s<83AUwXrQ8JDc3((%#lu0YFpO#X-t5SugoD^BZc0Gq84=Q}f z9=I!WbF)MOu1W3Q2OE2W7B7WVD)EXPGi1OVE9)u_!8@v>vj zcH}!~2NfK}t{Vk=&-G0033F-RQSm{*u0lL#gNhZ^8Q-_R41GH`c_^GiP;T;5drVBa=fj=9Ez&{UiB}-idgSzc= z0o+?2E{1g3=JPAK{=2Bg+t?ReZ5xU>XcT?Jw2b6>sD`9eQ~g@mp~!Z z_gxX%TtV|+9`-&A=x%Sbf6?-H#X-j@6p+l>d}?aI2@zSW;3(bmcQVPVcQqw=3!2&If1DDbT@<__HM_F57Mh#D zCB`{O{t9v>%zX&jf8Fiolaqkk%u`h5vj@%j7}luiTwEkfHXxWFsy*MYrC;tODLV`ZnxSpM3^ zp}I%medlh=4gJdyI}7+|fjl^Z)mEp-MK9&y3sI!h3j$m|YA^$j!(dgI;a^YDgR}Uk zYg5o_gNi8QL(!zZg54pVm06gDp5*bFhBka5uNoW)6@6Y3=0OP7GUqL({BIs(0T%VuLRf!maK|t`M9r=4c!b5N2Fj%n)7J>5^(T$ z2jnAv;nE5JkHiiK$Ae8cMQ?s2BI+xsJ?#;fx=+*HkHi7Tg&eE}=JHzWp>v|e6a}MP z($77Kop1~bdhs^vVY$=t(=t>9{td?kaP*46<6wDy9;bri8G!*$Q=6Ae+)Ho{U%vBe zac3^*Vjrq{UNmW|@No_}soy|M%6^5Q8kX2FrC+ba-0W2QEo4rg2T#+u^B9s|dzzj& zFFp$>gD%#Q9)~i6{cCqSRj0Q%M%8bpDVJEMDyQaU|DWdE5?k|-5_Ph|ra(Vb64NXM8(&Q$4BRG2ihuV>1Hu%qn|mz9mOXBQ~PBI^H{ zc-OB*KK6YVpe*;LdjAp4$16OJz1c;d3&7V53skNj0OtgAaLOkKTLNvBJHhcP2Xn#l zECIY^C5z zPYv(=gNFT1(?-GfHc-L<+q6Xw$>K7&S9>?pG$nP>Q*rermE(MOF(qCS-}-%xN?SA) zo$dkD?JMl(Q8(B4~WcOP99hLv$r+)Jd9*F|)Fg)e$~{AnqbUdOj>7wQ)` zAeof>t!UU&L2Vf#<*Hu&7meW!9sqCnk=K&z7@y)b|7Ck!*2|se|;ySf)yUa z-du?_b(!X!%17{V3dLt9iRS-Tghwm5z|-UFfL?j{!ZJGdU&QF#GZ^tBMnSavh6rt? z;6+y8ic$6DfWr#&r=?+A4Q9>0L8End8GU{OBZj3J_<~R1Vdc*6MZ|ao!`O>`^TBho z@YQ4J9PGRRyg+J{tD`*AF#*ua!tP+{_C!pYJjul)!(m{qooV%?*58ZVfLoK$o5{vP z+;DUr=KAP|Fhsp}yjh5|^HAZ;VYy6MxPnbdDze9@Y)q!)40Yr5XO3$W7!BxUo&}by z1S$5dvHaz{ih%gT9G=3XS)|kG^SbsMGv$1eD;o7z*cr*OaJ;huGkl6-<7!iU>X!=hgvWtS(Jyo<=2}@im>M@k3JLE2O zSt8Aq6n0X?*~xnlMzJ-$N1?W1LE)P~eE2DIZ()2Bk`6T}#C2%TFPMc=FdC9>rRHmfZUy)RV^;~;$&fb?$-~fG z7)rqLDl_B3LYd)xqOK$#45oYekTW3Dz_kBv(=RtfS-{Cmd>c^QcRYroe%nVc_mxGx zUNKfMxMC=GZMBEht)F45-OIYa8SRhSVNOI80TB8DoQz>#*9uVV~7qPW%Ocx23c@Vug(`wY$dALb2$ zCSo@aa-@v9{w^99D|pE>m~Cqij9Zaez}S`06Bv3}5f6@6h~Z#WDl#>}bW0zHECC(B zq&>fh;Lv+8BXEr1l z{SHrFW`6^gKH7O=?PWAy#;Rf66(L z!*b$QM!I2~pe5`TuykLkpbSX!@S>xF-?^=tp44#VNZb)W=r{sT zEOLX4~XXC8a^%e46=b^gcI$Jf{!y-$mzizdxuVAdF zbf0xnwck6CJOR3sNdpY4Regm=d5TYQDrYNLB%KENK)Hf*J*A(8auar6?2dI<&^a1p zTFvS!xXV-eO{a7a^ag{vP=8@H3sdl%r}Vdg{3pjDWsXtskPO;IahBCMSiw76#kXkcnq_V`@P;f#jRAC)b7Nm_(A z0Oj;E7A$RPj^VKlT0?nylRLefme(Q64TYTmA8()sHLU#(E@DSOYp82=E3}7#>1=?@ z;@yB=iLn5zN?$?RNSmso72q_ejhyOD$u*D;3ZC-RI;j+a6xh=?YTn}!L=-pddWWWg zg$MZL3{TGZe5@q$MNKj*1K^a5tBz8#u*%j0-a9kH*~Q_AN8+j|8CPz5M|9(n+3Pi} zhCLK4fxKH>&jNbI^$oBp#dTLHPXza&vHn(er@e8wmIHJ!AMNE+hW?a~90kjb=$fuv z%Q+;QCrz)hiS%05Imd5E!ch@XPdoA^X*5Czq?UTkp{?zcdD3lPF*x_-ov zAz;^h5_)f%uH3tCq91Epd!p|^w)Frst%ay4c=&FUEwv!TjxGZ+1AcW22-BHz7jIckLzSvbP&-uOy^R^i3V>4Wr*&+FI9Y zZOkmDb9Jqw;rx`!T~PTnUF&yIU$Vl`6zdeUj6b-7_5@n5JI-KC$@A6;G_{`9Bvipm z%7B7F)258K3qhv+*Ns8UCpal(qvu9>AEiWB5_N znKm}CUURU)xTF$am$4yMl%Ik}w$O?YD==1UMZ6ChEfLK_kUGzSK7&99gYhdXO~a2f z{G$Lru56)YsBIOQRa3iwvJL7o6ZK)CL1Ewd1Vt-m5Olj`*+7OW+IAs%cq?6Li1zPR zPfQo~;cxSXP%AW9!Ex-v9_e3x#?W2|?9OjjYDe3SRUK*m$l|P5OB&H3+i~IYQu> zeVw8&!mQBY3WmXlo8>brE9e0hKY^lbn+WVZ0!{)CfAmXBe0W_(hoFhu1KLYgxYf8= z!F7;!3vR?)xp9CWeUDn9OHI?-Z>D)JXa>&-A0?P<7?x}i*qrUCPYl5 z>3mbGNqq&=;m<9mGq>A~d*euaXG-DaG^h^UjkKcbE4a?n%bxA_MGS+QS(b6*85+^d z3N?ai)AVN68ONG<3{pYuX+V?}(NMuNtfH^S4VX8#lmAzk>F#<&#Nw4>TrK`nb2PFC z@m)FvIzj`QTcNEKthU3c0G*wkYYeT2!mcYdTkoK?&8_1O_RXKjSW0POHSDfnlJeoy zuu5TT7t8ee#Zq4Jt8iR_=g)Hm!`FY-xoKgP`KmQoK@Hr%o||2 zZC>PH^u!waDBl0%+*0$JN#!k3iT5HYrz4zbdMVnf-&(RDV9 z$jo8#YIJ+D&VLEGJHYj-iIc(dtck0@aepRr&hzxjkC+ntsIzZX`a8zT8lKl4)6t+Y zC1|P_8~WiY)#DO+42w^}YH@)yMAMYaRW@WqZgyen#EhZxsbzU@s$(bEJyUbkwKu;b zkQnQ*UuiomSAs5;P+qLnu&u%&EN{ohu3|%&QCV--o%B|$_3t)!pkoqDD}17YTiNm?+}@s;pF0t^rP=Wb zegRyMw)7s$+2fZvXj8ri^vb(;!Sc+z&k&J@4_Vm0iMSsJ-CIH*bg&w>RJc>6U{aZ5 z2g5fh4SIp6%?~-W4%jycDxz~8t?-r#7FP1V$>pC{85X}_8xRG*3833c>8poefWmt# zDfrx_fZNWKwgCYr*m_XjGP{s{ZC0nLOQPyWYs#g(lB&kLD&oRPR$~``Lwb=bS8u?g zo*mKiq+6Y>mc12h&;C5731@=imD)*QRT?x*+(ju5V}O(h#g{=RDC7|<)K9^6yQudg z*4w%-SzRm~MjwOgU_e21x{KA+Pr&^`2($zmZ1#0m;C>jmJ|kzlC6v^Pb4ZKASY`5SWNL@<#qV-}y1i+%s|@vwWOe zi#!q&fW1&j5>8|DI4F}o=!Nc+f@2U~*6?9H(b&fl9)DmcH>h$2JH;rk0Eg$%S?CGp zSHbW~;#pwn$*duzXOCfh?5x-ZX7a>ggA#{j;kFh|#}(k%e?dC7)lgP%>jlS+cQJ-J z!DXy|A1l1Rg62yeHU+Sz7O!QR>WAgbOUQ-liEDf5VXi!$4Acxgc^`&(rWwtPNl4fPp- zu9t%Gp8g&$qj>`m%9xWF1A%-gH32EC;4Dw+)n#@Hzmk9y?gVj`TR^i1T8-)}xYyIm zNtc%(x;hYs^*@ga4ASV?L1={)yzc2Q{AI*1Rdvp}keM&rf&Xui^}gdMN@)Lo^SJH3 z!B*o)1-r8^S1FytFau?>3(Dj;r~gKY)~62kdmR)_e{d~kFWX9|4o5UOiK1ZFTpBV0V|oQUv2T}6Yu%LwbBdLOBS!{v7QbX*C+5@Ig;)9rr>(K|U^s<1`Cml!mu&@D!%1rGj}C>G)rd058}9 z#*DH;IAsTpvOaN?qv>dYl3GH|M_bJz6-;6^u2`&Qs8Y6YuU*&{jpizd=I3irJY^+Y zO(PZD>*@cdyZ>`e|L-STpZZ-uuHFTeZ>OD)p{gicZJ&n$t@qL8$E^GDTn|Sf7Z>b6 zqw$)d?=k{lWlHai>9Q|uPmC#{1Wz3c0W;;z-#OPPVyt!B!BuS`D2y6EZiO{haEGVA zvkVLPns>V)d}E&-|JjeDvdx0+=RoUdV2Tx%pkTSDinjZqLgo>-MOX? z)5}h$ms%NE`6)rX<5AIK>B9^wvXg=*JiP=Sgq@ic`*3|2x|M)$of^ANuueMok?^dgg&I&H|^!E;+S6O)lEVr^kb2Bl+ zcnQ;QmqCTpBg+bpQt&Ek%gp0f>dkeA=6Dql_qgJD-Ko0v`#}tYYM{e>F0HwPKFYMR z{8+^e(Dj$8|0L*9ID|dA^u#eNsMu=M?o~TeUYLZ=DtqrZkoVDLOtzXlq+q(IhC>V| z$n_llfNl3w_>@!O`N?Ra@J5X9>!4EFlWj#LD0so8@NGmb?hq8BCFJj-T~DLH@k+Y7 zU||CkzIva)%O9^&=oFNRgM)F#B9RYhd@;p}7^q-6YqaCc0en^|fFqRyc-|v`rw`$> zm?Wzk&25R>*B+!|?(kMs%pG!I>p)>-j||IcAjTZXc& z=T@c8VVMbz5&9@Qg0wu>I_%(-I|n*JgYvA%mI^Lqzpls~sub4t!*;J}e;!h33{r@b zr4!{$wVK2$c)?T2pd;P}$1=xdaBYSa2H&;~u92h+#x%?D5ZZhl^Q;wV<#z!^iL?CT zemb0w7FOYG*5!)8SAgZp{%uES#k-j3s0ho!>BMncK$i=wuwn)8c?R|R zYu?c;b#kx)-ud8-lVQK6#07jDI9}F-fW`B;*df9D5e5QQ6wMd_-i)@_adkBALBQB9 zkvdL8(kplo0&dZ7@j9SKm#`W*UIG5e0ontI1vDhbD)Zw)IDRCm`#~Bx-D+5@a6GGX zC2rswFwJhu-bcBc1y}FUN*43D+Da;z+aw>izB-PGslZ~ckJaSFeFj1J#2A{ zN!-b{kt6b9fr}czU?%V_Fo-eLg7UD3bpfL;t>t zTmwz))jI`K!1;X5FV`F;7R{l!N^L%%S2`tt<(^I{Z_=6B_+~9c9Vj2gjpX7vR!F>p zD?Js~I95sFUtS7t0CUObD*x%5baRfias1o?I3x;6KZcpDKXtvk#VfKE8>^LbG_(g^ z(icE-8>nJBc;0&18`J{t=sUna^AB!xHStq0`xwocXRUS2g406KQffFK&K1yh_REITbkOy;=!f}Mcm*yyMwkC( zt!;DXX`E3)Rq1jZv3yt8m-$$OllrE_4NJk&t9=n`K4xH@QfH1~ZECSajw4~%w*y*3 zvlm#+jB;BWb$QD2ty<2i-qZD842$N?i>l+N?}FrhP&Jx851z-so(Z7dRDGe*;T;=>FU=7E^(mSZ`01F5g&!K-=aawkQ~RK!CDIl3)Ur813v|qz9pj@ zGZzWH7_{RZJGy0tHGCMJS#0AGT_sgUugta9`|X9k*FpE*q5F%F#tNT#OXi?sc{}tA zKuPq$V$3QkSpF8L)fT+1wrUB|sM>L90wpfBd~w&s=%wIAAGb3x8Zqh!8bghjAp zZ!|R25_=GC5c^VF+aUJPXlX-HG)gt<_j=ErlR5W(`gnZ*`Q683jOY9HKJRnp%$X%K z=bS-o4w^>y=b(WIj6X=7=GYbmOoYU?Alfz;vcTCMxjK5WYPneAj$xAzS@4G0_RfUS z+-ngM>Gy|f*K_tqQEl;J=@EF@up)5qZbLbvV{cZ98~muKpFF~h4FN3 zzAaMCGYYB9z+VD35K^Fa$g>TXC*uIX5=tEw+QNech9A-|6&du%Wt$hk=`}2a zsc53Dc%Z;qhp2XKe!vb%7!u4<}(N?;gz*dN%f0fmR(a{Bt#E0{)=JQgHlMgcnaYQv4e=3igiwsqIxe!`@`#f2F&mHif<4e`9 z5ic_TH^X_>dk_P$CI72!v)3KhK$OHk)T z+sJ?zxQ$?UYD{nynDHO38r&LS38&|94H1}axOTQs*_HSZSIiRIC#_HEpRx8=@Y!a4 zIBH!bc)f0mu@%^Gui&vw^VslMrSI6$xG2=_I|dJ82UT6X)K*FzRF%T9Zak$OPxK1sVV8=5W^0jS#(+nh5uunq2M}X57 zOIIU6LnFP=$LQ(3$Ad}%Eod2r7~8Qd;TX>?mIxz8JtKzD6Fp`4-!YoUo>P(K zw&J1xSojF?DQ5I?9IiZ$EOZnO0m@u%D_2(F8ARl|m#f`&L_Zv(jl*%8nt-%fSbTN> z4##BmBJ9D4D{0hog>9Kr;dxRbJ?#$}G{mGwx+%WERJ#`2DEu4S!sgs%S&73r_eaz~ zx@uhCdFVvJHD0(x9zl`up;A%g_rAv07ClAoViftMB^&XcV<{+Be|YILmN>tHBZ+0>kfWO`Z3}u&n~Ed-Q(TqLB0Kb4b8w5mC=w$# zAtxcX;y+ks!Fw&1g01~W-`ep?@w=83*y|yZq*3N7+rog{=4cTu_z`vdx3*FZ1ZHsc zq9?bg-i1l3a-FmJ)slx4AxKdWYH1Q>d}~`+B@TH^#4;P>ikj`PSjuu~&934?et3k& zug26ORtjE&0(3_=#Dg(>j@-1yR;r9ZJp4fc`VSKYsJk3r=%qitu@x5=h?kbnkTe-f zK}j0H$=JQCU=Kvt|JB@T5bRC=l&TMMdhj&Ne(Cd@7P+ zX+;t1Y$XB(4n9iF*V*P)&2pipAs@~1w4HK#^)&A&+K$j?9i^cgZRMy}u-|Z+nPR&V z&;&cKJC=C*a6N9I1g0FNx$A8U0*>QOg6|g2P?Zg~N~Hy!;2JbPda^>fev}_87AMyR z+vI@Qr+9LSC4&4n+Fq+J@F6EMCQ~lDLRCs01CMy0XDanf61h&X9pm!hi(=2I_$FHg z?c^#x#`B6&%qCkx)p(S%J&ur!>)1+6&{vhWQtuAqIYNXUbxgY2561UlCnDhzECo9( z?pysvKq)?5T?YHE|I}8h>9A-0r?yYM2>avz)UK#`um^wE|GzSPqK15iE~8lfw=naq zwP0`mpW0??N7!Sr^-?#= zqfJ|E$+h|ZaKSqOD}8Xj7#(d9ZsU*9;Zj2J) z8HLPyR^gF$j8al<%Pc3{Ew|a6RyvSwv(u;+aoavqlkoN9boh1IM2C1CyopBc#yWK)mEU7qt0r!slY49{)Xeqt z;a=N*wdz)Pl?>b47BzbVP2OkQrRHpM*WYj3VNus^qq_%eGqj(#DVo2jiwwz<{h_Dk;CAF+uREd+fG~5I=iUvQAFRelgb^lEl_{WpdH6h z+N%fLosQc=RJG?}djEv&ff{vy-Z^PIrw-WRcAT>PU{Qzcqo=2Bd(>O|+&j+LDp=H@ z9dzk?6#Vi|a{YkvPw9*-5p}A;Qs} zbpM=fh8nw@#-2wRTI{BPEZanN@E)3;g#ZzIsL}<_EPVQ@L!cdw=ZI2 z_Uxq(FTp=}FWtUmJFG^#-Rm#g%39Qzboa?Cwo(?g);79*6&_W$QU7aL=kBHJ*K8Y9 zyj}Vt+xDe;bRQMFj_QfqM{BM_k2pZ(Zy<6w_y&r;eV4oKPqu7}svRN6O?ThN-)0-LJM47~`&o*iGAhv-MIN zbfAsDA>#qv=#^Zo$8@97ygu54F6rEpUb};6i9KlJ9Yi_TgKFNj4bWP7qO7GCcM&D7 z13iURE#8yf`yK0h-Q5R%w{`PVW42S+L)#!Ve;ZBZb>4Q$eF%q`hSdHM!e&pVj7Qi7 zv$j*K$F@FN+IGEgNmTZstt_2*Y-^#8-%de)qKay5r@?>P-c!@2yN~^8tE{TZO}hUC zLh^cQ`X)qctc#7+0jr?#PLKx}OUechU`P`Br{>J<6X7DX}7ZAIQo zW}%_=7G~|Wz3OkZRrW9TD*j`!7GtyyEoXbx7J>iz+e+i#P+NI6+aTJeVwqtqpL)F5 z#};mTRkbJ<3*MvU+Zr`ZtfOzvWn|#5hWdwiq6g^F#{+Dwuyn;T3`;wh{cLscuWEB} z9GaSMYg(}v&LjR+tmi}_L*ZbtHADHPzzNT=EWPy19MSCPw4Rb3{cSP+mSXUAAvfK5 zgzo%WJa2l0^)+M5L&cWc^s;@z1+8tX#Gr4NULKpxhTPKi050w?>tD}W9$RMR)Tp%* zTxlP1Qq2~HfBp51(JKrV-Y|b#v>uY{_rEN@smj=}3p`csU&dBa{9m=$sQC-q>slml zvcnqgp7FwV*yL+6Sp4X1HIq+HsD^o=GkJ>|NFLne?@vy{Fn_ z20it&4^ty%xIgf>U$n0iKH5uy_6rew>?<`?9pM5oyf{+J?*Jo z3;xWraBcL{)$pUNs@4XgI78SpAS=SoTuaE?Q_+^U%I!I%RbklE=i`h>e#=suU2>hoF(L1Vt<`dhuZyV;;Z(+!oA+bM>Bhk z!3|0;{52PG)vsh#IF24O3KJIA7|c)U<3`nPfd8qAG8V3V*%fGom(6{tj(xYqGK=Qd zvp0D&FA2pdYptYjZ!vvuTWuw<#o_+`VOYI}g^w9O{g|=aN`akVe`fud3be-CYNHNq zZom5WFVHlv)4Yb*n8C~4HKXlKEo$Tq_wYvcfvW0Ec3*tWZnLQEliW9&*sEI9?q5@2 zQ~Lomf3f>?Q~NPhja=eh(A+-9swOXWmv3!qr+S{F~7Tz3Mb88sY?gIDUI@;e*vt!(~I@v$8sz>|N*KgYgsEP6P5^F7I5PTb3 z>$9(e65g@b*Luan6m6|+n$(m*RILkArOkKG>tgSus&TRIoUZmHtD2eZp3>7k3fq-J zk9*k+E!+uYHOonR@rLf1~C-asS)TKF)55 zps|DP?^{;8uMD<_YL+PXgAw+3EEaqdZj`;RWi_oDW&hSvf!d6=ue0R3AB?u+!?&S- z)5Wp&f35dkDs*X_{el|wjJAAizoDi-rMctncdhuWvHOz=_Qe+U-ZOgj6Z@CytS9u% zC-yaJ+@J0?lk5joHTIcXbJ+)2)FyfE_^I|3T;A_f@z3nXRlh&nH$JmJ@l%~ybYZ4_ zs#@zQb(>|Mp@u!BpLqT7SNh-!w202P$^IpBjsKN?<8|h3_jg~}i&)hCztE-G_O)vA zFXWnIU#v#tx=YNp7q_S*exsW6?90@!-{|x_`yMsMD4ernLqrC(zl=z zL-CQHt@aG{jLrS;R!))s4@GRlp2;ih{&|}n_cYz}>EG@4=W0YgJ>OwZR@?tcNolB* z?u95~CpMvdAxzea2ut$aJ$KoI(csdi-Co6_Cj8_M+{33f zzvu2jdpUT&=kCuk?ENfOe9DAw@3ViXKD^`Zyx*=_)Y(PcJrCFy;0P_`esIvf-=fz0 z$GzpSy{kn{yhpa9_H;G&F&#XLjTmF6*kks5^|IaF=D2;FMZJ38z5hFVEsHw-E7QI(<8>j?_$Hd~ zteQ2djq#QSTR6cVA4^|HYR5JluWdU;CGq0G?(EcM#j7s8%VhE6=ACU{e%-b?ul% zXE8T=&Tx92=SW{N+Pxm1owKMlM$=|hJFF&-rjb?%i$~LSUZ_NW*ghkTe!>A(4OM}YC$DyX>--^ z7PP(=Jj0Q7ZSA;aB6Y8$%~NZ&cHgO^Rj^nxDX5aHcG7(OEX``rY(7cUTKOgNUldeHAO(BKE2mWo2c}PVkKTzv(R1t5FEMCzo$I^THP>)Fb?-%gw?NG3UNp2N)={`)=XFX?_q(mMw{aTl zMeAE5g|oMNXd4Z8L-qQ*pT%k&anEy#V%wp3xku<(J7gbqmd3n^V)Z#o`ER25erIV? zd)ULy(lcI@1~q#sLuZBaL`VyQ+>j;cox7hO^zR)9!xnXt;)tI8R5rXsgtFM``f8+I}_c z2syigvoh&SS2U@q$K7$=v}G1`%(=xquoEU_()b?QF4dVywR&Rx^I6L6i9_mnCZ)ZH zLiRgB&R$rDWl|EaXPt8g_txrI)ZnAks*ko`@2-Z@?N18l<58zJJ=zX-krk%+WhtlooNNeJ_N;*-=f!Yc+s{`#G zi0#hoNCO9e(D$a&LY~(f(|rx z7%Jb{lU@u%jm_xhUNc;qVNs{PN!3ScBUKDGNFIrK|7X+Fky!!uy-6*!= zYx;Mj)>(ZvbJu7bZTgF2SbtIJ zytY>37no?gPwB=4t-X4AGF_gay{-Dqps0!3*J|E)_sNMG{=%L#ogPg>&BaWofs?V; zrqh+lTDlrBj22EoO>X*}>bkULYQ{AB(S?IAY#O~Y6*WJ8B$fVDd#=x`f>Ir%A17+B zQ_s(|OKKdFe2z+=HkDp}j>9{*IsG!Zd^r8lOdO1n36|1q7hVefmWL3a=T_~ z8|`Y7Pbq31JdZD++4E4^*r${;4~;JVQ}_4;ZBVeP-K3mklqPopO+roT+;lwA%7os9gGK4$@%H>Xo60}d>RG;|x!bkki_c>)+sl($TS{#l5E2+H95F{* z`GDfI*zBeOt!%?b^KkyRG|nXxlNu zS+_yGu~ihytG-gJ2xskDb#yJ%M{C|4T7&3%W2yawfb#C869OXr3Qw^3Stt7WSwHdj zv*LDSazH0jmU37k zu$0GA0ZThr*vXX)*ENUxly3G-0c$Shhn&ru~P`T~YYAoD}Kcaq!sl?>vB z$%5yZYreywI)9;U^BqpL*Dbon>xA3nzW~9Kf2F7e zj&kaz->Aa^_~qo%xCM@~YUo{B%zEBk+6Q}(c2C9J0O-KS1%IobUvWOfl`49{gYRR` z0-?p6be7OJs-mv-dqB+=BF?5iXwX9Jg`9`9U?D0x?-A`;i1J4MNw*iGoSpNiP$Jfo zo}m8*HX1knT@$g9IZtU~BFg*l8Lduqlvi{9rtcE5m+{@lXNjn+)&EfCMUHybq#8F#~3Z>(0 zk1j^fmY@yB6eq`0$1t^D38JOgHBn)7aH*qwq3kfLl8exIEJbhGsub62I|>HOm|K#H zEOXRQ(@Rm)Wk`}(nm$;D5{?L`FPEW7#g?H>%N*_0n6mT?cIuPlu(_hkS(P9ZHyI)H za}_=@KYHNXErE&>fdv!uL|Bzu_#a`BT>5_u#>a-RVE&x)R^=i7myAXC;jhKD8rt78 zAv=tbSTNwFf~WKap}OeZ0O9!d!1u?&1)rbR9hHh!eMc5J>aX!wFQMy+m8=Rn^>Q^R z?+-wKYW|hRqAF=qDf??2`t2*zKVM_>J3FXs5*l@$gPJCx@nt({P!jBZRq2Z)?6~Zz zv^5FUl~#=|CppTL>s;N6Su7MK1Iw_n1;NYd!6R!>=yD{kRg)SnN1bNWrXI_Y*^)Xm zp6$tX>FecaTF&}(d^ws{etmk#dR`-XWd$-h(}bc|IO?jKUZzS&7YQ^%l8TqE3U}rb}Q~&^uQBlAnT*ZHJ9}XC%6I^3Ss~ zpF!m|yB16T0i*lkLn-*;Apbm-n$yM8!1$11J^n*X<==PE2;IdKBE77tmw7I1@8cV8 zqd)v$m}jSR2=u%-`YxScg&h#vjs9AN9h20P!oGEs^NZkjd-swZ9cb3Kj(5}(edzkP zj;j7){j5q9<$UWXQL~_Bl|m%6_Wo8S5C7wn0Kb3ki(#Mq>x2b!uneHLS3BNvb${RE z#qCe`;-|grrc}U!8IdFA={tD% z@Q>KRIAAWrV=xX+jBfGdqt5`@m#VCB6ji$nrY37}z=wZG@oTVGLWj^-YtSUJhR|;2 zGau1qaQVb|Pm}mo1VIM}&O)hBSm0^z zi73a)d(Kel96n|t?caoLPDrE&oFrl~mEMd4Et2T9&A3u8Swg*dowAfBZ$?q_m(j}2 zC_+#Yo!pFOe;JccZN~Yd{Wlb{1@^dPYPc)Ysj({b$4qm)!d59O>l};3B^uYhN8wiaE9qct*zHa*amWK#i?xe zMoQa?Q(f97y0H~m=4>WgDt1@!R;roGr@&O|k&0S)wvA?`I;vI(bz7A#2+2)oTxWbC zs0}7e!vDqDU~oERr8>&{`}M=QoQfWIglV1(V-HZNZOAYO9Z9!2>Zl_Q)92feLCO)@ zybT$nZ^s2*ryZvkI-j6Q+tGgGPg3l5N4Wp2Q&uIJ=5Kd|(&X)qS5)U2{AJ;&89f%iwma6Z-?j3WEdh9@*PdiVOcc8ArF3>kSkbmSw zI=KT4JLVGQ?Lb|3xlAR~kni9t)Fci5X;-OV8seR~Ml;h;G3nPSH4X7@-J$F>N0mZx z53I^GRZ-GV$IS~>DNWUOIsyyjK16FpH5t}d^*b5k>~i@r_1lTP)g_N+?8M$W_=M7S zqP3j)i*D{j>&bpfMR(yyi2R#c?sDK#`P@n$?Q%G+oBpxVVkp*>d@G&Y<%sfE{(9 zovymEbtxKI)3Md{0?Cn%7KTUPvFRu)W`Q5Z>t3%=VmfLmJ(zZr(O_)Ldo*%G`sk2#=<} z_n?%wqN(g&bO!cRMhAM9fi{rQg(CN%tXW+tb|3a+W;YtQ&(XM0 zR1ZHTA2pDHzf+z$OG#%4JTJMq4<)VFmx}I3ZOrONjrN1J_vu6C)Il_VKek}?2efCu zqn^5YFg@Il$Vnek*#kH!Eg3?c4#4lkNA&Rlw92e_T5$j+Ju#F{9Ka3fnPH0$Le3jb z&Vx9}@o5#!s0>{SG-wEdJd;h+Z6Y1o}sO;-|z>>On_w zPt|(5F|?(aBpS}^u;n!W7%tb^3QA?a&~NDcF-Ie{%Ty|I9GsI(wU48MLRV4G8W~>kD?6fbP~ZH?xS&R?{|b&oJ3n3 zbBumG=_su>IZpRZqNbXB$Lo?*>l9AIO-@jYQ`p?-lN672(D+k+N-NJEQ1r=3^j+Zj zyCUN>9X*A>O}?jlr;yR?AL!N7;FKTfwbR%-JlP#`8V5=2IXZJ1yT7Sll_GTTH0o*U zdA8J6)3fO1X%s!{0y)nh<-?2A`3#D#U8b?j(N}2s8AKj&m5#DK}Lb@X*A@;%m* zZcyFtp&$K;dVY@+LfB23%Il<`Y3=upYK5|Y@w6ZO(L#?@YTSKXKM2OD3*`zyF9^$*es3m;EFDB4;Kl zyZuu?{ZWN}RHRPBladjcsIBqOXcEf@|K{$)`q7}!$Z1Z`0bdCPK`VLgN9Qvgm95Tv zKg!Q^MB;s=A5}c-sAx_3*N@tsg>>SjAC1C))Kq_3b{5rk%SMOJqIu@q>GoNaGdzH_ zb9`(BQq^={&q{LW)bvWid*UMIcc zaT&OLRuE$&3=_?WuXam z52e0YsQrjyG%E`?ak<6(^}k4PyGU={cNU|}ETm2?PT5%~+N2T`cmdlLgB}gM_A5!< zFCglPk~D>Rb}3qO0nxgYrXQHY!s*Ec9vne)FJfyl zBPgBM3FYZ$UU#lQL6;l}>gtNL;u4Oa%t$(U3H6v%iSA!QJ;qn2;LBJKc2M2R@Sp9Z z-j{LYb*@5lFQYuOt5O>4t*X(b%Z?^$XcQH@f_(j|Q^PCJA6BQ{%qca(& zu|2&O9lU~cBWlwxymrrm8HlsBU;y~FDz7=v;Zmyx9UwB@R!xjLc&J-X^B zUnU~jUpa&3@--H{FDllGr~TZErkdAKHQ|k^`!z?D`}1p#V>Xww3i{~lKa0XwmneyY z!Dp&@>$wuM9#`F4A1pEJfi=AK2#KM)l%|q_3(!hp4iJf#4Oro46i{N;c~F-w8#=$7 z5X?FcWfRQtd9<70VC1jxNH}3&hh7qM03Jst>-?rfFze$a=Jb;!W_^altk0G>82KxU zB?CJoNz4IwVneL(^V9%Oh$xu##pos{nA3BQLBXugMh8E^taFDy!7g@)z>67SUo_+-7i#H@2~Kw0N`>;$v^%w){M4+Bq7Cp(Ogn020GPu6)7H^Hp)1aE>l z1D+U7FzY;hnqby>5;qUKEP4TWf;ZWLUz`f&06c-4U=G03nh9o|XFLr<`i z4xU}uo~K^pUrFp!c9tSt7*3(POdX~h6 z`S83f8Q6g*eiQ*Y08dCLn0213P%!H}+n`|9c_Ko=dI2S7ohLIa(E0F;lML)IS7Hvp zGlhx-tn(zIf?4OOF9oyCvtkNno#)>a%sS7PE!f2lJOQ>aumew)Etqwl?piSGH82ob zFzY<0wP4oANX$BqvzB!pl5Ma{zb5c}(XsSupE7=Zav~XZJ9f z^+btTU)59SI6T>b=j_7@KhM#^)AN>u7qZfcD>Jtgrf#>uS%mH|kKEbR<_BWaJdJ?nF^ZN;Z){jce`df`|YAtAvWfIpHYm@`O`nDwg?v(9}#g+J>dALz{O-%|ko?2PQdpTZK%0l25AU=A=> zV%8HSX8pLttn2fhV=ZA%^ zuBtq04KjY7UCATd1nc=o%yD>(sH|_2m~|d&EbBb9S1{{53|KJYyA*x=ux{}bfX5n3 z4hjzf7p!lH#9Y7_iCO2N=E9$K9-1zg^%RNqt7@8LV26hia{%sq!z)ok4J2m0iNu_K zki@KykeKz%(^;D3IOIAX0XD~Q-eGijbKjCv)l;g^gIEM zVEwAfbIJ$qjN#^d}@{ed4@=^q#9Ke>4tu{5)I0U&s>7 z0n#Mq0OurToxfZq{8{IZTnX0GOUyctKJ@6uRW+%=;3>cci8%mI!XW~30G^;jFzYa1T?JOx#)*0K#Ig1pzLaI zJxXHM`Fr13;pd6pSz^{hQ=sel8x9d{(0`sS{7Yiq!hDH2z{K^YKkGb^jGo-6A)b0h zFzYt(ll>$N0iy|Khxj2MZb zyOaTvfgQ$6%mF@=nDto_vz{a|>pbidEBrhy<)Xx_=Si$T*s<*}6R<;&#GJt-iCLc} zG3&=AX8nxBtl!%09Y0rM{lU)9`+XcF<^V$ucpcIhVAi>#wqVwI!dbzr_cPh^V29@vmK}Iv zaKRja=L{Fj0eDJg!L0K%!h%`n`Hcm$&Qre%W}Ro5^)Rk+?7%b7$__k>u3*+<&zsBv zczR)3=Px)3W*t443YgPJNX)uZFkj=?q0R*}0Xy`PnDs4}ymjre$$AD?Oy>06C1(BN zRc}4`nul?Y^Aw=6VGw8JD2X{h1Bp3VwKKsdAPmq}P;2du~QexKgB-RUXll}E`yr%$ux&fXj5IgYH3{0Yc@xPeN zda}fvLF6rO-6=8a!zAYPW0*bH7*7HI^>GNgZ3g53XC&qTnG&;p?^n~G^@kF(UMkmH zj{sA~-;N+xpS#}5c!@b>$nV~IEs0s5A~EN@T4L67Bxe1d#L!)ecHcXLAc;A^Fo`+9 zEQwi9k(l*ViCO>ofp>hrKTOsy0&$Xo1H?9kI9p;4uw7!#AYEeC zyFT~Mpr6F7JOA<4>ls{d5yFfk zk(dM2d*NLG48<*I6Rh`=m@~k5UN8Nb#H?eM1?bX6;D?uH0(QW7ajyWS6iWfK9w9Lo z;DN%U6O`i1~+Jp=5?AB~P3 zDhGNyL`lrLR>)hAkXTPIF&8jOV%A$p%zFDm7W45TJG|}V&|PBI2TRNW;w5H%T99`E zQzd4-O<`}nb77ZhV24~EhdhZ{A63Nk=K{=@nDrsAc_N}m_uIGrc!V%q86`raJD>zw{typ7dTPZ(h4UBc8c38LIdCi2* zqjPv7Gr`Tk;xx_a`+~Xf-0O&W2>4ks+T-VJT7jpK6X|xqE}kN@-(fHY;g#}t_6gy+ z?t~x42;pHded+IPs!p3qr~I8YLiDKyjrf>JPr)d^K%28^3!br3q`M6}&!Q;!AFz1X z%lQ?u;%(P7Q!fR^z``#Prw-4CD$=2sdciYXPB#%Op4l=dfH83Kxy?D(6;;zr*B`q{ zbYNgVbo?vmu)w?sEcz!fZv~6~2+SwJqW=LiI!6`sH(-7N9xv_3V1JyWcph3&@QVI8 z&LnOC=818I{w7$w2H=2w!Qxpl^JuW&4AcKpFi&kP(k}w@TXNwnxui(JbW(!^h=DF$xZw2!_-GUE*#lvmh zz-!=uS@NrgJPvw+Ad9EUX=uHPc6c z`IB5CUNbO%txIrE7YzL6Fku)6=5KKc{tC=rj}n{&=8x3~-Ue=W&g5fY{p(q9-~wI( z^9Npp{~uuSd9X7$?EjY|I0vrH~-aD*kgGCn;=KEmLrG(k?3jQF8rFKPdCE?i= z5k{}#Z($exoY>C|7TubdPl88c!>StjUIAm;hf_tI9b1SVCG7VvuKS_~33HL6_zSI_ znNN8zf6rCq+W?GtC3?PsiWVKoI9;Ur@xdopCi_Qh?{~P$>c~kc*rYMiVIA--0 zSPm?n^09xtVqBao>RA-`H2l4L5qK{gv!t3o2^L*-IN>F*=$ga)Gq~QHbgHPcPeHdX zwm-(8-xUqbxB(c6nHOzx1Xy(QV*hAxsm7+>37q(v$#LMHUpIL)Sabv9^z%#L{2C_R zENz8@=;p-^-+_Bd`Xz9>#D9bLNL)4y=Ua(m!22a02x?GwUMbX28VsVuW8kn8jALJKBVU0JOZq185lKG{&Xn{V@LBLABmJM?_6cVE zV2rTs03K}U)k=3kBbFRmz+opi(QxPnj-77?7y)hzjx+R`VDWyKw{RW!`h2<@ikcN2 zY1rO29Bo*-{~ZX<8E(e?4E(di1Qs1>IQ?#L)lsJZ1#pegCg*|^CH^-YHM>|cR49Yf zsl*Myq9+b#&=tIPj2UnQSiDzeeL7gYMrK|LK9y+tZwBW`e7Fp*?Kfe-*+<`%7vPX5 zIott10gGMn4_Lg1<_uoJ*eUVenYkkP<|0h?Z^Ww)7Vn)|Zwu~$*Uaq<{XKRN@15CU z9C$MvDjN>-z~{g~{XDnlV4z;!^a$+YeK2%39FD^w zXqD-Z4K55$HS~wz3`zGduPFP#Fzb6L44f_LHNn@x-3`4JxZbyB{2t}8i|fN6j@EcM zw2&M=1-Asp8vzo*TO@r0cq>>GU_bZ=Nk0$%5iIuDui&WFW&xhP3qy4no*5Zv74Q;a zjpau){1q!YZLpm$nGqq>vn1{r#6wlK z_pgZCKjR@N^Js9K#9x4iNK9bN0e82gv#d)z!RK_3VZVKpL> zKTSOqd;ly8Z~!cxt#Sqzz~Wgd^Iu@`V2?Sd5^i!7&odWhXQfv7Tf}&>$A;J8AfEIw zzXjHx>=^}&2QTq6155%dHfmSe+0-T8V{y8oXe$rzm<6u`egqz7Y}i|1@ot9wIHy|BIxyas!wiJ^Z7PL%e{#mcD3MKFki@E16UcPkv=5%>%2ng}Dn3-DDi zP_Ow=hoW2qA2#$V;G_qp-U7TF+{Vy*fW?~&j{mU(2VvXC=DuGD2l3{C9a6y^u>XgT*se=00FNQ`JymdVxoQ#UoVK=YYi{Q*c9N6%67TDLbTrI~$KY znSTI_N1)7iz?kr|aardSi%Yx-WZ_6PMX8O}*3sBkIpAATYkLa54aU)>@5>nNt>lH8BIKX^3jC_b^AUNT1W7z~2@6lL43BK?M zpS&^(a0@Knld=93JQQt|1z6WE6=5Sbp)+)|a9l_%1 zFYANAm=g7Fg!6_=bOB)d_8R!}GfUBIM#lTV;`K7?-+}l4Vjfl(!Fdwj0gKno?9b0{ zTii1Ji-Th&u2vH@r@wzjhMb@=95zV~?ZD#oGwbhxI~%W?nTLbL>u2WA!STPE84_5$ zerA0$IP5o5KU@>X{Rqi$0S?I$=YskDG|HzJFduwQ;-Ff1DkX6wIA7vA;56w>+6F9M z7;=FI`NM!&dfQcW&V5_FZDt|3Hf}p`MjK%4ig2)>)Ce1a{lWbVy$iTWo>|cM!LiS% zYNYdlD^9)!)lrmzU~wuw1QxGIIo~Vbbm?OI04!cWvaZ%OUnnw{0gD%i%uT_V!?>Wr zy41z9e7wD)uPZr+z9ok1vFGpb6vOkFUx4pa!;?W{iwdJrSBNqrRpv%6aeeS$>QUKQ zv*_yTrrSK2BWP)5XQu&TY#v8{0CRE;)9odARs)j@*EjpXvVR%y)D%;%4HljISZ@l> zdqV9TPJ9L;o9;TC`_;Hu+Te5!8z6>9uwO(&9J_~0jmLF!Cj36duQ;8G!e7{tOXzu&vm+)Zr*_qyWz|W=Xh?O~ zF=6?#>dvOcM4wbnhs>3@UP{Cyx?kN{EyS5@7J;RlUR1S)v&P$^8!9I$@j5Evy6IO5 zEV}%#UKd;mU4X>7oa03HRw7cd<~L5fX^F*XLk(x2Vxs%2C`wizC89c&sp)*P{1Ts{ z`1MsHM)-R|?0pSeOJCG<)(nZ6VwR+TQ#^;5LZ@ot2o}AVIP&IZuxFcoyTLroz1X8i zz~bkpJbHPXn z1WEr3JRdy6h+oOS1zKGhGe8M&B{0vG#=C%9n!bZKw7OT5q^+xx>o9eQ^4@h z`8Dt+Nq-%jDseM#n#9e);>UZpw-1j4pNJ?ZnoC&_N+MivYxY)>oT--skW|z#gA+2i4Ol#kXv;6K4^;Fd8AEPh;|89w|qm_MP(KAe6l zI6~sX;PPPchtGMi7)@hUqAkh|7{u@y4sahVM$0g(tx=mZ%?!Bqp2gAC`l!87Xc3;=_@#@TffyMB2<{@1N^8|NpB#D_;Drm_u=tAyuybMfyDrC&hjEyj51(; z435kxC?YzEy@Bj*78sN;Fn?W)3n9wf3uPX!vsJ0g{>G0B*xHBVz-iOH(`O-lw(8l7 z6TJLgk6x0O;nB;T;FyMHfMek1U~x}!9?aj814PepVpPBb+>R`GXjbq>hH1Xrw$@O8a zEea!@F-n4KgK?PYg?EC-NP0AQEZEP`+knSQdKd5naF|E$ru2g$NpctoUT!)lQ^Dzy zz8Jh49Asp$0en=_^^F@sR~upDGN6ecZ`^es{ukV!gIUvI?a(nx;s)S2iQfhD$F?{o zSL7)0fNmxyg2$NbQrs}`2f;;xlVCA^n*-bgACI%Sc5#Vg`5<93-*6J0~g;QFhPK*bjP!3+GrIo!kX0 z4lI7Wi&snRV#6&MGE>bAo`b7OM_W(_G;oQ_g8S?={cD1cO56gxy`YNmIt&~w)iBzN z5|gf{cj=Af6Bt@ZRgC^NO02}2z!6fF9tRJW_$D}5s^UlBNfN6aam|)E7`#Vk+_&;R ztO!G{iV`bN+e_B*O4M z4EZ?mvBNs>7HOaE1aAe4yNpBN%aVQ$d!& zf#D-mp$JeNd`qfQ^ode#ga0)$=m5^$Z`N2}@Ex$YX&nxZl6C=xek)fcP5|TcjCY&j zB)F1&t>ztg3RwJj@7(d>s&C<>DAjf|a7T%If~QD447^t28Q_B^=rKmT2(TEJ$a*yRUFiBXl23viVGsio z*axCWAO`hHk5d!ksBR^I-um+!)m1qaWKrzZik zNYLLq!OM|8Jk^I6f@|S%IH%_V`0A^@{BdLIZFuz3?d9<3-y-v+*;E0i+y((#F#(c!Vke>gblNtfD1HI z3c&n1IPr>E<-YntAO8*DSXK9T==#qJ%>iKQ3*Q4>$4QPT=NmY^CQ&t?13JmrY94lVvbFCaq4=>q--ko_mdE(9UYY8*b5<;z{izbs4`zN$Qke#}!)d%R zO~=ahrcVN2?&YKZUp&^weMh3!3=al2C4%V1I3`0yYfp5eo5efYQ!|LViGUQz-0G+tRYfZO=+ARnIL z!)tx`xDWs8!?xaL0V;EqRF(|PZ44IsY*24H-X7g=d|UBk`1O*iHpyU7^?Sknpo>=S zyX$=UD*VNdcfAj{c=@}J!wYaO&V+pL#0Bq%HM1uO-naVrSEe-`(DW*xP3R=-a>v(CZm`hNSCv zFc)Bmz!rrY4nIo{!Rn)ztNKAOe#~k8^t)W$!h8gbpMJI}s#=uq!F(6YM&@haFO0k5 z5b)37`5xV+u;HO$h(ZEpwSR$w&gH=07y((Y13m`kEoN?JFi__X;PS=>u^tD0-PmOz zsPR$YW;(k(38ur)QaB(%k`Hh5;S)Z5!-pUHaNz;o@hb_AHcH$?7z}>PhvR*CI#qhh z+01p%$834uJD=h{T-}FT`fwj`Yf%rVs1e{d1fyPNd9zDd>1|N<`S3*_{=A^wo(B)dND3s{k;t69s}+qC7A5P^TF>(`br<(34TxLsDT6E-hxpBXJmH4a07<^ zlEZ!QhhRRKxb6K7{sJ6naOHvc!yg=Ma7XYlFyGy=e{XPktLJ*bJOo??%tuoN@OW@b zFi>%^VWwnY{@RDP`0!yLzTm^RefWhB7aLSifZ}?Is+$I#Thr}#aAo07Q;C9dx#sxr z8Xw;0!)JULT}Zs*J@H}N2VS~MDdBBUoIc#hhhu%Xn-72F!&7{Cz8BNaU7R5wFW|z{}+n@~d;m>`Te0ZG?yM6dOAHL+pI6&`v8F1_Q zq4yS*^x=j+{Du#A^WhJC_+y#*0R2iffY8RESGMSZxU#QFhRUo!B4 z&>Gy@ID+{I?*sl&;^78A;4=bFLF2*Q{LC|i3%nJ~X8=w=*WfP=|7BoI(a$6>Vdw-y zkimz*y}`VRoMD#1K%H}a*e@Pk2o3)V@DDYZ{h6bDxD9wH{9WygfW2XG!w_Qd0Psnv z0P)}pU=GMzIMra);HBV8lAaE}0_I`+?0*a#pm}-{GXDr}i|H-2_yCW?H5m34Q?$iK z!295Li+hG(a00)fXoO(BfZ%ZOr(m(q>w@P?+zz}3Y%}8Z1#bfvF?byKSaFxFvYN zW7t*3GYp0cP!fh?;0i{7I^g?YG;X~Ln}EBOHLLJ#@O*Hnp$`JD0XH%D6Yx!N3xnr@ zE0!~P71%WphA6`!1BOLly-lD%C%|{W#SQ%;*gwLo!d!4kaG0T6hNA|+WepAm_m{W^ zcskh6(3=g%@&5%3frjB7I4qU;1Mqr@KLPKScpkWIc}2TuROxE){EFrlrh~75+Zgdr zvp;$vWf+__9LHbFO6aw11h@%@V|Z^~$8dNAegPI+_#9jeJ$a@Wx_yMAECdVxSHUm9 zqDIStt5;F9WE>{Ei)(-@Mk(57M*7w+7}mgW&@j9W{;;~akB6`h#;t@NfWLTH9$jWd z6;B1X2KO@b`QVk{X$B{QtJgGZI34`D#I8&jI!K0GaBqo~kvLIE90r~&aV_v1iDSWS zYnzSuJx&j2(T0wJr%QYhJWt{~;H6+sBgFOpDGbYD;OEYqVc;l5`5TOt&f)mao%-hAat*;9 z8kqaM9rz1yy5ZjyJhq{^#iPOBfV&!PY!>)QG=p16&$B(MWIt zyy!KIoiG~FHSjO5E7}-C&jt5rhR%2fKLcNhG2?}f#+yEH1EYWqz$Ke|bp87OHVkE8 z5DsI&Jq!mf(3jx%z<4g8*9b;iD!U~;9lTfKYv6qn{{ucCaoI8W(6WbJ`VDzg7>-B| z{lUj1{uKNjIKn8vT<{&RILuan%d}9mO@_V+d=l(5cpvx?xUo@#nc&*36)hL%AAO6i zbAUFAw!ld60K5$x3FaDj2EGDbZRmkx(a7E~&+R3_OTlvuy&AZ7tY>^5x2Y!JfnaeI zyaQeY4%4sya6or(Wg85~jeR%~yr!L*!B^m&;7}uj6=3w6@!T&UeJc0@n6GwR;0!SO z(dZX1<`dw*!D1Jm1=oKQ*Z&wJ!3`Kbg`uO7!CmkLa8rZ-1($4Z?t-G@aF~K88G2># zPDyVGz7FQYlnc-k{1aFlro+H@+T;2!GW-mNhUi9A#0a9h)S}lWv z#^a~}iyEp3J}+@Y@J(<7!@nK4L{GB-1Ho0m?F@Z1*oB9O`paA{@mDac2ahlc^bNRr zFY^{^2e=WqxDnt4xQE2o!4tr%pz}U|0BWR*5@-{lSY3|FPiRU~xI0 z>4KsBF!RKc1ik>~?|$ogCgW-b z){H7H4ZeW$N{pd9!DXhJTpv6TtRF>u{cjG#bQrc92|9pZ|J1zW=>r}L&M`9hhy#3X zo|?ylH-qDh^fSOEr+J1Va*Zwo?*q3o^ki_rbWaVq*dYyu<}ip8%?a>iu(-UUpRTeK z+{6g*2iP*htRV|-hy5ik3=RN?8UE$KuY*MmJHaEtG3b@1S7Ch^cF#2LYGc9I!Qn=L z?%=<{fd&r&|G%#81vrW#4dD3fZZ-rV$U_30A{!vEJCT@o0!9G?Nh7f+YGJ>FM6Z*|u;A?4_J*WU$v&*<9HiZC-e)h3UL#z#j5`8%rl!_vpyAz{RIwVzJHoMNa7Fq zuUn&jAilB68dSq@%xV@JIRoR@)u_H5zm3%`>4F1Top3z9fKz3I597{ztR9cX`B)9|r}2L5 zlI8t=0@0sYUnG{`Uid>|u9NY&5I=-V@d;Tz2Yainsro5A9jp8t zJoJ$IUcmaln7|$a%jF5I#X}BT%jYJ19uIJsS70aZb@b-nU})92Q;l`NZ?OkICfoZ3 z&%?u|n{XWtjtQ~;w|r64{v@EL%8uAsYu)o?+$qG_xED^84Nk)2v6@H9@H1GoXW)f6 zSC)Sl|9~gr;QGIlz>s6s`g|DA#Og6SjThs+vVp63`f=+6h3zFK8XP9`ci^44hp@)q zuH%HSt;akCkE_!nco)lD{|6FieuAl1-os&d)Jbb%$-}SX2W5U5ZgW}=G7j(p?hxWP zaAzF60_3;hULih+@5dSZSTA^nrwEjPYduyMa20N)dW>taOS%c$&R}^$?6#?ue`gKi zC>-;>7EvS1cf+=G))h*}&G91~Ke+hZPhbRrj`A_f!s~vp=7DVd8BUhvpTvz=%>z@h zr#@s1;7lAY%df^+ICx7KbMNDs*srF_9RxlgkRvM`z>(*zdt8UJ@m!g|fNSwu=|Aw~ zAFV6UVlm&Wuv_N4;7%8;Z_|l*`UTd1)q_j|>nQN7tS}r$U$j2672xBzrOcP$@35LF zm*5+Chs>|S+Z(J8tsC+Ezw*?`Tecl9ZuDE1fLoIn?u)Z9cQ|;<$KfG<0_wS)Odubtdsd2{#_FCg!*Ak_ zvVjV`6F(xo1xNmFt$tNF3$K#-!}t>Jj>QSpV}JWU)Kth1hnDj78mmFl0q?|vWdo_$ zdEFW#{jnEU%X~IY`BRJ7C_N6}!0IV_7PoJ*R>!4FdH$mbs2;APz$ly{8>qr-aD{Xo z&c0!df%DjlSIhkGIPx!Rd3C|P;ACE_2F(}1y?Vm$n zvZx>%T#C1`E4msqZ{Tcp{85+qBix9emkk`j%h=@ntn_JI&L-xnLsxNgUe}&4^Wn=W zFJI?oZSZUD3A`iU=N4xaEgdH+@EG>Qbs_mQ={Yjr7pKX$3EMhs+Aus62QM-8y|_WX zeJI+Sgs-ad;(zZ@dP~5jy@l0_+pRgF_p#boT)ZsyId-vehPZ^nH8@`GIx2h?i;XkH zVU21O;sG){9z&Ch>-D=>R$YU{eiu^@fjcGLKE4Utu4=f_@Si$ev zvFboO+=RtUEAlb8BfrMEgZU>I$RLnGAYB$1h<9Um(ClH4>qDH4TZU<_kuv`T_TgM< zAO0f5({XpF<{BjPvvHBISpVDD9ojqsABPku!|Y4$8X)saaldfOD{)zf*WhZLE6Z=h z?q-$)cu|NC;EUL=D%24e6k%1U#~ZOrHuy8H#{HzP<10Cut6sWUIrT?a`4)H)7WY7O zupQnw%F1`d7e{IL$xH6gx)5-U)?BS+gFSIPW?%&yNWuefOX-Yq(&j&V*i_124iE(tqJEaPUs~X+SKG zYI6Y5V0*lEqUO?gUWK~~Pr^(f!U@7NEcX+BmRsvI^N-{CY`95txPD1MVTS7*geeRC_U_5I| zVTo247yR>M-WkRDIhnW8J6kztPUf_tl1y(=QJ#0g(`K{(7n2PQEAh@K88F$KlRsgW zs{MqwP=rJiT3p=Nu_KIYRqn{Z{(bH}t=h)L-CHoNs4(wdpV#Lro|zX{Y@9jf&T4ft zUXbV`Hu1Q-GSKsDx6fv*sdIO?suj%0FDaZ-K#`y8+)p{ZdBt%Pj8-SyQGqevxC6G9 zvhjk#IdR1S;@%DqiHj2K{4HG%0UZzOmd*qtAzcYfzU+Rqg|T&)yM5ryb@y^xU~`kZ zI>K1s^z1es4)^p3JRj~kR#0K;)}A4b zyqN`ouUdPuosQ)E-iCLj=V;(cl&510M{?c-Bf5uvG;pe`C+ECzb-z9^u%eY-*2dvY zDKHEE=+e`jj@0~QS+9rgaXP&5@n*fB@6ltD9LY(EX7*gJ9ua0Q$~O{@>GvD`+Iv0@ zoXOYkY0GgFjoRKE_w*dSm(!8t%{MEYdR`ywbfhE(PopMqtxO;8bfl*wnXPwTsz2y- zq~)iWg%is4zD|2Wx)B{kOAi`)RG4GR%n3$9gx+WjtI*>dNr_2j(P5Q3y-i9?F^@Xy zZM}%jC;7~FKi;I@6&AQBLf37M)bv!diu*RbTUemx13kuOk54mW2e#r#{wJ9@=bxE=2wKBRi=pMV5W3Qk{r=Rq{9nB~*YifblC?D*(5@>l@?-FiLPBZ%V zh^+}UHR{f=fc?7evN@7fPk;SWA0V!vynDCVW0$0cukOJAG~u7d+Vt3m>=UDm|D?xu zbyo19H{NL8JGPti2_^eNCjPuBEZf&H|KoxuU&PJ>IVx#^CH6P#y diff --git a/User/Algorithm/user_math.c b/User/Algorithm/user_math.c index 3d163b4..52b02c4 100644 --- a/User/Algorithm/user_math.c +++ b/User/Algorithm/user_math.c @@ -27,7 +27,10 @@ { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } - +// 对摇杆输出做指数曲线映射,提升小范围操控精度 +float expo_map(float value, float expo_factor) { + return value * (1 - expo_factor) + value * fabs(value) * expo_factor; +} int Setint_Deadzone(int value,int deadzone) { if(value>=-deadzone&&value<=deadzone) diff --git a/User/Algorithm/user_math.h b/User/Algorithm/user_math.h index 766dc9a..8021299 100644 --- a/User/Algorithm/user_math.h +++ b/User/Algorithm/user_math.h @@ -159,5 +159,5 @@ PolarCoordinate_t addPolarVectors(PolarCoordinate_t v1, PolarCoordinate_t v2); uint8_t average(uint8_t arr[], uint8_t n); int abs_value(int num); - +float expo_map(float value, float expo_factor) ; #endif diff --git a/User/device/cmd.c b/User/device/cmd.c index d73c2f7..23636e3 100644 --- a/User/device/cmd.c +++ b/User/device/cmd.c @@ -29,37 +29,16 @@ return 0; static void CMD_RcLogic(const CMD_RC_t *rc, CMD_t *cmd) { - /* 将操纵杆的对应值转换为底盘的控制向量和云台变化的欧拉角 */ -// RC_dr16 , -// RC_r12ds -// - - /*乐迪反馈值转换(-1 -- 1 )范围*/ - -// if(rc->ch_x<0) cmd->Vx =map_fp32(rc->ch_x,-337,0,-1,0); -// else cmd->Vx =map_fp32(rc->ch_x,0,310,0,1); -// -// -// if(rc->ch_y<0) cmd->Vy =map_fp32(rc->ch_y,-260,0,-1,0); -// else cmd->Vy =map_fp32(rc->ch_y,0,312,0,1); - -// if(rc->ch_w<0) cmd->Vw =map_fp32(rc->ch_w,-308,0,-1,0); -// else cmd->Vw =map_fp32(rc->ch_w,0,291,0,1); -// cmd->key_ctrl_l = rc->key [0]; -// cmd->key_ctrl_r = rc->key [1]; -// + cmd->Vx = rc->dr16.ch_r_x; + cmd->Vy = rc->dr16.ch_r_y; + cmd->Vw = rc->dr16.ch_l_x; + cmd->poscamear = rc->dr16.ch_l_y; - cmd->Vx = rc->ch_r_x; - cmd->Vy = rc->ch_r_y; - cmd->Vw = rc->ch_l_x; - - cmd->poscamear = rc->ch_l_y; - - cmd->key_ctrl_l = rc->sw_l; - cmd->key_ctrl_r = rc->sw_r ; + cmd->key_ctrl_l = rc->dr16.sw_l; + cmd->key_ctrl_r = rc->dr16.sw_r ; } @@ -80,7 +59,7 @@ int8_t CMD_ParseRc(CMD_t *cmd,CMD_RC_t *rc){ if (rc == NULL) return -1; /*c当rc丢控时,恢复机器人至默认状态 */ - if ((rc->sw_l == CMD_SW_ERR) || (rc->sw_r == CMD_SW_ERR)) { + if ((rc->dr16.sw_l == CMD_SW_ERR) || (rc->dr16.sw_r == CMD_SW_ERR)) { CMD_RcLostLogic(cmd); } else { CMD_RcLogic(rc, cmd); @@ -123,69 +102,52 @@ int8_t CMD_ParseNuc(CMD_t *cmd,CMD_NUC_t *n){ -/* - 遥控器模式重新分配 - 这一部分没有设置具体的模式名,后期根据需要修改 - 遥控器模式(RC): - 左按键 --- 右按键 - mode1 - up no_mode - mode2 - - - mode3 - down no_mode - mode4 - - mid auto_navi(0x09)雷达导航 - -*/ /*遥控器,上下层通用,按键控制,统一到cmd*/ int8_t CMD_ParseRC(CMD_t *cmd,const CMD_RC_t *rc) { if(cmd == NULL) return -1; - cmd->Vx = rc->ch_r_x; - cmd->Vy = rc->ch_r_y; - cmd->Vw = rc->ch_l_x; + cmd->Vx = rc->dr16.ch_r_x; + cmd->Vy = rc->dr16.ch_r_y; + cmd->Vw = rc->dr16.ch_l_x; - cmd->poscamear = rc->ch_l_y; + cmd->poscamear = rc->dr16.ch_l_y; - cmd->key_ctrl_l = rc->sw_l; - cmd->key_ctrl_r = rc->sw_r ; + cmd->key_ctrl_l = rc->dr16.sw_l; + cmd->key_ctrl_r = rc->dr16.sw_r ; - if ((rc->sw_l == CMD_SW_ERR) || (rc->sw_r == CMD_SW_ERR)) { + if ((rc->dr16.sw_l == CMD_SW_ERR) || (rc->dr16.sw_r == CMD_SW_ERR)) { cmd->CMD_CtrlType =RELAXED; } - else if(rc->sw_l==CMD_SW_UP) + else if(rc->dr16.sw_l==CMD_SW_UP) { cmd ->CMD_CtrlType =RCcontrol; - if(rc->sw_r ==CMD_SW_UP) cmd ->CMD_mode =Pitch; //左上,右上,投篮,设置好的 + if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =Pitch; //左上,右上,投篮,设置好的 - if(rc->sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左上,右中,无模式 + if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左上,右中,无模式 - if(rc->sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Normal; //左上,右上,手动调整 + if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Normal; //左上,右上,手动调整 } - else if(rc->sw_l==CMD_SW_MID) + else if(rc->dr16.sw_l==CMD_SW_MID) { cmd ->CMD_CtrlType =AUTO; - if(rc->sw_r ==CMD_SW_UP) cmd ->CMD_mode =AUTO_NAVI; //左中,右中,雷达 + if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =AUTO_NAVI; //左中,右中,雷达 - if(rc->sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左中,右中,无模式 + if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左中,右中,无模式 - if(rc->sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =AUTO_PICK; //左中,右下,视觉 + if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =AUTO_PICK; //左中,右下,视觉 } - else if(rc->sw_l==CMD_SW_DOWN) + else if(rc->dr16.sw_l==CMD_SW_DOWN) { cmd ->CMD_CtrlType =RCcontrol; - if(rc->sw_r ==CMD_SW_UP) cmd ->CMD_mode =Normal; //左下,右上,投篮 - if(rc->sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左下,右中,无模式 - if(rc->sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Normal; //左下,右上,无模式 + if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =Normal; //左下,右上,投篮 + if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左下,右中,无模式 + if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Normal; //左下,右上,无模式 } diff --git a/User/device/cmd.h b/User/device/cmd.h index 986e80d..9efab0d 100644 --- a/User/device/cmd.h +++ b/User/device/cmd.h @@ -54,23 +54,36 @@ typedef enum { CMD_SW_MID = 3, CMD_SW_DOWN = 2, } CMD_SwitchPos_t; - +typedef enum{ + RC_DR16, + RC_LD +}rc_type_t; /*遥控器值,使用CMD_RcLogic函数传入CMD_t结构体*/ typedef struct { + + rc_type_t rc_type; + + struct { float ch_l_x; /* 遥控器左侧摇杆横轴值,上为正 */ float ch_l_y; /* 遥控器左侧摇杆纵轴值,右为正 */ float ch_r_x; /* 遥控器右侧摇杆横轴值,上为正 */ float ch_r_y; /* 遥控器右侧摇杆纵轴值,右为正 */ - float ch_res; /* 第五通道值 */ - CMD_SwitchPos_t sw_r; /* 右侧拨杆位置 */ CMD_SwitchPos_t sw_l; /* 左侧拨杆位置 */ - uint16_t key; /* 按键值 */ uint16_t res; /* 保留,未启用 */ + }__attribute__((packed))dr16; + + struct { + fp32 map_ch[4]; + int16_t ch[4]; + int16_t sw[8]; + + }__attribute__((packed))LD; + } __attribute__((packed))CMD_RC_t; diff --git a/User/device/dr16.c b/User/device/dr16.c index 04454d2..9e4394f 100644 --- a/User/device/dr16.c +++ b/User/device/dr16.c @@ -12,42 +12,132 @@ #include "error_detect.h" +//#define DR16_t +#define LD_t +#ifdef DR16 +#define FRAME_LEN 36 +#elif defined(LD_t) + +#define FRAME_LEN 25 + +#endif /* Private define ----------------------------------------------------------- */ -#define DR16_CH_VALUE_MIN (364u) -#define DR16_CH_VALUE_MID (1024u) -#define DR16_CH_VALUE_MAX (1684u) -/* Private macro ------------------------------------------------------------ */ -/* Private typedef ---------------------------------------------------------- */ -/* Private variables -------------------------------------------------------- */ +#define RC_CH_VALUE_MIN ((uint16_t)364) +#define RC_CH_VALUE_MID ((uint16_t)1024) +#define RC_CH_VALUE_MAX ((uint16_t)1684) static osThreadId_t thread_alert; -uint8_t cbuf[36]; //此处设置为两帧字节的长度 若为一帧会出现乱码的情况 -/* Private function -------------------------------------------------------- */ -static void DR16_RxCpltCallback(void) { +static uint8_t cbuf[FRAME_LEN]; //此处设置为两帧字节的长度 若为一帧会出现乱码的情况 + +/*通用,初始化,串口回调注册,dma数据接收*/ +int8_t RC_SBUS_Init(void ) +{ + if ((thread_alert = osThreadGetId()) == NULL) return DEVICE_ERR_NULL; + + BSP_UART_RegisterCallback(BSP_UART_REMOTE, BSP_UART_IDLE_LINE_CB, + RC_SBUS_RxCpltCallback); + return DEVICE_OK; +} + +static void RC_SBUS_RxCpltCallback(void) { osThreadFlagsSet(thread_alert, SIGNAL_DR16_RAW_REDY); // detect_hook(DR16_TOE); } +int8_t RC_SBUS_Restart(void) { + __HAL_UART_DISABLE(BSP_UART_GetHandle(BSP_UART_REMOTE)); + __HAL_UART_ENABLE(BSP_UART_GetHandle(BSP_UART_REMOTE)); + return DEVICE_OK; +} +int8_t RC_SBUS_StartDmaRecv(void) { + + if (HAL_UARTEx_ReceiveToIdle_DMA(BSP_UART_GetHandle(BSP_UART_REMOTE), + (uint8_t *)cbuf, + sizeof(cbuf)) == HAL_OK) + return DEVICE_OK; + return DEVICE_ERR; +} +bool RC_SBUS_WaitDmaCplt(uint32_t timeout) { + return (osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, timeout) == + SIGNAL_DR16_RAW_REDY); +} +/*乐迪数据解析 */ +int8_t LD_ParseRaw( RC_ctrl_t *rc_ctrl) +{ + rc_ctrl->ch[0] = (cbuf[1] | (cbuf[2] << 8)) & 0x07ff; //!< Channel 0 + rc_ctrl->ch[1] = ((cbuf[2] >> 3) | (cbuf[3] << 5)) & 0x07ff; //!< Channel 1 + rc_ctrl->ch[2] = ((cbuf[3] >> 6) | (cbuf[4] << 2) | //!< Channel 2 + (cbuf[5] << 10)) &0x07ff; + rc_ctrl->ch[3] = ((cbuf[5] >> 1) | (cbuf[6] << 7)) & 0x07ff; //!< Channel 3 + + rc_ctrl->sw[0] = ((int16_t)cbuf[6] >> 4 | ((int16_t)cbuf[7] << 4 )) & 0x07FF; //!< Switch left + rc_ctrl->sw[1] = ((int16_t)cbuf[7] >> 7 | ((int16_t)cbuf[8] << 1 ) | (int16_t)cbuf[9] << 9 ) & 0x07FF; //!< Switch right + rc_ctrl->sw[2] = ((int16_t)cbuf[9] >> 2 | ((int16_t)cbuf[10] << 6 )) & 0x07FF;; //!< Mouse X axis + rc_ctrl->sw[3] = ((int16_t)cbuf[10] >> 5 | ((int16_t)cbuf[11] << 3 )) & 0x07FF; //!< Mouse Y axis + rc_ctrl->sw[4] = ((int16_t)cbuf[12] << 0 | ((int16_t)cbuf[13] << 8 )) & 0x07FF; //!< Mouse Z axis + rc_ctrl->sw[5] = ((int16_t)cbuf[13] >> 3 | ((int16_t)cbuf[14] << 5 )) & 0x07FF; //!< Mouse Left Is Press ? + rc_ctrl->sw[6] = ((int16_t)cbuf[14] >> 6 | ((int16_t)cbuf[15] << 2 ) | (int16_t)cbuf[16] << 10 ) & 0x07FF; //!< Mouse Right Is Press ? + rc_ctrl->sw[7] = ((int16_t)cbuf[16] >> 1 | ((int16_t)cbuf[17] << 7 )) & 0x07FF; //!< KeyBoard value + rc_ctrl->ch[0] -= RC_CH_VALUE_MID; + rc_ctrl->ch[1] -= RC_CH_VALUE_MID; + rc_ctrl->ch[2] -= RC_CH_VALUE_MID; + rc_ctrl->ch[3] -= RC_CH_VALUE_MID; + + + rc_ctrl->ch[0] += 24; //y(-694,693)左右 + rc_ctrl->ch[1] = -rc_ctrl->ch[1]-24; //x(-693,694)前后 + rc_ctrl->ch[2] = -rc_ctrl->ch[2]+764; //m(95,1482)油门 + rc_ctrl->ch[3] += 24; //w(-694,693)旋转 + + rc_ctrl->ch[1] = map_int(rc_ctrl->ch[1],-693,694,-700,700); //x映射到(-700,700) + rc_ctrl->ch[0] = map_int(rc_ctrl->ch[0],-694,693,-700,700); //y映射到(-700,700) + rc_ctrl->ch[3] = 0.5*(rc_ctrl->ch[3]); //w + +// //死区(-30,30) +// if(rc_ctrl->ch[0]>-50&&rc_ctrl->ch[0]<50) rc_ctrl->ch[0]=0; +// if(rc_ctrl->ch[1]>-50&&rc_ctrl->ch[1]<50) rc_ctrl->ch[1]=0; +// if(rc_ctrl->ch[2]>-50&&rc_ctrl->ch[2]<50) rc_ctrl->ch[2]=0; +// if(rc_ctrl->ch[3]>-50&&rc_ctrl->ch[3]<50) rc_ctrl->ch[3]=0; +// + + rc_ctrl->map_ch[0]=map_fp32(rc_ctrl->ch[0],-719,680,-1,1); + rc_ctrl->map_ch[1]=map_fp32(rc_ctrl->ch[1],-567,832,-1,1); + rc_ctrl->map_ch[2]=map_fp32(rc_ctrl->ch[2],95,1482,0,1); + rc_ctrl->map_ch[3]=map_fp32(rc_ctrl->ch[3],-317,375,-1,1); + + rc_ctrl->map_ch[0]=expo_map(rc_ctrl->map_ch[0], 0.7f); + rc_ctrl->map_ch[1]=expo_map(rc_ctrl->map_ch[1],0.7f); + rc_ctrl->map_ch[2]=expo_map(rc_ctrl->map_ch[2],0.7f); + rc_ctrl->map_ch[3]=expo_map(rc_ctrl->map_ch[3],0.7f); + + //死区(-30,30) + if(rc_ctrl->map_ch[0]>-0.05&&rc_ctrl->map_ch[0]<0.05) rc_ctrl->map_ch[0]=0; + if(rc_ctrl->map_ch[1]>-0.05&&rc_ctrl->map_ch[1]<0.05) rc_ctrl->map_ch[1]=0; + if(rc_ctrl->map_ch[2]>-0.05&&rc_ctrl->map_ch[2]<0.05) rc_ctrl->map_ch[2]=0; + if(rc_ctrl->map_ch[3]>-0.05&&rc_ctrl->map_ch[3]<0.05) rc_ctrl->map_ch[3]=0; + +} +/*dr16数据解析+校验 */ static bool DR16_DataCorrupted(const DR16_t *dr16) { if (dr16 == NULL) return DEVICE_ERR_NULL; - if ((dr16->data.ch_r_x < DR16_CH_VALUE_MIN) || - (dr16->data.ch_r_x > DR16_CH_VALUE_MAX)) + if ((dr16->data.ch_r_x < RC_CH_VALUE_MIN) || + (dr16->data.ch_r_x > RC_CH_VALUE_MAX)) return true; - if ((dr16->data.ch_r_y < DR16_CH_VALUE_MIN) || - (dr16->data.ch_r_y > DR16_CH_VALUE_MAX)) + if ((dr16->data.ch_r_y < RC_CH_VALUE_MIN) || + (dr16->data.ch_r_y > RC_CH_VALUE_MAX)) return true; - if ((dr16->data.ch_l_x < DR16_CH_VALUE_MIN) || - (dr16->data.ch_l_x > DR16_CH_VALUE_MAX)) + if ((dr16->data.ch_l_x < RC_CH_VALUE_MIN) || + (dr16->data.ch_l_x > RC_CH_VALUE_MAX)) return true; if ((dr16->data.ch_l_y < 1000u) || - (dr16->data.ch_l_y > DR16_CH_VALUE_MAX)) + (dr16->data.ch_l_y > RC_CH_VALUE_MAX)) return true; if (dr16->data.sw_l == 0) return true; @@ -56,35 +146,6 @@ static bool DR16_DataCorrupted(const DR16_t *dr16) { return false; } -/* Exported functions ------------------------------------------------------- */ -int8_t DR16_Init(DR16_t *dr16) { - if (dr16 == NULL) return DEVICE_ERR_NULL; - if ((thread_alert = osThreadGetId()) == NULL) return DEVICE_ERR_NULL; - - BSP_UART_RegisterCallback(BSP_UART_REMOTE, BSP_UART_IDLE_LINE_CB, - DR16_RxCpltCallback); - return DEVICE_OK; -} - -int8_t DR16_Restart(void) { - __HAL_UART_DISABLE(BSP_UART_GetHandle(BSP_UART_REMOTE)); - __HAL_UART_ENABLE(BSP_UART_GetHandle(BSP_UART_REMOTE)); - return DEVICE_OK; -} - -int8_t DR16_StartDmaRecv(DR16_t *dr16) { - if (HAL_UARTEx_ReceiveToIdle_DMA(BSP_UART_GetHandle(BSP_UART_REMOTE), - (uint8_t *)cbuf, - sizeof(cbuf)) == HAL_OK) - return DEVICE_OK; - return DEVICE_ERR; -} - -bool DR16_WaitDmaCplt(uint32_t timeout) { - return (osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, timeout) == - SIGNAL_DR16_RAW_REDY); -} - int8_t DR16_ParseRaw(DR16_t *dr16) { if(dr16 ==NULL) return DEVICE_ERR_NULL; @@ -97,31 +158,48 @@ int8_t DR16_ParseRaw(DR16_t *dr16) return 1; } - -int8_t DR16_ParseRC(const DR16_t *dr16, CMD_RC_t *rc) { +int8_t RC_ParseRC( DR16_t *dr16, RC_ctrl_t *rc_ctrl, CMD_RC_t *rc) { if (dr16 == NULL) return DEVICE_ERR_NULL; - + if (rc_ctrl == NULL) return DEVICE_ERR_NULL; +#ifdef DR16 + /*DR16部分*/ + rc->rc_type=RC_DR16; + DR16_ParseRaw(dr16); if (DR16_DataCorrupted(dr16)) { return DEVICE_ERR; } else { memset(rc, 0, sizeof(*rc)); } - float full_range = (float)(DR16_CH_VALUE_MAX - DR16_CH_VALUE_MIN); - rc->ch_r_x = 2 * ((float)dr16->data.ch_r_x - DR16_CH_VALUE_MID) / full_range; - rc->ch_r_y = 2 * ((float)dr16->data.ch_r_y - DR16_CH_VALUE_MID) / full_range; - rc->ch_l_x = 2 * ((float)dr16->data.ch_l_x - DR16_CH_VALUE_MID) / full_range; - rc->ch_l_y = 2 * ((float)dr16->data.ch_l_y - DR16_CH_VALUE_MID) / full_range; + float full_range = (float)(RC_CH_VALUE_MAX - RC_CH_VALUE_MIN); - rc->sw_l = (CMD_SwitchPos_t)dr16->data.sw_l; - rc->sw_r = (CMD_SwitchPos_t)dr16->data.sw_r; + rc->dr16.ch_r_x = 2 * ((float)dr16->data.ch_r_x - RC_CH_VALUE_MID) / full_range; + rc->dr16.ch_r_y = 2 * ((float)dr16->data.ch_r_y - RC_CH_VALUE_MID) / full_range; + rc->dr16.ch_l_x = 2 * ((float)dr16->data.ch_l_x - RC_CH_VALUE_MID) / full_range; + rc->dr16.ch_l_y = 2 * ((float)dr16->data.ch_l_y - RC_CH_VALUE_MID) / full_range; - rc->key = dr16->data.key; + rc->dr16.sw_l = (CMD_SwitchPos_t)dr16->data.sw_l; + rc->dr16.sw_r = (CMD_SwitchPos_t)dr16->data.sw_r; + + rc->dr16.key = dr16->data.key; // rc->ch_res = ((float)dr16->data.res - DR16_CH_VALUE_MID) / full_range; + + +#elif defined(LD_t) + + /*乐迪*/ + rc->rc_type=RC_LD; + LD_ParseRaw(rc_ctrl); + + memcpy(&rc->LD, rc_ctrl, sizeof(RC_ctrl_t)); +#endif return DEVICE_OK; + } + +/*离线处理*/ int8_t DR16_HandleOffline(const DR16_t *dr16, CMD_RC_t *rc) { if (dr16 == NULL) return DEVICE_ERR_NULL; if (rc == NULL) return DEVICE_ERR_NULL; @@ -129,8 +207,4 @@ int8_t DR16_HandleOffline(const DR16_t *dr16, CMD_RC_t *rc) { (void)dr16; memset(rc, 0, sizeof(*rc)); return 0; -} - - - - +} \ No newline at end of file diff --git a/User/device/dr16.h b/User/device/dr16.h index 2b99679..037c81f 100644 --- a/User/device/dr16.h +++ b/User/device/dr16.h @@ -11,11 +11,6 @@ /* Exported constants ------------------------------------------------------- */ /* Exported macro ----------------------------------------------------------- */ /* Exported types ----------------------------------------------------------- */ - - - - - typedef __packed struct { uint16_t ch_r_x : 11; @@ -37,17 +32,39 @@ typedef struct { DR16_Data_t data; } DR16_t; -/* Exported functions prototypes -------------------------------------------- */ -int8_t DR16_Init(DR16_t *dr16); -int8_t DR16_Restart(void); -int8_t DR16_StartDmaRecv(DR16_t *dr16); -bool DR16_WaitDmaCplt(uint32_t timeout); + +#define SBUS_RX_BUF_NUM 25u + +#define RC_FRAME_LENGTH 18u + + + +typedef __packed struct +{ + fp32 map_ch[4]; + int16_t ch[4]; + int16_t sw[8]; + +} RC_ctrl_t; + + + + + + + + +int8_t RC_SBUS_Init(void ); +static void RC_SBUS_RxCpltCallback(void) ; +int8_t RC_SBUS_Restart(void) ; +int8_t RC_SBUS_StartDmaRecv(void) ; +bool RC_SBUS_WaitDmaCplt(uint32_t timeout) ; +int8_t LD_ParseRaw( RC_ctrl_t *rc_ctrl); +static bool DR16_DataCorrupted(const DR16_t *dr16) ; int8_t DR16_ParseRaw(DR16_t *dr16); -int8_t DR16_ParseRC(const DR16_t *dr16, CMD_RC_t *rc); -int8_t DR16_HandleOffline(const DR16_t *dr16, CMD_RC_t *rc); +int8_t RC_ParseRC( DR16_t *dr16, RC_ctrl_t *rc_ctrl, CMD_RC_t *rc) ; +int8_t DR16_HandleOffline(const DR16_t *dr16, CMD_RC_t *rc) ; #endif - - diff --git a/User/task/dr16_task.c b/User/task/dr16_task.c index d465e15..7ad1e7e 100644 --- a/User/task/dr16_task.c +++ b/User/task/dr16_task.c @@ -12,19 +12,17 @@ /* Private define ----------------------------------------------------------- */ /* Private macro ------------------------------------------------------------ */ /* Private variables -------------------------------------------------------- */ - - - #ifdef DEBUG DR16_t dr16; CMD_RC_t cmd_rc; +RC_ctrl_t ld; #else static DR16_t dr16; static CMD_RC_t cmd_rc; + static RC_ctrl_t cc; + #endif - - /* Private function --------------------------------------------------------- */ /* Exported functions ------------------------------------------------------- */ @@ -35,29 +33,20 @@ static CMD_RC_t cmd_rc; */ void Task_dr16(void *argument) { (void)argument; /* 未使用,消除警告 */ - const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_DR16; - uint32_t tick = osKernelGetTickCount(); - - - - DR16_Init(&dr16); /* 初始化dr16 */ + RC_SBUS_Init(); /* 初始化dr16 */ while (1) { - - #ifdef DEBUG /* */ task_runtime.stack_water_mark.dr16 = osThreadGetStackSpace(osThreadGetId()); #endif - /* 开启DMA */ - DR16_StartDmaRecv(&dr16); + RC_SBUS_StartDmaRecv(); - if (DR16_WaitDmaCplt(30)) { - /* 转换 */ - DR16_ParseRaw(&dr16); - DR16_ParseRC(&dr16, &cmd_rc); + if (RC_SBUS_WaitDmaCplt(30)) { + + RC_ParseRC(&dr16,&ld, &cmd_rc); } else { /* 处理遥控器离线 */ DR16_HandleOffline(&dr16, &cmd_rc); @@ -65,10 +54,4 @@ void Task_dr16(void *argument) { osMessageQueueReset(task_runtime.msgq.cmd.raw.rc); osMessageQueuePut(task_runtime.msgq.cmd.raw.rc, &cmd_rc, 0, 0); } - - - tick += delay_tick; /* 计算下一个唤醒时*/ - - osDelay(10); - }