A3XX: Add new fuel failures

This commit is contained in:
Joshua Davidson 2017-07-25 12:21:41 -04:00
parent 8acd730efe
commit 7e1f0c908d
5 changed files with 261 additions and 75 deletions

View file

@ -66,6 +66,13 @@ var failReset = func {
setprop("/systems/failures/pump-green", 0);
setprop("/systems/failures/pump-yellow-eng", 0);
setprop("/systems/failures/pump-yellow-elec", 0);
setprop("/systems/failures/tank2pump1", 0);
setprop("/systems/failures/tank2pump2", 0);
setprop("/systems/failures/tank3pump1", 0);
setprop("/systems/failures/tank3pump2", 0);
setprop("/systems/failures/tank4pump1", 0);
setprop("/systems/failures/tank4pump2", 0);
setprop("/systems/failures/fuelmode", 0);
}
failReset();

View file

@ -136,7 +136,7 @@
<stretch type="bool">true</stretch>
</hrule>
<text>
<label>ELEC SYS Fail</label>
<label>PNEU SYS Fail</label>
</text>
<hrule>
<stretch type="bool">true</stretch>
@ -144,9 +144,9 @@
</group>
<checkbox>
<label>AC ESS Bus</label>
<label>Bleed APU</label>
<halign>left</halign>
<property>/systems/failures/elec-ac-ess</property>
<property>/systems/failures/bleed-apu</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -154,9 +154,9 @@
</checkbox>
<checkbox>
<label>APU GEN</label>
<label>Bleed EXT</label>
<halign>left</halign>
<property>/systems/failures/elec-genapu</property>
<property>/systems/failures/bleed-ext</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -164,9 +164,9 @@
</checkbox>
<checkbox>
<label>BATT 1 Fail</label>
<label>Bleed ENG 1</label>
<halign>left</halign>
<property>/systems/failures/elec-batt1</property>
<property>/systems/failures/bleed-eng1</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -174,9 +174,9 @@
</checkbox>
<checkbox>
<label>BATT 2 Fail</label>
<label>Bleed ENG 2</label>
<halign>left</halign>
<property>/systems/failures/elec-batt2</property>
<property>/systems/failures/bleed-eng2</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -184,9 +184,9 @@
</checkbox>
<checkbox>
<label>ENG 1 GEN</label>
<label>Pack 1</label>
<halign>left</halign>
<property>/systems/failures/elec-gen1</property>
<property>/systems/failures/pack1</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -194,19 +194,9 @@
</checkbox>
<checkbox>
<label>ENG 2 GEN</label>
<label>Pack 2</label>
<halign>left</halign>
<property>/systems/failures/elec-gen2</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Galley Bus</label>
<halign>left</halign>
<property>/systems/failures/elec-galley</property>
<property>/systems/failures/pack2</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -311,7 +301,7 @@
<stretch type="bool">true</stretch>
</hrule>
<text>
<label>PNEU SYS Fail</label>
<label>ELEC SYS Fail</label>
</text>
<hrule>
<stretch type="bool">true</stretch>
@ -319,9 +309,9 @@
</group>
<checkbox>
<label>Bleed APU</label>
<label>AC ESS Bus</label>
<halign>left</halign>
<property>/systems/failures/bleed-apu</property>
<property>/systems/failures/elec-ac-ess</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -329,9 +319,9 @@
</checkbox>
<checkbox>
<label>Bleed EXT</label>
<label>APU GEN</label>
<halign>left</halign>
<property>/systems/failures/bleed-ext</property>
<property>/systems/failures/elec-genapu</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -339,9 +329,9 @@
</checkbox>
<checkbox>
<label>Bleed ENG 1</label>
<label>BATTERY 1</label>
<halign>left</halign>
<property>/systems/failures/bleed-eng1</property>
<property>/systems/failures/elec-batt1</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -349,9 +339,9 @@
</checkbox>
<checkbox>
<label>Bleed ENG 2</label>
<label>BATTERY 2</label>
<halign>left</halign>
<property>/systems/failures/bleed-eng2</property>
<property>/systems/failures/elec-batt2</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -359,9 +349,9 @@
</checkbox>
<checkbox>
<label>Pack 1</label>
<label>ENG 1 GEN</label>
<halign>left</halign>
<property>/systems/failures/pack1</property>
<property>/systems/failures/elec-gen1</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -369,9 +359,100 @@
</checkbox>
<checkbox>
<label>Pack 2</label>
<label>ENG 2 GEN</label>
<halign>left</halign>
<property>/systems/failures/pack2</property>
<property>/systems/failures/elec-gen2</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Galley Bus</label>
<halign>left</halign>
<property>/systems/failures/elec-galley</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
</group>
<vrule/>
<group>
<layout>vbox</layout>
<group>
<layout>hbox</layout>
<hrule>
<stretch type="bool">true</stretch>
</hrule>
<text>
<label>FUEL SYS Fail</label>
</text>
<hrule>
<stretch type="bool">true</stretch>
</hrule>
</group>
<checkbox>
<label>Tank L Pump 1</label>
<halign>left</halign>
<property>/systems/failures/tank2pump1</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Tank L Pump 2</label>
<halign>left</halign>
<property>/systems/failures/tank2pump2</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Tank C Pump 1</label>
<halign>left</halign>
<property>/systems/failures/tank3pump1</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Tank C Pump 2</label>
<halign>left</halign>
<property>/systems/failures/tank3pump2</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Tank R Pump 1</label>
<halign>left</halign>
<property>/systems/failures/tank4pump1</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Tank R Pump 2</label>
<halign>left</halign>
<property>/systems/failures/tank4pump2</property>
<binding>
<command>dialog-apply</command>
</binding>

