From 188bd2b5dd1856f16e37b38e7951d3b9b115f3fa Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 21 Oct 2018 22:29:45 +0200 Subject: [PATCH] Changed delay calculation for open loop commutation --- riscv-bldc-forced-commutation/riscv-bldc | Bin 230240 -> 232280 bytes .../src/riscv-bldc.cpp | 31 +++++------------- .../src/riscv-bldc.h | 6 ++-- 3 files changed, 11 insertions(+), 26 deletions(-) diff --git a/riscv-bldc-forced-commutation/riscv-bldc b/riscv-bldc-forced-commutation/riscv-bldc index e214c59933125648398fb9d8c2df9c4771a44ade..2074b1a2474cf23f189231e196adf2c11236a598 100755 GIT binary patch delta 67151 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 WvR9iKt?yrJ8fRe%`j70C{{9!;(MWv& delta 65092 zcmce9cYGB^+xG6B-P1PZBsu9hA-xeGgwR4uNJ8jEIs&2h-a%z)A>gA3tQb%b5Gi5- zj5Hh41XQpqDk4a;V?nXPcil6)dy+i7@AEz1A76gI*`1l|ntNvMd*+_mJ#$XZJ`!|c zY0%09X_K}pDXEonoFGte2>9~|f=KrTbP*Of#}y>}iUho`vPXO%^^F zS@>F6n7HtEj}+mWqpp|9M7hx)YI&Npxz& zEioeLWx2Bp`3v2txu zWnV$iD@NC=>KHDI((*XHdqlj{eO}d+h%>SzKBgDM&JhdsgR#1l-l3{%+z3fJkyQ0U z{G&F>)3>U7Qhj&y!o};0mVc|1tZJHBvao4ZgXq4_d5^!Qlw9`+iHp;Z z-70sqE=RnczO-I@@v#1Oz0{P{M%RUv_MH{$ixyQbPCbUcA6~qL<^P#oKDKK(uLT{GdG+Xc9AY#~%+1G_3b9Yvhm!N@yFb~9OJ1f=}h0SidfQr4w zQ=?C4l)7-=&Wg>9Ib{Ckkv&ST|JY!4Rz>BtLuGo!wa~Rkd8{;aebKAsktJjpWxal~ zK>@n#%1Mo>2u{wv@wY8?$v+S^D>?1STRbkz(c9~dKNk!uR`fj$!!)3On`m;%ja$iS@-4E3Qd$*x zQ?Nn#RmC@@@Wh=JRog2C{pQW!btky3lGAS7`s5I-DeSCR$g1~<*9DJ_Hyc{jc2=~8 z`HtOM<#@F`A2qL(fID|qyt>q?L2r@kDRCe>5GJ_CG|28iy+T~X)OqDl8Ps|9x-cb_ z2F-*2N=~|Qt0tQI5k!0RmAO&UQ;qeVxs5Y}c2=x9dU!v?2BQtA`5oNX7m*n-sHRx$ zwdu}ADO%wo(&dH|T&li5l67+xOOpi_ZsJH-#m(CkTYI#Xk@J1zzq4ICOg7{&wkYHl z7mAA(%$;igDCvW=_d32KL=i%=(Q-|pk+=WmH3&b^rqSG+teC&^TVI3m@7-CkqzL_x zvMQ=ZuM^^qV$8Ij+oDw)UKz$6Q`D7LFm^Gn(N|dKR4FMdIYqw3QRR>;WhbWV2^+I( zQ`7`|YQq;fJl6#pQ>+=N{zRMm9wHMp8f!KN;|#{VFwd;MX0^%zOeahkW}k$Av(G+s z07_q9r0*{kwgl5$kZ&z-j)4M$EY>i_N=k=MzbPCqHTzNi0tC*aB1asD7q>1S)SQYa z4N)Wu#nX%bS)9J)pW%O8!wBVZjP8Qwo6s*H#s5$$IpfCPO5<7$eFmKvZR!Uy;G#lk z*q`1j3eR^>>b1I;)W1akS7V=6ef*_v$8a8Q7DIgOf7aD&qfA|eDFt;Bsp&8V8i(0D zwtjhwS`FKbh7B}pn0u%&HN^gU(lNn#r5ShiCC#p12wp$25l@Xos=;Hcn(75jGNePw%QNkhRA z*t(oKgQ1HSV7*~gZpI*?2|Y2Be0p%R$Vf4n=QK}#)`*29>lH)wR?SK>TOo(MPrbT5 z>SAgyv85jS=j*0BEB=XmwLGo7f88snhrCt?{pn`0+E2+lmn=>_1`l}bpP?DtixKbZ z;B$wN7TZSOd8xIYdO}T#pJB^Ut@!M z!-=VAP3!WRXx);c#i>ge%cqw#ZxgVFA-vc66D`sT`eP{G*}FZ9CQ?N`5(Xu3zqS?k z>Rzo&!mk;+yJbw%&oiJcqt&fIqCT(7GTXnfM*GW4TbJ|ER-!-Dd_>|;*Q82VOkXgyc3deRSV zeO;f`YFfmoS2;B5k{?QaRln70U_`t999sImA5!+~Q(9lp>$i!i8rLRNl&*cQ&oAhe zRC3l;apPd#uQ*xS zWNBqn+Rmh(86N2r%y{c%uP^1Lww~7a73SraE?!m?*L&5`MU_eAYg!eCRF+bq(TkFf zMHXYC$j27?9!NW4f8Dj@)g{rFlZu}&SPhRo`NE-tdP>_?-M+5BbZ7apqCAiNOq16W zlYTBpWV3}=S2_<;@<_^)b4g0a*GSI7;?~QDuU#Ttzffln=bf0%SxaW?yW9RIop?dt zQIsond`>@Cw9|WH$M7{bgvC!T7nJ>+zI}`SXz?*m`6Jhb-K8O?jm$Orq>}ikD|(pA zDZq`ENLq(*rI<`(pY>}k8jsjN?)!IYd0sfV)1bA4PilX z|NWKe)bon@`giSO8*SwM3Oodjd`z2}^vBbVEGbGlMt#UyUVq8*W9vJwyOdUbF_V|u zevh7C+B}lU*glubJZ#9^K1091^qHi?ShllPth*jov2a!Lwu_4*k01I18`b+>tZ*HV zD@@+>)1!L7_A|u8Rj1qAq@47&!yo%q=v=V4^0=_(L{j;%;-3qYp>y~0>Pp)VfB07+ zp!l>=MQN+mof0ChU0+sY?38|gYD?t_YWV1ZdXr9XC7rmqtfSk;0ryab04YnQ~ln~Tf$qJa>_4$|0I`F(XuM9%QAa_h%N5I>&Z#7ki0`b+4IRL zaq-%s{3XpV=oN*4R$W_I(y@GMX7WybNv|H_j;fD(Wk^!H#jE=kIU-Qy(yN-@v2RZv zx6jp|?E8R}Hbu|v*H*eZUZ2%(m*+Y0QTyxbQvc~YJn~mG@o-h+{_VxiqiLA6I#juz z`s5hR&GYMCBRy(a(I6vUI+B_QYqFFhuO#{N%Le9gArEHxGq((ECbq3Q zH}IGwU8~TaC@Yqne^q@|7B5N4Csod2=f#+k{r4+7*E~?TbIqdiMkAgQ8oo8$?UFi{ zUrAd%B3qhRU#~x+t++v-I--HNu4?m$5}V$6OoFKB6UW4A{P8Pe(##1HG6mt8XK&wL zyX*GtWe9Yy9_}|V%4>r7<3_pw_m2M;p}H(9uGOl<0{%bcYqcvpi=KS-9PjxJqldLQ zXR76AqoH}#8XISnO{tdG2XU_Fl!6)4hE8!KF?{m0kqM)w>9@xQRwazvq2y1wdHXhn zWeDSp5b?V|O>xR6d`z_v@q3jtB}tUVY}C`Hrinl5U8dHN`W@FNO^p|i=?_j#7k}6H zPED5jy`q0QHC}4>ivH)+G-=u^deXEkX~ZGD>$Ic+320C;9@I}Bx_vu~TG}=!p?IOV zOllk86b2q{d$Mhyl!5Fq;G6+x4n5Sj4Jv3yoaHuR*+z-PI|Zg7BmjOGoS4JPjETSh)kIl?RD);E^ z+qo!=(jKdsBX~0tklh`eQTnqp>nJl28>bh}jI}?E*x;l38`I;(UiwqhW0en((UBnK z24b!CpAhrfAX5*S6|3YS)@s2l^gj@D$`tdV`fS8TusS*;)(Fq3CHzYv*VQj zEFgdDiKsabu_pQ|$eS`tw)a9R`?%h5Mv`(bqQd|{t%&u5=ve#9h;=@$ub3LI|2Rih zE+e_XDl0n$VU{1vMsg=B-x;w@`cO1-0%A|Hyay0_lr{Vr#8&Eufxg9J;=DTIYW*V8 z0WJ(z#>qzPe!XyBY)EIsPF}fvdoavOe{-rP&eN4unmmBvwNPBR1 za~@IwRa19f6qRU->Z6}2>fu350wo4_D%!$GhvFWGbcm5(Uyx+Us4mBdQ&VE9<<|$- zqks0yvwo5)@T+NToK5RW$}BM^Z=VnfA+Z!Vl(~bb17m+J#JTuI9M;-l`SsS zC+$jhKblsMV0#ONiuBiZh3mU_*~Q)Zevn?*&*A#1F7A$&Zl&pQyOYFFz0K~v;uO7d zcM9G=zPvkH+@^no_%Z#j-Pz(*J!4Ov=++1ADRwu@fYh&;)S-LB_1E^;rOp|;Z7A;Qr1n|*JTB-*k`xIh^ga8_p!SdhDem?4AmK+ev4lF~ z;GNkGLS6JD+Z|9J@WUd({vIUNuh!RWalW2&FeUb3Vm1~rrZ5X&eL)muCsW=5eKPPf zgy$2ES%7gyxU4wP_sjZo2a_eafqrgZl9a}7V*9F?7Y`}Y;0AiZ_K2#V4t*ht)2iM* zyjB#`^l?W&6Yr{OckFIaJW}<c(5sMDemd z`pgv3TXpu#08vWmrjI$3p!a&`kl3%v`|bjp_;S^n55_sfnCH($2T0TU>f*VU`owcS zea2UBSIzsjuibs7FIs&>5fz)h`;(Na+dqYi=x_Kh^`+>=ddV;4;#2yYzw{FiRi)fm zA&P(MRlk;J%vy|>@W*{W!_OxKELnua311vMb4tMDSV|mk1QsBX5pY-^^4kEZ<&vtG ze`~2o!DUr{{)Gv@xGMa1ykwtWE(o@vmCZ%5Sn9gGQWM40#AR?wu8}A!#sz*3=cL%~ zMUMLkM8$ZwVmrJ4xF{yd#Q#bWA2wwyvWrb1e*cSh@wiQ#U%9|7hKoZhA90J7=tN}$ zRYWf;_o^bgu|Ft4q<&Ox2o%eMs3XqfzU8Pg!Lg(=CrFGI4_9^!5~h=wFk<~mJADAG^(FI!(`yZ8GCW~28#DvPA6fs4+ zH5QDezJ_4f2TeqLS$r|Yzifi|rg#!&j~IdY6Lm<6eMxu3_r>2w@u(=o57b#n@$o?2 zC*yZeJOR?&Z`65-;$H+K{!ui`AJ+o$^D!)c4#~V4UAZSkOwP5FX4SKigRyCIj>ILF ztG8@Cp4^8_pD{wHD>TOP*XGG^K?s$_!WNbGRPj5l6S^k{4p;lK`$%;RyN^;Au={BB z5q2M=KEv)~)g$aaPCd)+?laVf*nOtDi`{3b z@38wEO})w@bJf4ueZK0fM}jmphTRvd4cUE(TFUO_>M(Y%P-n3FGWB2V{x5YmyFaMD z%W!q$lr9YZE#-!=zC+B`mi zAl(8e*nTSo+AVHr1CG83gf^8N4K3?6Mfe`Pw6d~UECThH0ajnF&#Uf=TJKmj)!alI z#;Oj&JD#6WDgxv<1W86|tLnIPj^+W$x6psDS`?h0KuBqyju1N26VqWGIBQA$@Q=dV?aT7y0q(|W9Bvd(E zBPgV&=Z^&3;0WUoq*ziN!@Vh(Lm|Bbz8@qAIe?m&u;87Q45Uv$n}K*rKyG&nv3-h> z6w)v7P>3LqkTF0e5t>M?&0!S|aWulD6&EXbyk2gVUZqES`EZ>l)bu|!R`;MCG5UN9mejDsB_r8QeDFCYt^0X zzD|9c-5*uIW%tK4H6n)utydee`{QaUyKhp*vioLrDZ4+RZf5r<)g$b_UA@HaJ5?7{ zC3~Myv)KJPwH>?fR)?|s9(57BKd)|J_bT-OyT72m&+gh@^#>N&r@HW6N7m9bTNp^vlTA%hZtJn?5|J2z`7nsqg@Vftj-25hc{7QfxD2yo2qB&9-*m? z$?-%iP{*?SQuQ--e?a|--5*pP8a$*Nu|oB+`$K9Yc3-6qV)uvDIqd$3x`N%;sZX){ zqv|nse@wm1?i*AY8wWXJi<-*rTh)f_zD+G+_wDLncHg1SXZNSn$Jza9ReOO&o>4zw z_a7rRu$KKAq0}LPzeQYU`M*b~`IP=6Vg$SY8Ii>9e?=6r``-~7?xU+h1tHQI;~nD0 zLjMdU+%eu3bm@W|p#@F(mGqf%UCla7L9_W z$81@&^om_4j-4b(kJ}u}Jt#X4CA&@>I!BN;+Z9W$_cKPDh`!sa-OZ5-3m z7?Sj+&G7_U!ZJ>gtha5B_N`1t5;ESmIo`pV%eoK~jEs-W+8p`t|I)`iDMnlfL+Y%V zD#Ub_J~dNgv6M)knFaS^{7C0)O=;u^Y$HO_1$ARA3@qmaBn1jW<|J%e)KCMy-?1x|7Y@h3ilxED3fnbm(AdTv z^xXD73dt)RI=VoNHV7reWOD3ti8-!mxW!!UXc5jCW5JqCOrJ(Avh|w?>LZT!iCjYd2wA==Oxf_&I9I+9Dg1sHGr zs!I$Z#+#0};Alxm0?@j|@C&hpjX|9sJ8q_MAw_^Ym_h`Oe&%==!;J(C1v1(cAZRub zPEG#8ajAe8)&Q0J3p4bRV?YmHcmt3vR$+VZa+DpK%x1?1^j`kP(GISj7$*=;6O#|d z&uM`k)|AZ-#{9uCDFzIx?k9wsL}gZI-ee_&Rh#fm@+awkG{9vq>71Z8%@@o$_GZxdv zbTcI0ax+)3#6E|Ng9y@Os&gJLmYZSE;)Hn(FLSVtAe=|~Ym2WfU7;AYOFnCWH`LAe6O(rYyF zThee1H}ey6OgGbP9MHLf@P zl+77yzSh2MMKiT5jgW1YY)CARiOT%EHTF{9!lqRy0~<>}Gy~ zWr^|^f{1023o_lzyB2e`Bb7FkV5B0{B_5lQo( ztKts3nU67kKoM+F@Pr6P6OG->Z8#x96M>}rQNzuAiSbLDnKnR5EY#f03z3>`<}_xl>1N71<8%aEKn9~$ z#U6FK4k^kNOD3j z-y#vX9PV-McVtcEWg7r#OeibMb}kxxN)~!<`jnrWa7usB$}B;qPibH=S36q6YY<~G z!g69Vp{7rHtQ(iJ8OU}*NpZ&G)1!`EG+2;(h~BCm_ZK#N%H4Php}u|& zQ-uBnM8p6!DmHw|GOPe3IvPkFKWg}tg>^aF6i6#VHLi*~_!I#?lPE(GMiZ6y&+sV{ zmS#dVgmOP>_>{SLdLW;&0mv2$HGRrXsKVU2Xx@&TasssXh{{G7iMD(S4L8%LY{#NX zwBHa!pV2Cj(G8!X_TvJhfF={eFVOHQ7vNJ!Mm|ujq^1zlr_45_3<5mdlwv(0?SL9d z!aYD1ngRs#0V!-UZ^1es8~tSspAraPO=b53dBulnjL~RpUD)*4fZpQ?iQZ_x0@_7{ zYY2Q0nLdTh4#xb!(G6=VF;ooD5Cmx>&F*NeCB{kmdMwB3pWwBHFlJFtyo9lf>Th-6 z@Y&~kPJF%>ic4FR>hv+PqmotG`@72Dtcs$_->gcaN^e%>=Z{JrK^D!s=XJ7VlCA>u>Z;t?2Zl?&U7VcJ`; zjTkc`U_AN~&<~G)F{4>!0jv?@cq491K>m21|4R|#6RI@`S{KwREM6q$`TtUkW_7F$ z$r+anpG$K7pPDj@bR*b*$-~GZ|O7SQZj*E-A zO7W#w$Kn#Bf2Md$6yixSwtrJ*&D|(S1SIU7rinr%L5p)vQqs|VhtS!awN_YwJ@l$3`6nudpq?)9z zm8Xlvrd>000VL+2MPlN7C_ze0M2?)8fgB}q7IN$pm4R?d0q8*3lbG(l!~n9pf`dWA zg0K>dI$xTR^Ic^@i5N$R76zAy^|e;cgeS%At?^)snKMaF*lrt)NYMQfUfApipwG5~ zVk!PqED;393K@y54mL|1k5FQ#(h`U)L=^*Hjwt(_!zS3Dg4BekZ4HoRzl_!-?27$4 z5wGv$De_cmoV+UuuR~%*=NVYtiG+}}QbI>P!6y(`s49SWdj>J^;S5)9kndzhrl%oNan-xNF!SQG1L+!=b zfQmG%xMfp>lzpMCEBCb*TaS$Z>~VZTeR`Q$Fv>xbCgrG`S|8`2(=aKoXAa1OtsF}h zA#o~cIT9%jI;xWLM*g!%WH=5lLE_EK6G&v&DVsS=NI4TiqH~Zyb#J4(K^@@iX{%S@ z=&ykNLDc6+6xAu40QSd>UF>K{az14Z>Fn4*4f)J{D-o~19pnpA&WCPA4|+K^!nP@2 z2CP97`#D0WA(w+_m<@DnCFF{W6gfg@9DzJ4A+pQnB)BAzhLFg{sv_?O<|J&|LI}x_ zQ<_Uo>gx0#Q~F6t0_MnF@1zWnT<0t6brfTKR8;oNq$&nUIm@z8*mE!SWv~=^zH&rI zF;i=U%zmC!YSJ(%g4#63L*IT#8O~EvJQx{5$_SpC<0&C*q!har97AP$}i>N?XDU9Z7fhT}c-MHLh&sM6lJIC64@~O@ql2@)<*}AhBqmf~HdETeo zIg;ZL8riQ2&9;<#r7)Uc?ZqZTNZfr=D9xYFVv}wpZ=n<$jy36=)MNm)ZmHz?6UM(F zHEBc1Ws)Zm=ywuk9ZeiIn&yLGjwZxdvYiGxO-;1INjZu<1lPuHq-lCo<5QM7_#Pq- znSo}FpM%m>$Y8FMW(b?(5>J0`rttN9M~j0}+KA3M#9v0T3dCqi2%a}6Rmf9z&s9pb6+_1X3J{{` zMkC*B7Wrrzyeu6pL{XZCFH1XES`%nYv5ZI|iX0M+Dwg&MQM4qUt(GPMUzzDBVaAuJ zP?0I87Y!4pC}jMCxFXX~=|wg)l^TnhbC&fF2kfoe-jx0B$02x2n=OHfA1@h^fnX5-%( zUP+{bcl^S-?Rteshgo?#0Ov1n$bUH$_*K?IIvB@Wcpn~M4C}a#q2|-uChEE1o4-gRGiNDF@p)N6l`x(&oepf zFcT}xYK|49)p%HPQg-3@mHm2%rP|_hY;8VGUxq zB5TKy9V;sXIzc?eUEg4HmUe{+qSH+xWg5~NOajEmhob><*~Jj_7L}cYS50YOv98le zC{~QOFRpSTpg56XbUKP-4h_-zLfmtxKCJ;qhxt(kx&o??ZIV#?mrgLG4v~O9i zOMybu?q;L^Nn$Xs&PG2aF*upx28{)4AY;+FE2a#sHrF+gR5paQ^9r%(0tu6-e=#sn z+Gr-hgJH$h$zs(jquO2Hk{Z8b&7-qi)z$b&2SDF5s8lmCA#Pn;Wc#=d=(rb`&IFU9 zp`{lJz{ueYIta!Mz(Lpb6o5Z4sdP9@r18O37550~z78)(C!Gx4Q}47s@F_yvv!wrA z&Y+`Y)fk+xmKvAH33NoNR^vp@s-gzwaTc9G^Ec2SEF(iDa{?W(5;Zo4cxn46fK50^ z=hb*=hPgIiIH!$cnx`Xd+&8kJ$t>)ON2Al`vVl%V+j#Rxw&1!AKa+M3Gbo*Q^S4QG zy^svoo^~(8=mcDKY$+bW((Ypt=}cU8i7oIexAGfEFWNL#?O7s_9}`)u`e-I4x{lG{+Q6uEz|UWo;Ckb3KuCc*Uul|AaB^<-v^vWC}d zSOENF@Jiro?u6fkhx4?jS-bbvluun0Tn#iV;AsPx66pjYn>B)~<6z_-WVv)4(cfJ| zwGR&g{vvBO9aF53s?DVKvHfgU3pqRX7F_D|=oVMgwdXICIs;9zkf9p5>(TmX0-( z1R*_}?V<$7ak%32dMqJ3j-cJ?^;yE{7zDMXH*m2hj{wIQEL`b14DvWuk%WdU;dLA) z3Arp0<#?4OG-8Q3#}+pdc`T9O*k6J~W0pv9=;M)S!rp#lI4UX8lqE79!zLinj3u%h z&Cmoby*W$Ob!7Gcl+O~`jzBz_rMF;-dX58l>6+e>CF(nZi;!r=5)B-wRHijcCKGbIvJ1LF3hnxFl@OVT=OwfGJ7yCozmsGnu|V?%k0TEzKyJG z*DI5e+uOMrmCzAhfBkHx@XJ%EQJ6>Xm^1HokfP|2FV{Su5@GP;nShj^JF=5Vd;lHhs_P0bw7iqawC z+Ia3dGUC7Nsf1Ctcpo&jV6dJvja9&SfJw+*-VO1`>~vO7q-Qw6br?e=b3Ie)V9I4x z)2l(j^%+6inF{CEfDB(hRR#VO^YxF{!rAk?>#YC~USc)VIc7sqEy;{iS&!*dGhgM{ z62pD9+zoj~QwcTqj8n8`*kk$rYK3;tof*!u~?k z5_qa@$i#g7J53O>yeULU>eUtT@NgPS>U_+7*^!jj1FN26t&B^ugVs(VU=xPCBg0!s z@tfH0I5Jt>_9;AqBg-)jGlYoF7I^D`AoYO+A!PETk%FVHBZ$t;5u64n+k$QTpjt;g zWo|4-i-C0XqxAI?M}zR+>f*H@qzwZyk4g_;q_mI!oCJ_!$i5wY^hX9Y51Bt zTtEPXgd(t}3P7QMM|*D_z$76HP-7G35<+`1{RAGp+xRdlaNBSm3lN-CMv=)TZkfmF zs?yOhGS)xPeGOwJS2LEFOxDs2bBU(CVuHBJUx3gTsVNdHZ`tcNh$jWV2jr}Un&z5; zHWK1)roF~uBSI1m0Dje^kiD3>S_35s9|5^&qW{TU z_(lPhQDm};TjudGw2O3-BGhy|PLa``qj^((hW)$I44X-&&E6fz^*$1E#v@2okYU;E zQEYq2DvN?m(jG@#qLuG8SR7NwIA9 z7pzVKDuApuQIWsDtv$y?YmUKaR7jD@DsGv_>FOjssI$Yk&B_Y@7n|AGL^Iu@X|peV zOzoNw0S(6?NFyM`GTL1uxK;9ie$=p8Ni;s$g|I0=?jdvv5;bjh z1RjDYx(595S{%b@GqEcq&OX40Yf+4eHenE_d;<6jlVaJd0O%V~(@jDkh_{1nO-#S& z)37vCB{2vICdV?`o7i)Zgl0gBO!PlZG)Zt$8AT?mxMd!vtCRGg{(<32^DGGaT*q4N zzgWr!z|Yf6ISw&zQftB>!m?NqHkyQ90`j$mnifm$#Zj>>YDM5>Z4!NN7E9Un_86Uz zRtHcP!F79-CdIN?Q#@CYfNMa0HqrmZVj4SP;S`)yNRi1XZkfmFs=6S9 zto1T_U&AZ5t+tfizTLLk&g1rNbB_IptqGZAI;74;kPbtNWw1}X1J#hR3Q(m5n-=S1 z6y617uOBt$*d{z?pMbQ}Koy)x6I>ob&?)b^6_M~@pu5KVYPqTEt>le(`0`qag!yL;JFY%ngS7)$u`Gx zv;asu3pFivFqor*fsF8@hQ&naaTbK#3#5Y3dyx<|8XtnWT^xrj;%o%I)8cT7VX|E# zIpql8)3qpu#RBSa$`!!hniR`o7vU$)LP<8%6Vwj&=MAYb#~v!+64JoQMqm`vWZvdL zNkTCYI$BjtK<$;RPW6?H$|y3~#4Ypq*<#eM(lK|kRwSHI4Qo~3c{r-CVh+<>A7pWr zpMlU1s3~!fVVUcR432&WH z3l5nmodEZ#MKR3vH%1ImCIOyXi$dnou)ELc%{labh<cn|PdlVX{xrH>2v5y)RAYECeXIjB4A?(tPss#TH6DsGv_>FOjssA1vUW+ySZ z|3{kzSGQTPX|reWOiDvqgPd}@NT(shGTIGzaDq1g*2|SQ(J`gCdIPZ z8la6(!4M$hO|+)X)(>FcyvQX1v zAKb;!aX_Z{QNv=|!`(4DA#E8To#16i)HGQk8c&p`0q?6tF)X&Fj8o14{-hSgu-Hcp zIOQk6H%$t@x5wbN-lqXyMn%D>CnaAnMzv&KZC1Tw$twmb?k8eCWjphnJ3yJ5cA!(3c8S6R29KQki zyAzFn2AkGuUY8g4VqK3xFi^u<^(JFIfV5m7tq9FUqNcH)fny*_Z@@!pQ4C`(!}9@A z<^a|f*Wwt~TGW+u9s|7Dq*(JS6f4OJbl@P6VN=bY_)`O< zpe?*7%-prtFqhw2f|F`hWU`4{=5e~J>-zAi^(LDAUl~j54qroNT?CQKs3Gq_gk`Nh z7}tbu0zheSQ@P4YvBraho@CQteWvw44 zatTiY*=3@4o?7ne#-dsknQY>gd7Q3laS%7wOt>EHzp@tjFfvDWH_QP9X&yva#ySN} z5!w+*cMCO*wYM)v#{ijRp_;kfn28az0MeEMT1D_uBx+jg4P+DLDcoPEMKO%^A;vXP z-U9q_Es9~R9eJE`9q_N+V1HJVWvx=cUqWMnkP?N!+fl<024WLImE<5aF)5a@zQ!Jb z1at+`-$d_htbo968X8Q(@uGtYDKZ(wE%P{C)d_XDwUXetY8b2f?oh1$045}uTaEkB znU%1}ClLAtwIv-wEPE|XhW!b?3FsdSHVyVx8ZR7<4M{8lFKpUtVi2YSq%{K4n$Si_ z)U?-^BRQoH;GwlBhP_HO><>xIT;NM;aSVgC@5L$W0Y70M^_kFeRfe9MJBVjWge%ilk}kWLd~?* zco(g!VYJ#i4XyV3`o$=|5;j?e`w9f|&}~4Tu~5@uH?j5*dJM=Le$?=X z?@WL%gs?Axd{5|?NYr}&Ys1<}90kFHz&M6g4U=7g!zM}wLZey~!(vzACWz7rp@&Ja zEJnXK)Ef1V1u{c3;hH8pG=xid0Pt#)Vok9rKuN+*AbU;p&Qr`&-C|Tmk;x`*na5je z$WkA|i!!p-J-z>fwQ3vdgJxXexfr6&5Tpf=U>WOvIDRrmcOZQ%)HK#=CMNF|{UAW?IEr6h97F2FC=q8P@?Y0N3_0sg!eg&9jL3>Pu(sit3n z|7CJ4Yuy}&GojE}7#Q&gyd5?C;oI2Hkbou#ElrALtfzsJfL=h#Ow=+K^FP+(S4eeh zQ6WVpo492jr>hzQt&*`)v7Y>|Q>(VI-ZfrroP)$KsUcaApjp=1U~C)z1cXoGI4qdf zI*V6(WXmWZ@qW}W*0~!AccfBL87Ly_O;=Z{(wjLDX>3YMHtpP4DFMcdx2N@ zIgDaVtv6FRWh3CNCdD$=CZMa){#SsUG|`$fs{})q>Y%T=UF}2rUuvsmEdek|xCPh+ zfcNB%&M>sPv8aq9lTF+*kJDAX7|D(GcEA6@SXw12ztiWIn*+GQmqO$N2+{`-VHxYL zV2(ZsWT%Ci#(E8VUozGaASeB(VXUC| zkW^c5jP*hhr*r_^&7@eyS_!lz)jt~0G!w3At#^@4ZM`31rAe`jwHi4sAz%mY zRVHdpEz*EBv%;zyi^?c6*~G2MJV95LcEL2Y=3mBSMNP4mNswGyyuErGQAfvh2vylPEj1>uzjQJw{Spcch2R$q7y zqPzq6v+5MgKmG(<7`_otoy7SC_#Y<6veq=9SD`U-KXC}W9X0&mk=9&59$@+r4Mwqy z^*V+W3AhW$AQKg}J5H^r>eiw{icB_f%REk3_2a?ZSjqVC@xL;bFM{j)Q%Jm^QA;u) z!m?I>yf2}l^E;4R7HUqdAD{+8Bk;%*hrr94o5J+&`0NnE@_@7!(qBUpM6@0pZc4)$R z;FnE~Wi9$lj3oRG#DV7WR^HKA(bbJbWfYlg;+A=wu4>>=ZmiSTY1A;5R(nHOd)1nX z2Lw|15{SH?8uA`QSjMV{kwEAZKz3NDX{@eT4hVe>$m@R8m|1J!L(giEb{^2z1fNHu zrnRnzfJ3oGN($fxwJ3(M)xm=w!c=|D-qHXwUU^v-@Trn<3EMuWA;C~lbqDD0|!24_fqa5koF4Qu@; zW7RdDkLzP@<{?P;LV{(iA$T4lb94qmUz8`5{Eu#v;nsq&R>9d` zhQjEZpfL!%9X0%5Vg?tG3%Hp{v5d7hoeSs=)UtEn}gLV{(n(|DSpS+o<# zZVNRn)+3CgCxM(HRAYtBN%lu8EQyeI70^!vUqzy($!23`Kol2(7oj@Eu-I}uq!T3@ zp=m9OVX?(NPU%MH4|kEr3h=+#X|g%p`=;+A=wu4*dekw?_9cmA)8iWdktGo12V^tnmfb#SP>y@C6LDmU5P|ZV|@uvL=^hDhF5D*xUsZw6^@lS z9|6Bui(^>p0CuQEp`R?eZBi^_-4FCTC@d0;Bm~}$8XobdL@pp7aDho-#=`rb_FfGz zN$3Y?xC!6MT6p%XZY(N;FM^?jTjp`PszdN*lZ=%KSN)%irPVkrdK;T#2WgIn)MKABEY#fjzKWZ4uGY~5xgyjP%Av7Ne7z_5dKK-YsN8$_u zKBgLnD8|%!8gC_|pNrtf+n>gPF^$0DbmkA8}eXWYP`RvP-;4a|(=labNbH>k0h@g|z2 zH1};n^Lddy*yt*)e86u1GYi|M{XF`JL5%O-L#iHHgIE4w4Tiwdz_Msn(+8P71~1T zC=f4|LVPKT+(O!gyR@9-F)mw106(4&Z-(4Nz}dAZ0|zh(p_rr8L9G~gN0TGi`V}(x zs}g*`g6iqj^%z1Q0#^vyiP32Hx#;X_(ATAi$Ghk-WYC*Xti6tl29)63i-rY1+z>gf zd~cvEwM0xg*bcehL0k4hUw^#x9Kv${(F&0LEcLJ?dLDE?ieLJ@3D&kfkhQ=ByK}c|oHLRhrhRQFf+)IT}Ccgz9x4>+UAk86hTw@yf2jEVO z#c9ay0eoOB4pUh}WnC^;*$lw*Op2kghRP{SOA@&n$XY@dLz+-T-_Ee-y69*W{zEVt z6g(Xh$lfL9ecVtXz98)%Q8_fCaxp^#oFR_9saP6mM9I!3iueQ^5AQNkw;`W(8FAJP zK1h(FdE})+h&RDlp?}npg&?i*cbR$&I0i=8G#BH)E$}Y2IMiiu=3&y&C>aTu{;LZU z!@CUhG;B=OF9x!l&~4P^pbga3rY<_Z7ev1bb_bNZ&^&)j*K9D7ZD)Z1s zW^ZS>i;m$7&UewE;3+V)bEt1FW)#&Zrj)|D1`B1#9U0$L%Myg=DLeR4H*&`M?gPL* z&lLrHSOHh51 zi;mw4&M(lQ;Ikk)r~2j$W)))mr}V-M4?Y}&?3upAFzl32i5N`3+2x$;dkt=e=_6$d zqy{g+0_D8Vx33;PWnwgYCNdWKdWV>_cnq-MUY(I!9`iRw=o^goDT!b1YXY5aq6{B- zW!c#R{`a?umNr``J(1wrY*9m-EtF zF!&%wit|BVC7dzUE~bPHLN0k?=PF-O9c(cv*GIpJAUlf{@k{7ZGsaP|(g`Wv^Wqvk zFIIAZc&QW$y&Voufb=W`=}N7h7c2K*#GgYgD*&&nMPWTJR@UK-78!I8;Qf;{LyXb$ zV#SRmhI;-s;15Z{x2)&A`l0#~7af4ZctSo~OPp(bJpy=*V#?FQkvjx_-nlOBtss2H z!gS!H;n0(Y!-m*B^6`j2h_3>@MEB`veYKM4g+XMYvF^UG&i+Dmw=%;(Jr9E)G;0Ai=vhkh+Na zjm2Z2;sxZTQYbVL)2DXPPL20A9g@%Uk$kjuaw1rk9|lS zkNE>5wQn%ot#fC{^YGH_r!>;0Vz;~y%Mg8;&?d6q{G^4KpT86eB&@tcu{ra)LL9Hp z#>zXh2ejwPP{i9P$p;8hd?VqUnMw)7WYhBG>1_fRSC< zig;|A)rV}Q9um9{*-EYkDP||Kl~6!lDuqG=F=x6U-48)Zs?~{XB_0JckUItNJ+&yT z57|ok2;K)B@H&%X^dVbuVSkXDfbq8n(0+pJQzwFsAm3Hb=!T4Z-*a848##)&e7e<* z9OY*~yc;<+Op&8}48%)?P^K|V9*SZ<1SzjpFLIQn^c~}TWH$z0P>aL5k)zDc;N9p4 zc(6$^x{;&Q8O%*F3&_2M7WjM7(CEb}>cuBenC!|^#I7@}UgRm-ew5+e$g9zfJY_u) zFO@=}h%$Hrq`#yZ+STetp0XGYqcd{<1gt=Obqec6o(I z-Dm-*kl?%g-DqrdV+Ex9lKW9Nnkiz~OsgBslzUNx_o7*iUNlqiUmpZ76+)Q~jqp$D zkls!e^kcnX@mLqm3jDdIP?EMyi^Ef2DO1AW}^P*siC`> zHds$-69Jt5zr{G@z5)2dS`?;?Fy#qjNA^A7UrdUjj4&m*E?0(%wuK-_FEM4j)CA(a zE;^PRbYmIncZIv?z-v%8R!Ucdi_TL9O{tG~q>GO01r5h8!WHGB!(c(ju*GmiyXc@% z5PfduigD3FmLNJO4ka9zP|UPc$*O0B?a^z2c)&_>dL*>Lj&a)Hh+q zinDMwB;SYOB@|C0i;fFPOQX7;Q<0bw5{ZUmWg3Y^>=N~7ddRnR00+c^>M zcRUz23dY9C78ceTYE*2$;~f+};e&L17=fCiC`$ivi2b&jf;T;sf#YHD49-6*%N`Tc zyEZC7)wbAZ%2RBB7c|-qBiWLToG2!f7D%^D|7L{!J{$di5hfG=wO1xgk?Fq+I44)i z>%~OPN&khwEgwWyqen2ZY<1%aR%}q^f_sM#pDoy$+Gzz=Y=0xi-Uj-zHTTf(BsAI$ z1K3)Gw8qoFV)KgBADsO~pDMOLZhof@(^>VkI93fOL+<>2!bjy(u zkhcVCwzX_X48@kf`Kq(icD80y&h0xddZ;3 zL|0^bMWe{OyabRL5=rTUf3We zv0vbJ%k&HCFh7`1@>GgU4o@*!O#4fP^+AzoJFPG+C^9{!Vg#a}icHTM3e$pdDHs_WLPAVOJ4W^@ii_JR`->(2?GmyU<|44fvt0NI!j`eF+p;d==r%Idy zQAzZZ7#8$jxV@}!^sg8(OOZ6h(^t^@Kwt*41~Z0cia*}Q5`QP@XZw@%k1-fS>!JUK zygEa0Pz@4x<3ESPKR~BvOnI$_{txobgQ3_)41hfLTQ!tsD!E^9Qt9~dF#n&3tc1`6 zCe$(C&_N(KRJ_ov9D{KZ2z;b92Z0a9rWlNT7{&h*hSQk<+JTnAGZeVw)s1pJ(34k67HNB{4knmA;e6pWf`s27LR^0lu>W~BV+JOXb7y0EtcCdOwcr(i zcM7ZqWASU+-jPO4%_Y>(4iII(Xk?GU|DEZ87W@u+XB6dnP!<|}-bzw6@>j25L270Z z27HCN=0*~ILz4#3j^}E+>AK<{gLOJU#xZ2^Inc+HXiO3zz9%>nk-H6?cqV0DZBAW! zg}Z7Y?6Js_{j^CEEOX$UuVs!$P+|(m+#K=rQzY-AL@2Tbvr7In%X?ch1HhcMMlT;8 zKavZGUJd=+N=q~KQkOnMNLYk}k;vl1BOfU?8|GI|-71D_JHdF}DiGZQn~2>=qO;Ib zbY~7SdcJ>b@IL?n8`n<5lTP54;fvZ1SxO$Z%_*d`3wvnjmRa=de8qNG>pv?Hf#*jNSgi zpld37C<3U_7DjBzRIEuD9EN>ysuI&fZ#>FA_}epf=G}} z7WV}=K*bF=5J6Cc_c_&F$uR2o-uL@`e|_-lNk8YD+E1N6-Ccc3!^Rz@J|~!q>X~z_ z26LE}n+ztUTwl+eYcdCGx!GXiBBY%Fv*j2~pBLl*QV#I-nfsxmN%Df+Kl5-5764)f zqQ#k8d#UqEE%&@x^5y!>7t74`d!F}exfb*!6`f4oAuGMaZ^n>TfG>WW#3mqoJPhxn2>$TaDuJ(%c_sb4jV|Y zM;FNRdq!)6_T~atg?)k+Z9qQMRc!SF_8gQ{?-uI=2?GsM<`O(qjFSUZVUElgW1xDO zu+|u;-g030J^hVw>SMy|bF+{awb+iFj23q{J9~oGW~IqA7=2Afg{CcJ8;Vht4zYVu z>YdLD%Auk+$Q@&QG?87edCo`T8iF}#80XvAS@=@yOS#%)ONz3w*@MRrwJE#CNTt=G zBP`llsJVrG277Kfi_0NKR2vFMovv4h+CcJ5A%2><#b+B?YSS>HT$6MYm^!z9rUR{M zj-NIjnl?HQ?*%>Q7e&)2Sq@K}Ao@MYGW?fex%nL_FmW0mg2~F4QdkarhlIxQb&V-A zo>+^YN9ffmmJ?l%pBEd;>7SH@^R1~;YvtS01C9SpGCt(S52kLX^W)L@dEX=HfL7LodU|qh;aKXVhvobL*5pX58l+^1N}o;zEhm#t+{ zW6?QL^hLV0Yu>GpT?+0-IiVnBk z;MhQklZa#M7jw~vH4EZw3b3Ru%Qb5WEuw>juTvytA5sb7NG;!FVqY z>iBw&xJ#)#leA@Yd$IfX8xzOL}OELXrw>lS!r z3oGCb()WlTLJiGY5yjdv44}1-#8;b+P}$V z?BA4m_Bxy!`!{8Mf<$kjKy&{lWb^soWaF3h`ak7!kn+iHQbA3vjrzZ;3i)Li8`{4q z&e*?+)Ba6y*uM$aFOAa%PI1NtPMkJyio*s@M5q0m;*9;9cugmq8~Zo$Bs4qD*t&_6 zm54L8ZsN3SQ=GAD6Q^C9;*4FJIPKaLXYAUK&pEwTZ#;#2~9a*QR)5*CtN8 zHpLseHt}N^@OZgvQzwnnwoUQIwoROZtHv9V)Q2*6?boCKH6$&%U0H!JuXgeWmW76(RLdf%w7qIZR~EweiK>S z+2ZV3x5HfRYqkkjHlKUZZ2+&Oe+-b}Cd1)A*!BuQw!2Qevz-m(?H2`F?qKb#9Vp_z z=f?O&(0R)XiFmHC8dJeD0PAgVzYOdlk6$aNi2t51B=u*at^n4`w~K$*v8MKcJ&`!c z4Za{C+^;DIax8V!0+hP0~vee3-7j=~24)F>8BvVLuj}a1naERby;o8euyD7-K#|ZNNn3B-S zTZzGYSt`3n+(Li4iq-UIjo7gl%c%BbAcYZhy#i)CxNr)(?s>#U=3{g{i_XyDE_78n z1zq<%8cud<>D2<|M@5HyDCD>pN`DH(eEQQ@ti>OHOBj5Q5e~gETn`VaoK{ZZ&^<;t z^bSOA=vZ=lweow1f%sA+6+D#qbYch@d>t0wvqSRd{}sPYNAT;whc#GRFF;!1kr{NQ zaOfU09Quo@2Hmu-6b{{EhC_e7fnHAG&^>cyf!`{!p=IS69mKl*%)`DBFYU*UP@`e| zJ!_>TZPnP&G_Cyd0C8qNwi&AtF$XZvV@2}==%^l|=K;Jip(s$Zkm05%{Bvl7w{JLgU2}A$ zG)|s3sUy2n5OQz7=xb8_r055ctdREn?gp_6t=GjH;hsH;4f}9)3yMNsU`sZlkS_(p zO;N~`%_!v8P!#fHL?MS3TQp9KOp}}H!ytwhZbcO|BTbWBiI9jQlPBlt z_fn#mWFs;;xg73oV#Pt`bx>sTwg0@Mi7H!PK3~KfVhQfsp(e>jsPQ`*m@kX=hgcUDCl(%J`N?)F)rbJ@ zPBSww=2H2O;>aQB@k8PV`tyKr9A>$36sSA-p|DjXOE)Z9d7Y>@4BPs#n0OdsQ^j5Q z)0ZM_CmRvA9du1H>eZfVYed-2BPum4c=}U>?PMducDH)IVe=msmk+Z>N%Y<-*$k#V zuRi0hZ-{~;%y%tC%uY5VX1}bso@c18#+8sFW+y)^jos0!_*&P0iMx-m+_LOaxWGS# zxtkyj{Xl!3z%`+qwtz}8wt#9~&nu@bpi+z{aoroJ6UCJyEFq7!d`j6RFLN^+n2(|b zDaMvhD;lVgqSNcl*Pfy&ro1Po$st% zotskXq(p8;u!Nbz4*1zA#?Cwy#Fq^veKmV%Pjm2%jhjZ-^XUv7ftyh{6T=~3Y}|Ca z641&Y>jEk^ZfbG8&3QN< z%pbyHGtHW5eP|1&l-*(3iXyv&F7LQ!@V=3h&+1m1iVIt;D7SA)HMb?`vqaTGf zZycYo94UKIX!FKqXmc45HZ{Gl6!ynWH^Hf9X!Fc<5KT2gn`hGZd#Offa|cCbOU(%% zI7zH|lO+#RkzW%~0KL9)Y2ea*T&fZHwI{@H0B109ZvgPD zM0(9ZG0ano5{3%TTda|dzCcNBm++8iPl!G?N$r&Ij;MZ%B^s!6{917<@#sU5)UFBd zi*>}4s9XFsV&_{d-CiF?{D#NGcW<#Y79kvO;}!b<&{P#kbvu`ZSmn|NB8!x-e22KZP_zQfY4>e2f^XeWc8LZ9x<`CsbOrF3!T9k|i!h4WpO*woY?71eYJ zuH<*&a6W*1HHX=Kte5EdF7w*Vt{W#NzT2QHo5f0?EVDx>Ea}5Y>%rJ>1~ATy&zpmg)Vh`kEJDFo`=UszS!_yD5LJMB#A$3&y}R9M=k?fnd*=DGnlK7A<)K{C*}v zkU^*`q?BT=&J)?Nd!Z0X_l=hs~>%J;7f7JoLRruTLPs@WMTdK z!=m`w#F3nhRc@_Bi)qciuO_8r4nE;W&a9Hw>{rp6ec#B&zfQ*ITSTpTFcO5ZDJ^d{ z>cpyO$-Zx*KV{o2lTt~`@2hCZyKidB;ROi9E3=~&?^U$o-8VBO45^RE>}bWiZ%)c4 z^ddEpRnm(0Dq8XGyEWx*WciL1qZRMIg(>&VR${c`y^2=6`xbi_q746sQjV6q`r6 z3yztwLKiAx7)L_k`#ruOLHCVF_J2h>%qy}piE#CK!k>p^_qV?{RBsEyGXodI; zqAJajE5!dsv#|C%@psG;GF|ty3f8Oxn7#Fym6@-JgCDV&cvG_?!Bm>HNc{K_b4QR- zh7MjkO*lVh-Uw5ZtkXro$1EYjRHfqEM4yjwBY2gSx&)2>PjrdoLUgG=ru-V&1Ho46 zN=$`HrLp z>r%M1l9C*(OLssCj!SB=E_Fr|z9g#Br7$$|@2r##U6S7sq{W7dYoJT=JAyQPM=%)H z*U%-P{jIbN!`TFoS0zmvETB!$Krf}j`9iVsQ|6Y>{DGQ^&7a~DOJhMyhKR^2;sb!HTBDAq!9TBL%sLuh08sHx)GZ!|(~Io1*1OTD zw7dxN&NNF6QuTeh7tYe~0l-(X72?z}Y}`e&5VS&&yd;2gTI@d=crIn;3#l;{`=ec1 zp#Br=H6bFh#>QHI>eLs&-mXN<3L9(vslxAollvjDa~o=0VAePb^u8aWb1Z3C?EfUL z^l*MQA7|bKS>r?uR^wY3He@b!vn3q^TL=t1nORgI866;QIyp#xOXodboU<;Bu zyT~4tFL|W93H~@ycLKXg%ib~;<5O>SgmjroVfL1>7@sOU1e_7Xy}qHsZOjU9L0SE1 zF@9Q3+*&kHWBp#H=C+8VfroQO{!&`2IOql$x(~9H#)Xpf@j~3&nwT+`pVpt`u ztFNNf-)Y9`?;BAZtD@E4X~ybrX|Aeh^>>=F`kPA$TKt`6EdC~aW>qI@Krj}6le(}f zTKt`6EdDMbg1?GZf2SF%zk3j60IgU}Ggg1gmt?ekqzC2%SG`Fzw&v>ZDq8)WW~}~} zayQcA?=*AqcP8CErp*fRd}#4^;uP4&c-WLR?J>gsdZRMDq<)CAtw&I%F~p%ZOB-@nCR;a;@bH5rhlWcfdXtB4XN^ zmeY;;oCo`o5~(*c^m#4mVLYml>&1_A1+ojVGoz8L!Onbd)c7=NY|PqxYg>?%ok>|J zQcto(dAWz#nJ`;)IB8z)0S8VOH7Cu>Jz(Af;Rp0fv!;whE^=!y63?`)AH_ne7r+?B z!mB1~q4f$?;X@x(q|kb|A8Sh>S%$;;uaHhFw9cE0i#Vu5z#bz-MmNaFUMsXNHhXOW z_;*Md>K1t`g#yOIH>X~sSOOb}OZ%XNn42@yih6T13-<*W=DA<0VJ@-mK|*C(Xm#Kf z;7Eu$X$5HTFqc?q;p=u#)4|RQ5s?)xv2HOdTn2VeB~ov0Jh=W-g-3wnA4}}Ih8in- z^CBvs?9B#DfChU*3eaG0XnY#%4Yjku+)y4N=4K<>wjZS_bK_5GJljx7rtHmFRFCEr zt1|5kecVZUU2ktr%rds2skb+$kOvJSQ|88nnL>S3Z*Hnkt~4Y4VHSeS%@Ej|5_Bk2 z_U70$Q&8EPjj&DZZ|n{E!!M$`WN+w(yupVVbFCcWNne|{@^Cb^qGV-SKAnS?{=k=U zIFF&C!9$#FEt?{CAf>#)LdtXE*w>gu^758#ExASf@pZ7($m<}>D)@$ZrN<4IV;+iE zR^vWV{f%;sa;#4A9?{8MhlMC8;k-G7!v!4Q*^F$lnz zfB9FSucx`i};nezu>51{Y1Vp0apc1-qH zAWM@SkA~n~h+9Htd)IkjUp?DJ&+pls@OO}t>FdfI>T6li1!hc$T zf3t_IPr{e|K=d`wAo`kTG5n#dq4YJ+VVo7Rq4YIRG}Nd|Ty@aOK()$`tsZ8s46IDW zYcVWd6|;Y0uGmqidJGDl*0R+1JpSG(9{Pz*&!g2Tmi+iiP;^>kWIgIe*J#{WRHv^- z4a1@w7(GqLvW$*4-dapL&H7?dM%`&Pj=duCBY0Av%NaI{R%UGfnJsqG$_(4yl!!3g z=|?RRz0cx}aGe-))>wwI=PXOJI_OP9M101m2#iLh`1t~B#-po6%0<>TYCbB;qatnx z>kcvEBJ0jJiKi~I%&1{tFe`nLrA-sZF0$sX6=s{V@=JZWAouTl-WxD*nBbi zH`au5z4JHZx`7ghS%*L>OT7IX%W=JAChm*G&<(BVy5PhEe`nd0c+u~yZPweAI6O>A zven@XO*|&4iIgRl`bIn}PX5k{T<6SecO%;kVA;Efm`JPyK&2AIk3X?EyPgzBm8C8g z|F~q-@%c-vt?fIbnBC(1C3aoK7liD#l`{JY_EX4jIL;$o=w24>fUQEY6Y=YUwpg^1 z6q>JHFkVqUNYGHP>Q(CNhQD8wiM(v?MVGAmgLQIxz_#Q%sos{P+r>|Ru*De8nU`re z11B!aH8%H6=Ef46u)TQmhJm!x5}UC7DLO_q!%jcBlprRWl)zzWjxJ3@hrboZ+eVc@ zibsU^24|yihx2x7@F|Z~VrV#T?kY1|c?_+53FJGlz~d)2tyPdlTki$^KT~V!g1t6Q zT>y=i%Zy%$H2VO`>_khU%;*E#{*-H}52C0K@D{m-`XH)KOt8y72pq8U2K^q72BcSt z^D$iNcUmlO>zG1qi;7qZ*3Z4fm{{H|b}*5m-QzKkSOT9}d%LKM+53B!`YP}@tw+$vW{J5j-pEhuYV`w+VI(vQON<>bLUq$E9phwP1c!bWcr}Kwg$LO3? zF!Cwac{=}q&Yy9S{#b^S%nPo4bUvTx+gxwc`8GN~;tD%O;Gd#LGEX7PFg6*3=|h^R z2c->2TO_t5qyINUJZi0b0|qnN26lf(Bioa(-1fV{aHK?XFf@B>a2$;zPoXi~K88SQ zWEMCUdkz7gy%m7XeumPdMLGc@?e`H#kMsgW*_V=76PcUSet|d{k>`<{KgPbAP^-v& zKuPvb3AB!&+3vGHNQnw1C)@rtaf&1--(E(XV#z77A0o~*l2dALOPmtNG33_8{wQ(U zM7<5r&3+?s+RDaNXf`TgyIo5_WDJ}!EnNefM_5VuHi=^?yue{vaH8DbTU3X0k0@%) zV_pA(B&qdDsC7R6zElyU)}3fQ;EHTcGc>jt%}@a&l^S@c8J~=64lGq8k=2}!lh+-X zs{>X;ht@WiI<&R9p+m4uY1ZDRS;|EHr4E^9DSbQDHC)#90xFS=O0d;5dz*}^1tXEF zOxMzkpeCF&o3Otrk4<~uY(jjWQXe&?1r(GY0Fha&xYN?&#l@yPJ@$7~ECXVNATJTQ z*}Rcyng1U)G~@3Y`cp$gOT>Tzo)A| zE8aZuUeKcEFM+p+V+V>Js$SSHU*3NDtdcSwx@! zEyI6B<}n(8Yia!e>`fal20!fyoJZw)Wgm0{JE~NkTb3eo$Gk+kNF=-tK}!V$9Sfr6 z6{jbiFEmT)WIa|xQJpn@#R%5-pch~f@BpY0H%JMb4+ zR3N1za$q|}uTs91w_75@JMp*KM)6T6o_gI>6vo%y-~`EWUutr>pE26+3G`ubZC%4Q&x1F9k%6|n0|#VcKS7W-6u)rDubCQY!k zPrMU~7Lm6M)1Vtg!q6gZdLR8PPV7!1-sD6Un#Bhkzf5#0LnrSl1AU-DXKfdnxQA6uugxY z__U0-cSVt4mR=c-8#lbNbxm9$nwRqqu2`ZsmGn`#TDS_AiFu&MR#G0eyaa6x zZvK5F8dQyc6Ar4zH-v+#@jGyEHQYfh53YjKjdVd(NCVdViM!DI?J=UkRVXCUpel4F z98`swgoCQE6!<@>!ef*!s0!QMgQy!$qY9&_3cr)3GzR%Fi9XSwEvJC-bprKOkW?|A zegsQ(2ZmTaiG3+zdhqzlL?aJUD8=Qh(fAgrz6%z#_$UJ^38& zT_$$+`BeL4o%KM&I!+pgS~iaqar&hjW4e8%cQAS?%vTcL2iGWNEYQtq4vSci@ia5 zdEy4?<(#@ zhi6;sJ_2Fs;YH*mW>Cf9;jJ8KdUz4V(QTSlnG`k^ zl>gkri}WS8r7R2&PiB!G_6TJWfdaIQ;eYb*BAYh86@2O8*>kd@6Z#HT{=QFK7|cuH^cM^<)M3}q|E1F} zKMQ-UTB$>WzaKI3YJb0Kq&e{L_vtnl1HXEtIq?5Ky7t{@;DcTJOb}q4Fo=e0|34}O zCd5aPxEAJMq~(p!6)nMw^Hk-*6QkaPCy;4}`^I*2MrGCO!RoBpM0AlmeJ5;A(`h4T zXlxIUI1WPgE?gFxZG_^oeOxDztq{qnuC6f%R!~lQ1Jg$HJq~>Gt2^7;+u7ULyT@@{ z7n-$T9X*OP$=N-wy@$miwIfKb#NG-uYuS4aHO8qQflSSlm5}H_C6|iJU)x-seyFCGc2OpL;M&2QXAgCm=Oeen9)5{v=kLc zMa5T9VORE29Wg`85cskR^z)No{gpja{hjS8%#Vs5EWTq>TI3iX8`Vluv$iZ7;ul5Ncf15R9h zU^5j5O@&O$YH7s#=_Wo~!xQWqwqkZc9AEeewibl3e<;EJF-C`jT`q~v?l~_-NF$s!rOwtq zR!_(fortiyqmt+^YKYLkR1tQFg+!RpR}s8oJqTUi#Y17EEy@>?O~(&z6Yvb;!$FF# z==3y><1=zafBmL_cO735*{gbB?|w6iYNk!AnbUn-#khi!va;f7!$*!DJE?4zHe&kN z+UjW|M{83iPaivD?5vU1)5ngUq#;eu&_u0jW|WN+XI|sU;)9L+K*ZST)ion1iI{o< z&nTl`=iz~!PvY*=R$V=I(u|2Uv&Fj4xK~vF&Lafh!Uu{TF?zH(y_?4d)@|Xn+!IA}ht`ZL>)WZIq`K$0apJRIcyeI)OS}ma4{zt+h(~ttF}9JD@WILSF_Xpm z&v=^X^D?)^{i(G@Bknt{HwjF68Lx!I=Tz{zsd~8Bxs!JiiJN(Xc=Iq17sapei^+fP z-@@rP*Gwtv+b_RbrWad{Wt=X{;p0w2}! z;Y_^oGmjT<9OgFRdz!cK<@yRb{N*4O*4E6ZDVrr`zskQBdq3uhBHD&(-@k_s6JH%h z9#gh(hj8rWN5r|k{7I+kw-Hhy0-N^nJ6USARF>))(`v@fnBIQoBvOfywLT0g$}Q<2 z-uevVJ^lcXa`mh1)VH$g`s#{4*Y&LKQdZGvKw#DZ-kc}>h0+xcuNg63tUbs_ISUF# zjh#KRwz_uYgqk@s1UtlMh&|76S6tDEX(K1qLNBYUXQH@*;_4aDh4{cf5Al%>3a;TrC_~Mp(t*Amyhrr{X@TDx!^BAARgw3Hl0w<31$GPgdLZilF&gZ@vV6O+IwKu!WN^#x2M>-RjF32U_O z5&eGPU#9=n02#WYq1DxsW=;$Y{*kw5_Mnjx;wOHW=yw2knlMen#Q^w9N8yC3wH~s{7|3$fyoB9Xe zqKkRoqJGes2*HlSNa##I6gPUx*vVupr?+oaTvC+Zrl6!S@DZ6_wquujpRZR~tTkWX-e@W3*8<6DCxTogy~B302CE(Zd6)qjg_$ z;JIA=hcGrxtZ%KSBCbJQYxHfFIM-TliSPiKg?e+gTij5nx8|#Qi55k=SF9`4Eqr4y zaVi&JSD~K7j~Se>)8X>X@o$BCD}-lQSfn?yc7eaQN%Sg0rYDJ#$}jX5j}$>5Uc6VN zx8!)UBXji?>lRibGK(SEUkoTl@m{g4Snp?*7h_RZth@d3@SBwfP64OLlca+@Njk`r zq=P(3I>?ixgFHz($djalJV`pplca+@Njk`rq=P(3I>?ixgFHzbejmA#bVR~qq=Nz~ z(m|di9pp*UL7pTXpwPE;P>5VQ$djalJV`pplca+}`qD8p@MVea)&sTe^-W$ep})SmQ%rx{ zapRwk|MYM6Fog{-OdF>#ZcFgbQjhWA1pjQJ`v9oPg}|Hv`U;kI7}N_M!|~;C%ZlN( zReDQ(of$c4Tw5bD2kA|C3==&D=`H-W( z?kao&n8N%j>@|7}*^@th<_cB#myimpbyw8(Uqj@Z>3B&-3$9d)T80Regy7N;ToHn| zh%X20sYO*GuygZSq{(q9R|;ii@&ImWOb z2JtGwnJeB9+$03&{ZCjtIuzH8cZcdRu{VauR*Q4srA-YX&ke!1i?V7x)xRo){BQ^k zt;ypd{LLXa5Q3YbYiLcF(#BV==KHUZ04=9d0{gBOkbGKtr1-D@1)tV%DE|8){No{* z%A=JKhWrSweH9|`1Mo>qI3i0662jLFlSN~T!98;&Dg<8)k-sPw4?{}V zIU)Gk5ZoJBnMINx9)f3v;1$4h8K8#>>CoZLz^MNMm=7(MCcy_F46HC3?t;J%z!%JR zLIBGu@R=(!mWU9a)>3Ma&%qzU^i2Cf;B*uFfOCLzP23FlXAI4yQILBQFxBhK3?2mD1YIsM z@#Da^aBTr)Ktr?*_gOiLHqm=)L!1qF)G?3(v1OJR32lmSrp8`RH-$wsp zpu4{U-)S=zjZy~0Qwv)OJAq3uS$vQu>;+aqO$oOG{-jf>??sc}26!b}9BE?m5se1o zxh%D~F9;iC?y}s?dAD zGm?!JU4%ae&Pao!gz{wzegZ)~J){gAcq!t=^?$C(_W-MBL@v&?Ea0U4X}1$}Elk7S$tC}8!_k@$tc`(oh1L2D`hUcm5U{nFr(z;qBM1@yY>a}{AO@) zx0)G5X|$xNJ5N&p%_z@K_T$-LydVJ z3!l9VnC>lnW&yRp$}my-X~1gLA+>M;uv&ahcsa0oGEMT&Ixzp#?H!HLb_o1}8h18p zyboAC3a138fa&%OpDxH2MxyU8v~QSpDZsm7c<}B;c5w!oZ2tN9CX-u05{!w(Pkv>9uIu?cs(=UmJKzB>Za(xPXA}GV}fp_5^N6qU?z-sY7wJ0JQrZi|8 z76U(xYk`vQ2weY?0Pa$pT1-t@;}3vUkacRo z55NO41Z&L}ods5JDJZ{Wbj9VMAu0e?3#nWj*Z;O4>_(U6n;CQlRxgYwgBsu)gD%gL zfxXZXHO6y+@vq*{ECx=;#cQ0I-@U*O!jRRPcrCDc50p;V|80~27mvXZpaMSuRx59* zh2H|d8#D_p5+4OZ96AxHSuy6v>@Ym0>2?5r(z!v&;(^1^qpcuM`FVivGQyj4oHW9k5!~N*Qzoo{KStUn1qN2Ua>k{K3GNQ9+EDG}ViMbGzW$V#?nQ zY&Ni`Z1HLkg1hwJz_(yXU@v3=F92Wa*l@Ys0bGj~&o%k40$(l?1IO!L{}DP5QpjI{ z<(qcYCYI~k04VS#7(KciP-Phwmn}eJT9`Nzm>z%(1E$ev0o)g6KFZX;GFahHkVMV6 zYr!AfrqtKL;QO_1AgC9Gl)-pl^;%3~c>4IafPP}&+1v|$e2`h+0DJ{})q975Pr#e% z0C}qLG2mestsW*mPwC+d(P&AB)`}OR%9)`AF5n6$ddt)gFR*&=M-}P~Oiy@7p$X3f z##^`g3akM>SX$~EXco8;_)-x6X<+p}Q7ZI45P}u-82b8tSYxC|izBro;H!;{sKE2U z>K-J9yjxu1l)e$)0ek`;xiVT!fRBbZ^gsddM=rRF=rZZhb^zf#^ryF3ERmw$RY5+%xB;_veqmx3%D`Hyt9eh0S_(5O^sQ>GGKbV zn1S+T2IE1POfVPtCHMyUW{vLwR_}1B0?z|O!xtD@9jP4vek5p?yaim09#Llf z6JT4A{7=9Pn2|$E?iuZ|Mh`-j8Sjh}wOs@$WfgF67uNtU#gJikN-duNjLiY0Q6%}> zfloy?O!?)&3vwEa=2O6zi!kJv4KjllLD-a7>g!_S{lG(m3OE9MDQJj32UhnO)FWqr zdp8#wC+pwjwkrJFhuzf!D+)>!mtK$s9-5*@TLN2W=qXHGH(yWq+qahQ%+&V<_RiAh zS;V49JlQ^YjyDOcn5R2gv#Z`!{q-wA+qi~y0jR8Nhdr>C>0VAw=2K&yOsDyA;gn^@@qfrU=v#HOWsjFl$$IZ?M%Z_4B! z_o`*s!tb0&ScW$M7evuAy senseTable { //! channels to sense during the applied pa SENSU_N, //5 SENSV_P //6 }; -std::array startupDelays{ -/* - 200, 150, 100, 80, 70, 65, - 60, 55, 50, 45, 40, 35, - 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25 -*/ - 150, 90, 70, 50, 40, 35, - 30, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25 -}; bool ccw=false; @@ -156,12 +145,8 @@ unsigned read_adc(unsigned channel){ * Since Timer/Counter1 is used in this function, it must never be called when * sensorless operation is running. */ -void fixed_delay(unsigned short delay){ - pwm0::oneshot_delay(STARTUP_DELAY_MULTIPLIER*delay); -} - unsigned short measured_zc_time(unsigned short max_delay){ - long delay_us = max_delay * STARTUP_DELAY_MULTIPLIER; + long delay_us = max_delay; auto scaling_factor=0; while(delay_us/(1< std::numeric_limits::max()){ scaling_factor++; @@ -200,20 +185,23 @@ void next_commutation_step(void) { } void start_open_loop(void){ + auto delay = 30120U; + std::array multiplier={0.83, 1.0}; nextCommutationStep = 0; //Preposition. gpio0::port_reg() = (gpio0::port_reg() & ~DRIVE_MASK) | driveTable[nextCommutationStep]; - fixed_delay(STARTUP_LOCK_DELAY); + //fixed_delay(STARTUP_LOCK_DELAY); + pwm0::oneshot_delay(STARTUP_DELAY); next_commutation_step(); auto nextDrivePattern = driveTable[nextCommutationStep]; - const size_t size=startupDelays.size(); - for (size_t i = 0; i < startupDelays.size()+6*10; i++){ + for (size_t i = 0; i < 12; i++){ gpio0::port_reg() = (gpio0::port_reg() & ~DRIVE_MASK & 0x00ffffff) | nextDrivePattern | nextCommutationStep<<24; auto channel=senseTable[nextCommutationStep]&0x3; auto zcPolRise = senseTable[nextCommutationStep]<4; auto bemf_0=read_adc(channel); - fixed_delay(startupDelays[i>=size?size-1:i]); + delay*=multiplier[(i/6)%multiplier.size()]; + pwm0::oneshot_delay(delay); auto bemf_1=read_adc(channel); auto bemf = bemf_1>bemf_0?bemf_1-bemf_0:bemf_0-bemf_1; next_commutation_step(); @@ -229,8 +217,7 @@ void run_closed_loop(void){ for(;;){ gpio0::port_reg() = (gpio0::port_reg() & ~DRIVE_MASK & 0x00ffffff) | nextDrivePattern | nextCommutationStep<<24; - zc_delay=measured_zc_time(500); - pwm0::oneshot_delay(zc_delay); + zc_delay=measured_zc_time(50000); next_commutation_step(); nextDrivePattern = driveTable[nextCommutationStep]; } diff --git a/riscv-bldc-forced-commutation/src/riscv-bldc.h b/riscv-bldc-forced-commutation/src/riscv-bldc.h index bf91dd7..0a05ca8 100644 --- a/riscv-bldc-forced-commutation/src/riscv-bldc.h +++ b/riscv-bldc-forced-commutation/src/riscv-bldc.h @@ -29,13 +29,11 @@ enum { DRIVE_MASK=(1<