Pixhawk一直再用來做項目,沒有時間仔細研究代碼,因為之前研究過一些無人機開源項目代碼,其實大同小異。
比如MWC,我之前曾經把里面的代碼研一遍,并且進行多次開發,效果也不錯。
3DR的東西寫的比MWC規范多了,應該是更好弄一些,我把之前研究其它開源項目的經驗寫一下把。
進入一個新的智能硬件開源項目,里面的程序架構是非常關鍵的,說白了也就是知道文件目錄的意義。
主文件,控制算法,姿態算法,導航算法,傳感器接口,函數定義文件,程序配置文件,特殊變量定義文件等等,這些文件都有標準的名稱,很容易區分,而且這些開源程序現在也規矩多了,文件說明也寫的很清楚,外國開源項目不像中國某些項目“猶抱琵琶半遮面”,不肯寫說明,或者故意寫很多垃圾代碼。
老外放在github上的都很清晰。
弄懂這些就要找準自己二次開發的方向,想多加功能?減少功能?改變算法?然后,注意了,關鍵:::::::從主函數入手!就算你只是改動一個小地方,也要把主函數搞清楚,然后進入相關函數,或者文件位置進行二次開發。
我還記得自己前兩年改MWC改完之后,發現新版竟然跟我改的一樣,自己還有些得意,這些年沒改代碼都有些手癢了。