View file

@ -107,7 +107,7 @@
<object-name>FAC2Btn2O</object-name>
<object-name>FuelModeBtn1F</object-name>
<object-name>FuelModeBtn2O</object-name>
<object-name>FuelXfeedBtn1A</object-name>
<object-name>FuelXfeedBtn1O</object-name>
<object-name>FuelXfeedBtn2O</object-name>
<object-name>GalleyPwrBtn1F</object-name>
<object-name>GalleyPwrBtn2O</object-name>
@ -1266,7 +1266,7 @@
<!-- GPWS -->
<!--animation>
<name>GPWS system pick</name>
<name>GPWS terrain system pick</name>
<type>pick</type>
<object-name>GPWSTerrBtn1</object-name>
<object-name>GPWSTerrBtn2</object-name>
@ -1983,7 +1983,7 @@
<type>pick</type>
<object-name>FuelXfeedBtn1</object-name>
<object-name>FuelXfeedBtn2</object-name>
<object-name>FuelXfeedBtn1A</object-name>
<object-name>FuelXfeedBtn1O</object-name>
<object-name>FuelXfeedBtn2O</object-name>
<action>
<button>0</button>
@ -2013,7 +2013,7 @@
<animation>
<type>select</type>
<object-name>FuelXfeedBtn1A</object-name>
<object-name>FuelXfeedBtn1O</object-name>
<condition>
<or>
<equals>
@ -2081,10 +2081,16 @@
<object-name>LFuelTank1Btn1F</object-name>
<condition>
<or>
<!--equals>
<property>controls/adirs/adr[1]/fault</property>
<value>1</value>
</equals-->
<and>
<equals>
<property>systems/fuel/tank2pump1-fault</property>
<value>1</value>
</equals>
<equals>
<property>controls/fuel/tank2pump1</property>
<value>1</value>
</equals>
</and>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
@ -2146,10 +2152,16 @@
<object-name>LFuelTank2Btn1F</object-name>
<condition>
<or>
<!--equals>
<property>controls/adirs/adr[1]/fault</property>
<value>1</value>
</equals-->
<and>
<equals>
<property>systems/fuel/tank2pump2-fault</property>
<value>1</value>
</equals>
<equals>
<property>controls/fuel/tank2pump2</property>
<value>1</value>
</equals>
</and>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
@ -2211,10 +2223,16 @@
<object-name>CFuelTank1Btn1F</object-name>
<condition>
<or>
<!--equals>
<property>controls/adirs/adr[1]/fault</property>
<value>1</value>
</equals-->
<and>
<equals>
<property>systems/fuel/tank3pump1-fault</property>
<value>1</value>
</equals>
<equals>
<property>controls/fuel/tank3pump1</property>
<value>1</value>
</equals>
</and>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
@ -2275,10 +2293,16 @@
<object-name>FuelModeBtn1F</object-name>
<condition>
<or>
<!--equals>
<property>something</property>
<value>1</value>
</equals-->
<and>
<equals>
<property>systems/fuel/mode-fault</property>
<value>1</value>
</equals>
<equals>
<property>controls/fuel/mode</property>
<value>1</value>
</equals>
</and>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
@ -2340,10 +2364,16 @@
<object-name>CFuelTank2Btn1F</object-name>
<condition>
<or>
<!--equals>
<property>controls/adirs/adr[1]/fault</property>
<value>1</value>
</equals-->
<and>
<equals>
<property>systems/fuel/tank3pump2-fault</property>
<value>1</value>
</equals>
<equals>
<property>controls/fuel/tank3pump2</property>
<value>1</value>
</equals>
</and>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
@ -2405,10 +2435,16 @@
<object-name>RFuelTank1Btn1F</object-name>
<condition>
<or>
<!--equals>
<property>controls/adirs/adr[1]/fault</property>
<value>1</value>
</equals-->
<and>
<equals>
<property>systems/fuel/tank4pump1-fault</property>
<value>1</value>
</equals>
<equals>
<property>controls/fuel/tank4pump1</property>
<value>1</value>
</equals>
</and>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
@ -2470,10 +2506,16 @@
<object-name>RFuelTank2Btn1F</object-name>
<condition>
<or>
<!--equals>
<property>controls/adirs/adr[1]/fault</property>
<value>1</value>
</equals-->
<and>
<equals>
<property>systems/fuel/tank4pump2-fault</property>
<value>1</value>
</equals>
<equals>
<property>controls/fuel/tank4pump2</property>
<value>1</value>
</equals>
</and>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>

