SSブログ

XP11 ZIBOにRevsim TQを接続する その1 [X-Plane]

すっかり更新がご無沙汰してましたが、またちょこっといじりはじめたのでメモがてら。

P3DだとPROSIM+FSUIPC+SIOCてな感じで普通にスロットルやフラップの入力ができてモーター駆動してATを楽しめてたんですが、XP11だとSIOC経由でデバイスがうまく動いてくれません。

ということでたどり着いたのが、OCUSBMAPPERです。

https://forums.x-plane.org/index.php?/files/file/39753-ocusbmapper/


一言でいえば、XP11内の機体と外部デバイスを直接つないでくれるプラグインになります。


イメージ
image001.JPG


こんな感じで、デバイス入力値を拾ってXP11へ。

XP11からモーターへの信号入力、ポテンショメーターからの入力信号をSIOCを介さず、直接opencockpitカードと送受信してくれる優れものです。

有志が作ってくれていて、当初はopen cockpitモーターカードは対応してませんでしたが、リクエストしたらサクッと作ってくれました。

XPのだいご味はP3Dと違い、みんなで自由にカスタマイズできるプラットフォームであるところも魅力の一つです。


■OCUSBMapperとは
This plugin gives you total control of the Opencockpits MCP, EFIS, CDU, USB & Master Card using X-Plane custom datarefs.
This means you can use XLUA, FlyWithLua, Python, C or C++ to customise the devices for any aircraft.
No SIOC required.

X-Planeのカスタムdatarefを使ってopencockpitsのカードをコントロールできるようにするプラグイン。SIOCプログラムは不要。



datarefというのが、いわゆるFSUIPCのようなもので、XP11上の各種状態を、laminar/B738/flt_ctrls/flap_leverのような認識しやすい変数で入出力をやり取りすることができます。


IOCPも数字だけのオフセットだったのではるかに分かりやすいです。
しかも、主要なカードに対応するため、ビルダーとしては大変ありがたいプラグインです。
(自分はやむを得ずビルダーはお休み状態ですが)



導入方法は以下。

■設定手順
1.OCUsbmapper本体をダウンロード
2.プラグインコピペ

F:\Program Files (x86)\Steam\steamapps\common\X-Plane 11\Resources\plugins内にOCUSBMapperフォルダごとコピペ


3.XP11起動
初期画面がでたらシャットダウン


4.設定ファイル初期化
Unplug all usb leads. Delete all lines below "Log FDS:0:" from the preferences file.
XPLANEをシャットダウンしてF:\Program Files (x86)\Steam\steamapps\common\X-Plane 11\Output\preferences内のOCUSBMapper.prfのLog UDP:0:以下を削除して保存
→USB接続先を変更都度初期化を行うこと


5.カードを接続
Plug in one of each device. The ones you want to be EFIS[0], CDU[0], USB[0] & SERVO[0].
認識させたいカードを物理接続


6.prfファイルを確認
Start X-Plane until the first screen is reached & close it down again. Check the preferences file to make sure its updated.
XPLANEを起動して初期画面が出たら終了するとprfファイルが更新されてカードが認識されるようになる。

7.opencockpits_dc_motorsファイル(基本となるluaスクリプト)をダウンロード

8.F:\Program Files (x86)\Steam\steamapps\common\X-Plane 11\Aircraft\Extra Aircraft\B737-800X\plugins\xlua\scripts内にopencockpits_dc_motorsをフォルダごとコピペ

9.上記フォルダ内luaファイル上で入出力のプログラミング

次回は、TQのポテンショメーターからXP11内のZIBO737(PROSIMみたいなもの。フリーウェア)のTQを動かしつつ、XP11のATでモーターを駆動させてみます。


OCUSBMAPPER
Opencockpits
DC Motor card
nice!(0)  コメント(0) 

XP11 Prosim設定 その2(TQ DCモーター) [X-Plane]

次にRevolution SimproductsのMotorized TQのスロットルをProsim経由で動かす設定を行います。

Revsimは以下5つのDCモーターとポテンショメーターで構成されています。
①LEFT TQ
②RIGHT TQ
③TRIM Gauge
④TRIM Wheel
⑤SPEED Brake

