From 5f1a938d4f1cbc35ba5b3ebdbcb9d47405b19164 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 7 May 2026 19:54:16 +0300 Subject: [PATCH] Fix imu rotation definition The X axis should be pointing to the mounting holes, not pins side. --- docs/img/imu-axes.png | Bin 23381 -> 33429 bytes docs/usage.md | 10 +++++----- flix/imu.ino | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/img/imu-axes.png b/docs/img/imu-axes.png index 003f03a62a1d8e906e8fd5f00e0dcec509356413..276c75c1380b0ab1a6758aad35aa66522cd8c661 100644 GIT binary patch literal 33429 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 L^>bP0l+XkK(^LAY literal 23381 zcmV)qK$^daP)00D^z0{{R3OSCbk00004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px$fKW_SMgRZ*7#9|lD3Bo_9+fJQjwg@Dlu(u}lE9El zktdIaD2IwDjO@yJHIm2X#dQu24&O{tf+&M|@iW7aPJAeSzl}}z!xV#ZMv^)odTT*- zD0bk#a>*h*abi1-drD%(9jKy~mxNHBHjr7-5~-`MZ*OmFCTxa+dj$mrp^a5(XJbnt z6MJ}bDkmnai!Z&HE~1-~*|~2YX|axshg@1%R8mfAD;8v6TB}QmnU;(D`1h`uTy|e3 zphA{jCR$HMKiI5(V^uo8p<~IXYx3;vUB?$VH#C%YE!x-1gi(Fbm4JGGgwV2U#e0Rj zcwo3( zmfXXh>A51QSf)1|HR#IU!@#-Fqt1J7T)TR?m{2~LcVVC|Y*|a7o{e>1MkMBeg)VPnPlr<3$sgR@+4hDSeWa;o-z+`Cl`I#jQfKq~7))c^n> z07*naRCwC#o$F5;TNlO)Ofx}|w#KAUBG#$Y1Cazo!^L-w6p$!|pw(#7elW3U`Ouu! zcv5ZSAOG&PFEe{!P@pp&m{||?g4#BjA8V~=?Y(CE>=_D$LZMJ76bgkxp-?Ck3WY+U zP$(1%^&~3QE@jp5iuggfKqwS~H+UDg#0%mN=#oMR-50vd38e#pG^Tfd>5N1=2D-nr zPXhe|UIu?@HxQ^}a`&H~!{qL>OzvxVg}fQ)148|TB=1c+?<`4+s1tsuevw}-Nwt|K8vT5yM2OB%lqlLD(4-Q1oOG;J}(zQ=pGMrn^51j z2wl9#T-;zUhw`k88|dXwo=)x<>b?wg40S&S`rsvals8=*Qwgt%-vS*&-H(BeUe0GO z4!xW|lRGAOkE>+Q+-39)Vb#GT_%8iqNB`pC+g_x+_O?zYdN0v$trEGx(E>Ry{T z8&{hfQt0JIR9c+bk)JplcReh04D}K9ArPpG>ONUEu6Ercsf_msLw$5Bx6hjN2|teO zGlsTf+GT0IKJlk_Aav)nMqBm$$v?>fp*vVQX{(l)ywx~_?xGUVs;4LautkLKpkVp+ zYzj_QMd(h7c)0Ww9KwdsofI6+GzAB8A#_Kr96(PzL+F09a#L_-HbQq)AEx4Pe1z__ zlUqaR{?giXoU4k^oz(6$*f@mls4l1ESDzqsXTAGW{Ej1p?wn4hU3%)gzg98SKSLuRTUN9^o#CQ4WYZQ+xffO+yCkp zmUX(ist^UK6!N*McRL8(^;o-`2i@I2Ir&nj3zSs>U4bV=+IZLz`beQ}2*^L#UHmm3 z$hD4)h+Q6ly(TW$b%_RSGF()dN z1@j649_J$9E6r?_QZH+&fql3fkI+ZvF&gvRasCTZ%y~PeHX;mqb0@hPe+^oMck$Ka zPLqXt#0Yg#+=t5X2;B`YXXt*MO_9!pCRSclT_pDkFkdu8uqP{72EAd1`fxcOp*!8S z$(eneg5K#$2sHt{xw9Gv*vni5dwhpi^|CJg4OP(|?b;E#d!asVW|w6|`VNWnWm$`_ zEzmVN$3Ifq5xQG#+x-{@4%#$j0CdXyz42IH2I!Ft$%yM7K5|xj$0c5xQGmZuow!RO)m!7>2S9byaV%3?E_pY*oJ5!gG6D z>mjZ^p5qa^YhG^Hm6^`v8Z&T=yG^XOPosunQNFKAUjyZ~raq*g?d}^wce8D~eY~{S zF5eKH!w{UR*h8ly6ee{JJsLeNw=7M)J%5|wNrXP8YC~?bJ)GEUnfyiusAtYKC8&g1 zithujkZ5m|%fOqDP{dBlje>3mS?T+{Z)FytJLTo>Zf{2|?X|P*P$0d%o}tvw&0tr0 zV_tz3Svn-ws5XdN?SihEKVigpq0lBjMAfF#RLmvx%*-NmhuSs>>Dv7$?OW-RASVi? z^F^du1kNyPJESW>S0T%X=X!NIo)_E#~?ntN$&vtS*bo;iS zN>k+UR!pHmja36Hz86SV|EBcz=I5kEmnHcwoWblnqX@vggZJRZa zOZShj#q-P_5}^*~Om3~`);A6m66%1LgnL*utGn?E;Ei2hQ`ew992=di64CKVHarlOqZ(p)&cMq5L(tauw=vO_FNF6}k4s)=II=I4H8?_dnouqSgJ4w(^r9y`% z>6C?-l;))!q5qkevp44tmiGOPv<>nXFGBfL>L5t%ns|h1iI=h4qHi0_D=;}3Cl45( z+yU&-p4l2G?Fjvkyxi?bi}UabsqI^O5gy zg*m!7o1}Xkr(<+{c(QGor$Xp%WdZy4ZJ)UGT;9MQGMO{z&%;5sBCA1lfS z=Kx*LK-+$<(v{gTyq7Dzs@OxX!0e=TjBZtiu8Fm~Z=0K&2;H?DZ!PUdD{tSvJvv$` z670o9njtr+hqgW~EzCX-D@(^)Ikq6Lt87IkC};SvJ@im&^Hmf+okQi$_FP4?M&{mEv$g8xdE3%ifV%Hl$9O%X>t0cn{=%k>pR(Y65PTSUcAVL3j^`9PW zTI<|=|M}B{zttD!TxWhz=6i1~`oW+Fj^8a1<_pKYi?gA6D!0Com}Tcl2`|T%<->Am z*QLRlY!hy0ri*bLdM|Se^l=U0E|5D^~G4Ih< zB9)pA@&vD#>ol~;n+=@aE*o=mRz;#><=q^$ut0z8b{ID@-_7^$FAe?l9C9|=Ojp^y z(pcZKQvXmoj~!RgOh%RPGy>?Srmp-P%*8 z^Osh2JjNUjdZg_Zv|VcWH>JL3fxh>9X=YZ>CF*i+4;jlg^?W{0`ZzW=5f1VNdGRr9 z&Q~d#-fEo2j46sJ9i(g6P0K1Wbhf^yxnJ6AH~qXp-#yl&U-9Ey=>z`I9B)$J`?yD* zt^7VO!h(Fde-DO0-^%A-G3exFqpAF#qAvnzBSvN4h9SB#ouJ5;=^&kEJ7j5v&d(sc zD!G`>Z@#}ABu}|GexDLY9^?mne*IwvJNdW=DgS7NF37L%hWggy|02*+3$P#$OwUEv zE?!59V$^p2;)3}}CQY-Ov4JB98@WTF%@5)%I#s{uxKZBh!`qanTwF)oz`)ke)i4c4 z^7&Vu;{|eJ?)b{Axgc*Y+0^r?PYX1^tLJoR_CgacAhy>|t2_KJ>;rij1j9r@x?3kh z*Vr5#6oBI4;T-*Qcz6~o8zn$@)X|+h%A2}45B2Eupddv|LI5VZZvtq72ftbSwkI|3 zeD|%GPg|M)RnLD~dNunz9Deu3Sed2&3Vp{5JKK~|MZg` zgihu72h+J%1HEJ%Cn0u7sP#6=F_d-#Id9(S?pvlvf?ZyZ4;(MSg8XyZ!>3b46FUoc z`f}oVo-sMuu-nbdx|7a5>f)eH`#*VCqSIEAMJJE4tY@c*7$LC+ zlNXGIF_OEDv7N}65I~raF=PP=rH2s%%@&dh5J2bXnSSxopD-bEIvI8Gfc* zQiMDPJN59?$UE`kN#^HKNB8u_#yg2Oyl<4&X&+9@=tTVo#Mkn`HFJTTky6n4+ckl51 z#Ui7wxmrj3NNL}{MzG%v(tRmp6ciLPQxmUpb2EyNU;bic_TeZ(K9?(GT{!E4c?0`H z)x*(tdno4XzIO7_*x2`XxFqb~rxw|xs@jQ(#m~s`7k8?Q+uw^kE$mvc?y5=Kfx*i0 znb}wJjafR`%Jo2I?@RZ^6Y>c_of|ru+|5vr2z0We8yNadaW0>;zKrf=@|qrmu}#f+ zhk{81`abYzF$(nS-yC3~{^sNVM;8|^=JrWrKCyxo-9^-SdW=6zJ+4e{q+(I5uaG z!<-;@5f%p?5_Xm1O=cEi{gtBXJ{Yy;ml5`14~Z49Asrzm37MTt_#fUvPH-*BQskZFXd_9&IEm1hugBhq)8N2|OJCe~h7X$~a5hWFrvR@Z1ZI`ANbNdFzX z_Zt84LR_l4$<*G#upS8XCHXVXP{KcuKW^!^6mu^&xkJyc-i6Uxeg#6C#!K$(TxwZCI{Y4z(;88twe`LM1LDbB~#`gXD;VC`v@4xQl zo}JKgp)L-PE^GYDUA}?ZHq3FuQxJthK~6?#_Fd;8XyAs5%7?}6WH!a9v{p%k> z|5Y@&tM7ungkbUH{lG5UhKzL7(Os3T#I;I$XH$Ck*GMP$iXZdcNwe46g*m)tiXU|l z4ISI`f&L7ZW@ary{#!1W^+E4>-JDnruY)7cRRaO_%nZ^Qu+h@HcR@y2j_|ycUWl%}58x>#=Th#>C$dGrJ$1**|tdxmbZY z{_HS?LP5^i9iHl-g4(S^Nlqx-6*HT$m|3~LsH0Dl{Y8K`9OefH6XWCSf37d?Ce?R9 zh95N>zN|vPteEtw@3lnkxA(?eCx|xol#q@Vs4G266<3$`C()Vx;yl#Q$B^zzG@KrE zD;d)^%t_6HVa@|NS9Cw%mGBK@5lJ@z3!o>>Y!o4%Do#vT5G4LiYw-3YIyRo9qA4UerBmlAs1K0Ip#}2!v>^PI%_mI{!tiSnTg;=1etgL;!A|08H)rK^1=Yq-&!dJl5nN zi8HQmRu+VdU_wY9guPpurwxs7R~GZom&TLst17)Wy0>SK-9KgE^^Tey=-kGsFgIZb z!nNcjH0lXi+LvuYK9d2>?6wMa1v?h=8epEw<|`EdJ(W)HYSAn<@fhyOxJYNU4asYi zj&2bx2&bMtH9QElc(QKh`2BXpJkajNPks$-VXI)}S+Iv8BXXEivAu0dC@ zC(@S|A+OA-{tkTn_BcfQxB>a>?5u=*a&ms=Ucj=3j=ja!bVj|(c65tR0r3IfgOJ_m zjNMm(<6Ec2ypsjJ`wOCIZb30O84SU#yUP@uk=oTtddGtiOLk%Te4l|h=XeY9O?D;Q zhI3Fg%IrSm|Mo?*#=!_aKp6wN%2M?OLpy1D5RQ#aJ&(M~_m3ynDCX^7-xZ1W5>YhW z!ny8su(9H!uFjFF5j_y<$@*^XB!v3h+*~CK6`9+2;A-$ghW+v8rUkn!?H1&-JCml2 zvS%e*M9Uh|Od6<1rFT)?GPRRvK`7q<_DA|wS1Z+>j()yIG4CX~uM+rOk>F)9?=-XX zknZwv7AvDcNnKC5P?9wx zmvo#!RgXyTes&LCk4*>ITdpSdDu>Trjg4P3Q5Np*drpH=C~?b zNvo@T&6|854)EQ72I!}ww0^vpGX>i)V!qVX#XJN%PwB|ZI9$_J!uE0?g~6%(>{vrS zEis>aR`EecLSD^pY4z0n#K#;h*eSDDcIM}!?ZjuZ`E1ffGTsmNfD;A&d-cGkWOSAV z;lO%OFsmWAg8ky=x;NNFUp1=x|2DyQuz@N9j_mB?OPW_B(!D~iq+u@t>~nJj`g9r6 zv;sZp6Y>edJ)O#Dv;!Tl$B&mURWaY0Ux{$60SnS{UV&~Na+S|v?j4?5$jpETA-WHK zAkc>vdu{Ec3Aq9L`CU0{zQ5PWZkjOWbn4wn_G*>%L^_-GVJ{ZXzB1(U@eG1?IGu1$ z--emlM7nSIQi1MAJ8rtlo_)Ak$~JnU1o96W3UrswM9>+i5a_tPH55-O55f-`_Mu1X zfooky!|U_Si+LAvuE~xe7Zwdmk*;+T*p4@|Sq(e%VTTmuu*wqj*_~7$%y1rgfxC&}Y9|%q$V|yF9w3Q>nf~^N_0|XqB4* zpkB?Ohb(?I$8_1DrSg?L;a-r?=PQi30{!b?Bq5(mW2j@e_g|WjFDnTp8WqWvU9lj4 z@Swb-?8No!UQs%3?U33DydfPK0@mTqxouLsT7))q$K zRDgD0HM1bNauM!2zw;%Tj@i5e=xPz}m5NU8(;uSv_~RVtA}r8ltPfW*#&+wn;aF2E z6%2(u9CGhVfi;z5#5#{`8^3`t@_ixzx&%=Df-k_@T38?p!WhUuziqYj&o2IA55oVV z8VWRHXvX8;Up`{qXR6k(aG9;|{qY~_&c`RsB#q!B0t*6$;G`pLu&Gm1;d7gRZ*E{pNm)mUBK}FNnwto0N&&)I5c_u3Q z|L8M0w(cV62%f#~2;@6gYp#O)hclJ~*i0;@b5Hqx=0k`udEPZyWj)bP7Gy?qHH zPblgMF?&Z_8ldzh)+sJW_Z zYh}|_nA8q6Gts<=g)9oTL~xHQscTA4X0U2nm*DH9a=c7iugr?-EXIUn%p5SK^KTZd zmNl+v5jASC4;yAkENXExAG9L&;IWY^PrbZK?t`|-yel1|5djK&W`|+!6KALDv zHA&$WQ{zQ^mD8})K4=N02eGq>cOKP_$l<~spRe2*_Ki(+KWSyUMjiUSCqt3L2R+7P zl@2##t~zlS@Ry>cGDq(uN1iQ^cd}UN+qZV#?^QdL***L6 zQZxg%t#FR=Hkb?UZ4u|vv%QwM8`ly$#CR6d0lDudQ>p!Conv2xPLRAzC%8jESjo7h zF2AKX^2o=*i>G9)=|nB;Y%GXh(8dxqlEU#oTc~m)Da;JQn&NIB=jTDP_ zu5@s+yP<0|so^MR&Iawd|9)BuSg+X&#BYW`-vV7ElXk7FU9~K4i1-PpnsJH3vKO1^9`ucvwc)Opg z^aqm85j1fZ#5r)pT__fG%`57&X-ey2S3O~27aJ%XI*d9#OXjek3osAI?r;BcaA0G< zPMLpmGE+X%q0hm|h*fUofipHs`yt3-71x^33CDIer{x}44 z-Ix=(|F=KYUz^QsYs^?3?rCdTT*t16>qDIV;-`Qxt(PQpFBCeP%r^yc{=WU~w~=t< zA=vRIfFO0SRxK``8NU$egLKDN2c5xJiN2Sw_SsEf-V z<}B<_pDr$5@0(ip->)Al=-*VKAP63MKt2tN>|~Dbaq6?_VY`6#ct$*1*-g{6&XZBd zk$um*C#l_`b6w~aErT1moJJNO@Jyd(i8>4LGOLR=j$zcHT65%pE@Yk}3$(erYEt)n zbp%pD;diHD2=9`hur_evV`5a=NFGEm=U5B#vLA%}@x5O@%J>2$fF z8K5I3blP`6(^ET|C=~R1ePxNM{OlZ-zUBg zN2OM`l@)d_VksT52cUE84EhY4NwB5jIhXm=itL_2UG*R&8-c(+>5V$(%?5hgdHUkc zH(gzxcA3(zD*p>|edNR^XN6)Ax+QdN-3Do0Vu#T!3z=&}F7krV_o-;F``%@0S4v;h zQ@b=q3h0gcuTw7bsfAn|#8l)<!0TU`p%SO&X`a2WG?;kQNvvW?#W({j5G6-+F&&9=$O@~%5)`ut#p?$e#>=| zp+viDwJR%g7vz&$=c+iBJ!>naC+x_sLr)3&6NnuS9P2VqmJi=_Gf5Y9`GPrWuB-~| zqDMG-XE=48xs36;1-knt(s(>Y;=y#DP?ib}Jr$SXCf_lRRtq}L8=Z{!3!^n240;n7 zV4~xZAo}NShxu!u^S0>e+65zi=9;Hz{59k`qb7OQrm#1TdLgBhgzb6*wF{Z!Bg241 zs&BeJXYO3QrJ#5VXD2YmuY4z6?`(p0aG%-#~-*-Wk?kmppgw#6L??UFjwB;l>) z#XF^2gf16kNZrq{!6tBg_+^G1M)feC3{!dvHqBu64g0cet-Tb{UGEEvLF7EO>*4(w zArHv>(o<#|0hR8Lw8~AqW1VqQW;~duoUdC)=Xno8oYCD)Wp>Ni?|MXs_1aq0Mj?mM z&*{{uW5?MpXWr{{PO$^%ALv{jTH?f0i2Se`5kp}QqEGs`#;-$+hqbmk>wtFH{LP|c z+$iYBM^lpc)J*0Hy|1a4;8zZbHVdZVlRUP1#>c}^(mSjjic9lz6IhwOix|H(`pE&E zH{qC_9To!O74UO8eY&30)A<6GqjN=C%M4Csi*e?UV3+|_kcTTZWm2JV2 zR$Ib8BIaP7qRB{QCuWhb&%gMy8!;24aI>WDT zR(&S{I~AwFUZQS{`?3Xjg#O45@qDRH)OkxSP;=pm(cTKaF1McV?LE23DxvS}u;4!5 z|3RKrxwzuYH#byoZ>e&6lOi|gZ#H;{@q9gJQ18kR--y6X02#|_W2W|NWd1S$eG19k zrDU(OhRmV-6FJP>4!t$u6SyH`Zf-vEeJE^ipx5ZWXlm!s9oWYcJ+1RbYHNG9{L8j} ze0w37Lqf0p(>RNGz8P%%s?XVt$e!<3ov_uXEXK>!FN$^`_Bt7FL^3zqjT))_g-|+( zU4#Dk5`T9hxN*xOJKAcf;#ckZx0pGiW4=Zk_K~@^AyGsd9qz^%(4${+ubo5xyB*_Y zfKM~6?=a?9Z~ySMxV86$y9#oyqC1RnO&)WL}Mgj_RSrE~pFa+*JKv z-p>9fjckqML9i&8nu%jyFcRgipvY7w!h)DGRGPUv1a-4$6G*N?%x2OWn*Cw#PaCuU z`aREc-e=Ard!s#?*0$DKKJ&bu=X_6m>|zyJGM!l%on)5&>tDYr&<~wX-as;Yhuyx@ zn!Nwh>EsdzJC?3krFOnsjP5?drQJw90{sVub_RWgaKCJobn0KYhcABGp8c}eH+21b zxV^nQ=zTDqGe_Z9TkpZ;^=NJt?&GXY*6wr)xfu2W!H!2Ka>mJ7Avj8y|BFC}rCIvV z4q0UbbllK6Rd?~=T!fu?{(?Yvp*rvFVv?(Lw~7bUy}w@5p@XFAkJ@zQ&|yVsn&&~(k<8SXw!mpq}V6z?4c)||Gx`>&J&~EG0X*&;xsuNgHuib=pJhgO! z{68Y5zjJWi+jxh}s_MG~==#*7f@SGpf%~h-zf|hdZp`3J6gG@{@r-w9uClQsvOmhl zE6@pc-Ny^+Ym@6mznS)}+e0bH_&M{#PjG&1ET>?!gdGgkP^LL^J|G!g6g&AUxm=O~ zqH`&9eE$zhovgpcuwbv{-J!!)hn|pQj|tX$WAeP3)F>V78>kz;wCj+)a9!GmJJV;R z>AWmn2vdp@$DN!X;p5vH^p%xM4f~b2kaq2MA?)qjNtdgDsiG28_!X1^8#W(@VBHus zXOD7qlKng{->jUaQWx9q2`g9j$#MvGIOO=-pT7Sy59V}vb-!%b#UtPN`nrL7O7;zw zS07rd?BCCq`n>fD%EAKr?zzhbE^ta%ht4hr{Q*8c0zKm6Wnd@kDeUd*$(OBx)P0rM zDf2@Q2HVHHr4~azFL6us@k6mW^EC3+TzTlT1zYWZ;75n=STG0VwVjIK(KfALLM19ZK7E4BK(WT$@q_WH9%zTLjQy`At2t$H;@TmX$-FsIPRjE?NSS(e^& zb^e*PJECf5Mf-AI@oa*vkyLiMW$?yhgotiVc{O z-Z3N@ri89y_p5j*Sfw&s;mFCFZalF6SnIMUsl&?y;N5<|m0gOhsMO7iZo2m4(2=|9 z<1?j?boi4_QN31#Gq==5+*p5xYQF?KJ0cW*KNNDmRQMGdC(_KH2$5j?`F_3OJ06v*4f0wifl4Se_9b=1?$j%k`Rs26Iby$jU{Nc7b9qj| zv(@Wgl`_h1oERC+==XxY=scCl(s}tNvBTw~FzfZ@%WJ6|DD}k{aZnG;27A?zVaHQp z)$j5oqR*i#`CDOlpXk3G(?^ce3>(c_Gh*$mYNsB4IX)(z4?Kmi#+-PLW~~Ze&uLbG zVvy5z_-V7Rv%W9adWz(H__>vDXQK#n@bQ-qI157FORbxmi%Y7hdedr^R+r_>1>3d7 zyL`FqD!a)SQo0u#l}?1d67S4@L=i=8vY(C#P)WrWT%DM&?p60fpk4!^$7=KYq2}Jl z1r@qw-aws`!#mA}7uFlikYFOe@<{3LE1lWAi0j&zMLrkQfv$NqYRAVF_$uThg7GBa z=cjoTvY^*DOsmxEIHXgl9E{$W)^v1}!)lVw0m&hNXp?s-)4J&QxGvWgx_=aD!dLu- zs`g~)E1Mg7)lO%3K@6BYm;H-=pP=qDP2lVj+c0Ii-XVJVYAB(n0s5HDJj!5h3fYN4 z9X|HK(1|AwD>L7pO~~45%1u`#ofGaI$lcX^^0#By;dkh1)zhZq+z-cq^7JknuP?yX z?^6PLs!@gK`oLi2e7$-QqhA!e;b6{E>8kH4DIT&1@yXVlJ6&HYrW?vPaiu&vuu)?7 z$uFt>N(LRchvbd?Tvsim==~7XMC04%WW;0DnJORe5d_jAYsnNkP$n5-kyI;)G z$=Z%J1&qFpl;=9kW&*62Hi$uAEJ+6_qUIpWKPz`1O3bL zS(MaE7XrDEco7PWiUwik*?oL>^K3qJtyzoQpu`G9rLnrf~E{9ImHy z>Q8rMW+aX`WxeL4ec$uhCtpr$o(R3M9CR)&FHqy)LcMRqDrm3 z2_nzmhvJ-hKCiu!Lvap8U^kj~7!n^YdNGb6>dS6;*@{~_4eK`DtxutkcRa}1K}V|5 zDR;&-diwD$&l+hl=FGVx^M_4=dFoDywY$@K$Va2m1BEV(9WA}o<+GE!MeRV?+v4uo zAZF@NG(DdN;pg5$roIv%p48;pCZW%BI~MeK!M7&e<; zQrzcePTq*6tEMieT7Y^PsHgCaJVmUD8bHpDM<1d8s`8F9N8|*3-{OBtPW7<5hvr!vi=?4mP%Ka^s>xn^sP7T8LWMgx&z`ltsy3Bl2r+UA{$M03g zn(Cjlbd2db^jK&IOaC+rn=>%?M$>D|nsb;lOBc{{ygMVC@ThQ79^SKTj_2%9M_Z(j zhy2a5bmmIh4#@3qrk?ARP#?J6X@Z#_0d$z$vvmhw>buOnNAB$2e*c!o^tc>d=J~4j z+Xan1Hc!RDFNt%U3U-v_C3cxh7yY;+n(pdgTBIhJr>hd;Cy2o z`YR6Gp#kQV05KEn0ZrNC%sKV)IH58pKECUc_o)FnFhBZG&`g~@kXLMveQALVF~KSFGK5U`=^J3G{uPxhb@hG_Eo8l0Eyn z0Is@sakz0gqDe)u4?E>DY_5<5?)bFCM|reqgOJ7e zg@{3(VGpn2o!C>h)+zLL8+(jmpLX!(AfC3B9**vEz5w4G%AzqSTeFj%38D0ik<*|>o*~B{oLk?G_9+`%}+H? z9MIWwa_W&@_=NpI<2>t`VgK`BekHQnn-1s+hY4)RV?;oYA@KEddfJNakt!jgluFZw`Ui9Yg49p9p67^Vf!*N@^ce7LWf2ILEY3k!+v`F(WDN;OT9VW z6V0Q%7L;})oK-*7hc8jfH<{WKk4c@H%joXsOtv`S)?e#3`Ixh64_9e4w(}FaHb2&( z>o|XcX|y4~1t8CX$?!e{838+IzUg{;#hj*|$*K-2d<)4YcAltARL#rcDV$J|PCv__x4yDh-DEc|! zVM4Dz@Cnafzpi2@^})fX(z{l@w-9Nwrs<|WH_1qf{RvwaTNf?v6F9iu zsaIr>e;m8PS-;Y;ZfWOQpWl++B!Aicf|Vg{W#5<(ox4HIcgSU2LJlSf2gy zi^X=Kyc2V-<{a23sGKnmYW*S};OavSKfHvSZd)niyAXOGPGo{o=e~+bdWzV|`b|n4 zU`v@JbT0L*y$SDApA6Hhh#C*S(BrH_*c1PUs$F1rM0n>X>$TKHwi*AUq4QKK3UuFC#{qO03kcZXOXOVb<~sgTBPZe9 zATFR6b*)aIW9$pJ!%HjL<^jJ_v`xq3@#aZEU2V+H>ZF~OZwo6=Xsmf8zNapv%-?Cl zf*-ggS}c@16O^7-7Y5Uo#(B|JR@vNy?nl+Rp>)MOH-foC} zGUw2_(yax&pM+IyJ{1}#iI12IwYsV;2+066W9nc2YIe<3k;}IgBegph@ZR2*j_msR zfnpzxu4A1p->z|0?XmDq42$fY_@LjHkv&7rNK~?n3_WQGJvT!0$wq0+YcGTQ<)xL( zrxD-p?T<|4q<5+%R<)j!dQ*%H*~WfZ?MMf1blXejDBsrKvum9E@@@HPTXf`n-TGv` zptgr@G`8EAi1C9`sqQM>M3hhKEjZ4+QVL3KTpfj({{y8P(6s|)1DD~y$oYv#?NgBV zOy;Ewe|V0iWMz*(CktcscSOofNxsQ_jOXLm}jt z+A+wp%pP~G=VGC_js;z}R_i14jDvYH`9$dc1n6(7RZ(|aF!W>xhUmQ4lfVvLu zIihsG1=rz`Ig5R_i{ZLWtm1H#uQ^izdneH@KzX-c&Gte>)W(_>#I8$q`*X#MB(Gc! zb9em=kMZ4Dyc=^B?Z&}MI#%h%b}~UVQ+>&NAAC@81F=` zCB83T`}=(HE`%H5s%jNon1w7xSgKS=|l?~(>(>;>x%Xn97{25*)Qtn_+ zHsr`c4!(ha{k6tQ7j$~ZHB7t*L7iZ~FRINMwUXVL?{Zr&y> z)^TDX2NR+G{@3gu(NDDyt$ed8^`uhzc-N#ZkfXnHhJV(DMm$}KQ?bYRDH?xuE3t05 zZ>Zd2u66ER4cFB3y_K4B@M7k4P5pIGA!p2gnaGvM4dV9GCd{SMM|`~0&ya;Kjq%=z z*n8Xl!yKUS_DDDYEuAWV&u`CSTJhiG<%p>r$~S|0l7@GJT{^*Yf119&Be+9GE~)s= z%e0_A;2Ry8iOfaEyVqJXAHc5PlVcZ_wz_lb?L)?qEX)n;;y8s6Hxw>(&i*IGP|cQW zz{Hsc#{%aEnHK%^K$$Zfs*ayknepqRwIZr%q5e=|-Te01%zP)=-)LwN( z_K?W$*$aOS2JN=B^^Qu1t)B+_6hcd!w?FmzBXN2l$2;O!b9|1J&DWBg@!9-5|6I^v zMfarCZgs|%iPGV@lY6pY1W_&*`s5yXzuZa3;&g)sw&7#(M$k6{JCQj}=)UJbj;Y<7 z06l3z=k1flVy`#8y94Z-rr5>5JDK0#3+e-4-X>e`QtBgcra#=+wb!+n?zUP9iM@HS zs(U5z=L;qCucAjff3`9|fBbCFVMBg7YGz+KYsxWv{4*^FWuo-m-EnP8AO}yPf`HCT zCUExYmg*Hkz1t{Vw?{d;|7Hhvb*sfl<{|8c8@N3pj7lA--}c^&0lOjgUxc|yoWZ^a z=J*qlhf+FxXQ3k8fqCKP3P;91HSH#q|72oc5|(~TUr$bj&EMzw`T3*gQ#u~H9!0L& zS&S!I_wgPP0q`0R<%J$_--iJHdtqGa)B9skwgPozFkIz6eH%m6?Bv3=*cXf=vQ&MVEWKWE$D)q=5pDLeY2EgbI}wBk=-qHiT%oR5O-yDxQ)Jl*f6k@6I7{lqVf&A1z$nr1BpDR zkc*_A9VzHa?6(>@3x0W0XXH;$4i2Q;U#xyTP{TX(XUm-V(aG~dkKQx8!ppZg*>BFO zQyV&79fjClDwX=yr6RyShzsb~?YNkowej_ftq~qRIGPIP-6-WDr^@qd80};C>UNvP-2LV(DDzb-^ zo@Gk!)HQTQy)1X=pppqehZA;B^uZ^jt6NhepFe(n=$P73$jgzg!w|6-!77$2T?t)6 zr}vA*g~I{Q<)MLW25}I&DAO45TCHYaC(!XL(VCjniPVcs>2;>{!*FV^s$`DKwu;rn zcWvpMC_Tq=dZ*Lf*oaB$B{2#dWgZyN=g3q~+4K&`m*>fI{2QRF4f#mNFrS+VeTBIV zUf>eC5IR~Ia8FhXJj$K7xlTqdLc1!{hPA)gQyZ$(exnmQ#(-MwB9%-!?^seR0s*}a z*dKNt8m|dh*SG0RYP zQV)k6z`k>M_#jgI%btQx*6hw{9|KO^tkMBG?CW=dw&30<;VAGxK6$I5BB45D9ms!6 zPPbxw1nLVEd$x#LA2Xd}bVr?!3u=I#Z{L5@hbT(c=0CvCmX78?6`0>ZM1Obl?neIx z%A9>8`l$)=-OxJj#da8Vj=jOLzv)@&{N6RyM=a>tMCe&=Ng=6s7;&lf22d|6=7DDm zeU8s<2k6ZZ^52uwpW06aTXbh~(CQ*$-yN4RyhC&!mkOg?#_}*o`pM9j;D6+u-)|a8 z62~zECNPo_0!w#9E9FoI9Cj>u1+4At8iR2W{N>9Rik0`iFyujCgYKJCE+i5; zV$?_E;~}=QR9?G~x&HlUZ!7y?LZUsaHfrL#i311leT1G+KS{O5V%HplesodaPM^t- zgYNwLhHD-_@VgrH@k0h3^}$1skqw&Wrp)DpQ$KuvimBTdf}1MMg`K0B!}Xu-Tgjl# z9WgRTbML?D-?CKx%})yQ>u7&#`Pm<~HQ!Dn&?q(gv$XXAn7RVJq^)#L#vky`HGO_m zOi%i$cGsxd73_1oq6irWgi2+q0|KwUCYyl7wBF`k=4+_b{<^k-TFbXXfk=5YzRWS*QDW=HnCW zF{eJ~B2<~epoJ+{gbUn6I>Qad5a&WiExK zxr=Ae54nGbH;PWl9CKpKvyuPMm@a!}*XgG!lr`*eoI`g(3KI71-%^s86PAAqHqG_Tr z!?Qm?Outvvo>#Ef?8ujPGL{weVuxp?-|sW*Qw#PlI`X@KzAUyb==3$oJMQ6!6xGSx zMEM7PYN7SHngocE!@eSTh3} zc3F!20b=^Pldc-}dmr5)*W&oF59f|TdqUj|<{UXY{b)FBR*IR=tm-|DsMiU-NZhxy zt&H9Z4-Zv)TlT%nhEBph7nY79mcDign{Q)5eljx7Cpbj_((_l#wnp54WJijQwA&?~j%Wr-#xNq64x?X8Oy z$R8-Cuh}z;iTqLFyHNN2X1lrQF^XvE=;8(Tmnk!!3giR!zkgLdXfyU}z^+5Luinjw z@30&;-O~w~JWNNEnX7gV!Mwh`lKR=#+{2xBYlU{pB>U>qYH9AhHXKF60JwG$dtYKV z61W8Uv^$7q?TS@<$`;y{UU*995c~D4y60_~%Q(GNWxJ^zT0;wj`o|0Wu?YgyB7OCmd# zZ;bhDHoKh-XVoYOqvghK`!4WiO?5=WuPFMoDKp=7AYR`-oxIIG=vgnc^SL+WV;T6u z$$~cyDqD|-j0Cgo5V2EW=LsD#p6Z_c@aBe@`HHbt6T5O3pPUG`d-c6Ec5hkjMpty& zI6d$0(`6Lgk+UCPa}Ryi8;2?=w(Ps85GP{=9D^^8X@o*j{IU%t*g{BfRi z-4)|7Y3?@9u4q|&D<>serP3ZogDzq3QXYSJ$8k&M%-08lo13Uzb5bBGTN1jOXqW`_ zF>iM1B|g5I8OhT(v+atZPOl*^9DUezL%v;~e0>be*AglM4MM49P{<7Kr9U*4A{_Ti zuFz`Dc67rMxG)gdyWOtDo&<9i%`2{h>t#zHRnkZWtNVaDs0#P@mgMnX#xJfK8MD<8 z&9O|YJ6ZYm<=fn2IqMHNYuY7-ltoc`_7}<2-(TNUCHMC12C+{Q?5SWL4I92Q^F)qD zGj_Sv1-5B}et0MBSNGD`z2(lnszNuIw_I{|{uPt2xkq%?>6sO32AYDnN1>pO>^vkydOa@FBXgU zzVJ1%H(^~kJc{Ye$=E#`X>UtgLDKb8-W|>SgImrH-x%Y^hMau->9aM)VGK)GO+AKj z7)7?>AF7X+3zTa^h8^eVdZ!qWS(CU41+yZQA; zm9u9&y6(Dl$dj6ZV(aqxyd3aia}|d3lMIr)~*Sg7q49 zD&Hz|*eePLpzl@PjJ>K_IKZK6 zEAs}!9^qXLLk`#MWxJJUGq*W}8u~tH4fSF&^OBoq=au>E+=d*Io^)-jF-*OvL;qEs=O!(SSlh#e z*jd8f9yWbD@ML|0Wye^?v!B*38?*mtfY=9DRmnPqy;@D_8S@jtNaSGuQ z_Dq?ABI*Wop=1FQ?s0Lcl`F{eg}l|S3){n_+yFF1s6QSJ; z;He!|@&@)ss{OWm&R(BfZangP^vnulPZVna`jkeU!Onv;bR$(K-qNJyX~DA7^Ru(@ z`19v6owKv^kBoj{S*I>_Y4LUKVrGH1N-`fG1(ryz`uIGbOQY{PCQDKQh{Nm-I<<$wL;}N7P@@>vXp;o!6sz8Vhk6DNlPysohQ4g0rv!!nEs|7 zSZXTK6ZWH0R#I2An0t)(MeJ`kqOv_1Xu>kBzP!JAlkZ#|8*A1H?NWMDO4hJwPRPr7 z-NY%Hivq1AZ`@AK$HK^IZLI?P)o-s}!B2wyXId-|5S`vRHme=YB z;Nv!1O6)$LoBg`^jG0HjLTd}8rSFMgUaw2$nbgU(KW*em)&9(V(v`3?Yp)2|24xB^ zxnIvKCXU#T&cp`#U)~Gi+W8lJz)$$^ufXO7_MM%xqf+WQ#ySqO;LkvvaPDzSXTkhJ z%XBWY|bTr0=H)Q3~oh!hNgZ9p>orm_F zaboNRk;|vrsVe^B__&AIJ0UCIVBMH^)s*>LU7XB0rT+`$xkO&rc{_|g|6)9%72Gl4~Cf>{zaez+sBa9j4pv;@3y9@>vS$Nzr&eh9KWpyO$B(=+_oSHHJ)In1H`J@_wMXvKo@fn> zDs)kj`|u6iHRd+tllqAA345*v`Guff_{~-eo%*Mnf4+0*U)f{{*gz#h%&p;Fi23rv zxtZ&Nyc|^2NY#I@6LmQILXe+l>IfGpb`J`b}iJfw%N0!qpQ1x|N{YLAGzu2Lg z-*4!GQKFVO7IxG2VHI#bBUzM@Zx{yo;x43CwfK zyqU6b$|HJG`GntUcW2;dS2>)IR`_jgl!~|idE>L|l*DElX_`#s*t12s{BXY3vu9T6 zeW`=GBIW!=Qt;reGM`M1$WD1P?2P(I^La}BmLGeW&0G5@_03%-<`TK5=y^nQc@flM znf>y^S)22fu5esC_jO;5>*6>o;p{@uD?y*lS~Psru!#bG3bJnIa<;Za=z*6dO1wM=2PjZo3BuZXKPUOoHK7F9>=4YKCpX%9(-N6`f%m%@0Zuc zNf>@!Q4fTwQ-9BQh`iUPD|7b5%--q%&%b1JUp&uLO zoeyUx7U-3j2Ry*TGW>xJ3OXuj-z0iCud(xENx7sCFP<554K;W;zcsN7@RP^MbaBBB zH7+}$H>du|z|O^-WpTWACn)AWxkRUX_n=1Z`}2~WGf$xd@)$h3L3&KTs@oWTtYTk$ zX3#@+ba~rVGM1@-rkF<@Ji*9r$L@SNOmLSbwX>^ku0nsR99D#K2Gq2%Ku&K)pntsL z%)`RBQD+ikKQ>K9_DB$q5c%GfS+|SdQr}#Y5#gO_dKi9wVqzX!So4SRSTI+yLpJ}o z;LL|>-$tDsh-n=Mrq*dPxaWv`ue7_4p7iVVO@Ur;=)>9QQ9@QcnZuU%@px?Y_FMWE zm8Q>4==^2t)Mg&nBcizZ0>ylvw7Yj$Y!ZQ8vo(+JVLsxFnP%5s4c~^RL#PMjkMR^f zIjh9CS?i!j>fk{w<<;HkcSF63vNV*8^Sf)8UdygR& z(WXfq^7rublw$l*-E_KQIvE`^{bY>>qZ~drMPhn+l6D@OMu?*37}@*9c<1Ixo3pRO zn)(j~d;IwPaDBg2o$qpafBnTIFPUeFvzXV=WzN3C$liBBei8IIIlw@(QmF&;(ep#= zmgW+`^AATXnd`xw9%z2I@0v8}=ozlLzNCC}PUspjUgUD&#gzJa#j=Aqc>MLZn8k!2 z;|2WkurS5^&S9kFOZxU7ej6F+LR$K3q(`I1^YtJWX%m_sVtB7dhd~an1F;mgo#=PbBqW*h5^G zyP?o?twK*WcTRIXDRnH|4jCw9Bpd4Lyf*K`uPq!`7JBux;+X zM5kh>SFK8j`>|i%*T~Ca-doI%e(K-RF42i?7=b;L9J}4UB3>gO7OI>(xjFQ}oqeC{ zt73PT_CSmA>8cDB?iKh;OSPu>cx9{Jk)2?l>sw-X^L7n;kqtx5ww2v8qtEo8g~RMc zUQQ7C8)bClWef82^~&VlV&!VBR{+jlPI46Ux2f8<3+J^Oy?m=Oc`eMd#z~X-kj;_P zB75YTvtwoccGNF>Rqgr`>U>?SveNGH!z?Rk@}_=Jk_~ar*)g)e$6}3BXU)dk3r`q% zIvSP^ohr*A8xULJPUnfyfYT$g<3%g)72{ooiR)Fnf}Re6Uaza~bUvRaNuO@0M*c=T z+(13Js@>k=rnW^`J{B9-laBE^r2{PAB2(HO%x%pT#r*waeD3b-o1_==9%7DbuJ11G z!3*>FPD?k$b;%VY`>{)VpE3=^9J`@@g|qj$9L6QaCw+F)up8=EVZV01(lywNJ#j75 z&U6Ia0b%bq#G+HoJ?F|CH&B215?%1~(w?Nwtua`p9fq{?#u{gDPb`5w!q%9Rt=eg? z>fHv;;A8hmnmVqA@$F)cM!n;?G>?AJ4`90=u2P^H}RXZILK`%!Lyy{EB z?;=mY&vBXkkg@OCbTvHPNzO5{AG}?69Q?*So!>m+?j7LCxg48z0#$q0?i+V>!jSLr zbh*rqIs0))d)w|C&EBbdGvwgzc19~j6D{8~X@@dBut>OCnd9H>*vmJyv8Hl$SceN}XeTCef_<(h zBki@b6ECoOx`dCB{dA;V?6tE>osm~_I*A-xn@>*KIdrM&um~SW_9*73ChfGbCZLiI zvK~lJhs{>pKs`b1*Evt+JmLxL0zARW{Dd<)A~Sd(4qX*E8|rkaFSofT`k?Coj}t^r zp8GEM;1n(T;CVT&vY$s%x83c^tju=1-FAt@&x}6)3DD5c(9qD((9qD((9qD((9qD( w(9qD((9qD((9qD((9qD((9qD(&<@f52R-it&|E(^b07*qoM6N<$f}+4~;s5{u diff --git a/docs/usage.md b/docs/usage.md index 723f8dc..48f73c5 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -114,7 +114,7 @@ You can also work with parameters using `p` command in the console. Parameter na The IMU orientation (relative to the drone's axes) is defined using the parameters: `IMU_ROT_ROLL`, `IMU_ROT_PITCH`, and `IMU_ROT_YAW`. -The drone has *X* axis pointing forward, *Y* axis pointing left, and *Z* axis pointing up, and the supported IMU boards have *X* axis pointing to the pins side and *Z* axis pointing up from the component side: +The drone has *X* axis pointing forward, *Y* axis pointing left, and *Z* axis pointing up, and the supported IMU boards have *X* axis pointing to the mounting holes side and *Z* axis pointing up from the component side: @@ -122,10 +122,10 @@ Use the following table to set the parameters for common IMU orientations: |Orientation|Parameters|Orientation|Parameters| |:-:|-|-|-| -||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 0 ||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 0| -||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 1.571||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = -1.571| -||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 3.142||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 3.142| -|
☑️ **Default**|
`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = -1.571||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 1.571| +||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 0 ||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 0| +||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = -1.571||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = -1.571| +||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 3.142||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 3.142| +|
☑️ **Default**|
`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 1.571||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 1.571| ### Calibrate accelerometer diff --git a/flix/imu.ino b/flix/imu.ino index e2bc5d0..136412e 100644 --- a/flix/imu.ino +++ b/flix/imu.ino @@ -10,7 +10,7 @@ #include "util.h" MPU9250 imu(SPI); -Vector imuRotation(0, 0, -PI / 2); // imu orientation as Euler angles +Vector imuRotation(0, 0, PI / 2); // imu orientation as Euler angles Vector gyro; // gyroscope output, rad/s Vector gyroBias;