Add option to fail flight surfaces

This commit is contained in:
Joshua Davidson 2017-05-31 20:12:07 -04:00
parent 78d4b67e79
commit b722915ac6
5 changed files with 653 additions and 169 deletions

View file

@ -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>

View file

@ -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
View 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>

View file

@ -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>

View file

@ -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>