諸々の記録

その時々 興味にある事について

【忘備録】MobiFlight でLCDの画面切り替え設定

MobiFlight でフライトシミュレーター(MSFS2020)用コントロールパネル3号機の制作をしていますが、いざMobiFlight の設定をしようと思ったら、以前設定してから久しぶりなので忘れてるというのと、MobiFlight のバージョンアップがあって画面構成が変わったので、設定方法を確認するまで時間がかかってしまいました。

特にLCDの画面の切り替えに変数を使っていて複雑なので、ここに忘備録としてここに記しておきたいと思います。

まず、ツマミ(Encoder)を回すと単純にカウントアップ、カウントダウンする変数 PageNo を下記のように Input config に Encoder の Input 設定を追加します。

この PageNo はツマミを回していくと、どんどん値が大きくなって、100でも200 (逆に回していくと -100 でも -200 にでも)なってしまう変数です。

これを画面の番号(5画面なら 1~5)に変換する必要があります。
この設定は、Output config の方に、PageIndex として設定します。

下記のように Sim Variable タブの Variable Type で MobiFlight Variable を選択すると Output config のリストに追加して Descriptionに設定した PageIndex が 変数名となる変数が設定できます。

で、ここが分かりずらいところですが、上記の Variable Settings で指定するのは、この設定画面で取り扱いする変数の元となる変数($ に入る値)を指定します。
ここでは、 PageNo を元にして値を設定するので、PageNo を指定します。

やりたいことは、この PageNo を 1~5 のサイクリックするということなので、Modyfy タブで Modifier に下記の様に設定します。

先ほど 変数の元($)になる値に PageNo を指定したので、まず、 Add Modifier ボタンをクリックして、 Transfom を選択し、IEEERemainder($,5)+1 と設定します。
IEEERemainder($,5) は $(= PageeNo)を5で割った余りを返す関数なので、0~4 になります。これに 1 を加えて、1 ~ 5 になります。
もし、画面を 6 つにしたい場合は、IEEERemainder($,5)  を IEEERemainder($,6) にすればよいことになります。
と、説明しましたが、上記は PageNo が+の値の場合です。
ツマミをマイナス側に回していくと、上記の値は -4 ~ 0 になりますので、これを 1~5にするために、Add Modifier ボタンをクリックして、 Compare を選択し、
 If current Value < 1 then $+5 else $ 
と設定します。

これで、Output config のリストの Descriptionに設定した PageIndex に 1~ 5 の値が設定されます。

次に、LCDの画面を切り替える設定をします。

Output configs に LCD 1 ~ LCD 5 を追加し、それらの設定がそれぞれ PageIndex の有効になる設定をします。
Output config Wizerd  の Precondition で 下記の様に設定します。(最後に指定している数字を 1 ~ 5 で設定)


これでツマミを回すことで LCDの画面が切り替わるようになります。
LCDの表示は2つ以上設定しておかないと切替が確認できないので注意(一度表示すると消えない)

以上、忘備録。