From 66939dae739c5982bc5621fbcb6ee25bc32d8d28 Mon Sep 17 00:00:00 2001 From: subashchandar Date: Wed, 28 Feb 2024 18:31:58 +0530 Subject: [PATCH] Backport for new board PixFlamingo-F767 --- .../Pixflamingo-F767-pinout.jpg | Bin 0 -> 54246 bytes .../hwdef/PixFlamingo-F767/README.md | 146 +++++++++++++++++- .../hwdef/PixFlamingo-F767/defaults.parm | 1 + .../hwdef/PixFlamingo-F767/hwdef.dat | 11 ++ 4 files changed, 151 insertions(+), 7 deletions(-) create mode 100755 libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/Pixflamingo-F767-pinout.jpg diff --git a/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/Pixflamingo-F767-pinout.jpg b/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/Pixflamingo-F767-pinout.jpg new file mode 100755 index 0000000000000000000000000000000000000000..ddaa88c4afe332c312042d498ddbe46f30eda3ce GIT binary patch literal 54246 zcmeFZXH-*L*ESpkMCrXlkd8EwULz`9q=_^Ekq!dVJ5dmj-UJk+cPXJGHAqK9dhbO* zY61uWlJITMId?hd+|L;I`@Lhlzn(BQBsZ3Zh}CdYao1F91uS63PS0U*E*XC%k%p?N;3% z*1vCTZvEIs9v&V4JUK<3o&Opa4hZ-6Vf}Mte;F4AFs>_jc(`~3zs7}g#Tz(qDe&-b zh+L&q)FH5NrDDJR>KgUkgq*6+*EvLW5j4--MhIy+#a6hGzlQeP$o{*51^@pV**^#N zuW`+Sh=GN9g#woX1OZ*FX*btZj%~KJHHJ-2PI9OCZpL%EvIiT@#1Up+QIiAlCtrd> zYY;GOqczztWT;$%)be4$5NpV5WACn#qDi^?J(}E1F!sq| zwJKY_&f0hDF*7)B1O#kTN-`b`lF}lM?g!>56F4DctH?+45=3wUN1K8X4MEh<5iNuZ zmYNoL9RRx!Lz5$}wl1@%@8}?~@8wdk+!JMM_S%%}VS8&zo0a+?gX~LCrwm%;5|m>J z^aAdvGr+nOhsMbqx&#qF{y*R0L z>up%O1cAtGfzdZ3^01N65GW$M?h>@R^|v!SJ&=`*Ao@$ta8=$VXsIp_%P_SPhaqBw zU@nZME$5JzpqB(Sm!OUXl+Gnc3Gx|^(l)*XAw8gfJ>$6sMtp-4L$?fp4j;?{zle7b zz1YwgFcwqJT(yU~1hwPN0E2Qy^In2-vzC|8yn;|v6XdTakZ~wm^DxMT-`lMj;5 z!qOge#GUhDNdS8XPhEnd^8R)P229nT?D1z~eUEeL#e!J>cNw9Y{&yMu?=t#-ibe|5 ztXWho00x9y07z11e+i;$V=~_+H#9`wMU+oWjF(cAE0&wIB=&XTD`}tEaJ~esCz*4h zI+tx5Dcyz4;$l@LW8k~S77k(CHZMUVkpplpr7@2+VoiPhU zclkj=Q9SO~Q>r|XrDl{4^d=G((MEvCdcE&dmfbi}M>I3uhX~A-YWdWNGvIsQtv%YG z@x18d<0UAm>C+{sN@(B`q`vRC0h^`5s++`blGKI;)1y( zd=3mzz651IECHt45RU4$6PxAuLGh#7$8=Pj!*kr=7N+>6TM(4f3TyPksKH>g*OODk zSWPk+{O#7be=ue^kmmrbzI#^gi^IVaM!)g7C z;@Cy+=CG@tJ70V`V>L+CdU;dLKu4q?#!_UGPT}^fi$Nru=HNU7OJ%F`f3%M*j@ieyVezpWg(~ z<|XLg8@-z2dg2JZrTip?keaoz$U;EQc}etQdgxErE?MmC$eI~>S6){%F4>Uv+=bn6 zRcpn9C;5o>7&n^LKEAcD`BQC6b=tSpncxB9?Z@{OqVuniRh5(&va$-z!dsJrKIcJ) zc^+MYK9`xJpCv!{xV3FP`qMg&!(XU~ipFf6jN=38_(185Ws@CyZQ`?p_w{JsuYrenm58u0ob}>-ODu zYPixYzC8{N(_${?c-vVh@u*8sw0??|ZXmvPxNZVE#gUIvdYw0s(yNNTkAR-j`N_GJ z-)LoCxH_M-tZe(! zc*^wy)pvH|OV9jICFX6Zce%pV8opvrBzGAlF;_gb(2U)epq`t)yK;Odyb423ooT~p+El13|sIuJaUzLk9jK>|C1Fn z@WWnh^2~}2THKhI>xt71oiS)6T95wV)t76(-!>xfxGCV&?EY2XXmyi;Xiu+pDV-j* zWt)Qfq`?L?*O+ZmdERPpWt{hEl{g8cqXXHK>{zyFw0WvG;7={c_H$-rQ^86T$uqH8>!H@N0b>#OLWGvkKz_!e044o5z2hDsP!RU&eZ!t$KT zO~AbA7BuU+XQS&DWcy*m$`99mjAmb4jkyHf$eiQR&hgNeeLIo@+Hy8(%6XTC-+}swC zj&UErCr3{+NF785Z=4(Mb4SXmag%eOF#sM77HMC$e%b$%wa#YJTxNmmcdw2j8IEay z`qSx+wTQCj$@w|emj>D-(u8d-b%Q_Tq3Yi~Brp#7^K$4K{N6DXy{GGX{PFR5bfOx_ zUz$TBIG~X}qdX*7u~$mYRVkE_LXCUwtonO-c&J=d2o$j97miENeZvFx1ly#G=zyFW zg-;wI+JAv4<6@U0N1usA?&OS)o5H$U5Bx@+8u~13V^360NSLs%WQwpP&n`i0G~;&I ztB91EWfF7a>Tz*9m*aFbtISb@nAgr6HsiW|6*+54R6{%ZEuGk-Xh^!;RS;83WK0CQ`h9rJ zu|!X?;fa2uCb_z@5iF=ws(EVRB1WCpf;|4CM8 z8u7q_dLI))c4wkETRy)z>o#g?+2C`j`D|848*3E`n$I0m?4zRB`l&`6`=mxi{$pNN zy0rGb%&GY2fcq%uG7LXx(ws04krgg*oSfd})uZUryurS~Y|DAvkKS28TWO&sieBrX z3_i;=g7w_((+-#7mJYqa*P*)>AwW=hT9HP(p?un;Fq#|5e|vQSaQ+61dZDBZ-P-gZ-A6Q58xH%?w6pgjq)`# z8>ddo~O)!k4^#4M$by8O8cO|WS((1onm5}4zQ_%X01;S+%t>1IwE=V6%QeM z`j;RcPuEM(Gt*RT^8D1Gc`Xn6Z8P)&ulEv^X9X*OI>63kOXDsmcj3ns8*MI_0?ydA z?s{WClYG%`D{jf+F4Zm5sR53{Vda%2&htqPR8gpAU6#BIbg%emF6tW3`vP}18+ut2 z2G(Tx77b#4N?V6$;t8!vjZ2UsQQWuW=hnp6Ths24s!Pk7OfQFo?3rXeGS$7-#}=of zZ#lN2e3$i!^2LM(I{SRJaFTqRG5@r(mo=67E8)xxlGqSr5%g(jO+V0IE!kI6rwx5o!I>`qRI@NV_H za5OtmZ0^zFRK0c|b6AUohf814EH$EdGTkZHV{rQ_f9>9L*B`obUGaCSxV>Nx(n?RR zL$_|Yo{g4AM}8Uf6^p#aE%6LD?yd?O>j&-Io5Zbd^qw@jf)cY5%6dHeb8f+C++#Gp z=Eu7(;@2y3hzfi8Q%p4O1{ABD8t_0ivw!Gg|2gJa%~HAu+>+kOoR<2?ZE-bki-*dj zykn~uyjkDE*?gA@I(&ESD4WXLp*u>$aBpUYs7BST zdyexG^x?NLAAf{AO~nS&fisL7wPe-nstj)gYuF}ao(r6v-lz(V&m4#q>6Mqi<5XDo zW?x_}&5}dzVB<7u!yLmYS?#AbC759I^J`CnJWvAbksb*ZW}eE#&)#Mv zf`WFQhJ*~SzN(%gZeb3Y*SC9qBVx_kSL>~slI@oYzvV}>9W3`ArJc~Pjjp{v70k%I zf9paBdfqv$Z~l*!^Gd0KdbUQGl0a{&;GVA&%lI>CZzlpdX1&_(3&sV3%6r9uh4URT z-ic0XY-d$#s2-7VPxMXLKj)i!&OX=Q#Bguj`|j>&;ObtYLqJHoyvzjn9~US}p-t>y z(yr=2G}AUmH)Oam(NkKj5k(V|?Zh)V%o2a947N{ueEX_v*z7c(Ur=zFB4amU*ZbK# zTyd>kNeEL@~w&8}K8<)%*aN~G`M)X8)57yiq`x5w}kZ#RCapr9s+nGMh*lD^#}`$w-{Db*)Abg$mo_B$@F$kuq% zq1KEOLQ+H^*5rptTs-7s3&T|GedXht)G(%0JmT2<1aQ|1>A`=R?WJb@m{Pil$E$p6 zdxm^z8?Sk_^C_o4LAB${Ki2!sXb_`mH&2H-z5Pzn+&!+?bhgCpTLA;D!(SAW+vWJZ1)9_W5hPy+zcXv_TNCHVxmsK=b9`Y`YQM4 zd2=H{$O8sw|E`Y~wkyU2fJG<%fi?vI_T~csZ>$Ori*^60}PN#>OPJC1XCq*Y_(RyBgKNSenz$;3v@yX=Kbs+oH<4qo(pt)#mmY zXjPsy?!IWh1f9oN!6SVhr5PQ;53z5K{7a_IpY+VW_9`W5OuU7pJ$hnE5lwo%e;wIv zG-l=d+%nV&U~dQ@&`|M?*evU=HsVt zmlE*7Lx>J)74#h$s&Iz8-;$O(6%#vo;5Is!v~6TR;QIXP^!J!JrTc6t@-J~q#M)Et zy_t?}pL|5;MlbLkI~uEIn=xu)LCeU+BvJMJY1n-G)Ai@l+x*5T`Iz+-zi200&+Bsn zR4b;WqJ8J&?n~lNG@p^)Pg!G)uD!0NW-3oaqw(ZZ%HpC##7Rm3)k~jlqgZp<7j-I4 zR=S4*L@l|bMu0&`)e7sn(}~3pk`te^g)(1zRYSW*&u4_!+JYCK#n1OLD80W&&ddjT z*^V31H)vc;yE+)OJ1ji%vgrNYo|>lHCVlGNFFGmuI+>D9ayU3R=C$cmpPlJ0nicdk zUQMZ=By$C&Tus_@tB`1KR-7G73VY7m%boFTkL!c3^uX;aTCL(m)s`tK3vngZ1#}Ya z7B+8A2+OW3v=f>tKUngZkea!gRWM)Jj6c!6^Hr#fav^!QgPgo3p{^lVb@rjipka!B zm~z-IlhGQNbucthb=vc>UY|JQ;4>z6lNW*a1evC(G)-x5rZl?>)}{3mIXy#d$&-~E zsoj5-hHpQ~wIq69@|qr-i<`ps`m3aEzH(Q)P7*nipD*kqe!vvV2gwc2(6>z zf=X#F$JVbq>EU$VZ)T&ta<9qt>8uKFwmtHF`s#D1s1@=sVLY;-s9D33I@axLBX`=E zk;s6CvsQ_9QQ*f3gDXCjGN8^gJ^G6*r&}t0Q5IKJ@;d zvW3DasEvDa?43%LKF%4>(=WG$(Z&dA+me24za26~ENTktSUMvQVuMc0UV@yySFkt> zOzjU|!O#;P1kues5$+^o-X@_UGHE6-xP;II6V&g zHf}U7Wa&^ffD3>^OgJ`4#gxV!{ul7hv;Cx_M2)kyC;|v0(}*lg1Y-mC?X1DOfB@jc zCzRGD$Py27u7~dz9t~MPk>df{QZBy)6-Xp+fB|B@zTXDG_jC{t8G@Va0#vun2^EHZ zp2BIZgcp#eF&b0W7R5JfxcBV1ARF%fEmcn zZ#70pkqhE{|_HxG_KMIZ2G0lHr!kW*^ za01JR|C#B^=vU({-ntJu2WlViiU`Vz zcg36*ygTqZPwHO-CyNAinb=)OKYIb1OUo?jDaWK*TVi4?sVAorwYYPmm+Ug=c`4w7 z4Gw#pPjOSEx#Kw#EcQLD)UR`Ea zaj(?L^5vbq2Lj(qhl3Ij;Aw!A3gK(McPv>H{*?!eHTv0l6Beq zH22o|^TeQJQ_ZAXgiihPpgFxyT=b;NlU5Q*QT|ezF)dCmvi)3Ns*bowY6$1oh-%kx zQFGF3phPtzMpu_mE7~zNXYPBM6d)qo1X|&Q2rj z+TG@yRIws=j0B%+GR~@H30ge&oW&{f$^jlMY`7L9;B+wDZkP;&425C%TD_`4W)G?`d!B! zZm@eA4yWdN@#^i7F!}^b+51sbjyU61xFK77oEmmhLh;2ve;fP&FnC%im9JoV*Xc0| zF-LpufVx*zQ+8JioDN)AT9VYbS_B4(NoQi&r|0$kh*wM7qi5^BFHJk`S~kYFcunp; zcoD2N-N?CYi_4i-b4TnwE+&S_5tE^nGt1Y(ORRip6PfXC}nGZ+7?y zS}I7pQrBhc@~(BFYT_XQ>v*Ed^QgvA8rHJxM|I{pG3%<4cawbG`D>kDR1jzf#%cAu ztY%>}?*C)%D-KoyyEa#fVt1n}oc4BEa^7U6+(xLI*zG0azu4^vwA60Xygl_GY=3!x zCOOBFr0D}X;#1133~{1kEz0B)#7@>lc0mB$YpMJ2^VRoFzCfLGAd^;C`Qh^U;EYoN zNDHchI)Q3)UPWZ%(q9o+r{;HZ3@Ew)J4XGB9e-5-0C6Dz0NBdo-vAf-3vhqE{wLr< zSRnx3QbVWxz!=_t!tJ*|;C2Wdzr+B*RwMMEtQT^|l>+~H@f+)Hi$eiSnNzk0dLm?g z3Hk-eacHU`teSNLCTJdjgVEjz}W? z$|U%iz)NJ@aw)F5O)>x{d==bPfc&5!Hz_CYjY*|VL(CX`zAfk4&-p4Mo|4pBULN0V z3GpQra%?OI6bpjWg|X~4uBnjQa(>gy#=Ua-*Hs)HgC@7&daFw)gG?Y;X5*QoZbhN( zEm7WU^$Cx*UMSPQYK5)d2>eFsdJLd!bWx6L8YVxU)>VdUhhCfUXb|b(q$iMNsFvu@)%25*O_}YvJkQSa{}|8r?55 zxCya3BOA!v_48va1yaJ(Ug)tfu(Cp~!F$?9flBbBMxc~Fvg(4So`E8%p`ACM05uCc zq$HN`IUE%U@m(i0YMt9C0s=Rf7APRKAeS&8cAz`2&DS1tqHNd1#@L%oWPOD=6H+vU zYuRgWD(v{apKU*Xp~B)H2<)C9E&-$_rM#{s6d#bntn&Wtl0ip(%tziXep%QD0e~YA z9sxZB0XfrE3TO-w;-L5WXJ}>417ss?wd3Lg^VF>QU+f$AHya(uh3|<59bbYDE!X&g z>n%#uw`=hzH9JvkkbE&Ik@B&_}%pY@(>sET!8`g zZS&iOQbucBGLf8r1*M+stFEVfXKv6pAISWGGX9?i6Ik%ySws5BzhMyINZbm7f9YY_ zlK@fV2fx79uU=kbnj#j0x%2GlFGOnJU+<*dd^LufcEOKj(A~sFsYJjLdH_-B()s%( zF`MzyHv5Y|f33y_EX`&tpakO3VTplBWekLOW-$-QD4&bB5boltpN>@bkRi#7ILQd}X zXnG~A_(|$t*Y#h=aWQm5*|$l}T@Q+)KvrZShI+geyk`aWb_0qvx>#2@=}512`RW~7 z*>14K-h`w1mwvSl2md~-3yr@v_xG^?X5rg74f>B}Niz@2l!)!&53Q_AQ!@&gEg$8- zLvYs+U7qRZv4*%1{jXY=-uNGk?g1ff@i_b_5rL=p4wqx8M_;~=fRoJGagXe8EBmij zI?cRy^8OEdNB<-XTNJNvOCfTSVcN2MuHqqN89vC`OhgG+5C6+N|Ca`N`wLlqbA84c zpyK-h@kC8NqcvTT7G>%9I({B*g~!YTeRuJ~-{3C`^}j?G-`1tp|G3bbmdJcGbP&BA zOSDfM67LIn3f_L~=!13Pu(}N*I(~MK6mYNe)W4Yh5o79Z;?%ikcg$3e7L^+QxF&T8 zCfQ1o|H`$#C&%1LdVaF>t9&*-Z;BtirFKqlkW>jOJ|+8WEY(I-q_T#tI0@eivrUs1 z>R}Q~ZYN>yX3Ty@0E%xc{h70aPpxx@6|zQlCZBa32#pD)&>xxwzNx*?Gg(+DjA}oE(^mv(E<%WqSI^oo8IJ0_8+2e#=iSF>K%}#y#a)%mvZ|TYm%YQTLf24&Gv^L zM{ahUw~y=}hg@O$vA>W<`-9lx3p|tSO^-L|o|}Oq{xL60ekjYT-TSvxObLyoGR%~> zb-f`2WwOBnRSyiT~&uuhBF$GJz7dVA+1*SB&!r>9mmS^^Ik!c&_$ zoOf;OEVdQ+h6AqWqn#1n5ipDJE@Ldr8=7NJ3?2Qsb@1FGY{rTGVv2Z78DW8IkwidE zz;~RS(M9LwYHFfh-6`kDse9u~Q$oDrF$2@(aTljB0{7>?8i+Fsl}(4E}R2`18%8UKpltjQ;m+l#MK z+E9&ZoTlY`O{|F90wcpT%9*T~g4<;tCX}MmRVv3hkrGipDc%N1B~eAz0$jNqh7fA) zXbnpcU;py3c&U6xWJ!)gnoUE#$##=Oo_+DOY0-NZZ(Er`;sMOMC+Drxt1VHF5U}tT z%?l^d4=ifX2F0>$iPS_ zI&^A4aIBVN2lRx~Vd-4Y-pmm>hJARnVt@%-1w_*~{Dt9Nu?2{{ z-H*JvmAv1BWT5?&$T&>Y6rd4k{jL%G1f0**3D5|pAivAKvF3;O(G~zr{&|W`>Nl4H z2#-8;Jr&?5Q$L5WaSn@+&a%PNla49sug~{a-`+pAJ^r3r&Z#%+w;(joLxw{r(EHf8Ojoll?42hAxYYYLCP1 z)^f@6X&Kopk>)4FNo%$PmKkXqY0_iHhBSREBRdSUD!qPNnu( zDuh#8Ne;^YQJngOI8%)IZUc#H9ji-?$-DQ~swt1=hXjl)*o&RA8*&UXegL{hi$)G= z&Jd1(#W)==kaZbXJIrQgxaMIBzw^v7eif`B{*u61N@;Dzca3XCRX}17bqHZt@Tuvj z&t%Bjl`%H&_g*EMG<>4w#QdPthT^l+Xg|BeanHo7!}jXZE5kWRXm484YtJFVtu)~< zI@9q0qv8PzC#LNylTr+V>senDPNWap-|Vx|5+#0I$Cvhlc42G|)`$Wi=A?F|{zXPJ zgQY!->@%M4-!gDkH~7%)JszRe9uvK@&c(<9!Z3w{c=eE+A-j+%w# z0U~9rX&vJ2wLI?#jSX%$Mx{j@?U%=V*g>oSDq+>hwj1d)@NjsodbH)9x3!C4=Eoxq z=e`^K&Q+L1HY8|2V8dx0p~oEexI%PgDfp+>b<{xDRQyi8w+!7IPd@QSl}_R*+mjpj zL(MTf-)VfL)NN{O)=_ z&3|$|7i1r_$1DI~-Ie3ea~*t-k%ixa9QCgtHxS?k_y*q^*##X8ew?xMs~`2I|;}{J%bM@Si?lqJn~oc*@58U8#%zn;L8rN8=uX5i$KiWUaG2ON4PPNLy zu*WF}`X;2n`7!Nhnyz8kLJR`_5I&j2olj|ScSMOg`d`4!{}m{CN5~v>lHu7i!ooeu zC3V{->ZZl&qI44Phu%;4auM;+jo9)??0RjIi{)4`EXf&epA{uB>g%n*gmS@MleM0x zh+mt+dt{CnhfqVe2oM9n{%`}xirx_GCi~Z0FsvEJj^U_LMVeTG_D$#S?u&T_UiC4r zaPqAgdP}+kN>|8cZC49x)`(ge=TuOpPU7`x!i@gqZW~f8#Gw-WPro0EMtf|EzbeE| znNvE~vT$f?5eGnG<<++r>GP5vHB#QUddp@{hk8VnBDd^r;A!RM?;uy{J*uT8x;tsa z-jqo9;^GclXs@wDL};z#RV9A@y}6nqVAnusKo%@$3{DMXTr3WZc(cNt3>5-<%gOss zC-;pP71^F$QMjr)>rL#Mpl@rcP$2TKlU%88bk69}b@*DUECrbd?ktuYPyWgs(g>@D5`pFX!OpVd!!EE=-6W zgHr!=ayP1K7-^%M>o54x?=6rjv+zabwnzY{3W0k}I7e*WWYuxp?9{6M_qg!QxK492 zOH-Tu*=w|>kG~sVeY;|8fhL4^`S!L7iqX{<3=lx0Tts)@oQ5Z`gwW4d-088OIAp|* z1N$+*)s-1uf}WzqkHi*~HPozR28U8bi*?OJr{G^BbknogL0X_F{o9N&z9Tpa}>~Eu3U=C%gknwqIUmDJ(qW$zQ_MfE#U_Fg`UE zFP(U8or7suLLv9{*mRSA$%N)u^6)lq?)zeZvVndbx*~*)mald+bnUAmJh|p?R~GI< zYkk0z!Ff#0q+vb#`twFl&DtwAAUd-d-05yn?>5y$&;rfwsL28v6%|f@`hYOrPDj|H z-fUzeO!-Rp3z^dAE-#?xKOg3IxPG@#qSjVi!wLau|Lng6{PbV`nbd*;=)MIIzmIbX zkK^c|{d@mbkNu_~1?^w_4FJACf83`TQStB;4h36|DA7cy2qWQG)dqkc@0zy(k=Yye z0lJ(CL{N=ofWuy7VOS@Qy?YMM*neHOD(C``yB6C3$O!g__KSpI;rq~I|HmU(@K@7^ zOMiq}fPeop&aOj#E51ViReUXD-IUjg2qpQFum=!bv08)2W6!jM?4~Tq?%teuc8{}C z)#~+2lLNjj;GTk?rTibI=p7|^8jY?(h$mP?((Fcm^p{CkaE%|r77`zn{G{)Js;6um zuCAy%k@xt$bo(lQeGm2M4(Jwv`h&~FP zr5!`Aqw>0@%$d*{%NU0#wXn{IqXM3SQZu!2B5M1>7MP=Y98O~nr$+@g|+P2r@MMDInKd>sj<`lI%Ob1b^ z8c=Kec1`yA;xx87sITyY31O6q2if@*VAl_dIBUh!yO)dr1^oDJss?0*br`xu z1n{Gm16Y~@CDHsrR+eE<`-m9YFYrC2BM!JC$qcq@?9eZ(h6nXHnHnc8KsKATi94$o zBg^yaK9FlCA;4ZeQ%EL!>$fIAHh{P!o9%(^9z$J%ihjQe%P?f?I*@-Z--d?T>)c`R zl0eJ_u%JRoYOhm^EX0>E?&)L3vE4e_Tj0}YFMlWnKSspwUNS7>&_32Axxf}=r#{p4d~iw4SmzF@U# z<5j~vLQ1-IcoBiPTualb+_{hULr*UMBXwXon&(XF=zEwn9@M7$50u~D(M+@Jl+T#E zKXyk8(HOCC9lTpZ=2xef{SQ}t)MWXlPWau5jbC}2`=&BZ7zw`eV{b{jvQM5& zZ>FAC`7TE1^P$}z20ncJM8&bLS@aWIkiLqFoPX@pJpJlRPjBMDmz$8xn;FDL`L|W) zGTM*;iBeQjd;R@u2SAcT`s7T39a(iNkPAw27Ytu5ObWFGobU&3UFrm~RDdPt0cy{0 zESY2bHIdnZd9EO2hQhSCtjdft2s-`$LR)8wosg?nlszUz5(fTn&nItw_v?dviZ zHnqKdIVWr8Dyc6`?}Xe)=<0Ldj~@`7XlD<+sEtJ8&M zCx~-IAW7dwbXGm_to(|TQoBX$O0zd??1CIW8bpex5!a`;sXLcL?fSM#?pu1(!>NPZ z=}iSih=x>)FMCwvM)HdP(lY+j zAs5mOKlC>P7J3!<_f0`Zuoz%Z&=L`JS11eMseZyy(DjoR9w6gWCB2sm_~Q#k&zC4((?`x?o-kL;qm1aC8zqboYiQup4N$EfzHa zxQlx?`~;^JptfY@($LQekoEUK3CDs61_ZiVK&&Axa{QwV4MfC0*P-j-|5k^7Oy-{U zYv(2Z2UP3og%$`cJcYLRcb+2OGWKW)!w)Qc7OCFDM1UWA^@VHNeHIp)wHHg<=cMJi zb3PX*uSaX+=(evCMFiabQFyQD3umf*@FD}bnGCa>JTXKj#5LRU4yXVt^}ma{d^my@^Gev6MVS)@Tk zfTGidI?A>~!Z^6IVB3sgLYU{(-pEA7jg*mRZax9L$yn`n=A&VXn1XEu5d^IFfYb+~ zgWQ{n-1|953M?x9hStj3mp|I>-KAWma-pP&Skz;kF}^oOtolrG`sXbF8{GpxW5joa^}NH{@QvT7s#5NRd3J!w#TFPy({IE=uDPBrgZJVW=j6vot_mCbh%- z?8h1z`ld7B{vS_fd8=5zu_UYl%R3E*l+AppUVFsIxof|_tEA3!qy^CclGZ`**r4QbIs zSM&fmvD=`2L@8vZvsw<2zcp5b(Z@(Y2bP4Q^??%ApZZifXP5hVcV&i^#q)v-4Q{IU z_fJMz4fowb_OJREK4yJQ`x*8k=B{#aD>XYlG>b&k z3Sc`&V}-b73|Ox!^+BD+nMSv}?}>zd;rrexn})sbk!^&^}wL)msPHpEaD*_$9i zRE^`xp6G+o0NEnpP>(F~ZIK-b(ZOO9`LS=D)gon8_%GOT{h_5+Pjxkc=nNayEc-{O z^CgG^O0(!+2=vEZn9VH4aJ2Pl$I=CnF!rsYS;XqlnfwqC%>N-dFZBR>tPet$PH4Wl2CN`v*MD9tux)V%6II4W23{e}|_^ESHbL17vR}#`g1h zU(zn)LUg@*trdZiCx=^7JcAmZ73&=s1XH3Q=o7w@yczmDKyqb4)UXN3dFq-_Y}$Y2 zE?W$kEw@UV*x!q01BiJeOLPElPDjZCX>ck8ZIjb4IMZ*!5T3)un51@=aS4i$V?p|N zD^QKL(5?E)amW{hm0NhbubMdB{q79osBMZ}G1TrSRH6pz@BgW=CzFFrHsx9u}ZymPQ}lC&YlwPNSyLwNyuZVHm-Ym z#g}OX9&++A(Y1X37#G|4*dP=Tdtedg%@o#%wGKFP#n$^`&}KPk->0ST{J!tpxR?AO z>!|#fFjs z;AFSh;ar!*=j<5+^wyix;zS9KIB!cOCIs&0Nw+gd>Ek8s;s+$TUOWzX7-f>A1r2AV zIZD#5tC5;?mN-jNlq(rZ97Gyln zjmfhUoK?Oh@bPQ6^y3dToh=tzp0NH2H_v%diOJ>ipyoi*Q@@Nf~=4;5-*VXHV zS7K(&)nUmVOS2}c6N~9Co@AZSYrgIsiQIe6>nvs2(b$~|5>2u_QKZnE;iv^LS12O z$H|1(f|JA?1(T!Ns4I>BU{>(RArLNaeLR;0Uwd2(q?hYy5xUT_D6C{REK#bb?_cq~ zX~e0U4Ik`dxY_P|5TgM4!I-fh>RqI`!c;U;d(8vF-`z&TI4?*nU@RH)04b(xy*@ve z?qiXVe6^MAa}cc-nPVHrxMfr9{i%bMW)<4Z$Ok*=!&Dp*hRcP@b)5t#9@u=fMt>- zt7+Yuba#!}Qas1;LKSVA-knAonME4F+TgcXm?B}dlPZf>7Tf82=<|f%4QH=g*pW!y z>k`DD?(ZjA#ASU~%pgi>dG&p!cD}b1WITOUcHy|w35qZ=#tCOXO$ui5n8?eI9u z<>jP0*JVHOo)%I?8vxhAhE6D9VA4P`Hqd5Sf#RJc>tmUcUU3`ntov$9>TF;WfUXIN zfF@aQ{FPy{0=O+VX7Mr9vlCs!5ihR^vB%qU3#z-9lHWLy{qu0D1{Xt&E|I>aLl;}FLVQRV|#TQ zT>xXw6zzC1K3R4&U=W?}8KPZUaQme938C17Q!XfZ5{GK_T$3kL1bB8x_kNALfJA8B zKzw>4U2;Pf51W(n7MaxfsOQrp?>Q_p%t`6n2jAq4iWUr6ah?;hG;Wol$e=%n22&h# z(@}w`dg6Hy6H04$>O}fS(o==Z>;g??Fm zH7U&06T$#w+onJjN=cH;4(9J1sIO#!7M&_UYIQ=%d@>!a>XS@Hom>|2o()i>(Zm-jUF>$uMG3jORoyPE zrg)wH@W_!~o2-Nr=fI4n04;~;2+&3BhZOn@VJY|6oy?UPlYh45E;lXK7N3Ol$A8>C z1Tut6kQB4QXjc7DWNjQS>U0GbB@Sp-3ay1ds&|ClpC)u|C`s6fMg-|K+-N*rOFLWZ zIBj~IaiQi@qmxkX(JHjG>YOBf`}RGOGKfQqvld}w-quzAv~o4R!?}96tl?q?y=enr z`fyor3@Z)lx>Na&MJj}zgXSu4i-BX&HgL0S$tP9GHZ`O8B;NJ zzHFZw-l|deS%edp<%i*U)6`wC1KYr0K1A5|TTl)?KCv?AlHRKCL4+tG1Y8Gowst^f zX6Kz~f6mnwC;r-ej?N<2H~U>*cNgF_#LhgpY)`2kBH`_@FhB3!q40D3%(!9|i}KkW zuuI&9GorTb5d}5Q*XFm@b2n6pNlBFe3C!h8Mk^Bf^LsW>S(ZBvcmRm;xhVZhkXaf~ zrB>8zApX+TVtAbgJp}V3Dt3_>-OsL^4Hj# z_C!ydP!QLmxkb$tjMBc4)2eU24Cdqq)6?}V*(@!KZkM1b@S!7C9w_JG_a0X40O>(I zO&rEg38-%nJ{kQ!FaJT<5iA`*grY$7c9|pIbHj3%9ySTb{A6MRiKlmwcLcNLeSd3R z*+mBt+1Hfq%DNK70Q}E|Oe#bdqxks`zlQKSBiIe>Yzz0}nDUO84b#uA9M+1Rw(&3c zN8mP)RwNVli%=;#rvMoTY@T@uIG5oh{8(1qS?m2abJfT+0@!qky0?5a11a1cM1q8! z#MB)J3Cehf?`fVCQqPIKC{yK(sb~H&N?c<*zDBbta}vI?M|1)kmlL++tkpw&- zl-StFfk2!|V>HO2u0gGb6A+jBiQ48lr@K9CJ!t{)^Rr*8yKkRWx>e+dF;jdlw_kj? z;r80#eo$tofd31tC+k0*{l@Fo%$b4&o@~Ks*N2^)%WFv_HOBT}KQ$j;bQ;X&%i5&q z6An7`v*dp4_&WCRBFG~226LQsd8~0l4Ipxb05>L(x^{yCdM^|Mo+9bq$eEM?dv1&u zdO`~9yajDPI!ahDZl5gUv@!XT-dAIgvIQ$3489Y(uNykk!m^GMs* zUtQfj?H_-SbmICrQ&-;58fSw^Z4=rK;+iN#(8U;EMdByFYpjHas>eK=xn__&PEz%y zApUkN6IW_<=*buK1?K(tiG2l0ANIvgGwjTGS&OAVu}t*WvLyQ-&K>Kqr75rL=WUZd z6Qp7A%AX!EWu`Fdo672=lI%~syqW-;6>kypR)CiQ8AVPL=Gb<7wB`RJ?7hR9>b5mr z6cqshktQ_?C`wg&kEk>e5RhIXB3+2|0D%ZdZvp}W(t8&|ks3M((wl^u03w}G10?Y- zzkSYm&fe!f_wpa>Nm*-U&avJ(#_t_d&k;bC@NOm%{fy&ms!AM5%=M4N<6rglI~#j_ zc=R}^%8on)h=);nfDGE*aK4H=X1;aL0w)>++rmq(uutUeTS|CnimNbcu7L@x!GGI*#|M zinX}i$Yxc{Cg6BSc9KM@YwJeD<+fEHPfXo!{>D=sqTy&vyZ=qO2dln5G3A=DrcG!a_JlRFjZ zE`rk2BA%s!Z`-yH-g&dOb4-EThG)((kTCyiuqR!zt)U3T{35)6zhg>IJuEFH+u#;| z|HTR;%p)?}_X4wj6Y<=%z?1n^S|#zu(GckeYTsFr97r$Q0BZN?9c}RjFIu%lt3H1Y z0tMcxgzyRoTFFNFx!mgEvg=~?77^;TXDUQm3>4y=uV}zBNva(a}n#!x&(Ki z7E`+yO6rNMBubg-yZwELms0Tha&ZDN;n;r<+_QTV=GJ?^$lgaNz3%fF@8c6ayOCz$ zaSXF#&Sf2WakOp0|h#Ac^EtA>=9uveRfFV$cX-dUqhFHjj zjAOhycdxB;-JGi3ekO9o-jHQ4@95Xpp;Yr=0r_P>BhDh3=b<;12 z+zAaUiUPocaSkY3hn@Z7JIjOv#l?hHJOmI=O8;mzrN3Hj@qcMGpm7BsAsx`kbmx?@ z{}OBLsuQA^{DNA_gzReq2fs#7lVW|&v%^H@dJK?3c)F;B=eef;`^V7AJdJ)+{8^Q&E3F9e%s_jQ=fr?r8|bZn@$e ztTN4=)3!qw{ubwtl90v9Lm094WqA4%g=*&Pt zL5z2Wu+>yb#JRnn6ly`YM<;0Y%O{Jo+F!A`f5@!m1{q%LNp(5y($pgD zPPiUUzWM5CMELgn?p4n%Gn&$vpo`Vur3^M`mz>B40gq*xr*pr(rjno-m}dX?W8YWR zQ1dKnnfvXBl`_q^_n|Lwmv=*L@RQlySkA}GI^Vt`kz=hxe4ojFF8uh}QM5T?0OD--Y{oIz7KcxDlK00pHFZeX|F^=#c#oslkZpU7FUcpOX^QSr37u14C*&x@% zhkBj+J4!9EOwgc0%5uhH!PhvcexYr;BM5Yio8v8>kzt>@)C(6Ev~m z77AvwTEfhnMcnnGG+S3$&89!uDc-|zCU=499V^QS)*%We0^%_{3*#D6UW(6T z={3?-S~?K`E@erBFr2L@t5k+2buHYk!-+5WSJ4F>JGk!B{W81y^4V-Ch49T4k38bX zLujNAIOvEMk1XYUjP=g)<4x|`kFYav9W zI4WEg)f0PhhH!5pCKJn(vr&eO{1kL@d;28%$JI4~Ztu{}KV*!s*r&4VX(spqTVj5N z*<#_bM?n(&D8czo=8ttTr_(_Amup_RFLA12JN|d=7H*q6E{n(6pZU!r7c}hiiFFM3 zqdt6~oBup(x!9DM=(13Jhuj6Hlhi zlLZmk{Hav<6F*$1NzJ&2oRhL3RPZp4F~0p)oYdRfRdGL0DnyJXj%ZYmV;XUAf2Jw- zO$Z~tSN%IG;z8A;de4g76}LKV(d*!FV+j5kVN!dZuEMflELyF8BevdOkRSl);3#=x zFBtk)t+j2bQD>o}C$rd7p`%E<6|d{Vt&$#~mPC!GxCY~^^Bv2h>s1$vYeQ(Yl+MOW ztz_ey{!2~XBmX6WPB?bg)G%wp6@F-zq6kx*al7-YIBW2p@wKw5;`lDhmtsyr+)b8Y zm*1%mhnW!W`?grtXo$S$y5;m*-g|1?p7i`dP?VS%^7Oglo1vc97v$lEpzKd?mRXBk zp0AV!6&jcg=~~1)?#Wvn>*87R31UbHy#t$H3o1gS+=R7!+gX0VTvF0+@EV`poatNT zxi!H|VU~+684>(3McvB0b-<|x1iK(;NL&LL5aVX*CTy|GXC>oyinB=8#B!BU)F$JD zveIK;yA-vEtK;l-OE+Ft&70>lUchA5SEIpOGnJ}EiUWKT?xXImD%_-zAn(4lonNgY zxSqnj1-e_}wMONI^~R96YldPWsSLK4m~pMdCFFbhfIgY_O^73+U73EB_z|wd z=wQ5(+ODsvt9eL9bxN)|4Y&5HfJ?OEK<_gzOR?*J52P55Mb-ohU;@xs^d zuS{~pYrPZuVknz_CUG)Lh$bPQ(buZqJ43E#&KSPj%Ru5nu_3uj-r}d?_bU!v9MJHK zHz}E;Kn|D9;231D*|f|#?Kfyvn8+R7RvatiZe$BOEnf|2a0^|@ za5GD4S^g>Pf7?+}Xyi415R+27>bd$sO*Qq0TMZXcy}}j~8%|KgEK=8{ zD_6iveb<8J1;5f9&ZV(2`EBd)fUIlCA;YeVYQ6a5A2uT+1?gMdb_RU1`3nI0}S6$ zBEK-tqhmRM$mr9Pj~NK7t&FO-QlGMFiQC;4|9aeC)z|9OI&`fQMg|@Td3zAyIq6UX zghl{V@dXhm5h;gjfo09s1*AbyW4KbYRK}gqr>$&JzpRse=^sMUVc^?Jz4_k51OO9I z#Um}3e(yHBl}b#9h`0+d?+rFIsrwIeiC*bu)t>*vab|d-41ZwJG+HUd(zVEG?HFm# zO+Rd%d+Ka_6@BiFb_7$D0zC(3_W0-8=R;_6BNaj#YN|^=Km0n zGMOMrI4&}{gDyIL^d@o1zM*$`*TZA9FthZ{{*vpBtA-0vH}^mDds&-_}pZt_j>C()sH-p6k0Au zxjwMSBv00vA;Y;uvG&YbTU+dDQVqd&e5-2O$uwmmab`u49}t+c|4VWHRg4L3cuPQW zf{B%veJCPOD<|@Qi@X1Ym$VUH|IaH#fL8$3+kXV-r@w-82oAh4UKN{peqrIi1t(%( z6VOXv6Bqv_I4KD65JsRB{J#_@0eBA-P@I6AJj~v-BY+-kctWaT2?>bnh@acQ(Z6nl z+Lix%=pXh^iFma>1-S^VVf*NATGm#OVZ4GR8!nr7i)GK`)UR zKn#|clK+sgSLWO+uJ*geuamE{@J{nIZy3WXp*pb_S>tmB^8^2zXy_BUPs3bXw~ zCcF#)hn4#e|Kl9~;~RdHZozd&6d7S51DK&?zZ}161&LZ2J{&4$1*shV%lavcAve}O z-^Tc=u4GA}Ad347Cmq%{v=(@RT5#a=!HkG1p1=<#lT?4+Pl|C3SE7)*EY~6AdnQ{OYm- zL~~E!j35wr&z~F3JfcUs@zUPv8$cr2ac_BFc>TU7K{{SCNi(eBgPga6YeoB!Aee9# zJBRA)1>h1r(4p~PFy*}ggy0OAV;=(c+XMh8xeP>%p3SLN8vGQ3?RR5d^4Vj1*@ED* zx!-4rd4`z|!8XC6gN#it8b#%usktA_2j()h6V%3?p68SlKvDZquLj-P0_s4{^2IoWycgC=NFmWkloCXRQw~cmQ z`)S@`)RP1hzZ#tfq7t*kNnr7b5RlidN zk%HB6LA7+0EZ2_)2#@dx41{%%ap6{7s~g7+Q|X$?in63%EbVr-M!ZV$wjkFR0|PDx zl1k-6cNBT>b)8+H>mCBLP?`Zu`V|51n&Q6UV zHrtZNH-P>ec6+KtMymEj-afV6U<|Y_J|GfHRR`3-S=>d*_>`?$C zy73o*afNWmU$(|cVSoS4ZZ#c@8rvhWRm>l^AvNB{@>AKbsmLxf~kY7$cj)>sf1oG+-0 zi@$DMsMfM*amK8-fKqXYre*FcO@^hQD-Q)9tNfBXCy}G{tDhci=H9wQHbWy!++3FWYQZP6eO?`)&kDzz;7izAyPOmt5%pIV{I5h5IWCfw#9z|*=8&~pi_Ce5b!bmA2Rfwp)%*_Bq$hU{*QA)4u>GAi$s98D7}GX zC)Yo&2!9|0DiurWFhrcaI68!O@1F9K?g0|v&KfDq=X97v2@G0Z40!7fFeUQoOjVao zL-neNQHYf^d=RPE2{;Ngs57tR{Y_PDb>?zaUZtguBR zTq4rjIz}Rp_oEYi-v?Vak70-XVLSxE30~X9)RU+Ip>fLnm(}Wq{KIM?k&DGg^Dc`F z&D?M=$E+?7dP`yuR)EHln@(!@Tt1CZ+1%viK0l;D17DNs-HnOs*k`W{S#wATC^SC^ z06dvYu^0eiT6X^W6Tla@Kse#5CgM(}$BAv|4}I)%Neo>J*BEDiVN6H=r;YpT?B<*K zB-OE2(LIX>zV17?`XG5#t6YbJb^Ck=`VAAkMf7}IynK~ZQbOARw|M;fj^|7t0}H7P zP~ojNd&}{uoZ4NfE2(*UFj*iQ$QDK8P$hvi|4#m0@^>F)0OgBp?L`W&f#D$*P|bAD z&)RkIeMJz9=CiRMed6ck`33dg5=}{piW^}!L7pa)k;fnKD+_!<&lun`2Y1IM*hl$} zJr+jlMp%ut&r}yI+fFvsCj&L>oUSQTzAU^f^roVD^pG!5o^RPn;AyP-G~Cy|WL?t7 z&BR1dmSv_Q-#m?eCtpnMjsWh~;JWhVns; z<=tKlD2HPz!#rHdz9zZO*w$QjcOZGNF2)i`X`+Lp<172c|qI5;Mw~Yd?qZ85n=#T#N@CHF{Jy64v)I1x(iOgs z{)uKd=V|HX&z5`=S`rdI9za0a?7weDwng#CoKkQlG`p05?U;gA~NvhVV)?z#k8@& zY#h&OWfX+|XgEr$YJ&}{Zk4nD*8QF>;+Bf~y%XxDx7FKL3GW}c#E6+`z#Kb&G?_mA z$}daq{Eehv-0Q#}lRJsBMnp-0>5iH}6tD=a28zld*%9if&^4PkS{V1W&^NZIGej=3niKpn5G|!@RZ;StDJVz6ZPuZSYtS;rP zQPoQ3eYYAGsTWwi1KQ~Mg5kP4^uX=*C=MZcbK zST%s6;Ylbik}Na%Hi8Bi=p(WKA0011(U}QM%|WfRg@xODXLmFD9Y2oQpBPbdZcVLf z3CkvheFf6a!6NotSRiCfd{|?hSM@t2(B;XqU5% zKYVaf)HCJ2FD&)y;)0*Yxf&cAs)@TiiU^Hr6xvB};*XZy6=U!9P|-e&3ICcjT-0rE zOz^|6OGP!y

RTx=1#Z!Ib(&-=p)* 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 USB + - SERIAL0 -> USB (OTG1) - SERIAL1 -> UART3 (TELEM1) with CTS/RTS DMA Enabled - SERIAL2 -> UART6 (TELEM2) with CTS/RTS DMA Enabled - - SERIAL3 -> UART1 (GPS) DMA Enabled + - SERIAL3 -> UART1 (GPS1) DMA Enabled - SERIAL4 -> EMPTY - - SERIAL5 -> UART7 (GPS2) + - SERIAL5 -> UART7 (GPS2) NODMA - SERIAL6 -> USART2 (User) DMA Enabled ## RC Input Supports I-Bus/S-bus +Any UART can be used for RC system connections in ArduPilot also, and is compatible with all protocols except PPM. See Radio Control Systems for details. + ## PWM Output The PixFlaminog-F767 supports up to 10 PWM outputs. @@ -46,3 +123,58 @@ The PWM is in 5 groups: - PWM 9 in group3 - PWM 10 in group4 +## GPIOs + +All 10 PWM channels can be used for GPIO functions (relays, buttons, RPM etc). + +The pin numbers for these PWM channels in ArduPilot are shown below: + +| PWM Channels | Pin | PWM Channels | Pin | +| ------------ | ---- | ------------ | ---- | +| PWM1 | 50 | PWM8 | 57 | +| PWM2 | 51 | PWM9 | 58 | +| PWM3 | 52 | PWM10 | 59 | +| PWM4 | 53 | | | +| PWM5 | 54 | | | +| PWM6 | 55 | | | +| PWM7 | 56 | | | + +## Analog inputs + +The PixFlamingo-F767 flight controller has 4 analog inputs + + - ADC Pin10 -> Battery Current + - ADC Pin11 -> Battery Voltage + - ADC Pin14 -> ADC 3V3 Sense + - ADC Pin15 -> ADC 6V6 Sense + +## Battery Monitor Configuration + +The board has voltage and current sensor inputs on the POWER_ADC connector. + +The correct battery setting parameters are: + +Enable Battery monitor. + +BATT_MONITOR =4 + +Then reboot. + +BATT_VOLT_PIN 11 + +BATT_CURR_PIN 10 + +BATT_VOLT_MULT 10.1 (may need adjustment if supplied monitor is not used) + +BATT_AMP_PERVLT 17.0 (may need adjustment if supplied monitor is not used) + +## Build the FC + +./waf configure --board=PixFlamingo-F767 +./waf copter + +The compiled firmware is located in folder **"build/PixFlamingo-F767/bin/arducopter.apj"**. + +## Loading Firmware + +The PixFlamingo-F767 flight controller comes pre-installed with an ArduPilot compatible bootloader, allowing the loading of *.apj firmware files with any ArduPilot compatible ground station. \ No newline at end of file diff --git a/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/defaults.parm b/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/defaults.parm index 30fbfbed4d119f..fd0508c00b876f 100755 --- a/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/defaults.parm +++ b/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/defaults.parm @@ -1,3 +1,4 @@ RC2_REVERSED 1 MOT_SAFE_DISARM 1 BARO_ALTERR_MAX 6000 +BRD_HEAT_TARG -1 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/hwdef.dat index 162b144344816a..562888c57e044a 100755 --- a/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/PixFlamingo-F767/hwdef.dat @@ -90,6 +90,9 @@ PB12 VDD_BRICK_VALID INPUT PULLDOWN PB10 I2C2_SCL I2C2 PB11 I2C2_SDA I2C2 +PA8 CAN3_RX CAN3 +PA15 CAN3_TX CAN3 + # SPI2 is for sensors PD3 SPI2_SCK SPI2 PC2 SPI2_MISO SPI2 @@ -122,6 +125,10 @@ PE4 MAG_DRDY INPUT PC13 VDD_SENSORS_EN OUTPUT HIGH +# GPIOs +PE3 HEATER_EN OUTPUT LOW GPIO(80) +define HAL_HEATER_GPIO_PIN 80 +define HAL_HAVE_IMU_HEATER 1 PD12 TIM4_CH1 TIM4 GPIO(32) ALARM PB9 EXTERN_GPIO1 OUTPUT GPIO(4) @@ -145,6 +152,7 @@ SPIDEV mpu6500 SPI2 DEVID2 MPU6500_CS MODE3 1*MHZ 4*MHZ SPIDEV ms5611_int SPI1 DEVID3 BARO_CS MODE3 20*MHZ 20*MHZ SPIDEV lis3mdl SPI2 DEVID5 MAG_CS MODE3 500*KHZ 500*KHZ SPIDEV bmp280 SPI1 DEVID3 BARO_CS MODE3 1*MHZ 8*MHZ +SPIDEV dps310 SPI1 DEVID3 BARO_CS MODE3 5*MHZ 5*MHZ # enable FAT filesystem define HAL_OS_FATFS_IO 1 @@ -196,4 +204,7 @@ define STM32_I2C_USE_DMA FALSE # one barometer BARO MS56XX SPI:ms5611_int BARO BMP280 SPI:bmp280 +BARO DPS310 SPI:dps310 define HAL_BARO_ALLOW_INIT_NO_BARO +define HAL_COMPASS_AUTO_ROT_DEFAULT 2 +