OpencockpitsのDCモーターカード
Untitled.jpg

我が家TQの接続状況
IMG_1142.jpg

ServoならProsimの値をSIOCを経由して直接サーボモーターに渡してやれば動きます(例:FLAPゲージ)が、DCモーターは動かす際に電流量を入力してやる必要があるので、多少SIOCで計算が必要です。

5つのDCモーター制御に共通する基本的な流れとしては、Prosimから出力された「あるべき位置」を受け取って、デバイスのポテンショメーターから得た「現在位置」を比較し、違う場合にDCモーターへ信号を送って動作させる、というロジックです。

以下のようなイメージ
Untitled2.jpg

■SIOC(LEFTのみ)
元々提供されているスクリプトがあるので、それをベースに入力元をFSUIPCからProsimに変更しました。

1.現在位置を0001にセット。DCモーター動作ルーチン呼び出し
Var 0001, name ENG1_Pot, static, Link USB_ANALOGIC, Device 1, Input 5, PosL 10, PosC 122, PosR 255
{
CALL &ENG1_Pot_MOVED
}

2.「現在位置」が変わった場合動作位置計算(手でスロットルを動かした場合)
Var 0008, name ThrottleMan1
{
&threskideger = DELAY &ThrottleMan1 ,20
IF &ThrottleMan1 <> &threskideger
{
CALL &potfarkcalc      // 動作位置計算呼び出し
}
}

3.あるべき位置が変わった場合動作位置計算(Prosimからの指示値が変化した場合)
Var 0025, name threskideger
Var 0026, name throttleMot1 // Prosimからあるべき位置取得
{
&threskideger = DELAY &throttleMot1 ,20
IF &throttleMot1 <> &threskideger
{
CALL &potfarkcalc      // 動作位置計算呼び出し
}
}

4.動作位置計算(位置に幅を持たせることで細かな動きを排除する目的)
Var 0032, name potminus
Var 0033, name potplus
Var 0054, name potfarkcalc, Link SUBRUTINE
{
&potfark = &throttleMot1
&potplus = &potfark + 3
&potminus = &potfark - 3
}

5.DCモーター動作ルーチン
Var 0018, name ENG1_Pot_MOVED, Link SUBRUTINE
{
IF &ATengage = 1
{
IF &ENG1_Pot < &potfark
{
CALL &ThrMotionFWD   // スロットル前進ルーチン
}
IF &ENG1_Pot > &potfark
{
CALL &ThrMotionBACK  // スロットル後退ルーチン
}
IF &ENG1_Pot < &potplus
{
IF &ENG1_Pot > &potminus
{
&THR_MOTOR1 = 0   // スロットル停止
}
}
}
IF &ATengage = 0
{
&ThrottleMan1 = &ENG1_Pot
CALL &MotorStop
}
}

6.スロットル前進ルーチン
フライトモードに応じてスロットルを前進させる値をDCモーターへ出力
※後退ルーチンも同様なので省略

Var 0056, name ThrMotionFWD, Link SUBRUTINE
{
IF &Thrmode = 2
{
&THR_MOTOR1 = &SPD_THR_UP1
}
IF &Thrmode = 3
{
&THR_MOTOR1 = &SPD_THR_UP1
}
IF &Thrmode = 6
{
&THR_MOTOR1 = &SPD_THR_TOGA
}
IF &Thrmode = 9
{
&THR_MOTOR1 = &SPD_THR_UP1
}
IF &Thrmode = 1
{
&ThrottleMan1 = &ENG1_Pot
CALL &MotorStop
}
IF &Thrmode = 5
{
&THR_MOTOR1 = &SPD_THR_UP1
}
}

以上で、一応スロットルはP3Dの時と同じレベルで動作するようになりました。
次は同じ要領でTRIMゲージとTRIMホイールを設定していきます。



nice!(0)  コメント(1) 

X-Plane11 Prosim2.0 設定その1 [X-Plane]

XP11でProsimの設定を行います。

