Add option to fail flight surfaces
This commit is contained in:
parent
78d4b67e79
commit
b722915ac6
5 changed files with 653 additions and 169 deletions
|
@ -507,6 +507,15 @@
|
||||||
</gear>
|
</gear>
|
||||||
|
|
||||||
<systems>
|
<systems>
|
||||||
|
<failures n="0">
|
||||||
|
<aileron-left>0</aileron-left>
|
||||||
|
<aileron-right>0</aileron-right>
|
||||||
|
<elevator-left>0</elevator-left>
|
||||||
|
<elevator-right>0</elevator-right>
|
||||||
|
<rudder>0</rudder>
|
||||||
|
<spoiler-left>0</spoiler-left>
|
||||||
|
<spoiler-right>0</spoiler-right>
|
||||||
|
</failures>
|
||||||
<hydraulic n="0">
|
<hydraulic n="0">
|
||||||
<blue-psi>0</blue-psi>
|
<blue-psi>0</blue-psi>
|
||||||
<green-psi>0</green-psi>
|
<green-psi>0</green-psi>
|
||||||
|
|
|
@ -28,6 +28,7 @@ var ps_loaded_dlg = gui.Dialog.new("sim/gui/dialogs/acconfig/psloaded/dialog", "
|
||||||
var init_dlg = gui.Dialog.new("sim/gui/dialogs/acconfig/init/dialog", "Aircraft/A320Family/AircraftConfig/ac_init.xml");
|
var init_dlg = gui.Dialog.new("sim/gui/dialogs/acconfig/init/dialog", "Aircraft/A320Family/AircraftConfig/ac_init.xml");
|
||||||
var help_dlg = gui.Dialog.new("sim/gui/dialogs/acconfig/help/dialog", "Aircraft/A320Family/AircraftConfig/help.xml");
|
var help_dlg = gui.Dialog.new("sim/gui/dialogs/acconfig/help/dialog", "Aircraft/A320Family/AircraftConfig/help.xml");
|
||||||
var fbw_dlg = gui.Dialog.new("sim/gui/dialogs/acconfig/fbw/dialog", "Aircraft/A320Family/AircraftConfig/fbw.xml");
|
var fbw_dlg = gui.Dialog.new("sim/gui/dialogs/acconfig/fbw/dialog", "Aircraft/A320Family/AircraftConfig/fbw.xml");
|
||||||
|
var fail_dlg = gui.Dialog.new("sim/gui/dialogs/acconfig/fail/dialog", "Aircraft/A320Family/AircraftConfig/fail.xml");
|
||||||
spinning.start();
|
spinning.start();
|
||||||
init_dlg.open();
|
init_dlg.open();
|
||||||
|
|
||||||
|
@ -55,6 +56,16 @@ var systemsReset = func {
|
||||||
itaf.ap_init();
|
itaf.ap_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var failReset = func {
|
||||||
|
setprop("/systems/failures/aileron-left", 0);
|
||||||
|
setprop("/systems/failures/aileron-right", 0);
|
||||||
|
setprop("/systems/failures/elevator-left", 0);
|
||||||
|
setprop("/systems/failures/elevator-right", 0);
|
||||||
|
setprop("/systems/failures/rudder", 0);
|
||||||
|
setprop("/systems/failures/spoiler-left", 0);
|
||||||
|
setprop("/systems/failures/spoiler-right", 0);
|
||||||
|
}
|
||||||
|
|
||||||
################
|
################
|
||||||
# Panel States #
|
# Panel States #
|
||||||
################
|
################
|
||||||
|
@ -77,6 +88,7 @@ var colddark = func {
|
||||||
setprop("/controls/flight/speedbrake-arm", 0);
|
setprop("/controls/flight/speedbrake-arm", 0);
|
||||||
setprop("/controls/gear/gear-down", 1);
|
setprop("/controls/gear/gear-down", 1);
|
||||||
systemsReset();
|
systemsReset();
|
||||||
|
failReset();
|
||||||
setprop("/it-autoflight/input/fd1", 1);
|
setprop("/it-autoflight/input/fd1", 1);
|
||||||
setprop("/it-autoflight/input/fd2", 1);
|
setprop("/it-autoflight/input/fd2", 1);
|
||||||
if (getprop("/engines/engine[1]/n2") < 2) {
|
if (getprop("/engines/engine[1]/n2") < 2) {
|
||||||
|
@ -122,6 +134,7 @@ var beforestart = func {
|
||||||
setprop("/controls/flight/speedbrake-arm", 0);
|
setprop("/controls/flight/speedbrake-arm", 0);
|
||||||
setprop("/controls/gear/gear-down", 1);
|
setprop("/controls/gear/gear-down", 1);
|
||||||
systemsReset();
|
systemsReset();
|
||||||
|
failReset();
|
||||||
setprop("/it-autoflight/input/fd1", 1);
|
setprop("/it-autoflight/input/fd1", 1);
|
||||||
setprop("/it-autoflight/input/fd2", 1);
|
setprop("/it-autoflight/input/fd2", 1);
|
||||||
setprop("/controls/APU/master", 0);
|
setprop("/controls/APU/master", 0);
|
||||||
|
@ -192,6 +205,7 @@ var taxi = func {
|
||||||
setprop("/controls/flight/speedbrake-arm", 0);
|
setprop("/controls/flight/speedbrake-arm", 0);
|
||||||
setprop("/controls/gear/gear-down", 1);
|
setprop("/controls/gear/gear-down", 1);
|
||||||
systemsReset();
|
systemsReset();
|
||||||
|
failReset();
|
||||||
setprop("/it-autoflight/input/fd1", 1);
|
setprop("/it-autoflight/input/fd1", 1);
|
||||||
setprop("/it-autoflight/input/fd2", 1);
|
setprop("/it-autoflight/input/fd2", 1);
|
||||||
setprop("/controls/APU/master", 0);
|
setprop("/controls/APU/master", 0);
|
||||||
|
|
137
AircraftConfig/fail.xml
Normal file
137
AircraftConfig/fail.xml
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<!-- A3XX Aircraft Config Dialog -->
|
||||||
|
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<name>aircraft-config-fail</name>
|
||||||
|
<layout>vbox</layout>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>hbox</layout>
|
||||||
|
<text>
|
||||||
|
<halign>left</halign>
|
||||||
|
<label>System Failures</label>
|
||||||
|
</text>
|
||||||
|
<button>
|
||||||
|
<halign>right</halign>
|
||||||
|
<pref-width>20</pref-width>
|
||||||
|
<pref-height>20</pref-height>
|
||||||
|
<legend>X</legend>
|
||||||
|
<key>Esc</key>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-close</command>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<hrule/>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>vbox</layout>
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<halign>left</halign>
|
||||||
|
<label>Failed when Checked</label>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<layout>hbox</layout>
|
||||||
|
|
||||||
|
<hrule>
|
||||||
|
<stretch type="bool">true</stretch>
|
||||||
|
</hrule>
|
||||||
|
<text>
|
||||||
|
<label>Flight Surfaces</label>
|
||||||
|
</text>
|
||||||
|
<hrule>
|
||||||
|
<stretch type="bool">true</stretch>
|
||||||
|
</hrule>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<checkbox>
|
||||||
|
<label>Aileron Left</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<property>/systems/failures/aileron-left</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
<live>true</live>
|
||||||
|
</checkbox>
|
||||||
|
|
||||||
|
<checkbox>
|
||||||
|
<label>Aileron Right</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<property>/systems/failures/aileron-right</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
<live>true</live>
|
||||||
|
</checkbox>
|
||||||
|
|
||||||
|
<checkbox>
|
||||||
|
<label>Elevator Left</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<property>/systems/failures/elevator-left</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
<live>true</live>
|
||||||
|
</checkbox>
|
||||||
|
|
||||||
|
<checkbox>
|
||||||
|
<label>Elevator Right</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<property>/systems/failures/elevator-right</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
<live>true</live>
|
||||||
|
</checkbox>
|
||||||
|
|
||||||
|
<checkbox>
|
||||||
|
<label>Rudder</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<property>/systems/failures/rudder</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
<live>true</live>
|
||||||
|
</checkbox>
|
||||||
|
|
||||||
|
<checkbox>
|
||||||
|
<label>Spoiler Left</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<property>/systems/failures/spoiler-left</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
<live>true</live>
|
||||||
|
</checkbox>
|
||||||
|
|
||||||
|
<checkbox>
|
||||||
|
<label>Spoiler Right</label>
|
||||||
|
<halign>left</halign>
|
||||||
|
<property>/systems/failures/spoiler-right</property>
|
||||||
|
<binding>
|
||||||
|
<command>dialog-apply</command>
|
||||||
|
</binding>
|
||||||
|
<live>true</live>
|
||||||
|
</checkbox>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<legend>Reset All</legend>
|
||||||
|
<halign>center</halign>
|
||||||
|
<padding>5</padding>
|
||||||
|
<binding>
|
||||||
|
<command>nasal</command>
|
||||||
|
<script>
|
||||||
|
acconfig.failReset();
|
||||||
|
</script>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
</PropertyList>
|
|
@ -347,19 +347,37 @@
|
||||||
<live>true</live>
|
<live>true</live>
|
||||||
</checkbox>
|
</checkbox>
|
||||||
|
|
||||||
<button>
|
<group>
|
||||||
<legend>FBW Settings</legend>
|
<layout>hbox</layout>
|
||||||
<halign>center</halign>
|
|
||||||
<padding>5</padding>
|
<button>
|
||||||
<binding>
|
<legend>FBW Settings</legend>
|
||||||
<command>nasal</command>
|
<halign>center</halign>
|
||||||
<script>
|
<padding>5</padding>
|
||||||
acconfig.fbw_dlg.open();
|
<binding>
|
||||||
</script>
|
<command>nasal</command>
|
||||||
</binding>
|
<script>
|
||||||
</button>
|
acconfig.fbw_dlg.open();
|
||||||
|
</script>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button>
|
||||||
|
<legend>System Failures</legend>
|
||||||
|
<halign>center</halign>
|
||||||
|
<padding>5</padding>
|
||||||
|
<binding>
|
||||||
|
<command>nasal</command>
|
||||||
|
<script>
|
||||||
|
acconfig.fail_dlg.open();
|
||||||
|
</script>
|
||||||
|
</binding>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
</PropertyList>
|
</PropertyList>
|
||||||
|
|
|
@ -37,6 +37,10 @@
|
||||||
<property>/gear/gear[2]/wow</property>
|
<property>/gear/gear[2]/wow</property>
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</equals>
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
|
@ -53,31 +57,43 @@
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<or>
|
||||||
<less-than>
|
<and>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
<less-than>
|
</less-than>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
</and>
|
</less-than>
|
||||||
|
</and>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-left</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
</or>
|
||||||
</condition>
|
</condition>
|
||||||
<value>0.5</value>
|
<value>0.5</value>
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<or>
|
<and>
|
||||||
<greater-than-equals>
|
<or>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
<greater-than-equals>
|
</greater-than-equals>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
</or>
|
</greater-than-equals>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<sum>
|
<sum>
|
||||||
|
@ -135,6 +151,10 @@
|
||||||
<property>/gear/gear[2]/wow</property>
|
<property>/gear/gear[2]/wow</property>
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</equals>
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
|
@ -151,31 +171,43 @@
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<or>
|
||||||
<less-than>
|
<and>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
<less-than>
|
</less-than>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
</and>
|
</less-than>
|
||||||
|
</and>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-right</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
</or>
|
||||||
</condition>
|
</condition>
|
||||||
<value>-0.5</value>
|
<value>-0.5</value>
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<or>
|
<and>
|
||||||
<greater-than-equals>
|
<or>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
<greater-than-equals>
|
</greater-than-equals>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
</or>
|
</greater-than-equals>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<sum>
|
<sum>
|
||||||
|
@ -241,6 +273,14 @@
|
||||||
<property>/controls/flight/speedbrake-lever</property>
|
<property>/controls/flight/speedbrake-lever</property>
|
||||||
<value>0.0</value>
|
<value>0.0</value>
|
||||||
</not-equals>
|
</not-equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
|
@ -257,53 +297,162 @@
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<and>
|
||||||
<less-than>
|
<or>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<and>
|
||||||
<value>1500</value>
|
<greater-than-equals>
|
||||||
</less-than>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
<less-than>
|
<value>1500</value>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
</greater-than-equals>
|
||||||
<value>1500</value>
|
<greater-than-equals>
|
||||||
</less-than>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
<less-than>
|
<value>1500</value>
|
||||||
<property>/systems/hydraulic/yellow-psi</property>
|
</greater-than-equals>
|
||||||
<value>1500</value>
|
</and>
|
||||||
</less-than>
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
</or>
|
||||||
|
<not-equals>
|
||||||
|
<property>/controls/flight/speedbrake-lever</property>
|
||||||
|
<value>0.0</value>
|
||||||
|
</not-equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-left</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<value>0.0</value>
|
<expression>
|
||||||
|
<sum>
|
||||||
|
<property>/surface-positions/speedbrake-pos-norm</property>
|
||||||
|
<table>
|
||||||
|
<property>/controls/flight/roll-fbw</property>
|
||||||
|
<entry><ind>0.0</ind><dep> 0</dep></entry>
|
||||||
|
<entry><ind>1.0</ind><dep>-0.8</dep></entry>
|
||||||
|
</table>
|
||||||
|
</sum>
|
||||||
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<or>
|
<or>
|
||||||
<and>
|
<and>
|
||||||
<greater-than-equals>
|
<less-than>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
<value>1500</value>
|
<value>1500</value>
|
||||||
</greater-than-equals>
|
</less-than>
|
||||||
<greater-than-equals>
|
<less-than>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
<value>1500</value>
|
<value>1500</value>
|
||||||
</greater-than-equals>
|
</less-than>
|
||||||
</and>
|
<less-than>
|
||||||
<and>
|
|
||||||
<greater-than-equals>
|
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
|
||||||
<value>1500</value>
|
|
||||||
</greater-than-equals>
|
|
||||||
<greater-than-equals>
|
|
||||||
<property>/systems/hydraulic/yellow-psi</property>
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
<value>1500</value>
|
<value>1500</value>
|
||||||
</greater-than-equals>
|
</less-than>
|
||||||
</and>
|
</and>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-left</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
</or>
|
</or>
|
||||||
</condition>
|
</condition>
|
||||||
|
<value>0.0</value>
|
||||||
|
</input>
|
||||||
|
<input>
|
||||||
|
<condition>
|
||||||
|
<and>
|
||||||
|
<or>
|
||||||
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
||||||
<entry><ind>-0.2</ind><dep> 0</dep></entry>
|
<entry><ind>-0.2</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
|
</expression>
|
||||||
|
</input>
|
||||||
|
<input>
|
||||||
|
<condition>
|
||||||
|
<and>
|
||||||
|
<or>
|
||||||
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-left</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
|
</condition>
|
||||||
|
<expression>
|
||||||
|
<table>
|
||||||
|
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
||||||
|
<entry><ind> 0.0</ind><dep> 0</dep></entry>
|
||||||
|
<entry><ind>-1.0</ind><dep>0.8</dep></entry>
|
||||||
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-left-cmd</output>
|
<output>/controls/flight/spoiler-left-cmd</output>
|
||||||
|
@ -352,6 +501,14 @@
|
||||||
<property>/controls/flight/speedbrake-lever</property>
|
<property>/controls/flight/speedbrake-lever</property>
|
||||||
<value>0.0</value>
|
<value>0.0</value>
|
||||||
</not-equals>
|
</not-equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
|
@ -368,53 +525,162 @@
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<and>
|
||||||
<less-than>
|
<or>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<and>
|
||||||
<value>1500</value>
|
<greater-than-equals>
|
||||||
</less-than>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
<less-than>
|
<value>1500</value>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
</greater-than-equals>
|
||||||
<value>1500</value>
|
<greater-than-equals>
|
||||||
</less-than>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
<less-than>
|
<value>1500</value>
|
||||||
<property>/systems/hydraulic/yellow-psi</property>
|
</greater-than-equals>
|
||||||
<value>1500</value>
|
</and>
|
||||||
</less-than>
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
</or>
|
||||||
|
<not-equals>
|
||||||
|
<property>/controls/flight/speedbrake-lever</property>
|
||||||
|
<value>0.0</value>
|
||||||
|
</not-equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-right</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<value>0.0</value>
|
<expression>
|
||||||
|
<sum>
|
||||||
|
<property>/surface-positions/speedbrake-pos-norm</property>
|
||||||
|
<table>
|
||||||
|
<property>/controls/flight/roll-fbw</property>
|
||||||
|
<entry><ind> 0.0</ind><dep> 0</dep></entry>
|
||||||
|
<entry><ind>-1.0</ind><dep>-0.8</dep></entry>
|
||||||
|
</table>
|
||||||
|
</sum>
|
||||||
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<or>
|
<or>
|
||||||
<and>
|
<and>
|
||||||
<greater-than-equals>
|
<less-than>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
<value>1500</value>
|
<value>1500</value>
|
||||||
</greater-than-equals>
|
</less-than>
|
||||||
<greater-than-equals>
|
<less-than>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
<value>1500</value>
|
<value>1500</value>
|
||||||
</greater-than-equals>
|
</less-than>
|
||||||
</and>
|
<less-than>
|
||||||
<and>
|
|
||||||
<greater-than-equals>
|
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
|
||||||
<value>1500</value>
|
|
||||||
</greater-than-equals>
|
|
||||||
<greater-than-equals>
|
|
||||||
<property>/systems/hydraulic/yellow-psi</property>
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
<value>1500</value>
|
<value>1500</value>
|
||||||
</greater-than-equals>
|
</less-than>
|
||||||
</and>
|
</and>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-right</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
</or>
|
</or>
|
||||||
</condition>
|
</condition>
|
||||||
|
<value>0.0</value>
|
||||||
|
</input>
|
||||||
|
<input>
|
||||||
|
<condition>
|
||||||
|
<and>
|
||||||
|
<or>
|
||||||
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
||||||
<entry><ind>0.2</ind><dep> 0</dep></entry>
|
<entry><ind>0.2</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
|
</expression>
|
||||||
|
</input>
|
||||||
|
<input>
|
||||||
|
<condition>
|
||||||
|
<and>
|
||||||
|
<or>
|
||||||
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
<and>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
<greater-than-equals>
|
||||||
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
|
<value>1500</value>
|
||||||
|
</greater-than-equals>
|
||||||
|
</and>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/aileron-right</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/spoiler-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
|
</condition>
|
||||||
|
<expression>
|
||||||
|
<table>
|
||||||
|
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
||||||
|
<entry><ind>0.0</ind><dep> 0</dep></entry>
|
||||||
|
<entry><ind>1.0</ind><dep>0.8</dep></entry>
|
||||||
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-right-cmd</output>
|
<output>/controls/flight/spoiler-right-cmd</output>
|
||||||
|
@ -430,6 +696,10 @@
|
||||||
<max-rate-of-change>1.0</max-rate-of-change>
|
<max-rate-of-change>1.0</max-rate-of-change>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
|
<!-- =============================================================== -->
|
||||||
|
<!-- Roll Control -->
|
||||||
|
<!-- =============================================================== -->
|
||||||
|
|
||||||
<filter>
|
<filter>
|
||||||
<debug>false</debug>
|
<debug>false</debug>
|
||||||
<type>gain</type>
|
<type>gain</type>
|
||||||
|
@ -467,31 +737,43 @@
|
||||||
<gain>1.0</gain>
|
<gain>1.0</gain>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<or>
|
||||||
<less-than>
|
<and>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
<less-than>
|
</less-than>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
</and>
|
</less-than>
|
||||||
|
</and>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/elevator-left</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
</or>
|
||||||
</condition>
|
</condition>
|
||||||
<value>0.1</value>
|
<value>0.1</value>
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<or>
|
<and>
|
||||||
<greater-than-equals>
|
<or>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
<greater-than-equals>
|
</greater-than-equals>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
</or>
|
</greater-than-equals>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/elevator-left</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
|
@ -519,31 +801,43 @@
|
||||||
<gain>1.0</gain>
|
<gain>1.0</gain>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<or>
|
||||||
<less-than>
|
<and>
|
||||||
<property>/systems/hydraulic/yellow-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
<less-than>
|
</less-than>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
</and>
|
</less-than>
|
||||||
|
</and>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/elevator-right</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
</or>
|
||||||
</condition>
|
</condition>
|
||||||
<value>0.1</value>
|
<value>0.1</value>
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<or>
|
<and>
|
||||||
<greater-than-equals>
|
<or>
|
||||||
<property>/systems/hydraulic/yellow-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
<greater-than-equals>
|
</greater-than-equals>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
</or>
|
</greater-than-equals>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/elevator-right</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
|
@ -590,39 +884,51 @@
|
||||||
<gain>1.0</gain>
|
<gain>1.0</gain>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<or>
|
||||||
<less-than>
|
<and>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
<less-than>
|
</less-than>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
<less-than>
|
</less-than>
|
||||||
<property>/systems/hydraulic/yellow-psi</property>
|
<less-than>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
</less-than>
|
<value>1500</value>
|
||||||
</and>
|
</less-than>
|
||||||
|
</and>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/rudder</property>
|
||||||
|
<value>1</value>
|
||||||
|
</equals>
|
||||||
|
</or>
|
||||||
</condition>
|
</condition>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<or>
|
<and>
|
||||||
<greater-than-equals>
|
<or>
|
||||||
<property>/systems/hydraulic/green-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/green-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
<greater-than-equals>
|
</greater-than-equals>
|
||||||
<property>/systems/hydraulic/blue-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/blue-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
<greater-than-equals>
|
</greater-than-equals>
|
||||||
<property>/systems/hydraulic/yellow-psi</property>
|
<greater-than-equals>
|
||||||
<value>1500</value>
|
<property>/systems/hydraulic/yellow-psi</property>
|
||||||
</greater-than-equals>
|
<value>1500</value>
|
||||||
</or>
|
</greater-than-equals>
|
||||||
|
</or>
|
||||||
|
<equals>
|
||||||
|
<property>/systems/failures/rudder</property>
|
||||||
|
<value>0</value>
|
||||||
|
</equals>
|
||||||
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<sum>
|
<sum>
|
||||||
|
|
Reference in a new issue