コックピットを作る

B777のMCPを作ってみたい(3)-ソフトウェア編

更新日:

前回はスイッチ類のプロトタイプを作ってみましたが、結構簡単にできますね。

だたし、それもLink2fsというソフトのおかげ。

前回描いた通りLink2fsでは42個のスイッチしか繋げられません。

そこで自前のプログラムでFSXと通信できるプログラムを作成中です。

自分用に考えをまとめて書いておきます。

FSXとの通信方法

これを書くまでに様々な方法を考えたが、実はいい方法が思い浮かんでいない。

選択肢としては

  1. SimConnect で通信する
  2. FSUIPC で通信する

がある。

これらはバックグラウンドで起動しているソフトウェアで、情報を取り出すプログラムを書かなくてはいけない。

プログラム言語の選択

これが難しいところで、現在はC#かC++で考えている。

どちらもCが付くが、結構な差がある。

C++は、PMDGからSDKが提供されているので、簡単にデータ通信はできた。しかし、シリアル通信が面倒で、いまだにシリアル通信に成功していない。

シリアル通信とは、ソフトとArduinoをつなぐ通信方法である。

一方C#は、シリアル通信との相性が抜群である。特にVisual Studioではあらかじめ機能として用意されているぐらいだ。

C#ではPMDGからSDKが提供されていないため、FSXとの連携が難しい。

PMDGはFSXのデフォルト機とは全く異なる変数で動いているため、ネット上のほとんどの情報が役に立たない。

私としては、GUIとシリアル通信が楽なC#で開発を行いたいので、現在はC#でFSXと通信する方法を検討中だ。

各プログラムのSDK配布状況

  • PMDG:C++で使えるライブラリファイル(.h)とサンプルプログラム(.cpp)
  • FSX:SimConnectの各種ライブラリ(.h・.dll)、サンプルプログラム(.sln)
  • FSUIPC:上のSimConnectサンプルのFSUIPCバージョン

最後に

今回はちょっとサボり気味でしたが、ここが一番重要だと考えています。

また進捗があり次第この続きを書いていく。

次回は電子回路編でお会いしましょう。

-コックピットを作る

Copyright© Studio Gotz Blog , 2019 All Rights Reserved Powered by AFFINGER5.