SSブログ

FDS SYSボードをXPlaneへ接続 [X-Plane]

今回はFlightDeck SolutionsのSYSボードをXP11のZIBOへ直接接続してみます。

SYSボードを接続できれば、MIP、オーバーヘッドあらゆるスイッチ、LEDが接続できます。
今回も特に問題なく接続できました。
opencockpitsはまだ未接続ボードが残ってますが、SISMO以外はほぼ行けそうです。


■接続済
・YOKE ACE ジョイスティック接続
・Rudder Saitek ジョイスティック接続
・TQ Revolutionsim Products plugin経由で接続(Ocusbmapper)
・CDU Flightdeck Solutions plugin経由で接続(FDStoXP)
・MIP Flightdeck Solutions plugin経由で接続(FDStoXP) ⇒今回接続完了

■検証中/未検証
・FLAP Gauge Opencockpits plugin経由で接続(Ocusbmapper)
・AFT OVHD Opencockpits plugin経由で接続(Ocusbmapper)
・MCP Cpflight 有料ソフトウェアで対応(Midwest)
・FWD OVHD SISMO 難しそう。。。これ無理かも。


SYSボードはFDS-SYS4です。
入力64、出力128でMIPに利用するとちょっと入力が不足します。

IMG_0008.JPG

◆手順◆
①FDStoXPをダウンロード、インストール
例によってpikitangaさんのプラグインです。
https://forums.x-plane.org/index.php?/files/file/51240-fdstoxp/

②luaスクリプトを書いて機体のpluginフォルダへ保存
スクリプトというほどでもなく、SYSボードにインプットNoとアウトプットNoにそれぞれXPLANEのdatarefをあてがうだけです。

--*************************************************************************************--
--** CONSTANTS **--
--*************************************************************************************--

--デバイス番号宣言
BOARD4102_DEVICE = 0

-- 4102 Annunciators SYSボードのLED出力番号宣言
ANN_AUTO_BRAKE_DISARM = 1

-- 4102 Switches SYSボードの入力スイッチ番号宣言
SW_AUTOBRAKE_RTO = 1
SW_AUTOBRAKE_OFF = 2
SW_AUTOBRAKE_ONE = 3
SW_AUTOBRAKE_TWO = 4
SW_AUTOBRAKE_THREE = 5
SW_AUTOBRAKE_MAX = 6


--*************************************************************************************--
--** FIND CUSTOM DATAREFS **--
--*************************************************************************************--


--SYSボードのインプット、アウトプットをdatarefに関連付け

board4102DR_input = find_dataref("pikitanga/fdstoxp/board4102_" .. BOARD4102_DEVICE .. "/input")
board4102DR_output_leds = find_dataref("pikitanga/fdstoxp/board4102_" .. BOARD4102_DEVICE .. "/output/leds")

B738DR_ann_auto_brake_disarm = find_dataref("laminar/B738/annunciator/auto_brake_disarm")
B738DR_autobrake_pos = find_dataref("laminar/B738/autobrake/autobrake_pos")

--*************************************************************************************--
--** FIND CUSTOM COMMANDS **--
--*************************************************************************************--

--オートブレーキを動かすコマンドを宣言

B738CMD_autobrake_dn = find_command("laminar/B738/knob/autobrake_dn")
B738CMD_autobrake_up = find_command("laminar/B738/knob/autobrake_up")


--*************************************************************************************--
--** SYSTEM FUNCTIONS **--
--*************************************************************************************--

--オートブレーキノブが動かされた場合の挙動をプログラム

function process_knobs()

-- Autobrakes

if (board4102DR_input[SW_AUTOBRAKE_RTO] == 1 and B738DR_autobrake_pos > 0.1) then
B738CMD_autobrake_dn:once()
end

if (board4102DR_input[SW_AUTOBRAKE_OFF] == 1 and B738DR_autobrake_pos > 1.1) then
B738CMD_autobrake_dn:once()
end

if (board4102DR_input[SW_AUTOBRAKE_OFF] == 1 and B738DR_autobrake_pos < 0.9) then
B738CMD_autobrake_up:once()
end

if (board4102DR_input[SW_AUTOBRAKE_ONE] == 1 and B738DR_autobrake_pos > 2.1) then
B738CMD_autobrake_dn:once()
end

if (board4102DR_input[SW_AUTOBRAKE_ONE] == 1 and B738DR_autobrake_pos < 1.9) then
B738CMD_autobrake_up:once()
end

end

function process_annunciators()

-- auto brake disarm オートブレーキアナウンシエーターの状態を取得してLEDへ出力

if (B738DR_ann_auto_brake_disarm >= 0.5) then
board4102DR_output_leds[ANN_AUTO_BRAKE_DISARM] = 1
else
board4102DR_output_leds[ANN_AUTO_BRAKE_DISARM] = 0
end

end


--*************************************************************************************--
--** XLUA EVENT CALLBACKS **--
--*************************************************************************************--

function before_physics()

process_knobs()
process_annunciators()

end



③ボード接続
OCUSBMAPPERとは違い、USBを挿すだけで勝手に認識します。
SYS4ボード(4102)は3枚まで認識できるようなので、オーバーヘッド等への拡張も可能ですね。


◆接続動画◆


あとはopencockpitのボードがいくつかあるのでこれらをちまちま接続していこうと思います。


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

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。