From ef940ed92eb6c6afd895b078fb2cbc63833dd63d Mon Sep 17 00:00:00 2001 From: vadyschka01 Date: Thu, 7 May 2026 18:10:42 +0300 Subject: [PATCH] last_rab_alpha Co-authored-by: Copilot --- .vscode/iar-vsc.json | 6 + .../index/arm_math.h.3AAA648B3CFA8984.idx | Bin 273472 -> 273472 bytes .../index/dsp_manager.c.6CC0D5AAAF07899B.idx | Bin 18598 -> 18566 bytes .../index/dsp_manager.h.0157A91E237F9ECC.idx | Bin 794 -> 794 bytes .../clangd/index/imu.c.B3AACC478BCE1474.idx | Bin 23948 -> 23530 bytes .../clangd/index/imu.h.C212CB2BB06D5AA4.idx | Bin 3362 -> 3096 bytes .../clangd/index/main.c.3730E6FA7C0A9185.idx | Bin 21108 -> 21140 bytes Debug/.ninja_deps | Bin 35084 -> 44168 bytes Debug/.ninja_log | 144 ++-- Debug/BrowseInfo/.ninja_log | 1 + Debug/Exe/fft_az.out | Bin 231200 -> 245252 bytes Debug/Exe/fft_az.sim | Bin 125535 -> 130511 bytes Debug/List/fft_az.map | 664 +++++++++--------- Debug/Obj/dsp_manager.o | Bin 14300 -> 16340 bytes Debug/Obj/imu.o | Bin 29135 -> 33678 bytes Debug/Obj/main.o | Bin 20081 -> 20644 bytes Debug/Obj/startup_stm32g431xx.o | Bin 62759 -> 62759 bytes Debug/Obj/system_stm32g4xx.o | Bin 13729 -> 13729 bytes drone_par_on_gx_up.py | 133 ++++ dsp_manager.c | 85 ++- dsp_manager.h | 2 + imu.c | 97 ++- imu.h | 7 +- main.c | 46 +- settings/fft_az.dnx | 2 +- settings/fft_az.reggroups | 1 + settings/fft_az.wsdt | 60 +- top_mags[1]) | 0 top_mags[2]) | 0 29 files changed, 764 insertions(+), 484 deletions(-) create mode 100644 drone_par_on_gx_up.py create mode 100644 settings/fft_az.reggroups create mode 100644 top_mags[1]) create mode 100644 top_mags[2]) diff --git a/.vscode/iar-vsc.json b/.vscode/iar-vsc.json index 7464e12..aa45540 100644 --- a/.vscode/iar-vsc.json +++ b/.vscode/iar-vsc.json @@ -3,7 +3,13 @@ "${workspaceFolder}\\fft_az.eww": { "configs": { "${workspaceFolder}\\fft_az.ewp": "Debug" + }, + "selected": { + "path": "${workspaceFolder}\\fft_az.ewp" } } + }, + "workspace": { + "path": "${workspaceFolder}\\fft_az.eww" } } \ No newline at end of file diff --git a/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx b/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx index d5cde3ce2062a4049f3731960306bb3b8bd7f498..eaf3bd60065fe826bfc5b8f2fc9b102754142389 100644 GIT binary patch delta 1592 zcmYk6dr(zX7{xtzU9YSZe+m#09Y@(2`B0})29U@AFDpn_tJ510`xF(1uX0?NSE zK^_hp1wj)L1qBp1WQ+rb2?%M4faHTWqA?}%Mzph;m^y#1-}=tkXYI9jS);0~QFY{~ za8y=^9GIi6Y8G=;;fAXhP6 z403~yz-}#rFP)cd;WXD|*HlhNyvT@`8I!xCkqx-Rna);)`Z0q~RUE!mkhcmYvs{j^ zXmD_E``DGOl90Vh>SSQ$?HSh3)O;cZB!yM2zyq2z zWKW%je>UN2KT-A*$`ZU_Nh|lQ3fQ0OY|3>JLhab}{ILHObl~Vd< zC2ompz0n2cyBb=%GNbA;!@e+kZYcsOg5Jd1QjAya8r%BBUQn0mL12=2}lX_#6E_Vg6MY|a|Cwk4AN+I^Fg!6UWV)VJ32r*U?k2> zg@Zty!m9?S*PdU`LAOHLtuPdQ)9^^p+v8wWTJrRS9|wgXg<$G*Sh0X~Xldcd-iEwC zt^GM`0cn8=dz=n`JCBrwv8AoH8@YZ{qkB_hIkD2Fh`nJ8XKouOO;9#Lm)T^%jk-)R zz27>iVO);~iI?&XG-=0aDX7q6F9T-yJ7H@6Hc$gn~s&cBL4nV6A>7$fFcgvtUvJ#*;@_gw?IhG`Q&9~Js$t!w=Aanb|Q1AP`-3x6sr=o;xtvWVmp`5^hyDQl>O z3lVMVF(jkYhGV|8|2#L2<5rMX7>kCFkuIoX$`9jZ-_j%w>Ot!NYn)irBvp&~Jwc>M zpJIxP`qY~j8o6vZ%e}=Q#ZpMN&(TXSInDOaP2HTq^>&bUX$$q6F~a7xK+QI{Aehy+ zz*)3zg_*#D+F&c5Z^LncDw5`_uruxopBq(>QH3tE?!X0N_ol|Px2rgZeQ*!{>~04# z*|APUFpDnfI`IiyVsJS=ET0cWYDlEUSX|JB?J}|^Jo>D=*1niMdje-x&@IK?aPpA& z+_s^Zdl?9mLV4PaQ6l#CVzo@I-BDE0I-tGFaT`b*j3-iN%lf6esqa-tN><{%O3sHA zWJqBkM)hNpKo8wDpP6h@UBf{hNS@TRM+4F-lLn2$mD7*J zrS@+cyNweEUU2h(f(%II9W$3J!Dd^@ed+cOXJW^m^1nIl1nHDc^iC^zE$Em->Wj*r zrV$SMpzOm8W@jV!rzc$6s}edNyybcUNCBpa-`dDOlZl=4ub=$ElA JOwUgK(Lc&yHn#u( delta 1560 zcmXw%eN>Kj9LBrv>+bRE(Nw<_J%v`ANGYRjl#05MT8@{(HjcOBZH*QVHA7AsnwA>B zC{IigqB_0Yv>`jky!Bv~mtOTgA(`|ZcK@7p|MC2BeXj3)f1mGl6+bdBeq_EQMu-vf zad4uA822K+=-nYBL0dfV1jq>}`z9h+U<*9)NSEaNP3FD601b!D8f~*?h|&KKbN7Ny zS>Xj=fu7n}W%$#1%0TX_1F3^8OP!2RX6lW*^jXsA!^ezU%s6}v?Q2-FQg3)MXCJI) zSw2XiPiEh_-KlIE%pLJEiI;7dk1rBw+2*HzjQn}A71tkvJcNaE!xxi8Hro%W<|WaO z2i?mXVasV2NEUnJhr8?_e|0Nc894$Can#na<;C{g@BriiELhbvT%s{0rNtd~pE`0q z2P6k(O44++f^HF%jk8i3T{ze&lby0HiwZ=dOR{Z1*qbGlu7a+3V79w1+uf!A2$s+8 zY&Jr@E1zfpX@DL3JP4t5=&W7l8#id(xZVWP1REtb2>S%)8jK0lU1yk} zSSQ0kAG#G^9gg&LR#YU2#vrNI?lt zg+XBR_0Ul_W4FG%b;H{N-tno*1Xg1Yx&e$fAZFUIJZaoKAWz(zj7-h>@d?i|pYx^=GbDgk( zgL;s9C^xgQ--a%!4oRHU-L;A9eHzlI(XzQWkk3B6sqVl2CThqp1xrn?mf5dcV6kpnT|nt$c`qFg1`-B^W5s$f=gOC+(ka=O6(jK|RSB0~}bi0l`YM0b>d6 ziQE@8N0fGROBzTT=t;8&fHJxa2L+|99J>S>aqp#+{5JL=_r%I1R<>iImDo!b75ud@ zHE??}3usmkTT_VvB3(<0dTO1gAK~5tkOH-}-PL%-jBD_U<~x0NY03ujD~Ihw+fFEJ zt$_oLaSYhrIepuEJp&{Il$q3Gm2UReM*_c{7IK{X^FZ=I`){|hjT=9A*bCM(yg|2Q!~7jTg_-A^fsR9l#v&&a9Sd3OXN{X;VaA)nPa;eNL)MS z2&}UMsdU}c3!jw;6$Wl>1Zji~i|bVD`9Wav`b?MjvRZF z>d2u1_c`s-kS=xQf4kMyTzjwu%H=nhC?24aj@F&ub4`DkRB~UhhV*Jo4}2tr(xN#Q zk^U$0s<~VXQVY9+2%UA)fBIQYZ#2Cge0ikeQSC^=B0AD4b?(NytXF9a!6TOTe; z-w#ua?IjVkw{=R@46&q@kF|ibz>2+dkV2L9j?z`IU?(Y9DRh!%iZpoZ;Cj==!{2dZ zk3Z@0AFgzbmJ$S=$0+>_KbyGsphz|?k{$ZfV!Ovk(d59gh(Srd))macMRNNOvUw`Y diff --git a/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx b/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx index 8520dca5e3a813d865e91fda625ac671cd2a9bf1..cd113c96a7e356d21a8fc8599c1c5e4a90f00f2a 100644 GIT binary patch delta 305 zcmZ2Bk+E$eBWsYSn_JyR)+AeIZdUHeS+*+7eEfWqC)&C(bFy+yzGa)i%*Dzz+0`zb zF?jM^JIl%M>>8QlSmGuZ*|&2ZuS%ZyUc1PjYw|ybb~BziEDjnD1`JSeV{eGp+063^ zOfqv=LU}^vCLU{DkiTRfJCGa269wl^{%QZg#8TN(2PWVC+f+&#-n*XVG{UkT;bPXn?1br|RU#jsfb{y18ynwa@N=ED_fbH#U!d|MhV?w-1o( zCFP|GGjnpXla`PvkEs|;0BE*_l*Q!vPNK{voF2zB*I>#bovZW|=uG&a%#WFmWK)Mb-tG>niK2H~F+UJgcX*24$Xqhic6ta%wY86be0kDpJTL6U)ipNAc& zz&!r_*T?DHK0FMpFa?~foRis@cZxq-@gp`r}O ztCAVO3s9Jk josSRZR+u!UJgcX*24$Xqhic6ta%wY86be0pPyfzL6U)ipNAc& zz&!r_*T?DHK0FMpFa=z!T$9cZxq-@gp`r{N zJNj>Zz8O}+$ivMo%qAU?ZvS!QWk}%n7NBZ= jc78sXTVc9@W&@od1XDfv6O%0W3<>th<~9uX8Mzn$5y>(t diff --git a/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx b/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx index 84461082b71bdc71946f913f4ac1619eeef614c8..b6aca871ba672e09167bd76850041468b8ecd01e 100644 GIT binary patch delta 7557 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 DLg<2x diff --git a/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx b/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx index a4c0105241b226d399a85e9bc5cd0f98215032f3..ee6808497691aff42e01c063964afcf48783d53f 100644 GIT binary patch literal 3096 zcmbW2d2AGQ6vtn;yLON1uxtx$nQa+rcY(IBM**=w0+b*%Af$l7C|PH(cD37u-6`FI zgmMW4B8hl_rXGNJAZG+BwTOhMfXHl!2bu^Nk;D+uXd)y8e81n!E8w3_I&Xi!?|Z-Z ze%E~3)Hr>*Qvhg)HfEDCRWSoVF}@i!otT%84fc$vS{A5}x26rAHFGgu(q9#Kcu z*TaZ=rhp;+)oW$l5%%}D0{yKZwUmBM366y6v!*nJ8ru@8-kOt6MPivuXs(i6)Ea}v zU_(InHqM$KYEW7e;k2Tnjy*nzHJV~dv`Oihrl<Z-|er%a9~l}ISUWB;q-o?5OlQ677t%JgfMor6TRgSeu&hJ(5sow1<7IvCeR-FCJHYiDdiemj5?2qbBQu z&114zJ%Ji(&H~?TxPSWh^`5L-sJm$$+-r3DogJ}6bBmh6Wwxc%NK5FR6!$887^IaB zR(eS)5k=FgsJIV!7uCQx9G?w9HVB;o=nR7PqSmJ!%B@G+qaBiSD|4%IUAfiTQT$zv zt&Otwk=C2rEZ2?7t(CQ-+Wy>1W>Gz+9R%$q{5gQ#gIW)c*d%KQWqtd!Zd5;^(b(?8 zw-<{X(e}$)AC@?*9n$*b+$zk_o7;p*kI9cL0PW3Omv)S)`1WX@<~Bm6GZ|irAKJAK zpX_jK4nZN5>)#njrG=%%V8dQTNuFf6@WkKKCcbbKL>OrXsamKOxdE#lK6~F68zFM2qTa=ig@#!gDLyv!cYODwYS#{CspC%g1mJ_ zQ}z{o|2%?6l$arR)9$I;hI}l&>VTm*x#6ba1Gu?6xra@j=Vy3Iw~J7V>1&)dE^cVN zxBl$zlS6-dM<4;DVGj%|1DhpJzdhZTAKSUEWqh9i4%(i97Ci3$?fG@uy6ywd-1$@l zk*!`R7rCK)H!iJxt6;~b)B5IkonDv347t_4k8Z0;{c*Msswlm0kk88wc$8d>$8+)h zxhXMr`)fVDb+ENmVur>?SKds_9)9_p2sLbZLXF4`xnuRqwp@Q>&3OUvzY~9?B1;i| z9CWy*nc<P~$l7(0fW=(ITTvghaf`Ss}9{blmqEhjGM$KxsX43?Oo0;zm=!^=f~ z{UpK=tZx%-PHxEkZdoHC>y)(XZ`-Woo<)J z42|D7Vd2$9$z@k{x5w#mNz9Pje5JQ3v17vT`sCcj?!gi>{Ai@jOzR*7;(vD{P@YXE zk5P-blV{g?W5~oClo@Oc6^Jt^Gsuuke8JqDD~3)~!DvnsLnfNA+=voNLKH!nA%tXN zhsmxp!_WoEU*IpI!cWco>`c$`S3(7XRN^ctp#v2px7qEWX$Vrex!gftf*^U!9tVB6 zg5))O9kkPeRBf(y(AEf2jk(4_cbHI>SEeJ%m=6I8Wez4oCM@Bi7?WsG1S6CgiAcV* z<%{hTl1*8Z^Q?J#$Iyv7D0A8vGVL%XVW6QT#2A!0TMV5_p7KTo! zz-W#LLncJ9+zbuILug>p3<<_VNWckl6c{pHPmJaOFk}J%%KXEpEa_OQ!rGa1BvXRF UCaLL&FlA>)Wl^3R+!O`yFKeXw?*IS* literal 3362 zcmbW3d2Af@702IRc#oOMX1(!|{A^FsU6ZvFZ+7j_bQ3Cqtq@mGz)@NdMBDKm_O{;L zWOp2|nH<#0lL$@m3&6moB$BSUs*5Z9&z9UzgC8J#S;Cw9m85W zsjF?-yH=^8UGYSAsHo{`DpSxirDV30*&*~!OTSgTby;uO@?8-#j~SIKY#-LSgnwG0 zSQyP0hs!Ef9Zu0-J8y*q!Vxx zIn19d6!p{~DLSMQq3gD6ypAS-?`=ZJ=CxEZRm^0w*NkpU3?nHEJIa4Y}cWUX;)Zn+YXiqUUoX52A=d5BT#Wo~dJlN%V+`P{{V#mrmW zymgwlCZ%^j6f;NyT@%WR*ag0Y_3_FNHs<|h|1ga+} z2A^l~H-p(;FEL561YYX#OIHw3|hZ!HZr=6d(`PkJ_dZyFR>?F1H)B8o8JHr;Q2{`K(< zmlrt{ScJoFuUis^hKmpO>{l6;n$pXv+zO2V@!BA!_da{-`1LzO9tDj;_knZy*v4aJu>j)BfCM$vpz2Z;@HiaM-iR3{x}Lx9sU^S5`Jfgvc=)mEKKN1jzhTl2*?Wt#Osobl;Vm`ruJ17hdNB;Bc zYesGl9Fn1x+LIgP=K1w6tXChpyRY(qxqcxjq%dwMzVF!e4=?@svIl*jV)w1~)a%!8-7`Z07vGWDno7Io$A=0&B3rHh)_{7%I@3c>CCymXCib zkpOJ@Rm&T}bCumZe-j^k_3;CP>t-eJQGvxSJP&gV{Fj~s6UV>#*{cf3eEp;*MHtHW z>HGU1tvPz|4Rd+J{&0YCL&N%WUwOE_`1iMESV`$SmUM^%8e6^u_wW4ETZ&5N%CF4y z?mBk^9I#M;<2lWywS@^cK{zWZF31AR>!$=R2?5c4*xbRg_(B*W7U< zh+%^QUY0wd3uS>UOD14p5&|am)>z|A7 Ne9hJbO_meh{tG4HQkDP! diff --git a/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx b/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx index d78989c24ba0f08c48454bd52211c2e6376abc94..d3e165cf6d4dc86bcbb4372204811b38ee340888 100644 GIT binary patch delta 5373 zcmaJ_d0bW17Cw9L59AJTxya~%n)W1z=bT2EkP2S73?gtr#jAoP2$Vq6%lA&1Ih!SF zdT|y_oJ~^`XETRzmU5m@Q*usoNbT)?ai4ek=bazy-}%;FYwb1ev*3OinYxICCflN; zCnhUO_iWpT`9q2aK~WTc{##UBnA5B4n$Rf*wMU;MXZOT}Xj_akCF)Ik&pys5yWN=< zWl!zdwXG7B9Pf;eO6le79^bKRJ2!N5Ip4IUB==0S^+I~T+?pFuKqyS{NC|Wy$Rj9FD!et_?mTg? ze1W$z&n@6-^$c-AtdisE&Sk5^+WD_GEAI&vLp_EDxDf0S93UAM|7yFi?2EnIeUv$F zn|!@}EiQ;vaPs&dED0AI9EZ&y7E{Iif z9BE&YI=pS>RkKnoR1EhR9$dRhhQc9l6%~6c%8ljyJ}^yoD#YwUM8k+?&m1)$UtFYG zMjt=q6E(LtBcy=~jnK%acEd8-qiS{8_{g+NANMwnEX{LIv?(YXYZpf_&bxRs>8 z|7_~Z?SjI+-TW;xx=Q-htxng|;4ggzy)|0%x~P2)k9aHKuG(XG0OcDtgUwf~B^T@l zy9UoMbIy9)r8rQ?ry5dyqo()0JBkjOy}3Ad<-lumg9JU(FEdo?ol<_rHRW7veZp%b zANhVVQN8gNmY0_{5d6c8!@S*em1pqTq?+I-rKF(ryV?R$HJ3ITmEP&=njL!M;hvk$NaPviOs0-@4ds>BGuO- zqvUxP`xNK)8L+H5;6ggm4N{)N3}onGU-Z?(e(0ycwO3n>T={r+m@p!?ORQZQErZK= z8N2(lc0*OT(+$zEp)`WGo@inzR*<%M(R=4wwh-zHj0Lqp<1vdHaO_IdVRIWnPcS9; zNcB6zgTJjPz3HaM){Fh8)Dt?x^iI>FrX5AD`Y6%ZIPue!umAPC{>f z-TcNfc|rc!Wv@JSx#`)y*>(G5*WL*7dJ(bJUn*QYvQ1=X>6Kd0VezqtQC-~TBEcZd zGO01wR}Fjp_Xx3(6qM9dZk!EFPHGkUw5y=!8gn(jQ@YLBKJK+w-VpR&fxR^TH=n#Z z;&RF9C_x`=7;KgHjqjE)ASN!LhsbGv^f&5qnu$zfl=`BW`F55yD@clQnC+GABcZ$^ zg_rt^kslUWKeDOxva|E{gX*_Uc2USJ(84U~)yBO}$M(9tg>hMpvb2s>GM}qCGp=9i zBLqSbYLNoJY~GqMFRFK%5QqHm;) zvab1&T_cl<%se$Qh^Zr8=dhQ#mqiC{u<3W>5T}QB*!572H^=LR6OpLjPBJBFt;J7D zMQR;g1*IWP4;^smVGeTY$oAPitvLB+v&v%ORbk!2hSDpi`r^YWDocDcs9 z{cgN9UfW%&et3UP!&#$5sBIl=G4il6kAAqG()-~kq1@Bp>03KtsO1Ydw!mVNpLz}l zVUS6-zJUIN>PtA&S@P1QEeAgr+Qr9BYL_k$-YjCck@Th2N_qT&)nf&JR!CL@sb^Mq z&n1&8cZ^fTMp9T(7b(y!!P&opORWEuXeLzjY{ z0XJOYVox`vYhPy$GfWv8ldcWo46^O>U&)bW73+$yD?>T*2T>e+S3eaR;h-= z97B#(miOj2=EjfD2wXsTk0kKxU1my7ao~y9&u(12qp_nO51PtnAj@cuJ9&1}CLa!q zy^4M1XeCb(w(AExZh9-U@|U6KkrzXtG`(^7i08{l~6&a)DgrYCXx}FbvbfJml$N0Sff6(5uiab#mDvuObb~ z5*2OFM}IX~@)?)kIS}D`epTEyUIs6#oFF(f7z|c?dm^mh29 zx{l}9g~#cyq`xMWf8Ao*g$9THYD6{@4T;{e-ON1xNxn(`5=We#;7C5V?KfeB7=ENY zhhq5AK{5O2pqPCmoH^*Lx6Y68xZ}xtTSQTo6o(>;I+zDFPme_yb=xA0GG1I*gi*rz zez{`{l$G~|qmKHH_VVofE)^lw*;Q_OW|K^VF=Sclj@Gh1slSe zOnNR9C0Y|3OGSl4@&<|bqQb1A9^z#t|Eu!F!(6x+yQ*^RN7rgF3o}uQ8Bq9-_LS=0 zXZ`OzD?d9g#Y0hYzOPd-U{HGB46jUec;-8q?>cfF`HnnCKErN;9|`sl>?L^0u!*69 z;Rk~689o7aGVEg5$nX`zGltC!TNtiUe8cb;!*+%p3=0?*GdyS5%CL=L5yNSU6BH*Y zt}t9?_=VyW#XgE3DfXxoXE+Bxm|`!*A&N?h0~F^O&N2K%agd^l;wZ&2ic1U^8IDjK zr}&a#62lh^PZ%CE{7g~JFp*(0!>9asioYoCGyKl2=jU;ADL!Es&F~q+D26{69x&{u zD$X*DWcZw60>fB_aSV?b9x@!JxWF)mVLZcAipLaBDDE-b<(cPSonQz#yAI>T*l6U86g8SW&7dV%5^!>jb|Mlrb!1n8`4mVJbr@!yE<|!)%6G z409P~FwA3^#_%-{J}`;@l|u0~#Wadp6muy`DdtejrkF=DlVU!_bcz`i6M+f9YKEf> zKk{_*yfAEFD%LT4$FQEqfZ{T*5grB}SRPM?YKkcgB@D-S=73!UJ19QJe1@I;m0&zD z4j2pkLGX~ElHdTrL4r#J)dZIbE)tv}I8Sha;1`0k1Sbj35u6}6MKA(YBnPJnekS;d zU?0JLfTZUDvWPVbCx{!yMU=hJ$f^vdy2$m2mC0ItVoL~jPN`h4cs|k)0 z93wc+A;orzofNxxtMF(7YZ%t?8lhNCv4-MXift5Ic}?Na&j|kH7YM;86q9)`5`0SWIc{p delta 5307 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 delta 9 QcmeCU$<#B6X#-Cu02G1)$p8QV diff --git a/Debug/.ninja_log b/Debug/.ninja_log index d46b757..d1f31f3 100644 --- a/Debug/.ninja_log +++ b/Debug/.ninja_log @@ -1,71 +1,75 @@ # ninja log v6 -8 157 7997660036630364 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o e08ff3badd7c40f5 -5 225 7997660036603857 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -3 42 7966528629542996 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/startup_stm32g431xx.o cede824c243c8d17 -2 153 7997660527439177 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -1 207 7997664329871799 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -207 247 7997664331930501 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -207 247 7997664331930501 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -6 158 7997660036614274 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o 42b442e6b374ce9e -2 194 7997667297158609 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -2 194 7997667297158609 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -194 238 7997667299076599 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -194 238 7997667299076599 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -194 238 7997667299076599 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -194 238 7997667299076599 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -3 178 7997670542914271 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -3 178 7997670542914271 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -2 228 7997670542898592 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 228 7997670542898592 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -229 283 7997670545164883 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -229 283 7997670545164883 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -229 283 7997670545164883 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -229 283 7997670545164883 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 218 7997674471293673 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 218 7997674471293673 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -219 286 7997674473461737 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -219 286 7997674473461737 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -219 286 7997674473461737 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -219 286 7997674473461737 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 202 7997676169586229 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 202 7997676169586229 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -203 250 7997676171584129 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -203 250 7997676171584129 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -203 250 7997676171584129 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -203 250 7997676171584129 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 200 7997678931376843 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 200 7997678931376843 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -200 238 7997678933360454 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -200 238 7997678933360454 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -200 238 7997678933360454 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -200 238 7997678933360454 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 173 7997681071497379 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 173 7997681071497379 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -173 214 7997681073211368 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -173 214 7997681073211368 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -173 214 7997681073211368 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -173 214 7997681073211368 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 142 7997686059648009 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -2 142 7997686059648009 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -142 181 7997686061047401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -142 181 7997686061047401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -142 181 7997686061047401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -142 181 7997686061047401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 172 7997688691950041 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 172 7997688691950041 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -172 217 7997688693653415 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -172 217 7997688693653415 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -172 217 7997688693653415 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -172 217 7997688693653415 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -3 151 7997690235509095 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -3 151 7997690235509095 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -152 197 7997690236988656 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -152 197 7997690236988656 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -152 197 7997690236988656 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -152 197 7997690236988656 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 196 7997704173948829 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -2 196 7997704173948829 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -196 240 7997704175891305 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -196 240 7997704175891305 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -196 240 7997704175891305 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -196 240 7997704175891305 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +5 214 7998536262370001 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o e08ff3badd7c40f5 +2 167 7998644654627746 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 +14 30 7998536262464813 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/startup_stm32g431xx.o cede824c243c8d17 +2 158 7998644433371133 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 226 7998597409153980 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 +167 210 7998644656273213 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +167 210 7998644656273213 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +4 180 7998536262360037 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o 42b442e6b374ce9e +3 155 7998656232758154 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +3 155 7998656232758154 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +156 196 7998656234296486 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +156 196 7998656234296486 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +156 196 7998656234296486 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +156 196 7998656234296486 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +1 193 7998661385534747 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +1 193 7998661385534747 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 50 7998662032678893 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +2 50 7998662032678893 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 50 7998662032678893 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +2 50 7998662032678893 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 206 7998665881157520 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 206 7998665881157520 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +207 247 7998665883208923 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +207 247 7998665883208923 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +207 247 7998665883208923 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +207 247 7998665883208923 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 155 7998670159963859 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 155 7998670159963859 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +155 196 7998670161499419 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +155 196 7998670161499419 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +155 196 7998670161499419 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +155 196 7998670161499419 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 162 7998672057760319 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 162 7998672057760319 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +162 206 7998672059351724 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +162 206 7998672059351724 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +162 206 7998672059351724 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +162 206 7998672059351724 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +4 168 7998679954841238 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +4 168 7998679954841238 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +168 209 7998679956487159 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +168 209 7998679956487159 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +168 209 7998679956487159 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +168 209 7998679956487159 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +3 167 7998680865908053 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +3 167 7998680865908053 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +167 208 7998680867539559 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +167 208 7998680867539559 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +167 208 7998680867539559 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +167 208 7998680867539559 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 205 7998684445922840 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 205 7998684445922840 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +205 253 7998684447955278 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +205 253 7998684447955278 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +205 253 7998684447955278 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +205 253 7998684447955278 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 160 7998686606064411 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 160 7998686606064411 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +160 202 7998686607648597 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +160 202 7998686607648597 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +160 202 7998686607648597 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +160 202 7998686607648597 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 181 7998692553503127 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 181 7998692553503127 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +181 226 7998692555300969 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +181 226 7998692555300969 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +181 226 7998692555300969 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +181 226 7998692555300969 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 236 7998696088867326 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 236 7998696088867326 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +236 283 7998696091209590 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +236 283 7998696091209590 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +236 283 7998696091209590 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +236 283 7998696091209590 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc diff --git a/Debug/BrowseInfo/.ninja_log b/Debug/BrowseInfo/.ninja_log index 2862f71..c5ff195 100644 --- a/Debug/BrowseInfo/.ninja_log +++ b/Debug/BrowseInfo/.ninja_log @@ -55,3 +55,4 @@ 293 387 7997655194871884 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json 2ac33e42fc620caa 388 486 7997655195813518 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/system_stm32g4xx.c.json f789283cdd1928d8 487 509 7997655196817487 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/compile_commands.json b1b2177ae73507e4 +0 26 7998536199727750 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/compile_commands.json b1b2177ae73507e4 diff --git a/Debug/Exe/fft_az.out b/Debug/Exe/fft_az.out index ffd4caaaa7d1488a0899ca075f7dcf0d607a0a43..442f44dd9815aba65175df6b431350c59ba60802 100644 GIT binary patch delta 43376 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 delta 30860 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 Rp=N4SqUavxsU1f0{{t}b1l|Au diff --git a/Debug/Exe/fft_az.sim b/Debug/Exe/fft_az.sim index 1ed77885586ececc9f08f147e23657843735e0d7..fc0f079355c35e64582aa7ab3ea647bdcc3d529a 100644 GIT binary patch delta 6646 zcmb7Jdw5e-w%)5l}Q(1p~Y7s|T1u z>9Rc!yInv__3=9cqOpxW3e2?%f7=w}D3+gfn-;>DHOM zZCo9%P8dFMd)Dtx-wyxj4~i{3gDqST)%_f(KQwqiI8j**)j^go+w2H-DM0Y;sE>gXzT(C6LwBtzrXe z`lfExng%}+LT&6;)j*H(=Ah+;^FCt?I4_Koa^AH8?C!^SuW-umyjOu`nI=3%IIpny zpz{ig3r`ms#YwS4lRgvG`La`*6ZHb2K`kIWU#Jep3g?~a64mKBAcAM3UVxHoa*oi^ z^Pq505D}tIhk>-^pkTBECD+(m-l(iuzL~|3C)nDGN_mZ(BU&G)TGEA9G*MA$TEo_w zBXW+24$C+5Km_4o7K`uNmI@99X73f={Ca-fB?!M`JI7?Q+*_lU#U;k#X{iwW7OW=@ zteWS^I@`HkW$~YVufG$aY?UEv-Q?F0Ni{*=X_zr*u+OYHF!%FLTkcPzj@-cTs3-Sl z(O~Y7=$13Vz)<|Mz%Wt2&n)WqsiOWnEjpxYjMwE&_8Q-47iuq`SGpEd@*JmkG$P)d z#I|lWM2>E*d~3OAPwD5^-PVcI<=X}kdU2vyZV*~4O>M^-6<*;N{tqA3L@;o|x1nsi zI>D0_@7#c$O-=<35T$4ogqDlxqL?QvE5^lK5rTqZzU%)#GB+zQI1SNFY43zF>c)QE zGi$72Tk&{gogvk}kubU5NHE*RlmC<_+{kkHNWR+iEPt^T{huaEyIK=0^4ah^m^Jo} znmOXm5$i@sF-y8NwkwUVo>Po4qakQ%*4S=!4bGJ{wns%D%68G#t%2Bn(V=64YDLsX zr~A`{9JI#vrU~|+ppAZ2jlCm3i`a#_EXQ`s2fwZFG0U-C5*$=S%_`Fia;)9_5n6I= zznR5$$r!16fB4fQIK<+ybSsO!uV8iv2B_t+fK{E0=*41t6&_R57SX9%44}OS?KBvM zHL}<~WeSaMK|kv4%EMF{LVuH+#-QDy)YAM$(Ppvz3TT>YDb(Voj;2L4vuQG=g|4T& z8?UEpT9nL1^ph3^%fDl=mdSLJ;1Xy#XmAW&Pb*F<5aN1zS1g1c1tNf;L)7*ukI*%z z(VuFyqjh%+#*QeNQz^GYfe?? zf_B;!nbJdOhm=eQJqZ!oEi&EPQ9(_ZzfVDm(cz`E6c0;gHZ2cX&}*iu)SSuG(YT00 z(9Fs}Qx#d7#*ig6iS{;C(z4J)R9|~Nz1KK}z6zlqm&(S_A8963nAUg$oo;!Anpz&B zKQ}!@vD#WF)J-=vO`*z`hiPl1?ttxep?Hx2VGQ+l zMPx$gcMB&SPuV*9QQxmDqzWDVzI@7Y2kxgiNQDZKMwmppsppY|^oWD-ePszIxKeij z(}WueF*q_8W*4o!V9K?HNIAqJ0}gv&IO=6e<^*sNZaaaB$_7W6&kq_@o<++wj;dqm1F=8u2GV^;qn=DAeKGP=9Rl0)$7No)!Bv-Fu*KJ6r zi`?b34D}$g7ztX~12vvRwj=o#&?|z8?|vj&LZ$gs2f8BA?6siZy?}CjLcOp$Xy+g= zyr30x9+hiwHcbfAftJ&b7WA{%JnlN`(kz%Hh8G|^nLQoTv;n8--=vP&-gDC%Ql$0o zwiR65luw5zp5l5*yqV>sv&`sa^}nj$puVBrk{Ic~B{8bnlNbq%@-swIbLO4sxeX&| zrN59-iZMC!(#&FvuP8iuAl}N@R_|^exAGUllMeEnDbJMfN@v{0xqnvA`ih1Uli%|X z#aVz~OU~nd?&Re>Qaxh@s0!jHQ0=TN>|vMg^e+pqKFG%md#vQKnY`RoSs3RglfQaK zb@Ly?9~|U2N_YG22@gHQ#|GlK38RLBq(s8iWwu8RSx186#xml9_7Qo>?$ zmOhK|g44{IwwY0bJpmKLx3pHgqK1-9a|9ikV3?G<9W2>959JLg%acot%e5<8rO}ss znBlbfN{Vd7xX$saFkw9j*Sl;FDu$w0&j`yO^Q*>{W-!O(=9fw#X^nhVMuzn6IW`Ij zN7*(kcEVVR^unR7GoI8$+JXG3FPz`SvjfX#s*BiY7OkG)YA&f?<}<~DvL|Ed=4K>5 zIPjY3D9>gNt-2)WY88)T@icy<^wFO`5y46e$9bKZE~GaZeGlKPoO%2%mgDy3c?Z^? z)<3H!xL}NTGRAM~zt<~mWLGoilisJiESu##@m27a;8)fFliplslxxf}A{!4r3759E zh5Sg^Y<W0G*qNYzolyuE zWcD-2p2YHgxLJDVI%ArB3nGl@u^zR-fIIvmNy_b7XH5Qf#D0i5IXGOWpD?bquQSHl zPZ+t{R-}0zB#A7kc5`)Gw=|^fD07%2j%tzaisY&x0N;1eXzZw7vylzVgJ3RXYsUV> zq6a@cVO$9sVZ1DR8}Y^n&4&Sh-QP{=Fs9=|`?7Q5JYh+A7_+0)rw|t<4F3wAgfsOZ z;&U4|wV1dbC%-*{jr!g^#aML6J`ZaP6pIfe@9i(0I)41Z8yV}nk+a(AD2tDZaaLRG zN@tGJ%a~(0V-8!h%uJoL;z^gS)#haJ+xx?%N4dk~?GN88$_f4929!fa_H(9m!V{_; ziyEibC~M!&FR9~!W? z(1t_XnbL9UVDkem7YUTLwR2cp8p7g3f>KRov4o<&bNZX_4^wZFoLW@mZkLtCIS>3BryJhm$xui$ZN-ZAuom;R!`@%4+R zA~zoE_-L^cSC`XXL)ltU0PM!$*n+DKFY*)DFZxsE{k6)UQ70XU?HAK;!^-rqeDVGn9JQR z>>8g#+$JhQxdV5~XBwE|v%urfh7;u+v48u(-s|kxJDyTv-|E!aS)D0e#+$EX;_KBV z-pjpOG}-%lQUpJTH+408c+UCW4+GnI4$D5@`+jnqcg(j#({ScoTO@CTdV6#=1jIKV zxS0rR>$UXE!GkX!eG8FWyl#0H8+D1_nTd~!pcO7TK>K}45v>K~D1SOAWl$q};XB5jtk*j)#q+x)y3=y`A&4$MSHYm%u6a4~A$5G3 zn41cpLi`=V|5H+pyv*-W$Npfq>Uizn7Q3+Dk?H=6*$*%u`hDgX^S)q`6Gj#`;?T}R zb3!{;AYiAWXvua@7H(f{;P&;0$DHKz!e@{1`vV?)*meO9zy>fN-p|!8APTerW4}%o zu=qU*7MIV>>M5^g@te=xSHi&ao6cnK(Q_=mB!N8RT(b9K%$Su|B|TqYm?(| z&XozqRwlS@Zt2{c=ly)%tP_bfb!*VaM&A%+0cSm))5+e3zOCnw!jMfD_ciW}{>k;? zGYh;}!=sxaUBIroQkMiA8hx@&^x@J#U1iuPvUn5fX2*B^8mq+ZTb4MSu(=K=(jA8r zs_k$>WCuM72k!m9MJ>tRlYQGx6^4f%=hyJb;i<=YrgVH;Uii1i`3RmHe&{$KH9n_g zhhOAywr1vZ`i50zn7=u+V)M+5U3VPtKe;(Q_sjuXYep&&6zO8o*+7Lo+PlE5|F$JNWwCk7&C zVOO+WsCxh#uHgvomC2|Ff&33)^E0qB>Wnj%+sxH1pMnSK%mn@c+&xFa?|j9lsSm{Q WUl#bnR_oV1pNFTN=2?<6H}bz09Lj?L delta 1710 zcmYk-e@qi+7zgm@IZ8Pif1Lc7U;wWm4iQY*bkjek1snoHk;R!fx8!6qDd3WlxWz4Q zJtt-^n~nwaTsEiMV&YSpdQ|Z_u)g> z0^8tI*a2U{F8B)e!gp{0eu5*=3e{dTr@#ki;R0NQiC=bkJP#mtjOU$yv)GCJ2K2xk zxDSIcao-T~5eVOJQh4@^CrG*fzu}2#vHcj%oEMLw$uJF)Ar&U3r2j9sBhT*Ns`Ck* zdG+}dE3U9Ug^y`VdN^z9p;C6)b%|N29Nu4jP^<6Z>4`s}vrre%dCpZdObO?decIPO zJSTB?>FzRKC%B4q76iq;%XbTHvCc7d%779Xdw|yB9Pl7mqlM@k zP+G&}NGZ98C`2oZQ;t?vWlm{O$x$R!mBSynkGeu}!c}L+<3Mb;+?rDp+m?PRnbN|{1JTlfGKtL4 zwjj~QAE;?(aArr1E`uLzAttb5pLo@F3EMc>uW%MD|7~0ZETy1Ez zeY|0D^BoqGZnG$NvY2-fd@QDX!Qx+bI7?#sbrwTiEC%3b_ypENG1$AbltF&a?M7%L3+DUIlRtIdRll*DV=s^j0Mb4?I`K14Kq|YYKG2(fjTQp zy2q&g<&gZFeTPA`!(eH7#fs%CRya0M&X}L<1#UAGKbEt-IcJb;M+|`?i-0AVam27l zt`gF#jOT0qakaYKF46~#-o8SuDadpAMeTHu(_`XKIkcNWPUT!J9OUc;nWbly$T^a{ zWS7emU1`>_j?dc4($2rpu6*8R%^PW#u=i#}k7MMF7C-V-r)X6VIWaG(e3}vy-F7i} zz%)#`6ldumJ1Z<($|bjZ8RZwSJG#Kyo`?Ks-a>D31&&I+<&g!OA?qoQSx|aCvK?*? zPPQpQ*|u+Rl1&Y&*!b%W&2pPFC;6vdbkZ5m(i9?D+o|(6+B5gK@kH(jAB@$m2RK(C z(ylz_M&a^f?d?&1E}`?OX)1URMeZP6Y-$Hb`GwU=f!qo5 zHH@KNh+Kud3oLHzVbPDA7`2zh!+sV|A}4%miU<4VvNnH=7mH=x_; - - 0x801'ea40 0x1'e868 + .text ro code 0x801'c52c 4 0x704 arm_cfft_f32.o [3] + .text ro code 0x801'cc30 4 0x592 arm_cfft_radix8_f32.o [3] + .text ro code 0x801'd1c2 2 0x2a copy_init3.o [5] + .text ro code 0x801'd1ec 4 0x46 arm_bitreversal2.o [3] + .rodata const 0x801'd234 4 0x400 arm_common_tables.o [3] + .rodata const 0x801'd634 4 0x400 arm_common_tables.o [3] + .rodata const 0x801'da34 4 0x380 arm_common_tables.o [3] + .rodata const 0x801'ddb4 4 0x370 arm_common_tables.o [3] + .text ro code 0x801'e124 4 0x298 imu.o [1] + .text ro code 0x801'e3bc 4 0x284 dsp_manager.o [1] + .text ro code 0x801'e640 4 0x1bc arm_rfft_fast_init_f32.o [3] + .text ro code 0x801'e7fc 4 0x90 arm_cos_f32.o [3] + .text ro code 0x801'e88c 4 0x10e arm_mult_f32.o [3] + .text ro code 0x801'e99c 4 0x182 arm_rfft_fast_f32.o [3] + .text ro code 0x801'eb20 4 0x154 arm_cmplx_mag_f32.o [3] + .text ro code 0x801'ec74 4 0x8c arm_sin_f32.o [3] + .text ro code 0x801'ed00 4 0x98 arm_cfft_init_f32.o [3] + .text ro code 0x801'ed98 4 0x214 main.o [1] + .text ro code 0x801'efac 4 0xc8 motors.o [1] + .text ro code 0x801'f074 4 0x9c system_stm32g4xx.o [1] + .rodata const 0x801'f110 4 0x200 arm_common_tables.o [3] + .rodata const 0x801'f310 4 0x200 arm_common_tables.o [3] + .rodata const 0x801'f510 4 0x1a0 arm_common_tables.o [3] + .rodata const 0x801'f6b0 4 0x100 arm_common_tables.o [3] + .rodata const 0x801'f7b0 4 0x100 arm_common_tables.o [3] + .rodata const 0x801'f8b0 4 0x80 arm_common_tables.o [3] + .rodata const 0x801'f930 4 0x80 arm_common_tables.o [3] + .rodata const 0x801'f9b0 4 0x70 arm_common_tables.o [3] + .rodata const 0x801'fa20 4 0x60 arm_common_tables.o [3] + .text ro code 0x801'fa80 2 0x38 zero_init3.o [5] + .rodata const 0x801'fab8 4 0x28 arm_common_tables.o [3] + .text ro code 0x801'fae0 4 0x28 data_init.o [5] + .text ro code 0x801'fb08 4 0x22 fpinit_M.o [4] + .text ro code 0x801'fb2c 4 0x22 cmain.o [5] + .text ro code 0x801'fb4e 2 0x4 low_level_init.o [2] + .text ro code 0x801'fb52 2 0x4 exit.o [2] + .text ro code 0x801'fb58 4 0x4 cexit.o [5] + .text ro code 0x801'fb5c 4 0xa cexit_2.o [5] + .text ro code 0x801'fb68 4 0x14 exit.o [6] + .iar.init_table const 0x801'fb7c 4 0x24 - Linker created - + .text ro code 0x801'fba0 4 0x1e cstartup_M.o [5] + .rodata const 0x801'fbc0 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fbd0 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fbe0 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fbf0 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc00 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc10 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc20 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc30 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc40 4 0x10 arm_const_structs.o [3] + .text ro code 0x801'fc50 4 0x10 startup_stm32g431xx.o [1] + .text ro code 0x801'fc60 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc64 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc68 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc6c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc70 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc74 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc78 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc7c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc80 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc84 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc88 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc8c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc90 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc94 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc98 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc9c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fca0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fca4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fca8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcac 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcb0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcb4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcb8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcbc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcc0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcc4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcc8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fccc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcd0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcd4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcd8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcdc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fce0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fce4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fce8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcec 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcf0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcf4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcf8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcfc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd00 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd04 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd08 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd0c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd10 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd14 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd18 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd1c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd20 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd24 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd28 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd2c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd30 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd34 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd38 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd3c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd40 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd44 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd48 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd4c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd50 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd54 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd58 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd5c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd60 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd64 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd68 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd6c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd70 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd74 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd78 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd7c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd80 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd84 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd88 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd8c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd90 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd94 2 0x4 startup_stm32g431xx.o [1] + .rodata const 0x801'fd98 0x0 zero_init3.o [5] + .rodata const 0x801'fd98 0x0 copy_init3.o [5] + Initializer bytes const 0x801'fd98 4 0x18 + - 0x801'fdb0 0x1'fbd8 "P3", part 1 of 3: 0x18 P3 s0 0x2000'0000 0x18 @@ -226,23 +233,25 @@ No sections matched the following patterns: .data inited 0x2000'0014 4 0x4 system_stm32g4xx.o [1] - 0x2000'0018 0x18 -"P3", part 2 of 3: 0x860 - .bss zero 0x2000'0018 4 0x81c dsp_manager.o [1] - .bss zero 0x2000'0834 4 0x38 imu.o [1] - .bss zero 0x2000'086c 4 0xc imu.o [1] - - 0x2000'0878 0x860 +"P3", part 2 of 3: 0x1c94 + .bss zero 0x2000'0018 4 0xc18 dsp_manager.o [1] + .bss zero 0x2000'0c30 4 0x81c dsp_manager.o [1] + .bss zero 0x2000'144c 4 0x800 dsp_manager.o [1] + .bss zero 0x2000'1c4c 4 0x60 imu.o [1] + - 0x2000'1cac 0x1c94 "P3", part 3 of 3: 0x800 - CSTACK 0x2000'0878 8 0x800 - CSTACK uninit 0x2000'0878 0x800 - - 0x2000'1078 0x800 + CSTACK 0x2000'1cb0 8 0x800 + CSTACK uninit 0x2000'1cb0 0x800 + - 0x2000'24b0 0x800 Unused ranges: From To Size ---- -- ---- - 0x801'ea40 0x801'ffff 0x15c0 - 0x2000'1078 0x2000'3fff 0x2f88 + 0x801'fdb0 0x801'ffff 0x250 + 0x2000'1cac 0x2000'1caf 0x4 + 0x2000'24b0 0x2000'3fff 0x1b50 0x2000'4000 0x2000'57ff 0x1800 @@ -253,14 +262,14 @@ Unused ranges: Address Size ------- ---- Zero (__iar_zero_init3) - 1 destination range, total size 0x860: - 0x2000'0018 0x860 + 1 destination range, total size 0x1c94: + 0x2000'0018 0x1c94 Copy (__iar_copy_init3) 1 source range, total size 0x18: - 0x801'ea28 0x18 + 0x801'fd98 0x18 1 destination range, total size 0x18: - 0x2000'0000 0x18 + 0x2000'0000 0x18 @@ -275,14 +284,14 @@ command line/config: Total: C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj: [1] - dsp_manager.o 92 2'076 - imu.o 772 68 - main.o 432 20 20 + dsp_manager.o 644 7'220 + imu.o 664 96 + main.o 532 20 20 motors.o 200 startup_stm32g431xx.o 800 system_stm32g4xx.o 156 4 4 --------------------------------------------------- - Total: 2'452 24 2'168 + Total: 2'996 24 7'340 dl7M_tln.a: [2] exit.o 4 @@ -291,13 +300,20 @@ dl7M_tln.a: [2] Total: 8 iar_cortexM4lf_math.a: [3] + arm_bitreversal2.o 70 + arm_cfft_f32.o 1'796 arm_cfft_init_f32.o 152 + arm_cfft_radix8_f32.o 1'426 + arm_cmplx_mag_f32.o 340 arm_common_tables.o 121'820 arm_const_structs.o 144 arm_cos_f32.o 144 + arm_mult_f32.o 270 + arm_rfft_fast_f32.o 386 arm_rfft_fast_init_f32.o 444 + arm_sin_f32.o 140 --------------------------------------------------- - Total: 740 121'964 + Total: 5'168 121'964 m7M_tls.a: [4] fpinit_M.o 34 @@ -320,10 +336,10 @@ shb_l.a: [6] --------------------------------------------------- Total: 20 - Gaps 6 4 + Gaps 10 4 Linker created 36 2'048 ------------------------------------------------------- - Grand Total: 3'476 122'028 4'216 + Grand Total: 8'452 122'028 9'388 ******************************************************************************* @@ -332,222 +348,240 @@ shb_l.a: [6] Entry Address Size Type Object ----- ------- ---- ---- ------ -.iar.init_table$$Base 0x801'e80c -- Gb - Linker created - -.iar.init_table$$Limit 0x801'e830 -- Gb - Linker created - -?main 0x801'e7bd Code Gb cmain.o [5] -ADC1_2_IRQHandler 0x801'e959 Code Wk startup_stm32g431xx.o [1] -AHBPrescTable 0x801'e0d4 0x10 Data Gb system_stm32g4xx.o [1] -BusFault_Handler 0x801'e8fd Code Wk startup_stm32g431xx.o [1] -COMP1_2_3_IRQHandler 0x801'e9f5 Code Wk startup_stm32g431xx.o [1] -COMP4_IRQHandler 0x801'e9f9 Code Wk startup_stm32g431xx.o [1] -CORDIC_IRQHandler 0x801'ea21 Code Wk startup_stm32g431xx.o [1] -CRS_IRQHandler 0x801'e9fd Code Wk startup_stm32g431xx.o [1] -CSTACK$$Base 0x2000'0878 -- Gb - Linker created - -CSTACK$$Limit 0x2000'1078 -- Gb - Linker created - +.iar.init_table$$Base 0x801'fb7c -- Gb - Linker created - +.iar.init_table$$Limit 0x801'fba0 -- Gb - Linker created - +?main 0x801'fb2d Code Gb cmain.o [5] +ADC1_2_IRQHandler 0x801'fcc9 Code Wk startup_stm32g431xx.o [1] +AHBPrescTable 0x801'f100 0x10 Data Gb system_stm32g4xx.o [1] +BusFault_Handler 0x801'fc6d Code Wk startup_stm32g431xx.o [1] +COMP1_2_3_IRQHandler 0x801'fd65 Code Wk startup_stm32g431xx.o [1] +COMP4_IRQHandler 0x801'fd69 Code Wk startup_stm32g431xx.o [1] +CORDIC_IRQHandler 0x801'fd91 Code Wk startup_stm32g431xx.o [1] +CRS_IRQHandler 0x801'fd6d Code Wk startup_stm32g431xx.o [1] +CSTACK$$Base 0x2000'1cb0 -- Gb - Linker created - +CSTACK$$Limit 0x2000'24b0 -- Gb - Linker created - DMA1_Channel1_IRQHandler - 0x801'e941 Code Wk startup_stm32g431xx.o [1] + 0x801'fcb1 Code Wk startup_stm32g431xx.o [1] DMA1_Channel2_IRQHandler - 0x801'e945 Code Wk startup_stm32g431xx.o [1] + 0x801'fcb5 Code Wk startup_stm32g431xx.o [1] DMA1_Channel3_IRQHandler - 0x801'e949 Code Wk startup_stm32g431xx.o [1] + 0x801'fcb9 Code Wk startup_stm32g431xx.o [1] DMA1_Channel4_IRQHandler - 0x801'e94d Code Wk startup_stm32g431xx.o [1] + 0x801'fcbd Code Wk startup_stm32g431xx.o [1] DMA1_Channel5_IRQHandler - 0x801'e951 Code Wk startup_stm32g431xx.o [1] + 0x801'fcc1 Code Wk startup_stm32g431xx.o [1] DMA1_Channel6_IRQHandler - 0x801'e955 Code Wk startup_stm32g431xx.o [1] + 0x801'fcc5 Code Wk startup_stm32g431xx.o [1] DMA2_Channel1_IRQHandler - 0x801'e9dd Code Wk startup_stm32g431xx.o [1] + 0x801'fd4d Code Wk startup_stm32g431xx.o [1] DMA2_Channel2_IRQHandler - 0x801'e9e1 Code Wk startup_stm32g431xx.o [1] + 0x801'fd51 Code Wk startup_stm32g431xx.o [1] DMA2_Channel3_IRQHandler - 0x801'e9e5 Code Wk startup_stm32g431xx.o [1] + 0x801'fd55 Code Wk startup_stm32g431xx.o [1] DMA2_Channel4_IRQHandler - 0x801'e9e9 Code Wk startup_stm32g431xx.o [1] + 0x801'fd59 Code Wk startup_stm32g431xx.o [1] DMA2_Channel5_IRQHandler - 0x801'e9ed Code Wk startup_stm32g431xx.o [1] + 0x801'fd5d Code Wk startup_stm32g431xx.o [1] DMA2_Channel6_IRQHandler - 0x801'ea1d Code Wk startup_stm32g431xx.o [1] -DMAMUX_OVR_IRQHandler 0x801'ea19 Code Wk startup_stm32g431xx.o [1] -DSP_Init 0x801'dfed 0x50 Code Gb dsp_manager.o [1] -DebugMon_Handler 0x801'e909 Code Wk startup_stm32g431xx.o [1] -EXTI0_IRQHandler 0x801'e92d Code Wk startup_stm32g431xx.o [1] -EXTI15_10_IRQHandler 0x801'e9b1 Code Wk startup_stm32g431xx.o [1] -EXTI1_IRQHandler 0x801'e931 Code Wk startup_stm32g431xx.o [1] -EXTI2_IRQHandler 0x801'e935 Code Wk startup_stm32g431xx.o [1] -EXTI3_IRQHandler 0x801'e939 Code Wk startup_stm32g431xx.o [1] -EXTI4_IRQHandler 0x801'e93d Code Wk startup_stm32g431xx.o [1] -EXTI9_5_IRQHandler 0x801'e96d Code Wk startup_stm32g431xx.o [1] -FDCAN1_IT0_IRQHandler 0x801'e965 Code Wk startup_stm32g431xx.o [1] -FDCAN1_IT1_IRQHandler 0x801'e969 Code Wk startup_stm32g431xx.o [1] -FLASH_IRQHandler 0x801'e925 Code Wk startup_stm32g431xx.o [1] -FMAC_IRQHandler 0x801'ea25 Code Wk startup_stm32g431xx.o [1] -FMAC_Init 0x801'd41d 0x4a Code Gb imu.o [1] -FMAC_Process_Sample 0x801'd6ad 0x3e Code Gb imu.o [1] -FMAC_Step 0x801'd61d 0x90 Code Lc imu.o [1] -FPU_IRQHandler 0x801'ea05 Code Wk startup_stm32g431xx.o [1] -HardFault_Handler 0x801'e8f5 Code Wk startup_stm32g431xx.o [1] -I2C1_ER_IRQHandler 0x801'e991 Code Wk startup_stm32g431xx.o [1] -I2C1_EV_IRQHandler 0x801'e98d Code Wk startup_stm32g431xx.o [1] -I2C1_Init 0x801'd467 0x4c Code Gb imu.o [1] -I2C2_ER_IRQHandler 0x801'e999 Code Wk startup_stm32g431xx.o [1] -I2C2_EV_IRQHandler 0x801'e995 Code Wk startup_stm32g431xx.o [1] -I2C3_ER_IRQHandler 0x801'ea15 Code Wk startup_stm32g431xx.o [1] -I2C3_EV_IRQHandler 0x801'ea11 Code Wk startup_stm32g431xx.o [1] -I2C_ReadMulti 0x801'd4b3 0x40 Code Gb imu.o [1] -IMU_Calibrate 0x801'd593 0x4c Code Gb imu.o [1] -IMU_Init 0x801'd525 0x6e Code Gb imu.o [1] -IMU_ReadRawData 0x801'd5df 0x3c Code Gb imu.o [1] -IMU_SetBank 0x801'd51b 0xa Code Gb imu.o [1] -IMU_WriteReg 0x801'd4f3 0x28 Code Lc imu.o [1] -LPTIM1_IRQHandler 0x801'e9cd Code Wk startup_stm32g431xx.o [1] -LPUART1_IRQHandler 0x801'ea0d Code Wk startup_stm32g431xx.o [1] -MemManage_Handler 0x801'e8f9 Code Wk startup_stm32g431xx.o [1] -Motors_Init 0x801'df25 0x9a Code Gb motors.o [1] -NMI_Handler 0x801'e8f1 Code Wk startup_stm32g431xx.o [1] -PVD_PVM_IRQHandler 0x801'e919 Code Wk startup_stm32g431xx.o [1] -PendSV_Handler 0x801'e90d Code Wk startup_stm32g431xx.o [1] -RCC_IRQHandler 0x801'e929 Code Wk startup_stm32g431xx.o [1] -RNG_IRQHandler 0x801'ea09 Code Wk startup_stm32g431xx.o [1] -RTC_Alarm_IRQHandler 0x801'e9b5 Code Wk startup_stm32g431xx.o [1] + 0x801'fd8d Code Wk startup_stm32g431xx.o [1] +DMAMUX_OVR_IRQHandler 0x801'fd89 Code Wk startup_stm32g431xx.o [1] +DSP_AddSample 0x801'e40d 0x2c Code Gb dsp_manager.o [1] +DSP_Init 0x801'e3bd 0x50 Code Gb dsp_manager.o [1] +DSP_Process 0x801'e439 0x1d2 Code Gb dsp_manager.o [1] +DebugMon_Handler 0x801'fc79 Code Wk startup_stm32g431xx.o [1] +EXTI0_IRQHandler 0x801'fc9d Code Wk startup_stm32g431xx.o [1] +EXTI15_10_IRQHandler 0x801'fd21 Code Wk startup_stm32g431xx.o [1] +EXTI1_IRQHandler 0x801'fca1 Code Wk startup_stm32g431xx.o [1] +EXTI2_IRQHandler 0x801'fca5 Code Wk startup_stm32g431xx.o [1] +EXTI3_IRQHandler 0x801'fca9 Code Wk startup_stm32g431xx.o [1] +EXTI4_IRQHandler 0x801'fcad Code Wk startup_stm32g431xx.o [1] +EXTI9_5_IRQHandler 0x801'fcdd Code Wk startup_stm32g431xx.o [1] +FDCAN1_IT0_IRQHandler 0x801'fcd5 Code Wk startup_stm32g431xx.o [1] +FDCAN1_IT1_IRQHandler 0x801'fcd9 Code Wk startup_stm32g431xx.o [1] +FLASH_IRQHandler 0x801'fc95 Code Wk startup_stm32g431xx.o [1] +FMAC_IRQHandler 0x801'fd95 Code Wk startup_stm32g431xx.o [1] +FMAC_Init 0x801'e125 0x4a Code Gb imu.o [1] +FPU_IRQHandler 0x801'fd75 Code Wk startup_stm32g431xx.o [1] +HardFault_Handler 0x801'fc65 Code Wk startup_stm32g431xx.o [1] +I2C1_ER_IRQHandler 0x801'fd01 Code Wk startup_stm32g431xx.o [1] +I2C1_EV_IRQHandler 0x801'fcfd Code Wk startup_stm32g431xx.o [1] +I2C1_Init 0x801'e16f 0x4c Code Gb imu.o [1] +I2C2_ER_IRQHandler 0x801'fd09 Code Wk startup_stm32g431xx.o [1] +I2C2_EV_IRQHandler 0x801'fd05 Code Wk startup_stm32g431xx.o [1] +I2C3_ER_IRQHandler 0x801'fd85 Code Wk startup_stm32g431xx.o [1] +I2C3_EV_IRQHandler 0x801'fd81 Code Wk startup_stm32g431xx.o [1] +I2C_ReadMulti 0x801'e1bb 0x40 Code Gb imu.o [1] +IMU_Calibrate 0x801'e2d1 0x4c Code Gb imu.o [1] +IMU_Init 0x801'e26b 0x66 Code Gb imu.o [1] +IMU_ReadRawData 0x801'e31d 0x54 Code Gb imu.o [1] +IMU_SetBank 0x801'e223 0xa Code Gb imu.o [1] +IMU_WriteReg 0x801'e1fb 0x28 Code Lc imu.o [1] +LPTIM1_IRQHandler 0x801'fd3d Code Wk startup_stm32g431xx.o [1] +LPUART1_IRQHandler 0x801'fd7d Code Wk startup_stm32g431xx.o [1] +MemManage_Handler 0x801'fc69 Code Wk startup_stm32g431xx.o [1] +Motors_Init 0x801'efad 0x9a Code Gb motors.o [1] +NMI_Handler 0x801'fc61 Code Wk startup_stm32g431xx.o [1] +PVD_PVM_IRQHandler 0x801'fc89 Code Wk startup_stm32g431xx.o [1] +PendSV_Handler 0x801'fc7d Code Wk startup_stm32g431xx.o [1] +RCC_IRQHandler 0x801'fc99 Code Wk startup_stm32g431xx.o [1] +RNG_IRQHandler 0x801'fd79 Code Wk startup_stm32g431xx.o [1] +RTC_Alarm_IRQHandler 0x801'fd25 Code Wk startup_stm32g431xx.o [1] RTC_TAMP_LSECSS_IRQHandler - 0x801'e91d Code Wk startup_stm32g431xx.o [1] -RTC_WKUP_IRQHandler 0x801'e921 Code Wk startup_stm32g431xx.o [1] -Region$$Table$$Base 0x801'e80c -- Gb - Linker created - -Region$$Table$$Limit 0x801'e830 -- Gb - Linker created - -Reset_Handler 0x801'e8e1 Code Wk startup_stm32g431xx.o [1] -SAI1_IRQHandler 0x801'ea01 Code Wk startup_stm32g431xx.o [1] -SPI1_IRQHandler 0x801'e99d Code Wk startup_stm32g431xx.o [1] -SPI2_IRQHandler 0x801'e9a1 Code Wk startup_stm32g431xx.o [1] -SPI3_IRQHandler 0x801'e9d1 Code Wk startup_stm32g431xx.o [1] -SVC_Handler 0x801'e905 Code Wk startup_stm32g431xx.o [1] -Set_Motor_Individual 0x801'dfcd 0x10 Code Gb motors.o [1] -Set_Motors 0x801'dfbf 0xe Code Gb motors.o [1] -SysTick_Handler 0x801'e911 Code Wk startup_stm32g431xx.o [1] + 0x801'fc8d Code Wk startup_stm32g431xx.o [1] +RTC_WKUP_IRQHandler 0x801'fc91 Code Wk startup_stm32g431xx.o [1] +Region$$Table$$Base 0x801'fb7c -- Gb - Linker created - +Region$$Table$$Limit 0x801'fba0 -- Gb - Linker created - +Reset_Handler 0x801'fc51 Code Wk startup_stm32g431xx.o [1] +SAI1_IRQHandler 0x801'fd71 Code Wk startup_stm32g431xx.o [1] +SPI1_IRQHandler 0x801'fd0d Code Wk startup_stm32g431xx.o [1] +SPI2_IRQHandler 0x801'fd11 Code Wk startup_stm32g431xx.o [1] +SPI3_IRQHandler 0x801'fd41 Code Wk startup_stm32g431xx.o [1] +SVC_Handler 0x801'fc75 Code Wk startup_stm32g431xx.o [1] +Set_Motor_Individual 0x801'f055 0x10 Code Gb motors.o [1] +Set_Motors 0x801'f047 0xe Code Gb motors.o [1] +SysTick_Handler 0x801'fc81 Code Wk startup_stm32g431xx.o [1] SystemClock_Config_160MHz - 0x801'ddf7 0x4c Code Gb main.o [1] + 0x801'ee79 0x4c Code Gb main.o [1] SystemCoreClock 0x2000'0014 0x4 Data Gb system_stm32g4xx.o [1] -SystemCoreClockUpdate 0x801'e055 0x6c Code Gb system_stm32g4xx.o [1] -SystemInit 0x801'e049 0xc Code Gb system_stm32g4xx.o [1] +SystemCoreClockUpdate 0x801'f081 0x6c Code Gb system_stm32g4xx.o [1] +SystemInit 0x801'f075 0xc Code Gb system_stm32g4xx.o [1] TIM1_BRK_TIM15_IRQHandler - 0x801'e971 Code Wk startup_stm32g431xx.o [1] -TIM1_CC_IRQHandler 0x801'e97d Code Wk startup_stm32g431xx.o [1] + 0x801'fce1 Code Wk startup_stm32g431xx.o [1] +TIM1_CC_IRQHandler 0x801'fced Code Wk startup_stm32g431xx.o [1] TIM1_TRG_COM_TIM17_IRQHandler - 0x801'e979 Code Wk startup_stm32g431xx.o [1] + 0x801'fce9 Code Wk startup_stm32g431xx.o [1] TIM1_UP_TIM16_IRQHandler - 0x801'e975 Code Wk startup_stm32g431xx.o [1] -TIM2_IRQHandler 0x801'e981 Code Wk startup_stm32g431xx.o [1] -TIM3_IRQHandler 0x801'e985 Code Wk startup_stm32g431xx.o [1] -TIM4_IRQHandler 0x801'e989 Code Wk startup_stm32g431xx.o [1] -TIM6_DAC_IRQHandler 0x801'ded9 0x14 Code Gb main.o [1] -TIM6_Init_1000Hz 0x801'dea9 0x30 Code Gb main.o [1] -TIM7_IRQHandler 0x801'e9d9 Code Wk startup_stm32g431xx.o [1] -TIM8_BRK_IRQHandler 0x801'e9bd Code Wk startup_stm32g431xx.o [1] -TIM8_CC_IRQHandler 0x801'e9c9 Code Wk startup_stm32g431xx.o [1] + 0x801'fce5 Code Wk startup_stm32g431xx.o [1] +TIM2_IRQHandler 0x801'fcf1 Code Wk startup_stm32g431xx.o [1] +TIM3_IRQHandler 0x801'fcf5 Code Wk startup_stm32g431xx.o [1] +TIM4_IRQHandler 0x801'fcf9 Code Wk startup_stm32g431xx.o [1] +TIM6_DAC_IRQHandler 0x801'ef59 0x14 Code Gb main.o [1] +TIM6_Init_1000Hz 0x801'ef29 0x30 Code Gb main.o [1] +TIM7_IRQHandler 0x801'fd49 Code Wk startup_stm32g431xx.o [1] +TIM8_BRK_IRQHandler 0x801'fd2d Code Wk startup_stm32g431xx.o [1] +TIM8_CC_IRQHandler 0x801'fd39 Code Wk startup_stm32g431xx.o [1] TIM8_TRG_COM_IRQHandler - 0x801'e9c5 Code Wk startup_stm32g431xx.o [1] -TIM8_UP_IRQHandler 0x801'e9c1 Code Wk startup_stm32g431xx.o [1] -UART2_Init_921600 0x801'de43 0x48 Code Gb main.o [1] -UART4_IRQHandler 0x801'e9d5 Code Wk startup_stm32g431xx.o [1] -UART_SendPacket 0x801'de8b 0x1c Code Gb main.o [1] -UCPD1_IRQHandler 0x801'e9f1 Code Wk startup_stm32g431xx.o [1] -USART1_IRQHandler 0x801'e9a5 Code Wk startup_stm32g431xx.o [1] -USART2_IRQHandler 0x801'e9a9 Code Wk startup_stm32g431xx.o [1] -USART3_IRQHandler 0x801'e9ad Code Wk startup_stm32g431xx.o [1] -USBWakeUp_IRQHandler 0x801'e9b9 Code Wk startup_stm32g431xx.o [1] -USB_HP_IRQHandler 0x801'e95d Code Wk startup_stm32g431xx.o [1] -USB_LP_IRQHandler 0x801'e961 Code Wk startup_stm32g431xx.o [1] -UsageFault_Handler 0x801'e901 Code Wk startup_stm32g431xx.o [1] -WWDG_IRQHandler 0x801'e915 Code Wk startup_stm32g431xx.o [1] -__cmain 0x801'e7bd Code Gb cmain.o [5] -__exit 0x801'e7f9 0x14 Code Gb exit.o [6] -__iar_copy_init3 0x801'e71d 0x2a Code Gb copy_init3.o [5] -__iar_data_init3 0x801'e771 0x28 Code Gb data_init.o [5] -__iar_init_vfp 0x801'e799 Code Gb fpinit_M.o [4] -__iar_program_start 0x801'e831 Code Gb cstartup_M.o [5] -__iar_zero_init3 0x801'e6e5 0x38 Code Gb zero_init3.o [5] -__low_level_init 0x801'e7df 0x4 Code Gb low_level_init.o [2] + 0x801'fd35 Code Wk startup_stm32g431xx.o [1] +TIM8_UP_IRQHandler 0x801'fd31 Code Wk startup_stm32g431xx.o [1] +UART2_Init_921600 0x801'eec5 0x48 Code Gb main.o [1] +UART4_IRQHandler 0x801'fd45 Code Wk startup_stm32g431xx.o [1] +UART_SendPacket 0x801'ef0d 0x1c Code Gb main.o [1] +UCPD1_IRQHandler 0x801'fd61 Code Wk startup_stm32g431xx.o [1] +USART1_IRQHandler 0x801'fd15 Code Wk startup_stm32g431xx.o [1] +USART2_IRQHandler 0x801'fd19 Code Wk startup_stm32g431xx.o [1] +USART3_IRQHandler 0x801'fd1d Code Wk startup_stm32g431xx.o [1] +USBWakeUp_IRQHandler 0x801'fd29 Code Wk startup_stm32g431xx.o [1] +USB_HP_IRQHandler 0x801'fccd Code Wk startup_stm32g431xx.o [1] +USB_LP_IRQHandler 0x801'fcd1 Code Wk startup_stm32g431xx.o [1] +Update_FMAC_Coeffs 0x801'e371 0x22 Code Gb imu.o [1] +UsageFault_Handler 0x801'fc71 Code Wk startup_stm32g431xx.o [1] +WWDG_IRQHandler 0x801'fc85 Code Wk startup_stm32g431xx.o [1] +__cmain 0x801'fb2d Code Gb cmain.o [5] +__exit 0x801'fb69 0x14 Code Gb exit.o [6] +__iar_copy_init3 0x801'd1c3 0x2a Code Gb copy_init3.o [5] +__iar_data_init3 0x801'fae1 0x28 Code Gb data_init.o [5] +__iar_init_vfp 0x801'fb09 Code Gb fpinit_M.o [4] +__iar_program_start 0x801'fba1 Code Gb cstartup_M.o [5] +__iar_zero_init3 0x801'fa81 0x38 Code Gb zero_init3.o [5] +__low_level_init 0x801'fb4f 0x4 Code Gb low_level_init.o [2] __vector_table 0x800'0000 Data Gb startup_stm32g431xx.o [1] -_call_main 0x801'e7c9 Code Gb cmain.o [5] -_exit 0x801'e7e9 Code Gb cexit.o [5] -_exit_2 0x801'e7ed Code Gb cexit_2.o [5] +_call_main 0x801'fb39 Code Gb cmain.o [5] +_exit 0x801'fb59 Code Gb cexit.o [5] +_exit_2 0x801'fb5d Code Gb cexit_2.o [5] +active_notch_freqs 0x2000'0418 0xc Data Gb dsp_manager.o [1] armBitRevIndexTable1024 0x801'9f18 0xe10 Data Gb arm_common_tables.o [3] -armBitRevIndexTable128 0x801'e174 0x1a0 Data Gb arm_common_tables.o [3] -armBitRevIndexTable16 0x801'e748 0x28 Data Gb arm_common_tables.o [3] +armBitRevIndexTable128 0x801'f510 0x1a0 Data Gb arm_common_tables.o [3] +armBitRevIndexTable16 0x801'fab8 0x28 Data Gb arm_common_tables.o [3] armBitRevIndexTable2048 0x801'6158 0x1dc0 Data Gb arm_common_tables.o [3] -armBitRevIndexTable256 0x801'd0ac 0x370 Data Gb arm_common_tables.o [3] -armBitRevIndexTable32 0x801'e684 0x60 Data Gb arm_common_tables.o [3] +armBitRevIndexTable256 0x801'ddb4 0x370 Data Gb arm_common_tables.o [3] +armBitRevIndexTable32 0x801'fa20 0x60 Data Gb arm_common_tables.o [3] armBitRevIndexTable4096 0x801'41d8 0x1f80 Data Gb arm_common_tables.o [3] -armBitRevIndexTable512 0x801'cd2c 0x380 Data Gb arm_common_tables.o [3] -armBitRevIndexTable64 0x801'e614 0x70 Data Gb arm_common_tables.o [3] -arm_cfft_init_f32 0x801'dcdd 0x98 Code Gb arm_cfft_init_f32.o [3] +armBitRevIndexTable512 0x801'da34 0x380 Data Gb arm_common_tables.o [3] +armBitRevIndexTable64 0x801'f9b0 0x70 Data Gb arm_common_tables.o [3] +arm_bitreversal_32 0x801'd1ed 0x46 Code Gb arm_bitreversal2.o [3] +arm_cfft_f32 0x801'caad 0x184 Code Gb arm_cfft_f32.o [3] +arm_cfft_init_f32 0x801'ed01 0x98 Code Gb arm_cfft_init_f32.o [3] +arm_cfft_radix8by2_f32 0x801'c52d 0x16a Code Gb arm_cfft_f32.o [3] +arm_cfft_radix8by4_f32 0x801'c699 0x412 Code Gb arm_cfft_f32.o [3] arm_cfft_sR_f32_len1024 - 0x801'e8b0 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len128 0x801'e880 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len16 0x801'e850 0x10 Data Gb arm_const_structs.o [3] + 0x801'fc20 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len128 0x801'fbf0 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len16 0x801'fbc0 0x10 Data Gb arm_const_structs.o [3] arm_cfft_sR_f32_len2048 - 0x801'e8c0 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len256 0x801'e890 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len32 0x801'e860 0x10 Data Gb arm_const_structs.o [3] + 0x801'fc30 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len256 0x801'fc00 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len32 0x801'fbd0 0x10 Data Gb arm_const_structs.o [3] arm_cfft_sR_f32_len4096 - 0x801'e8d0 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len512 0x801'e8a0 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len64 0x801'e870 0x10 Data Gb arm_const_structs.o [3] -arm_cos_f32 0x801'e0e5 0x90 Code Gb arm_cos_f32.o [3] + 0x801'fc40 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len512 0x801'fc10 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len64 0x801'fbe0 0x10 Data Gb arm_const_structs.o [3] +arm_cmplx_mag_f32 0x801'eb21 0x154 Code Gb arm_cmplx_mag_f32.o [3] +arm_cos_f32 0x801'e7fd 0x90 Code Gb arm_cos_f32.o [3] +arm_mult_f32 0x801'e88d 0x10e Code Gb arm_mult_f32.o [3] +arm_radix8_butterfly_f32 + 0x801'cc31 0x592 Code Gb arm_cfft_radix8_f32.o [3] arm_rfft_1024_fast_init_f32 - 0x801'dbd1 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e6f1 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_128_fast_init_f32 - 0x801'db65 0x22 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e685 0x22 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_2048_fast_init_f32 - 0x801'dbf7 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e717 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_256_fast_init_f32 - 0x801'db87 0x24 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e6a7 0x24 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_32_fast_init_f32 - 0x801'db21 0x22 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e641 0x22 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_4096_fast_init_f32 - 0x801'dc1d 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e73d 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_512_fast_init_f32 - 0x801'dbab 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e6cb 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_64_fast_init_f32 - 0x801'db43 0x22 Code Lc arm_rfft_fast_init_f32.o [3] -arm_rfft_fast_init_f32 0x801'dc43 0x5a Code Gb arm_rfft_fast_init_f32.o [3] -dsp_buffer_ready 0x2000'0018 0x1 Data Gb dsp_manager.o [1] -exit 0x801'e7e3 0x4 Code Gb exit.o [2] -fft_handler 0x2000'081c 0x18 Data Lc dsp_manager.o [1] -filt_gx 0x2000'0870 0x4 Data Gb imu.o [1] -gyro_bias_x 0x2000'0874 0x4 Data Gb imu.o [1] -hann_window 0x2000'001c 0x800 Data Lc dsp_manager.o [1] + 0x801'e663 0x22 Code Lc arm_rfft_fast_init_f32.o [3] +arm_rfft_fast_f32 0x801'eae5 0x3a Code Gb arm_rfft_fast_f32.o [3] +arm_rfft_fast_init_f32 0x801'e763 0x5a Code Gb arm_rfft_fast_init_f32.o [3] +arm_sin_f32 0x801'ec75 0x8c Code Gb arm_sin_f32.o [3] +biquad_apply 0x801'e22d 0x3e Code Gb imu.o [1] +dsp_buffer_ready 0x2000'0c30 0x1 Data Gb dsp_manager.o [1] +dyn_notch_filters 0x2000'1c50 0x54 Data Gb imu.o [1] +exit 0x801'fb53 0x4 Code Gb exit.o [2] +fft_handler 0x2000'1434 0x18 Data Lc dsp_manager.o [1] +fft_input 0x2000'144c 0x800 Data Lc dsp_manager.o [1] +fft_output 0x2000'0430 0x800 Data Lc dsp_manager.o [1] +filt_gx 0x2000'1ca4 0x4 Data Gb imu.o [1] +gyro_bias_x 0x2000'1ca8 0x4 Data Gb imu.o [1] +hann_window 0x2000'0c34 0x800 Data Lc dsp_manager.o [1] imu_flag 0x2000'0000 0x1 Data Gb main.o [1] m1_speed 0x2000'0004 0x4 Data Gb main.o [1] m2_speed 0x2000'0008 0x4 Data Gb main.o [1] m3_speed 0x2000'000c 0x4 Data Gb main.o [1] m4_speed 0x2000'0010 0x4 Data Gb main.o [1] -main 0x801'dd75 0x82 Code Gb main.o [1] -notch_fmac_coeffs 0x2000'0834 0x20 Data Gb imu.o [1] -notch_fmac_state 0x2000'0854 0x18 Data Gb imu.o [1] -raw_gx 0x2000'086c 0x2 Data Gb imu.o [1] -sample_count 0x2000'001a 0x2 Data Lc dsp_manager.o [1] +magnitudes 0x2000'0018 0x400 Data Lc dsp_manager.o [1] +main 0x801'ed99 0xe0 Code Gb main.o [1] +merge_rfft_f32 0x801'ea45 0xa0 Code Gb arm_rfft_fast_f32.o [3] +raw_gx 0x2000'1c4c 0x2 Data Gb imu.o [1] +sample_count 0x2000'0c32 0x2 Data Lc dsp_manager.o [1] sinTable_f32 0x801'ad28 0x804 Data Gb arm_common_tables.o [3] +smoothed_freqs 0x2000'0424 0xc Data Lc dsp_manager.o [1] +stage_rfft_f32 0x801'e99d 0xa8 Code Gb arm_rfft_fast_f32.o [3] twiddleCoef_1024 0x801'01d8 0x2000 Data Gb arm_common_tables.o [3] -twiddleCoef_128 0x801'c52c 0x400 Data Gb arm_common_tables.o [3] -twiddleCoef_16 0x801'e514 0x80 Data Gb arm_common_tables.o [3] +twiddleCoef_128 0x801'd234 0x400 Data Gb arm_common_tables.o [3] +twiddleCoef_16 0x801'f8b0 0x80 Data Gb arm_common_tables.o [3] twiddleCoef_2048 0x800'81d8 0x4000 Data Gb arm_common_tables.o [3] twiddleCoef_256 0x801'b52c 0x800 Data Gb arm_common_tables.o [3] -twiddleCoef_32 0x801'e314 0x100 Data Gb arm_common_tables.o [3] +twiddleCoef_32 0x801'f6b0 0x100 Data Gb arm_common_tables.o [3] twiddleCoef_4096 0x800'01d8 0x8000 Data Gb arm_common_tables.o [3] twiddleCoef_512 0x801'7f18 0x1000 Data Gb arm_common_tables.o [3] -twiddleCoef_64 0x801'd720 0x200 Data Gb arm_common_tables.o [3] +twiddleCoef_64 0x801'f110 0x200 Data Gb arm_common_tables.o [3] twiddleCoef_rfft_1024 0x801'8f18 0x1000 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_128 0x801'd920 0x200 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_128 0x801'f310 0x200 Data Gb arm_common_tables.o [3] twiddleCoef_rfft_2048 0x801'21d8 0x2000 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_256 0x801'c92c 0x400 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_32 0x801'e594 0x80 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_256 0x801'd634 0x400 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_32 0x801'f930 0x80 Data Gb arm_common_tables.o [3] twiddleCoef_rfft_4096 0x800'c1d8 0x4000 Data Gb arm_common_tables.o [3] twiddleCoef_rfft_512 0x801'bd2c 0x800 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_64 0x801'e414 0x100 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_64 0x801'f7b0 0x100 Data Gb arm_common_tables.o [3] [1] = C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj @@ -557,9 +591,9 @@ twiddleCoef_rfft_64 0x801'e414 0x100 Data Gb arm_common_tables.o [3] [5] = rt7M_tl.a [6] = shb_l.a - 3'476 bytes of readonly code memory + 8'452 bytes of readonly code memory 122'028 bytes of readonly data memory - 4'216 bytes of readwrite data memory + 9'388 bytes of readwrite data memory Errors: none Warnings: none diff --git a/Debug/Obj/dsp_manager.o b/Debug/Obj/dsp_manager.o index e8d5890201a225b407cc872daaf7b2c3382101b0..2432d70ab9095b64783a0abd66f9eeeddce7c137 100644 GIT binary patch literal 16340 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 x5bq&d9>>AE2tD=;ZOC&VVu)~zDTa;zdtjwC0x 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 diff --git a/Debug/Obj/imu.o b/Debug/Obj/imu.o index 931d818308c8c0183f212d00c6578661ab8e9ff2..046bd9aa0e2d97e5dc6267c7d2cc11ae424dcd86 100644 GIT binary patch literal 33678 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 z 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 diff --git a/Debug/Obj/main.o b/Debug/Obj/main.o index d6a7cc713ec0633e0cb8e1f0b9ce1b8c4e833c3f..32a4da82fe4546d340561cf5e06ba1a0d5dada07 100644 GIT binary patch literal 20644 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 literal 20081 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 diff --git a/Debug/Obj/startup_stm32g431xx.o b/Debug/Obj/startup_stm32g431xx.o index dc8f34c75667ea14d736721854530ee9f14273bf..515aa43268edc1a16852d60d7d560f3e60232545 100644 GIT binary patch delta 962 zcmZ4fih21f<_-6ZSdJWiePZ$>qf!VX+PDD1I1ghun?Oaj!x-A8P?7nj1p*-LYzzzx ztV}?Hf%(>Cf0Go53GHT3WxrvJd~*!-?-1(4EuiX8!x;9K1%hbiH!)2PFiD13pl$`# zFdN3;x5m&g4N1dyYp8~78z|$x4TgqQNE(jYLe*K@K^g1qFf{B#(lFf~s*c+M%BXk1 z&~OP!L%JhW-EA1d-w8v*Gb9b>&QJ}jVGMZ}3=O}KG_bouHB`eG?_Du8^f4oX^|~8W zgSR`BvELm-!y+UN%RQj#q&=aGeoqVy+mJMrdqLH`hB4y3F*KY)(%|j`)vz1J(D%jA za1Tj?xF1wQH;nP$4@1KzBn{8~p&FtCpp5eY7#iAG5TUd^5UNf)2+EirgrQ*;l7{wR hsJh=UMt%r}hIL39!b71NPQw`XVGxnco5M=x0RR)_qRRjP delta 962 zcmZ4fih21f<_-6ZSk}zmcy{t5qf!VX+PDD1I1ghun?Oaj!x-A8P?7nj1p*-LYzzzx ztV}?Hf%(>Cf0Go53GHT3WxrvJd~*!-?-1(4EuiX8!x;9K1%hbiH!)2PFiD13pl$`# zFdN3;x5m&g4N1dyYp8~78z|$x4TgqQNE(jYLe*K@K^g1qFf{B#(lFf~s*c+M%BXk1 z&~OP!L%JhW-EA1d-w8v*Gb9b>&QJ}jVGMZ}3=O}KG_bouHB`eG?_Du8^f4oX^|~8W zgSR`BvELm-!y+UN%RQj#q&=aGeoqVy+mJMrdqLH`hB4y3F*KY)(%|j`)vz1J(D%jA za1Tj?xF1wQH;nP$4@1KzBn{8~p&FtCpp5eY7#iAG5TUd^5UNf)2+EirgrQ*;l7{wR hsJh=UMt%r}hIL39!b71NPQw`XVGxnco5M=x0RXB)emejF diff --git a/Debug/Obj/system_stm32g4xx.o b/Debug/Obj/system_stm32g4xx.o index 6ddc6c4c24eede27cb480de1c9b123559c469f38..d342afb326c63da0ee1ebfc76973a81c18e441c9 100644 GIT binary patch delta 107 zcmZ3Oy)b*j5q{|-hhLvyJDOHpl51>~Zc~Zc= PACKET_SIZE: + header_idx = data_packet.find(b'\xaa\xbb') + if header_idx == -1: + data_packet.clear() + break + + if header_idx + PACKET_SIZE <= len(data_packet): + # Читаем: 2(gx), 2(fgx), 2(f1), 2(f2), 2(f3) + chunk = data_packet[header_idx+2 : header_idx+PACKET_SIZE] + try: + # int16, int16, uint16, uint16, uint16 + r_val, f_val, f1, f2, f3 = struct.unpack(' 0: + peak_lines[i].set_xdata([peak_freqs[i], peak_freqs[i]]) + peak_lines[i].set_alpha(0.6) + else: + peak_lines[i].set_alpha(0.0) + + if fill_poly: + fill_poly.remove() + fill_poly = ax2.fill_between(freqs, 0, fft_r, color='red', alpha=0.15, zorder=1) + + # Автомасштаб спектра + #m = np.max(fft_r) if len(fft_r) > 0 else 5000 + #curr_limit = ax2.get_ylim()[1] + #if m > curr_limit: + # ax2.set_ylim(0, m * 1.2) + #elif m < curr_limit * 0.2 and curr_limit > 5000: + # ax2.set_ylim(0, 5000) + + return line_raw, line_filt, line_spec_filt, peak_text + +ani = FuncAnimation(fig, update, interval=30, cache_frame_data=False) +plt.tight_layout() +plt.show() +ser.close() \ No newline at end of file diff --git a/dsp_manager.c b/dsp_manager.c index 8355b92..f15d714 100644 --- a/dsp_manager.c +++ b/dsp_manager.c @@ -15,6 +15,13 @@ uint8_t dsp_buffer_ready = 0; // Структура БПФ из библиотеки static arm_rfft_fast_instance_f32 fft_handler; +// Частоты текущих 3 подавляющих фильтров +float active_notch_freqs[3] = {0.0f, 0.0f, 0.0f}; + +//альфа +static float32_t smoothed_freqs[3] = {0.0f, 0.0f, 0.0f}; +#define FREQ_ALPHA 0.05f // Чем МЕНЬШЕ значение, тем дольше фильтр "едет" к новой частоте + void DSP_Init(void) { // Инициализируем структуру БПФ arm_rfft_fast_init_f32(&fft_handler, FFT_SIZE); @@ -46,28 +53,74 @@ void DSP_Process(void) { // 3. Считаем амплитуды arm_cmplx_mag_f32(fft_output, magnitudes, FFT_SIZE / 2); - // 4. Поиск 3-х самых мощных пиков + // 4. Поиск 3-х независимых самых мощных пиков float32_t top_freq_indices[3] = {0}; float32_t top_mags[3] = {0}; - for (uint32_t i = 50; i < 450; i++) { - if (magnitudes[i] > top_mags[0]) { - top_mags[2] = top_mags[1]; top_freq_indices[2] = top_freq_indices[1]; - top_mags[1] = top_mags[0]; top_freq_indices[1] = top_freq_indices[0]; - top_mags[0] = magnitudes[i]; - top_freq_indices[0] = (float32_t)i; + // Индексы для поиска от 50 Гц до 450 Гц + // index = freq * FFT_SIZE / fs = freq * 512 / 1000 + uint32_t start_idx = 25; // ~50 Гц (50 * 512 / 1000 = 25) + uint32_t end_idx = 230; // ~450 Гц (450 * 512 / 1000 = 230) + + for (int k = 0; k < 3; k++) { + float32_t max_m = 0; + uint32_t max_i = 0; + + // Ищем глобальный максимум + for (uint32_t i = start_idx; i < end_idx; i++) { + if (magnitudes[i] > max_m) { + max_m = magnitudes[i]; + max_i = i; + } + } + + top_mags[k] = max_m; + top_freq_indices[k] = (float32_t)max_i; + + // "Зануляем" гору вокруг найденного пика (±10 бинов, ~±20 Гц) + // Чтобы следующий фильтр не прицепился к «склону» того же самого пика + if (max_i > 0) { + uint32_t clear_start = (max_i > 10) ? (max_i - 10) : 0; + uint32_t clear_end = (max_i + 10 < (FFT_SIZE / 2)) ? (max_i + 10) : ((FFT_SIZE / 2) - 1); + for (uint32_t j = clear_start; j <= clear_end; j++) { + magnitudes[j] = 0.0f; + } } } // --- 5. ПЕРЕНАСТРОЙКА ТРЕХ КАСКАДОВ FMAC --- const float fs = 1000.0f; // Частота дискретизации - const float Q = 1.5f; // Добротность (ширина выреза, 1.0 - 2.0 норм) + const float Q = 3.5f; // Добротность const float bin_to_hz = fs / (float)FFT_SIZE; for (int i = 0; i < 3; i++) { - // Если амплитуда выше порога, настраиваем фильтр - if (top_mags[i] > 3.0f) { - float real_freq = top_freq_indices[i] * bin_to_hz; + float mag = top_mags[i]; + float new_freq = top_freq_indices[i] * bin_to_hz; + + // Hysteresis (ГИСТЕРЕЗИС): + // Если фильтр сейчас ВЫКЛЮЧЕН (active_notch_freqs == 0) + if (active_notch_freqs[i] == 0) { + if (mag > 4000.0f) { + // Включаем фильтр! Чтобы не полз с нуля, присваиваем частоту сразу: + smoothed_freqs[i] = new_freq; + active_notch_freqs[i] = new_freq; + } + } + // Если фильтр сейчас ВКЛЮЧЕН + else { + if (mag < 2000.0f) { + // Выключаем фильтр, так как амплитуда сильно упала + active_notch_freqs[i] = 0; + } else { + // Продолжаем отслеживать с Альфой (EMA) + smoothed_freqs[i] = (smoothed_freqs[i] * (1.0f - FREQ_ALPHA)) + (new_freq * FREQ_ALPHA); + active_notch_freqs[i] = smoothed_freqs[i]; + } + } + + // Применяем настройки + if (active_notch_freqs[i] > 0) { + float real_freq = active_notch_freqs[i]; // Математика Notch-фильтра float w0 = 2.0f * 3.14159265f * real_freq / fs; @@ -75,8 +128,6 @@ void DSP_Process(void) { float cosw0 = arm_cos_f32(w0); float a0 = 1.0f + alpha; - // Коэффициенты для передачи в FMAC - // Мы делим на a0 сразу здесь float b0 = 1.0f / a0; float b1 = -2.0f * cosw0 / a0; float b2 = 1.0f / a0; @@ -84,13 +135,11 @@ void DSP_Process(void) { float a2 = (1.0f - alpha) / a0; Update_FMAC_Coeffs(i, b0, b1, b2, a1, a2); - } - else { - // Если пика нет, ставим фильтр в режим Bypass (пропускает сигнал без изменений) - // b0 = 1.0, остальные 0. Это даст y[n] = 1.0 * x[n] + } else { + // Bypass Update_FMAC_Coeffs(i, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f); } } dsp_buffer_ready = 0; // Разрешаем новый сбор данных -} \ No newline at end of file +} diff --git a/dsp_manager.h b/dsp_manager.h index eafa523..7c08e02 100644 --- a/dsp_manager.h +++ b/dsp_manager.h @@ -13,5 +13,7 @@ void DSP_Process(void); // Запустить расчет (ког // Флаг готовности данных (чтобы main знал, когда пора вызывать Process) extern uint8_t dsp_buffer_ready; +// Список частот, которые в данный момент подавляются фильтрами +extern float active_notch_freqs[3]; #endif \ No newline at end of file diff --git a/imu.c b/imu.c index f5896d7..dcaaef0 100644 --- a/imu.c +++ b/imu.c @@ -30,6 +30,22 @@ float gyro_bias_x = 0; // notch1, notch2, notch3 удалены (заменены на notch_fmac_coeffs[3]) // biquad_apply и biquad_init_notch удалены (больше не нужны с FMAC) +#define M_PI 3.14159265358979323846f + +void biquad_init_notch(biquad_t *f, float freq, float q, float fs) { + float omega = 2.0f * M_PI * freq / fs; + float alpha = sinf(omega) / (2.0f * q); + + float a0 = 1.0f + alpha; + f->b0 = 1.0f / a0; + f->b1 = -2.0f * cosf(omega) / a0; + f->b2 = 1.0f / a0; + f->a1 = -2.0f * cosf(omega) / a0; + f->a2 = (1.0f - alpha) / a0; + f->d1 = 0; + f->d2 = 0; +} + fmac_coeffs_t notch_fmac_coeffs[3]; fmac_state_t notch_fmac_state[3]; @@ -87,6 +103,18 @@ static void IMU_WriteReg(uint8_t reg, uint8_t val) { void IMU_SetBank(uint8_t bank) { IMU_WriteReg(0x7F, (bank & 0x03) << 4); } +float biquad_apply(biquad_t *f, float x) { + // Реализация Direct Form II (правильная математика для IIR) + float w = x - f->a1 * f->d1 - f->a2 * f->d2; + float y = f->b0 * w + f->b1 * f->d1 + f->b2 * f->d2; + f->d2 = f->d1; + f->d1 = w; + return y; +} + +// 3 динамических каскада +biquad_t dyn_notch_filters[3]; + void IMU_Init(void) { // Пробуждение... IMU_SetBank(0); @@ -95,22 +123,25 @@ void IMU_Init(void) { IMU_WriteReg(0x07, 0x00); IMU_SetBank(2); - IMU_WriteReg(0x01, 0x01); // Bypass (отключаем встроенный фильтр для анализа) + // ICM-20948: GYRO_CONFIG_1 находится в нулевом регистре второго банка. + // Значение GYRO_DLPFCFG = 7 для макс. ширины без полного байпаса: ~361.4 Hz LPF. + // (0 - это 196Hz, 1 - 151Hz, 2 - 119Hz, 3 - 51Hz, 7 - 361.4Hz) + // GYRO_FS_SEL = 3 (2000 dps) + // ВНИМАНИЕ: На ICM-20948 бит GYRO_FCHOICE (бит 0) включает LPF, если равен 1! (а 0 = Bypass) + IMU_WriteReg(0x01, (7 << 3) | (3 << 1) | 1); + IMU_SetBank(0); - // b0 = 1.0 (в Q14 это 16384), остальные 0 + // Инициализируем фильтры в режиме Bypass (пропускание) for (int i = 0; i < 3; i++) { - notch_fmac_coeffs[i].b0 = 0; - notch_fmac_coeffs[i].b1 = 0; - notch_fmac_coeffs[i].b2 = 0; - notch_fmac_coeffs[i].a1 = 0; - notch_fmac_coeffs[i].a2 = 0; - - notch_fmac_state[i].x1 = 0; - notch_fmac_state[i].x2 = 0; - notch_fmac_state[i].y1 = 0; - notch_fmac_state[i].y2 = 0; -} + dyn_notch_filters[i].b0 = 1.0f; + dyn_notch_filters[i].b1 = 0; + dyn_notch_filters[i].b2 = 0; + dyn_notch_filters[i].a1 = 0; + dyn_notch_filters[i].a2 = 0; + dyn_notch_filters[i].d1 = 0; + dyn_notch_filters[i].d2 = 0; + } } void IMU_Calibrate(void) { @@ -127,30 +158,34 @@ void IMU_ReadRawData(void) { uint8_t buf[14]; I2C_ReadMulti(IMU_ADDR, 0x2D, buf, 14); - raw_gx = (int16_t)(buf[6] << 8 | buf[7]); - float x = (float)raw_gx - gyro_bias_x; + // 1. Читаем сырое + int16_t gyro_x_raw = (int16_t)(buf[6] << 8 | buf[7]); + + // 2. Центрируем относительно нуля (убираем дрейф) + float x = (float)gyro_x_raw - gyro_bias_x; + + // 3. СОХРАНЯЕМ это в raw_gx (это будет красная линия в Python) + raw_gx = (int16_t)x; - // ВМЕСТО ЭТОГО: - // x = biquad_apply(¬ch1, x); - // x = biquad_apply(¬ch2, x); - // x = biquad_apply(¬ch3, x); + // 4. Прогоняем через 3 каскада программных фильтров (режекторные) + float x_filtered = x; + x_filtered = biquad_apply(&dyn_notch_filters[0], x_filtered); + x_filtered = biquad_apply(&dyn_notch_filters[1], x_filtered); + x_filtered = biquad_apply(&dyn_notch_filters[2], x_filtered); - // ТЕПЕРЬ: - x = FMAC_Process_Sample(x); - - filt_gx = x; + // 5. Сохраняем в filt_gx (это будет синяя линия) + filt_gx = x_filtered; } void Update_FMAC_Coeffs(int stage, float b0, float b1, float b2, float a1, float a2) { if (stage < 0 || stage > 2) return; - const float scale = 16384.0f; // Q14 - notch_fmac_coeffs[stage].b0 = (int16_t)(b0 * scale); - notch_fmac_coeffs[stage].b1 = (int16_t)(b1 * scale); - notch_fmac_coeffs[stage].b2 = (int16_t)(b2 * scale); - // Для FMAC знаки a1 и a2 инвертируем! - notch_fmac_coeffs[stage].a1 = (int16_t)(-a1 * scale); - notch_fmac_coeffs[stage].a2 = (int16_t)(-a2 * scale); + // Обновляем софтверные фильтры вместо FMAC + dyn_notch_filters[stage].b0 = b0; + dyn_notch_filters[stage].b1 = b1; + dyn_notch_filters[stage].b2 = b2; + dyn_notch_filters[stage].a1 = a1; + dyn_notch_filters[stage].a2 = a2; } // Внутренняя функция для обработки одного каскада через FMAC @@ -178,7 +213,7 @@ static int16_t FMAC_Step(fmac_coeffs_t *c, fmac_state_t *s, int16_t input) { FMAC->WDATA = input; uint32_t timeout = 1000; - while (!(FMAC->SR & 0x01) && --timeout); + while ((FMAC->SR & 0x01) && --timeout); if (timeout == 0) return input; diff --git a/imu.h b/imu.h index 13754ee..92a4356 100644 --- a/imu.h +++ b/imu.h @@ -10,8 +10,11 @@ typedef struct { float d1, d2; } biquad_t; -// Старые фильтры notch1,2,3 удалены (использовалась только FMAC с notch_fmac_coeffs[3]) -// extern biquad_t notch1, notch2, notch3; +// 3 динамических программных фильтра (вместо FMAC) +extern biquad_t dyn_notch_filters[3]; + +void biquad_init_notch(biquad_t *f, float freq, float q, float fs); +float biquad_apply(biquad_t *f, float x); // Прототипы void I2C1_Init(void); diff --git a/main.c b/main.c index 1a9f5a1..cf2eae6 100644 --- a/main.c +++ b/main.c @@ -11,11 +11,15 @@ volatile uint32_t m2_speed = 900; volatile uint32_t m3_speed = 900; volatile uint32_t m4_speed = 900; +// В main.c меняем структуру #pragma pack(push, 1) typedef struct { - uint8_t header[2]; - int16_t gx; - int16_t filt_gx; + uint8_t header[2]; // 0xAA, 0xBB + int16_t gx; // Сырой гиро + int16_t filt_gx; // Отфильтрованный гиро + uint16_t freq1; // Пик 1 (Гц) + uint16_t freq2; // Пик 2 (Гц) + uint16_t freq3; // Пик 3 (Гц) } Telemetry_t; #pragma pack(pop) @@ -49,22 +53,30 @@ int main(void) { pkt.header[0] = 0xAA; pkt.header[1] = 0xBB; - while (1) { - if (imu_flag) { - imu_flag = 0; + // В основном цикле while(1) внутри if (imu_flag) +while (1) { + if (imu_flag) { + imu_flag = 0; + IMU_ReadRawData(); + DSP_AddSample((float32_t)raw_gx); + + pkt.gx = raw_gx; + pkt.filt_gx = (int16_t)filt_gx; + + // Заполняем частоты из dsp_manager.c + // extern float active_notch_freqs[3]; // Если компилятор не видит, добавьте в заголовок + pkt.freq1 = (uint16_t)active_notch_freqs[0]; + pkt.freq2 = (uint16_t)active_notch_freqs[1]; + pkt.freq3 = (uint16_t)active_notch_freqs[2]; - IMU_ReadRawData(); // Теперь она внутри себя вызывает FMAC_Process_Sample - - - pkt.gx = raw_gx; - - pkt.filt_gx = (int16_t)filt_gx; // filt_gx обновится внутри IMU_ReadRawData - - - UART_SendPacket(&pkt); - Set_Motor_Individual(m1_speed, m2_speed, m3_speed, m4_speed); - } + UART_SendPacket(&pkt); + Set_Motor_Individual(m1_speed, m2_speed, m3_speed, m4_speed); } + + if (dsp_buffer_ready) { + DSP_Process(); + } +} } // 4. РЕАЛИЗАЦИЯ ФУНКЦИЙ (Тут был провал - их не хватало!) diff --git a/settings/fft_az.dnx b/settings/fft_az.dnx index 278f1c3..047b190 100644 --- a/settings/fft_az.dnx +++ b/settings/fft_az.dnx @@ -25,7 +25,7 @@ 1 - 757690107 + 919959831 1 diff --git a/settings/fft_az.reggroups b/settings/fft_az.reggroups new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/settings/fft_az.reggroups @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/settings/fft_az.wsdt b/settings/fft_az.wsdt index 9827abf..f55d50a 100644 --- a/settings/fft_az.wsdt +++ b/settings/fft_az.wsdt @@ -83,7 +83,7 @@ _I0 - 1062 + 1123 20 2 @@ -103,11 +103,11 @@ 1 1 1 - 74010000210024970000010000001397000017000000158100000400000010860000210000005F860000010000003A9700000200000001E10000010000000C810000BC000000159700001C000000568600000100000017810000070000001297000026000000128600001800000003840000010000001481000002000000319700000300000000810000050000001F810000080000000E8100009800000000E100000200000028970000010000000B8100001400000014970000190000000584000002000000148600000600000005810000020000000284000003000000118600001300000010840000030000003284000001000000549200000200000002E10000020000001697000001000000 + A70100002200139700001700000024970000010000003297000001000000108600002100000015810000040000005F860000010000000C810000D40000003A9700000200000001E1000001000000159700001C000000038400000100000012860000180000001297000026000000178100000700000056860000010000003197000003000000148100000200000000810000050000000E810000B20000001F810000080000000B81000015000000289700000100000000E100000200000014860000060000000584000002000000149700001900000011860000130000000284000003000000058100000200000032840000010000001084000003000000549200000200000002E10000020000001697000001000000 3B00FFFFFFFF2AE10000008200001C820000338200000182000077840000078400007F84000088840000878400008A840000868400000D8400000F84000008840000FE830000FF830000FD83000054840000328100001C810000098400005D9700006797000042970000439700003C8400003D840000408400004C8400003E8400004B8400004D8400003F8400003A8400003B8400005A8400005B8400005384000008800000098000000A8000000B8000000C800000158000000A81000001E800000C84000033840000788400003B85000077970000008800000188000002880000038800000488000005880000 - 6A002497000000170000469700003A0A00001397000074000000359700000D17000004840000590C000089840000040000003297000005170000158100007C0C00002CE10000C70D000051970000D41700000D970000111800004581000005000000409700009C1A000007E10000980C0000318400009F0000003D970000450A00001B970000810000002C970000881A000004E10000960C00000F8100006C00000020810000740000005C970000D7030000189700007C00000029970000841A00000D800000710C000001E10000930C000023E10000C40D000007970000BA0D00000C8100006900000037970000400A0000269700000217000059970000CE030000098100005B060000159700007500000019820000960D0000068400005B0C000045970000390A00001297000073000000239700007E1A00003497000007170000178100007E0C000016820000940D00000384000097000000008400009400000031970000041700005397000011000000148100007B0C00002BE10000C60D000044810000020000003F9700009B1A000000810000720C000030840000040400000E840000020400003C970000440A00001A9700007B0000002B970000921A000003E10000950C000025E10000C50D00002F820000970D00000E8100006B0000001F810000730000005D840000010000005B970000D5030000179700007600000028970000871A000039970000961A000000E10000920C000022E10000C30D000006970000B90D00000B81000093040000259700000117000058970000D3030000149700007700000036970000931A000041E100009F0C000018820000950D00000584000099000000D18400005B000000559700000E040000058100009706000066970000440100003397000006170000168100007D0C00000284000096000000419700009D1A000032840000A0000000108400009D00000043810000030000001C970000800000003E9700009A1A000051840000630C000005E10000970C000008970000321800003B970000430A000035E1000084060000199700007E0000002A970000911A000002E10000940C00000D810000950400000A8400009B00000038970000410A000027970000031700005C840000000000005A970000CF030000169700007A00000005970000B1060000 + 6E0004840000590C0000359700000D1700001397000074000000469700003A0A0000249700000017000054970000AD0000002CE10000C70D000032970000051700008984000004000000158100007C0C0000318400009F000000409700009C1A000045810000050000000D9700001118000051970000D417000007E10000980C000020810000740000000F8100006C0000002C970000881A00001B970000810000003D970000450A000004E10000960C00003A970000D70000000C8100006900000007970000BA0D000023E10000C40D000029970000841A0000189700007C0000005C970000D703000001E10000930C00000D800000710C0000068400005B0C000019820000960D00001597000075000000098100005B06000059970000CE030000269700000217000037970000400A0000038400009700000016820000940D00003497000007170000239700007E1A0000129700007300000045970000390A0000178100007E0C000042970000DE0000002BE10000C60D0000539700001100000031970000041700000084000094000000148100007B0C00000E840000BD0D000030840000BF0D00003F9700009B1A0000448100000200000000810000720C00001F810000730000000E8100006B0000002F820000970D000025E10000C50D00002B970000921A00001A9700007B0000003C970000440A000003E10000950C00000B810000890D000006970000B90D000022E10000C30D000039970000961A000028970000871A000017970000760000005B970000D50300005D8400000100000000E10000920C0000D18400005B000000058400009900000018820000950D000036970000931A0000149700007700000058970000D3030000259700000117000041E100009F0C00000284000096000000339700000617000066970000440100000581000097060000559700000E040000168100007D0C0000108400009D00000032840000A0000000419700009D1A00002D970000CB0000003E9700009A1A00001C97000080000000438100000300000005E10000970C000051840000630C00003B970000430A00000A8400009B0000000D8100008B0D00002A970000911A0000199700007E00000035E1000084060000089700003218000002E10000940C000005970000B1060000169700007A0000005A970000CF0300005C84000000000000279700000317000038970000410A0000 0 @@ -124,8 +124,8 @@ 4294967295 - 000000007D0200000006000027030000 - 00000000660200000006000010030000 + 000000009C0200000006000027030000 + 00000000850200000006000010030000 4096 0 0 @@ -137,8 +137,8 @@ 34050 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -156,9 +156,9 @@ _I0 - 453 + 447 40 - 1009 + 998 20 2 @@ -168,8 +168,8 @@ 34052 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -182,8 +182,8 @@ 34054 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -204,8 +204,8 @@ 34055 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -226,8 +226,8 @@ 34056 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -240,8 +240,8 @@ 34058 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -262,8 +262,8 @@ 34059 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -276,8 +276,8 @@ 34060 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -290,8 +290,8 @@ 34064 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -384,7 +384,7 @@ 34061 00000000170000000601000078010000 - 00000000320000000601000062020000 + 00000000320000000601000081020000 4096 0 0 @@ -451,11 +451,11 @@ - 000000000E000000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000E85000000000000000000000000000000000000010000000E850000010000000E850000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A010000620200000100000002000010040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000000000000FFFFFFFFFFFFFFFF0000000096010000000600009A010000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000080000001000000FFFFFFFFFFFFFFFF00000000620200000006000066020000010000000100001004000000010000000CFEFFFF9F000000FFFFFFFF0900000002850000048500000685000007850000088500000A8500000B8500000C85000010850000FFFF02000B004354616262656450616E650080000001000000000000007D020000000600002703000000000000660200000006000010030000000000004080005609000000FFFEFF054200750069006C006400010000000285000001000000FFFFFFFFFFFFFFFFFFFEFF1343004D0061006B0065002F0043004D005300490053002D0054006F006F006C0062006F007800000000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000685000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF12260053006F0075007200630065002000420072006F0077007300650020004C006F006700000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000C85000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000001085000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFF0285000001000000FFFFFFFF02850000000000000000000000000000 + 000000000E000000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000E85000000000000000000000000000000000000010000000E850000010000000E850000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A010000810200000100000002000010040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000000000000FFFFFFFFFFFFFFFF0000000096010000000600009A010000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000080000001000000FFFFFFFFFFFFFFFF0000000081020000000600008502000001000000010000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF0900000002850000048500000685000007850000088500000A8500000B8500000C85000010850000FFFF02000B004354616262656450616E650080000001000000000000009C020000000600002703000000000000850200000006000010030000000000004080005609000000FFFEFF054200750069006C006400010000000285000001000000FFFFFFFFFFFFFFFFFFFEFF1343004D0061006B0065002F0043004D005300490053002D0054006F006F006C0062006F007800000000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000685000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF12260053006F0075007200630065002000420072006F0077007300650020004C006F006700000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000C85000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000001085000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF0285000001000000FFFFFFFF02850000000000000000000000000000 CMSIS-Pack - 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED18400000200000065120000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 + 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED18400000200000008160000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 34048 @@ -472,7 +472,7 @@ Main - 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E10000000000009A120000FFFEFF000000000000000000000000000100000001000000018001E10000000000009B120000FFFEFF000000000000000000000000000100000001000000018003E10000000004009D120000FFFEFF000000000000000000000000000100000001000000018000810000000000007A120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E1000000000400A0120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E1000000000400A2120000FFFEFF000000000000000000000000000100000001000000018022E1000000000400A1120000FFFEFF000000000000000000000000000100000001000000018025E1000000000400A3120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE1000000000400A4120000FFFEFF00000000000000000000000000010000000100000001802CE1000000000400A5120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000400FFFFFFFFFFFEFF000000000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004008B120000FFFEFF000000000000000000000000000100000001000000018024E100000000040093120000FFFEFF000000000000000000000000000100000001000000018028E100000000040092120000FFFEFF000000000000000000000000000100000001000000018029E100000000040094120000FFFEFF000000000000000000000000000100000001000000018002810000000004007B120000FFFEFF000000000000000000000000000100000001000000018029810000000004008F120000FFFEFF000000000000000000000000000100000001000000018027810000000004008D120000FFFEFF000000000000000000000000000100000001000000018028810000000004008E120000FFFEFF00000000000000000000000000010000000100000001801D8100000000040087120000FFFEFF00000000000000000000000000010000000100000001801E8100000000040088120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000020004007E120000FFFEFF00000000000000000000000000010000000100000001800D8100000200000080120000FFFEFF00000000000000000000000000010000000100000001805F8600000200040091120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000200020081120000FFFEFF00000000000000000000000000010000000100000001800F8100000200000082120000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000 + 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E10000000000003D160000FFFEFF000000000000000000000000000100000001000000018001E10000000000003E160000FFFEFF000000000000000000000000000100000001000000018003E100000000040040160000FFFEFF000000000000000000000000000100000001000000018000810000000000001D160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E100000000040043160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E100000000040045160000FFFEFF000000000000000000000000000100000001000000018022E100000000040044160000FFFEFF000000000000000000000000000100000001000000018025E100000000040046160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040047160000FFFEFF00000000000000000000000000010000000100000001802CE100000000040048160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000400FFFFFFFFFFFEFF000100000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004002E160000FFFEFF000000000000000000000000000100000001000000018024E100000000040036160000FFFEFF000000000000000000000000000100000001000000018028E100000000040035160000FFFEFF000000000000000000000000000100000001000000018029E100000000040037160000FFFEFF000000000000000000000000000100000001000000018002810000000004001E160000FFFEFF0000000000000000000000000001000000010000000180298100000000040032160000FFFEFF0000000000000000000000000001000000010000000180278100000000040030160000FFFEFF0000000000000000000000000001000000010000000180288100000000040031160000FFFEFF00000000000000000000000000010000000100000001801D810000000004002A160000FFFEFF00000000000000000000000000010000000100000001801E810000000004002B160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B8100000200040021160000FFFEFF00000000000000000000000000010000000100000001800D8100000200000023160000FFFEFF00000000000000000000000000010000000100000001805F8600000200040034160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000200020024160000FFFEFF00000000000000000000000000010000000100000001800F8100000200000025160000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000 34049 @@ -490,7 +490,7 @@ - 0100000003000000010000000000000000000000010000000100000002000000000000000100000001000000000000002800000028000000010000000C0000000700000001000000FFFEFF162400570053005F0044004900520024005C00730074006D00330032006700340033003100780078002E00680001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100340037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D730074006D00330032006700340033003100780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF1B2400570053005F0044004900520024005C00730079007300740065006D005F00730074006D003300320067003400780078002E006300010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF12730079007300740065006D005F00730074006D003300320067003400780078002E00630000000000FFFFFFFFFFFFFFFFFFFEFF1E2400570053005F0044004900520024005C0073007400610072007400750070005F00730074006D00330032006700340033003100780078002E007300010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF1573007400610072007400750070005F00730074006D00330032006700340033003100780078002E00730000000000FFFFFFFFFFFFFFFFFFFEFF1B2400570053005F0044004900520024005C00730079007300740065006D005F00730074006D003300320067003400780078002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF12730079007300740065006D005F00730074006D003300320067003400780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF142400570053005F0044004900520024005C00730074006D003300320067003400780078002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B730074006D003300320067003400780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF0E2400570053005F0044004900520024005C0069006D0075002E006300010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100320039003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0569006D0075002E00630000000000FFFFFFFFFFFFFFFFFFFEFF0E2400570053005F0044004900520024005C0069006D0075002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0569006D0075002E00680000000000FFFFFFFFFFFFFFFFFFFEFF0F2400570053005F0044004900520024005C006D00610069006E002E006300010000000180FFFEFF00FFFEFFFF25013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00310033003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003600390033003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003600390033003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C002E002E005C007700770077005C006D006F0074006F00720073002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0031003100320037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0031003100320037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF086D006F0074006F00720073002E00630000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C002E002E005C007700770077005C006D006F0074006F00720073002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF086D006F0074006F00720073002E00680000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C006400730070005F006D0061006E0061006700650072002E006300010000000180FFFEFF00FFFEFFFF21013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D6400730070005F006D0061006E0061006700650072002E00630000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C006400730070005F006D0061006E0061006700650072002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D6400730070005F006D0061006E0061006700650072002E00680000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000000A010000490000000006000079020000 + 0100000003000000010000000000000000000000010000000100000002000000000000000100000001000000000000002800000028000000010000000C0000000700000001000000FFFEFF1B2400570053005F0044004900520024005C00730079007300740065006D005F00730074006D003300320067003400780078002E00630001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF12730079007300740065006D005F00730074006D003300320067003400780078002E00630000000000FFFFFFFFFFFFFFFFFFFEFF1E2400570053005F0044004900520024005C0073007400610072007400750070005F00730074006D00330032006700340033003100780078002E007300010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF1573007400610072007400750070005F00730074006D00330032006700340033003100780078002E00730000000000FFFFFFFFFFFFFFFFFFFEFF1B2400570053005F0044004900520024005C00730079007300740065006D005F00730074006D003300320067003400780078002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF12730079007300740065006D005F00730074006D003300320067003400780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF142400570053005F0044004900520024005C00730074006D003300320067003400780078002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B730074006D003300320067003400780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C006400730070005F006D0061006E0061006700650072002E006300010000000180FFFEFF00FFFEFFFF21013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00350034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D6400730070005F006D0061006E0061006700650072002E00630000000000FFFFFFFFFFFFFFFFFFFEFF0E2400570053005F0044004900520024005C0069006D0075002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0569006D0075002E00680000000000FFFFFFFFFFFFFFFFFFFEFF0E2400570053005F0044004900520024005C0069006D0075002E006300010000000180FFFEFF00FFFEFFFF24013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003700390032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003700390032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0569006D0075002E00630000000000FFFFFFFFFFFFFFFFFFFEFF0F2400570053005F0044004900520024005C006D00610069006E002E006300010000000180FFFEFF00FFFEFFFF25013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00310034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003900360030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003900360030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C002E002E005C007700770077005C006D006F0074006F00720073002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0031003100320037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0031003100320037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF086D006F0074006F00720073002E00630000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C002E002E005C007700770077005C006D006F0074006F00720073002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF086D006F0074006F00720073002E00680000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C00730074006D00330032006700340033003100780078002E006800010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100340037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D730074006D00330032006700340033003100780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C006400730070005F006D0061006E0061006700650072002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D6400730070005F006D0061006E0061006700650072002E00680000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000000A010000490000000006000098020000 diff --git a/top_mags[1]) b/top_mags[1]) new file mode 100644 index 0000000..e69de29 diff --git a/top_mags[2]) b/top_mags[2]) new file mode 100644 index 0000000..e69de29