P3Dでそのまま使っていたProsimのSIMをXplaneに切り替えただけでそのまま問題なく動いてくれればいいんですが、もちろんそううまくはいきません。。。

Prosimには主要5モジュールがあるので順に確認していきます。
機体はX737でX737プラグインは停止状態。

■Prosim モジュール
Display 確認済み
MCP 確認済み(CPFlight MCP Pro)
Throttle 未確認
CDU 未確認(FlightDeck Solutions)
Panel 未確認(SISMO)

Displayは表示だけなので何の問題もなく、MCPも確認済みなのでThrottleのチェックを行います。
結論から言うとFSUIPCとのIF経由でSIOC制御しているRevolution SimproductsのThrottleがそのままだと全然ダメでした。

Rev-Sim用のSIOCはすべてFSUIPCとのI/Fによって自ら計算して動作しているので、FSUIPCとデータのやりとりができないと致命的です。
一応、XPUIPCという無償プラグインがあるんですが、これだとまともに動かないことが判明。
トリムのDCモーターが回りっぱなし、TQモーターがうんともすんとも言わない、というような事態が発生します。

ざっとSIOCをチェックすると使っているFSUIPCのオフセットがこんなにありました。。。

089A is throttle 1 control and the disconnect bit in 310A is bit 6
0932 is throttle 2 and the 310A bit is bit 7
0505 ?
088C Engine 1 Throttle lever, –4096 to +16384
0924 Engine 2 Throttle lever, –4096 to +16384
02BC IAS: Indicated Air Speed, as knots * 128
04E0 Area reserved for Project Magenta
2EA0 Elevator trim deflection, in radians, as a double (FLOAT64)
62BC  PMDG's use of FSUIPC's offsets in FS9 are proprietary to them
0BD0 Spoilers control, 0 off to 16383 fully deployed (4800 is set by arming)
0366 Aircraft on ground flag (0=airborne, 1=on ground)
02B4 GS: Ground Speed, as 65536*metres/sec.
0BC8 Parking brake: 0=off, 32767=on
0BE8 Gear control: 0=Up, 16383=Down
0BDC Flaps control, 0=up, 16383=full
04F2 MCP/FCU Throughpass
04F0 MCP/FCU Lights (Read Only)

基本的には上記の数値を使ってProsimが計算してくれてるはずなので、DCモーターをどの程度動かすかはProsimから値をもらって動作させ、TQ上のPotの現在位置をProsimへ返す、というIN/OUTのみで実現できるはず。。。と考えてます。

まずは、TQの各スイッチ、Analog入力をProsimへ渡すよう1から定義していきます。
TQからのアナログ入力をVar番号で宣言します。

Var 0001, name ENG1_Pot, static, Link USB_ANALOGIC, Device 1, Input 5, PosL 10, PosC 122, PosR 245
Var 0002, name ENG2_Pot, static, Link USB_ANALOGIC, Device 1, Input 1, PosL 10, PosC 122, PosR 245
Var 0003, name TrimIndPot, static, Link USB_ANALOGIC, Device 1, Input 3, PosL 10, PosC 122, PosR 255
Var 0004, name speedBrkPot, static, Link USB_ANALOGIC, Device 1, Input 4, PosL 10, PosC 85, PosR 154
Var 0005, name flapPOT, static, Link USB_ANALOGIC, Device 1, Input 2, PosL 10, PosC 122, PosR 255

後はこのVar番号をProsim側の入力にセットしてやれば、入力装置としては動きます。

FLAP
flap.jpg

スロットル
throttle input.jpg

スピードブレーキ
speedbrake.jpg


次にスイッチ類です。

スイッチ類は何の問題もなく、Prosimのconfig画面で設定したいボタンを押して、「A」ボタンを押してアサインしていくだけで完了します。

prosimconfig.jpg

■設定したスイッチ
TOGA
AT Disconnect
Parking Brake
Fuel Switch
STAB Trim

一応、これでRevsimのTQを通じてProsim→XPを制御することができます。

次回は、逆にProsimからTQのDC Motorを動かすよう組んでみます。


nice!(0)  コメント(1) 

