複数機能があって便利ではあるのだけど、実際のデバッグで使うには不便な機能が結構あるので自前ビルドをしようと思ったらハマったのでメモ。と言うか、作りがどうも素人臭い部分があってうざいので本当の意味ではQGroundControl使う方がクロスプラットフォーム的な観点も含めて出自が良いんじゃないかと思うのだけど。*1
基本的に↓を見ながらやれば出来るとは思う。部分的にハマったポイントだけ列挙しておきます。(for 自分用。後から書いてるので抜け漏れあるかもしれません)
Building Mission Planner with Visual Studio | Developer
環境設定
前提として、 Windows 10 + Visual Studio 2013でやってます。VSはBizsparkがあったのでPremiereにしてますが別にCommunity Editionで十分のはず。
ソースダウンロード
$ git clone https://github.com/diydrones/MissionPlanner
特に何も考え無い。tortoisegitでもsourcetreeでもVSのgitクライアントでも良い気がします。
ビルド
cloneした直下にある"Ardupilot.sln"をVSから開いてF5。nugetで追加パッケージを落としたりして気づいたら
例外吐きますがアンマネージドコードからマネージドコードを呼び出してるよという警告のはずなのでとりあえず無視します(F5)
構造の設計はまー理解しますが、保守性に㌧だ実装だとは個人的には思えない。。。
*1:なんか、MissionPlannerじゃないと出来ない機能があると聞いた気がするけれど、どの機能だったかは聞いてないor聞いたけれど忘れてしまった