Betaflight飛控資源重新映射:完美解決各種接錯線/飛控串口資源不夠的問題!

首發(fā)本人知乎
各位在使用betaflight固件的穿越機(jī)飛控時(shí),相比時(shí)常遇到下列情況(反正我有時(shí)候會):
0.使用分體電調(diào)/四合一電調(diào)和飛控不是配套的時(shí)候,我發(fā)現(xiàn)我的電機(jī)編號和飛控中的不一致,是混亂的!
啊呀呀我焊接的時(shí)候怎么把rx和tx焊接反了啊?。ㄟ@一條在bf中文wiki中似乎說不行,但是實(shí)際上是可行的,如下圖為證)

2.我的飛控上串口的數(shù)量不夠,想要接上更多需要串口的設(shè)備!
3.我想要啟用舵機(jī),這樣我的飛機(jī)就可以使用舵機(jī)或者舵機(jī)云臺啦?。m然我真的想不出來有啥用在穿越機(jī)上,不過固定翼玩家肯定會用到的啦?。?/p>
如何解決上述令人頭大的問題呢?讓我們祭出今天的學(xué)習(xí)內(nèi)容:betaflight資源重新映射!
Io重映射可以讓你配置mcu上的引腳,使其適用于各種功能。
在betaflight的cli命令行里可以進(jìn)行重映射(調(diào)參前記得卸槳?。。。?/p>
然后接下來就是重要的resource命令了:
resource [function name] [index] [pin]
(退出前記得輸入save命令)
save
看到這里,你肯定是一頭霧水

(例程來了,別打我
E.G. 0.重新映射電機(jī)
場景:我使用了分體電調(diào)/不配套的四合一電調(diào)/電調(diào)維修之后電機(jī)順序亂了,又懶得拆開焊接
首先假設(shè)你的一號電機(jī)和二號電機(jī)(m1與m2)順序亂了,需要將m1與m2對調(diào)
首先在cli中輸入
resource list
然后飛控會給出引腳反饋(下為舉例,具體輸出內(nèi)容依飛控決定)
... A06: MOTOR 1 A07: MOTOR 2 A11: MOTOR 3 A12: MOTOR 4 ...
吶,這個時(shí)候我們知道:A06引腳是映射到m1上的,A07是映射到m2上的
顯而易見,交換兩個電機(jī)映射,把m1映射到A07,m2映射到A06上就行了。
resource motor 1 a7 resource motor 2 a6
最后別忘了在cli中保存
save
E.G.1.交換rx、tx端口
假設(shè)rx2是sbus接收機(jī)信號輸入,但是我把sbus引線焊在tx上了(這點(diǎn)錯你怎么翻的出來?接收機(jī)一屆一屆一屆換了多少個了?。?/p>
假如我們已經(jīng)知道rx2對應(yīng)a10引腳,tx2對應(yīng)a11引腳,
顯而易見,將rx2映射到a11,tx2映射到a10上就行了
resource serial_rx 2 a11 resource serial_tx 2 a10 save
E.G. 2.拓展更多串口,使飛機(jī)接上更多外設(shè)(如GPS,大疆天空端等)/拓展出舵機(jī)接口
假設(shè)我的飛控板上有rx1-rx5,tx1-tx5,但是我都塞滿了各種傳感器(寧這超重了是吧),我還想加一個rx6和tx6用于添加其他外設(shè)(該減肥了啊喂):
飛控板上面可能有兩個很好的擴(kuò)展串口的選項(xiàng):
LED_STRIP(連接ws2812 LED燈,咱不需要這個花哨玩意兒對吧) 和 PPM(連接PPM接收機(jī),老古董了,畢竟延時(shí)屬實(shí)太高了)
ok,此刻你通過resource list命令發(fā)現(xiàn)(當(dāng)然具體看你飛控而定),LED_STRIP映射在a12上,PPM映射在a13上。你靈機(jī)一動:把a(bǔ)13映射成rx6,a12映射成tx6(是吧大聰明)
然后看完了前兩個例程的你很熟練的掏出了大寶貝,啊不對是resource命令:
resource serial_rx 6 a13 resource serial_tx 6 a12 save
然后你那超載的小飛機(jī)就有了繼續(xù)掛在外設(shè)超載的機(jī)會(bushi)
同理,你可以把serial_rx和serial_tx改成servo,以接上舵機(jī):
resource servo 1 a13 resource servo 2 a12 save
文章的最后,附上一張來自betaflight中文wiki的資源重新定向參考圖:


最后祝各位少炸機(jī),不丟機(jī),次次都能爽飛!
參考文獻(xiàn):
Betaflight中文wiki 資源重新映射