X-Plane11 Prosim2.0 CPFlight MCP737PRO接続(X737) [X-Plane]

今度はCPFlightのMCPをProsim2.0経由で接続してみます。

■準備
・フリー機体X737のインストール
・ProsimからXplane用のプラグインをインストール
・X737のプラグインは停止状態にする
・XPUIPCはインストールしない(FSUIPCのXP版)

一応、問題なく自動操縦が可能でした。
ただやっぱり離陸時の挙動が気になるんですよねー。
TOGA押した後ってこれで合ってましたっけ。。。




nice!(0)  コメント(0) 

X-Plane11 CPFlight MCP737PRO接続(X737) [X-Plane]

というわけで、今度はX737というフリーで配布されている機体とCPFlightを直で接続してみました。

X737
https://www.eadt.eu/

CPFlightのXP用ドライバーが、X737用と書いているだけのことはあって、デフォルト737よりは全然ましに動きます。



XP11上でTOGAモードにセットして離陸してるんですが、スロットル、ピッチモードなどが正しく入ってなくて、N1にセットされないまま離陸しちゃってます。
この辺はいまいちまだわからず。

フライト中の自動操縦は問題ない感じです。
動画にはありませんが、ILS、GSもちゃんとキャプチャしてアプローチします。

次はProsim経由で制御してみます。

つづく。

nice!(0)  コメント(0) 

X-Plane11 CPFlight MCP737PRO接続 [X-Plane]

X-Plane11でも今まで購入してきたデバイスがちゃんと接続できて動作するか確認してみようと思います。
(あくまでもトレーニングの片手間にw)

まずは、単純にXP11にCPFLIGHTのMCP737PROを接続、設定してデフォルト737でテストしてみます。

USBにデバイスを接続。
cpflight com5.jpg

USBが認識して勝手に必要なドライバをインストールしてくれます。

次に、CPFlightからドライバーをダウンロードしてインストールします。
mcp737pro1.png

インストールはXP11のPluginフォルダです。
cpflight3.jpg

XP11を起動したらPluginからCPFlightのモジュールを起動し、COMポートを指定してやります。
cpflight.jpg

SETTING画面でCONNECTを選択すると、つながります。
cpflight2.jpg

すんごい簡単。。。

が、全然ちゃんと動きません(笑)
何がちゃんと動かないのかわからないくらいダメです。

■確認できたもの
IAS/MACH
Heading
Altitude
Vert Speed
A/P Engage(ただし2回押さないとダメ)
A/P Disengage
Captain Course

■ダメなもの
F/D
N1
Speed
LVL CHG
FO Course
A/T ARM セットするとTOGAみたいに動作してしまう。かつ、THR HOLDになると出力がRETARD風に落ちる。
・・・などなど多数ありすぎて整理できず。

飛んでみた動画がこれ。
ハードウェア上はN1なのに、XP上ではSPEEDモードになってたりもうぐちゃぐちゃでわけわかりません(笑)


このありさまなので、SpeedもAltitudeもでたらめ。
まったく自動操縦になりません。

まず、Cpflightのドライバーファイル名が「InstXplane64_105.zip」なので、Version1.05のはずが何度やっても1.02のままなのが気になってます。

またCPFlightのサイトには「X737」に対応したぜって書いてあるので、フリーのX737という機体でないとちゃんと動かないのかもしれません。

■CPFLIGHTのリリース
https://www.cpflight.com/en/200617-new-xplane-driver-compatibility-with-xplane11-using-x737-news-15.php


ということでX737を入れて検証してみます。
https://www.eadt.eu/



検証後追記予定。



つづく。


nice!(0)  コメント(8) 

X-Plane11 マルチモニター FPSチューニング [X-Plane]

FPSのチューニングをしようと、基礎データを取って整理してみました。
X-Plane11は、以下のようなSetting画面が用意されてます。

setting_jap.jpg

①モニター設定
PCに接続されているモニターがここに表示されるため、選択するだけでマルチモニターになります。

②視覚効果
HDRの有無などを設定するところで高い設定ほど表示がきれいになります。
「高」以上の設定にしないと、光源が表現されませんので、基本「高」設定です。
グラボ性能に依存。

