ひーちーのつぶやき

Macいじり,3DCG,デジカメ,ドローンを楽しんでます。

Hobby マルチコプター

LIbrePilot用ファームのCC3D MINI OP OSDまたはminimOSDでコールサインを点滅するようにした。

2016/04/13

LIbrePilot用ファームのCC3D MINI OP OSDまたはminimOSDでコールサインを点滅するようにした。Revolution miniに接続しているCC3D MINI OP OSDでコールサインを表示するように
ファームウェアの修正はとっくにしているが、表示しっぱなしなので面白くない。
そこで、単純だけどコールサインを表示/非表示を一定間隔でするようにファームウェアを
更に修正してみた。

さて、CC3D MINI OP OSDの基本のファームウェアはLibrePilotGCSを使っているので
ここからソースコードをダウンロードしたもの。
このソースコードを修正してコールサインを表示させるようにしたものに点滅動作を
追加した。

とはいっても、僕自身はメカ屋なので文法があまりわからない。
なので、このページを参照してソースコードを修正した。

やることは簡単で一定時間コールサインを表示し、一定時間空白を表示する。
これをコールサイン表示の関数に飛んでくるたびに変数を増加させ、変数の値により
コールサイン表示→空白表示→変数を初期化となるようにした。

つまり、OSD_Pnels.inoの先頭の方で
static int initialnum ; //initialnum is Callsign on/off timer

Pan_Callsignの関数部分で

if (initialnum > 100)
{
initialnum = 0 ;
}

else if (initialnum > 50)
{
initialnum = initialnum + 1 ;
「空白を表示する」
}

else
{
initialnum = initialnum + 1 ;
「コールサインを表示する」
}

って感じでif else文でコールサインのON/OFFを一定間隔でやるようにした。
時間タイマーじゃないのでif else文の数値をいじらないとON/OFF間隔は変更できないけど
ファームウェアの容量を考えるとこの辺でギリギリなんだよね。

っで、実際の表示はこんな感じ。

とりあえず、このファームウェアをここに保存しておこう。
なお、対応するLibrePilotGCSは開発中のバージョン16.04の以下のリリース前のもの。
Mac版 LibrePilot-15.09+r503-g4f5dd71-osx.dmg
Win版 LibrePilot-15.09+r505-g5a97420_i686.exe

-Hobby, マルチコプター
-, , , , ,