View file

@ -27621,7 +27621,7 @@ refs 4
7 0.503906 0.492188
kids 0
OBJECT poly
name "FuelXfeedBtn1A"
name "FuelXfeedBtn1O"
loc 0.000175806 0.13925 0.04185
data 8
Cube.064

View file

@ -34,6 +34,12 @@ setlistener("/sim/signals/fdm-initialized", func {
var tank4feed1 = getprop("/systems/fuel/tank[4]/feed1");
var gravityfeedL = getprop("/systems/fuel/gravityfeedL");
var gravityfeedR = getprop("/systems/fuel/gravityfeedR");
var tank2pump1_fail = getprop("/systems/failures/tank2pump1");
var tank2pump2_fail = getprop("/systems/failures/tank2pump2");
var tank3pump1_fail = getprop("/systems/failures/tank3pump1");
var tank3pump2_fail = getprop("/systems/failures/tank3pump2");
var tank4pump1_fail = getprop("/systems/failures/tank4pump1");
var tank4pump2_fail = getprop("/systems/failures/tank4pump2");
});
var fuel_init = func {
@ -57,6 +63,13 @@ var fuel_init = func {
setprop("/systems/fuel/tank[4]/feed0", 0);
setprop("/systems/fuel/tank[4]/feed1", 0);
setprop("/systems/fuel/only-use-ctr-tank", 0);
setprop("/systems/fuel/tank2pump1-fault", 0);
setprop("/systems/fuel/tank2pump2-fault", 0);
setprop("/systems/fuel/tank3pump1-fault", 0);
setprop("/systems/fuel/tank3pump2-fault", 0);
setprop("/systems/fuel/tank4pump1-fault", 0);
setprop("/systems/fuel/tank4pump2-fault", 0);
setprop("/systems/fuel/mode-fault", 0);
fuel_timer.start();
}
@ -78,6 +91,12 @@ var master_fuel = func {
gravityfeedL = getprop("/systems/fuel/gravityfeedL");
gravityfeedR = getprop("/systems/fuel/gravityfeedR");
gload = getprop("/accelerations/pilot-gdamped");
tank2pump1_fail = getprop("/systems/failures/tank2pump1");
tank2pump2_fail = getprop("/systems/failures/tank2pump2");
tank3pump1_fail = getprop("/systems/failures/tank3pump1");
tank3pump2_fail = getprop("/systems/failures/tank3pump2");
tank4pump1_fail = getprop("/systems/failures/tank4pump1");
tank4pump2_fail = getprop("/systems/failures/tank4pump2");
if (gload >= 0.7 and gravityfeedL) {
setprop("/systems/fuel/gravityfeedL-output", 1);
@ -94,7 +113,7 @@ var master_fuel = func {
gravityfeedL_output = getprop("/systems/fuel/gravityfeedL-output");
gravityfeedR_output = getprop("/systems/fuel/gravityfeedR-output");
if ((ac1 >= 110 or ac2 >= 110) and tank2pump1_sw) {
if ((ac1 >= 110 or ac2 >= 110) and tank2pump1_sw and !tank2pump1_fail) {
setprop("/systems/fuel/tank[2]/feed0", 1);
} else if (gravityfeedL_output) {
setprop("/systems/fuel/tank[2]/feed0", 1);
@ -102,7 +121,7 @@ var master_fuel = func {
setprop("/systems/fuel/tank[2]/feed0", 0);
}
if ((ac1 >= 110 or ac2 >= 110) and tank2pump2_sw) {
if ((ac1 >= 110 or ac2 >= 110) and tank2pump2_sw and !tank2pump2_fail) {
setprop("/systems/fuel/tank[2]/feed1", 1);
} else if (gravityfeedL_output) {
setprop("/systems/fuel/tank[2]/feed1", 1);
@ -110,19 +129,19 @@ var master_fuel = func {
setprop("/systems/fuel/tank[2]/feed1", 0);
}
if ((ac1 >= 110 or ac2 >= 110) and tank3pump1_sw) {
if ((ac1 >= 110 or ac2 >= 110) and tank3pump1_sw and !tank3pump1_fail) {
setprop("/systems/fuel/tank[3]/feed0", 1);
} else {
setprop("/systems/fuel/tank[3]/feed0", 0);
}
if ((ac1 >= 110 or ac2 >= 110) and tank3pump2_sw) {
if ((ac1 >= 110 or ac2 >= 110) and tank3pump2_sw and !tank3pump2_fail) {
setprop("/systems/fuel/tank[3]/feed1", 1);
} else {
setprop("/systems/fuel/tank[3]/feed1", 0);
}
if ((ac1 >= 110 or ac2 >= 110) and tank4pump1_sw) {
if ((ac1 >= 110 or ac2 >= 110) and tank4pump1_sw and !tank4pump1_fail) {
setprop("/systems/fuel/tank[4]/feed0", 1);
} else if (gravityfeedR_output) {
setprop("/systems/fuel/tank[2]/feed0", 1);
@ -130,7 +149,7 @@ var master_fuel = func {
setprop("/systems/fuel/tank[4]/feed0", 0);
}
if ((ac1 >= 110 or ac2 >= 110) and tank4pump2_sw) {
if ((ac1 >= 110 or ac2 >= 110) and tank4pump2_sw and !tank4pump2_fail) {
setprop("/systems/fuel/tank[4]/feed1", 1);
} else if (gravityfeedR_output) {
setprop("/systems/fuel/tank[2]/feed1", 1);
@ -171,6 +190,43 @@ var master_fuel = func {
} else {
setprop("/systems/fuel/only-use-ctr-tank", 0);
}
# Fault lights
if (tank2pump1_sw and tank2pump1_fail) {
setprop("/systems/fuel/tank2pump1-fault", 1);
} else {
setprop("/systems/fuel/tank2pump1-fault", 0);
}
if (tank2pump2_sw and tank2pump2_fail) {
setprop("/systems/fuel/tank2pump2-fault", 1);
} else {
setprop("/systems/fuel/tank2pump2-fault", 0);
}
if (tank3pump1_sw and tank3pump1_fail) {
setprop("/systems/fuel/tank3pump1-fault", 1);
} else {
setprop("/systems/fuel/tank3pump1-fault", 0);
}
if (tank3pump2_sw and tank3pump2_fail) {
setprop("/systems/fuel/tank3pump2-fault", 1);
} else {
setprop("/systems/fuel/tank3pump2-fault", 0);
}
if (tank4pump1_sw and tank4pump1_fail) {
setprop("/systems/fuel/tank4pump1-fault", 1);
} else {
setprop("/systems/fuel/tank4pump1-fault", 0);
}
if (tank4pump2_sw and tank4pump2_fail) {
setprop("/systems/fuel/tank4pump2-fault", 1);
} else {
setprop("/systems/fuel/tank4pump2-fault", 0);
}
}
###################