③質感
テクスチャの細かさです。
これもグラボ依存。

④アンチエイリアス
ギザギザを滑らかにします。
これもグラボ依存。

⑤地上オブジェクトの数
名前の通りで高いほどオブジェクト数が増えます。
これはCPUの性能に依存します。
「中」以上でないと、トラフィックが表示されません。

⑥反射度
名前の通りです。高いほど細かく描写されます。
これもCPU依存です。

特に影響が大きい①と②、⑤について変更するとどの程度影響がでるのか確認してみました。

シーナリーやアドオンの機体、FPSを調整するプラグインなどいろいろ入っていて、これらを細かく書くのは不可能なので、1つの変数だけ動かすとどの程度FPSが動くか、という形で整理しています。

①モニター数
我が家では、4枚を1つのグラボに挿していて測定した環境だとたまたま20FPSでした。
やはりモニター数の増減は大きくFPSに影響してます。20FPSあればぎりぎり飛べる数値です。

monitor.jpg

②視覚効果
HDRがないと、街灯の表現が非常に粗末になるので、「高」設定が必要です。
グラボは結構いいもの(GTX1060、6GBOC版)なので、ここはMinとMaxで20%ほどしか変化しません。

sikaku.jpg

⑤オブジェクト
中設定以上でないと、空港や街灯などのオブジェクトが表示されなくなってしまうので、自分の場合は中以上がマストです。
CPUに依存しますが、それほど大きな変化はないです。

object.jpg



やはり、FPSを劇的に上げるには、PCをマルチ化しないとダメそうです。
とはいっても、P3DのVC4画面よりは軽快に動きます。

■改善施策
①XP11SettingsTool.v104
デフォルトの設定画面は、P3Dに比べると設定項目が少ないですが、「XP11SettingsTool.v104」というプログラムを利用すると、影の質やトラフィックを描画する距離など細かな調整が可能になります。

rendering options setting.jpg

②3jFPS
「3jFPS」というプラグインもフリーで配布されています。
これはターゲットFPSを設定しておけば、状況に応じて勝手にLODや描画の質を動的にチューニングしてターゲットのFPS周辺を維持してくれます。

Untitled.jpg

これらのソフト、プラグインを組み合わせると、ホノルル空港のトラパタを回る分には、ほぼ30FPS周辺をキープしながらフライトできる環境になりました。
(もちろん機材や、雲、時間帯の設定などによっても異なる)


結果として、やや重めの状況でも4画面以上でミニマム30FPSを目指すには、1台のPCではなかなか難しいので、マルチPCの検討が必要そうです。

幸い、X-Plane11には、マルチコンピューターでマルチモニターを実現する機能(片方がサーバーとなり、もう片方がスレーブとなって風景を描画する機能を任せることができる)が実装されているので、いずれマルチの環境も作って、ミニマム30FPSを実現できる環境を考えていこうと思います。

nice!(0)  コメント(2) 

X-Plane11 マルチモニター設定 [X-Plane]

今回はX-Planeでマルチモニターをセットアップしてみます。

X-Planeはネイティブでマルチモニター利用が想定されたUIになっており、設定が非常に楽にできます。
接続されているモニター枚数を勝手に認識して、左右どの画面を表示したいのかセットしてやるだけで簡単にマルチモニター環境が構築できます。

■マルチモニター(PC1台)の設定手順
①1台のPCに1枚グラボを挿してドライバーを入れる。
②Windowsのデスクトップ上で拡張モニターとして認識させる。

desktop.jpg

③X-Planeを起動し、設定画面上で各画面ごとのFOV(視野角)やオフセット(何度の方向を向くか)を設定して完了!!

settei.jpg

P3Dの場合は、通常起動後、設定のビュー内で新規ビューを作成してUndockし、画面を手で左右の拡張モニター画面内へ移動後、ビューの設定画面を開いてFOV(視野角)やオフセット(何度の方向を向くか)をビューごとにセットしていきますが、ここはX-Planeの方がよくできてます。

newview.png

Untitled.jpg

