XP11 ZIBOにRevsim TQを接続する その3 [X-Plane]
Revsim TQからXP11 ZIBO737へフラップを入力します。
これはめちゃめちゃ簡単。
Revsimのフラップポテンショメーターの値を読み、一定の範囲内に入ったらFLAP Xをセットするという命令を繰り返すだけ。
我が家のRevsimポテンショメーターは0から228なので、入力値を228で割って0から1の値に換算。
sim上のフラップ0からフラップ40までの位置をそれぞれ設定しておき、±0.05の範囲に入ったら、各フラップに設定するコマンドを投げてやる、という簡単なプログラム。
動作状況
次はトリムインジケーターとトリムホイールを設定します。
これはめちゃめちゃ簡単。
Revsimのフラップポテンショメーターの値を読み、一定の範囲内に入ったらFLAP Xをセットするという命令を繰り返すだけ。
我が家のRevsimポテンショメーターは0から228なので、入力値を228で割って0から1の値に換算。
sim上のフラップ0からフラップ40までの位置をそれぞれ設定しておき、±0.05の範囲に入ったら、各フラップに設定するコマンドを投げてやる、という簡単なプログラム。
--*************************************************************************************-- --** CONSTANTS **-- --*************************************************************************************-- DCMOTORS_DEVICE = 0 --*************************************************************************************-- --** FIND CUSTOM DATAREFS **-- --*************************************************************************************-- dcmDR_input_analog = find_dataref("pikitanga/ocusbmapper/dcm" .. DCMOTORS_DEVICE .. "/input/analog") dcmDR_output_motor = find_dataref("pikitanga/ocusbmapper/dcm" .. DCMOTORS_DEVICE .. "/output/motor") --*************************************************************************************-- --** FIND CUSTOM COMMANDS **-- --*************************************************************************************-- simDR_flap0 = find_command("laminar/B738/push_button/flaps_0") simDR_flap1 = find_command("laminar/B738/push_button/flaps_1") simDR_flap2 = find_command("laminar/B738/push_button/flaps_2") simDR_flap5 = find_command("laminar/B738/push_button/flaps_5") simDR_flap10 = find_command("laminar/B738/push_button/flaps_10") simDR_flap15 = find_command("laminar/B738/push_button/flaps_15") simDR_flap25 = find_command("laminar/B738/push_button/flaps_25") simDR_flap30 = find_command("laminar/B738/push_button/flaps_30") simDR_flap40 = find_command("laminar/B738/push_button/flaps_40") --*************************************************************************************-- --** LOCAL VARIABLES **-- --*************************************************************************************-- flaps_0 = 0.008772 flaps_1 = 0.100877 flaps_2 = 0.22807 flaps_5 = 0.381579 flaps_10 = 0.52193 flaps_15 = 0.653509 flaps_25 = 0.798246 flaps_30 = 0.894737 flaps_40 = 1.004386 flap_plus = 0.05 flap_minus = -0.05 --*************************************************************************************-- --** SYSTEM FUNCTIONS **-- --*************************************************************************************-- function process_flaps() -- flap position revsim_flaps_pos = dcmDR_input_analog[2] / 228 if (revsim_flaps_pos < flaps_0 + flap_plus) then simDR_flap0:once() end if (revsim_flaps_pos < flaps_1 + flap_plus) then if (revsim_flaps_pos > flaps_1 + flap_minus) then simDR_flap1:once() end end if (revsim_flaps_pos < flaps_2 + flap_plus) then if (revsim_flaps_pos > flaps_2 + flap_minus) then simDR_flap2:once() end end if (revsim_flaps_pos < flaps_5 + flap_plus) then if (revsim_flaps_pos > flaps_5 + flap_minus) then simDR_flap5:once() end end if (revsim_flaps_pos < flaps_10 + flap_plus) then if (revsim_flaps_pos > flaps_10 + flap_minus) then simDR_flap10:once() end end if (revsim_flaps_pos < flaps_15 + flap_plus) then if (revsim_flaps_pos > flaps_15 + flap_minus) then simDR_flap15:once() end end if (revsim_flaps_pos < flaps_25 + flap_plus) then if (revsim_flaps_pos > flaps_25 + flap_minus) then simDR_flap25:once() end end if (revsim_flaps_pos < flaps_30 + flap_plus) then if (revsim_flaps_pos > flaps_30 + flap_minus) then simDR_flap30:once() end end if (revsim_flaps_pos > flaps_40 + flap_minus) then simDR_flap40:once() end end --*************************************************************************************-- --** XLUA EVENT CALLBACKS **-- --*************************************************************************************-- function before_physics() process_flaps() end
動作状況
次はトリムインジケーターとトリムホイールを設定します。
2019-11-20 21:59
nice!(0)
コメント(0)
コメント 0