先日新たなモニターも調達したので、現在は以下のモニターが手持ちにありますので、いくつかのパターンを試して、最適なビューが得られるよう試行錯誤してみようと思います。

・100インチプロジェクター x1
・31.5インチモニター x2
・24インチモニター x1
・21.5インチモニター x1


とりあえず、以下の2パターンの感触を確かめてみます。

①プロジェクターをセンターにして31.5インチで両サイドを構えるパターン
s_DSC00064.JPG

s_DSC00063.JPG


②液晶だけで4枚並べるパターン
s_DSC00066.JPG

s_DSC00067.JPG

軽くフライトしてみたのがこちら。


FOVとオフセットは、いままではズームインとアウトで適当に設定していて、全く気にしたことがなかったんですが、ビューのリアリティを求めるには重要な要素らしいですね。

次回はFOVとオフセットを計算してみようと思います。


nice!(0)  コメント(2) 

X-Plane11導入 [X-Plane]

フレームレートを向上させるべく試行錯誤していますが、この度X-Plane11を試してみることにしました。
Steamがクリスマスセール中だったのでわずか5,000円!

一言でまとめると、感動レベルです。

■主なポイント
※注 おもいっきり主観です
光源の表現力が高い(丁寧)
滑走路の勾配がある(これは非常にリアリティを高めます)
デフォルトのシーナリー、オブジェクトの質がP3Dよりも高い
飛行特性が実機により近い感じがする(計算方法が違うらしい)
道路を走る車(トラフィック)の動きが滑らかでリアリティがある
同レベルの表現でもFPSが出る
無料のシーナリーパック、オブジェクトライブラリが非常に充実していて質が高い(でもテクスチャはやはりP3Dの有料アドオンにはかなわない)

現在シミュレーターに求めているのは以下の要素になるんですが、X-Planeの方が総じて良好な印象です。
・フレームレート
・機体特性の再現性
・VFRに適した表現力(目標物)


3点目の「表現力」を比較できるよういくつか画像を並べてみました。
以下3つは「デフォルト」でアドオンなしです。


s_Untitled2.png


s_Untitled5.png


s_Untitled.jpg

P3Dは全体的にくっきりはっきり表現してますがテクスチャがぐだぐだ。
XPはデフォルトでもメッシュやオブジェクトがそこそこ準備されているのがよくわかります。
この状態でVFRだとXPに軍配です。


また、X-Planeで特に感動したのが夜間です。
地上の電灯や走行車両の動きの表現力が素晴らしく、P3Dと比較すると自然に表現されていると思います。
VFRの際は、高速道路の灯りや街の灯りが目標(特に高低差は重要)になりますので、これは重要です。

Untitled.jpg

P3Dはまっ平ら。
XPは滑走路の勾配だけでなく、遠くの山すその街灯(実際に存在する)まで表現されていて凹凸を感じることができます。

空港上空も全然違います。

Untitled2.jpg


ちなみに、FSDreamTeamのhonolulu(https://www.fsdreamteam.com/products_phnl.html)を入れたものとXP11のデフォルトも比較してみました。
好みにもよるかもしれませんが、自分はXPの表現の方(デフォルトだとちょっと暗めです)が好きです。

Untitled3.jpg

XPの「光」は街灯もすべて光源で、近づくと機体の反射も再現されますが、P3Dはテクスチャがべたっと明るいだけっていう作り(違ったらごめんなさい。設定でどうにかなる?)なんでしょうか。

自分の設定では、こんな感じで全然違います。
※以下のX-Planeはhonoluluの無料配布シーナリーを入れた後

1234.jpg

誤解を恐れずに言えば、そもそもの開発思想が違っているように思います。
P3Dは「ゲーム」、X-Planeは「シミュレーター」という感じで、P3Dはくっきりはっきり、XPはシミュレートすることを大事にして作っているという印象です。

また、道路を走るトラフィックの表現も秀逸ですね。
暗くて見にくいかもしれませんが、動画を張っておきます。



いまの自分の目的にはXPの方があっているので、当面P3Dは触らない方向ですかねー。



nice!(0)  コメント(2)