Add modern ALL ENGINE FAILURE ECAM warning which replaces old DUAL FAILURE
This commit is contained in:
parent
6b7bbeeb7c
commit
57e6da80c2
4 changed files with 85 additions and 192 deletions
|
@ -90,185 +90,94 @@ var messages_priority_3 = func {
|
|||
overspeedFlap.msg = "-VFE................XXX";
|
||||
}
|
||||
|
||||
# ENG DUAL FAIL
|
||||
# ENG ALL ENGINE FAILURE
|
||||
|
||||
if (phaseVar3 >= 5 and phaseVar3 <= 7 and dualFailNode.getBoolValue() and dualFail.clearFlag == 0) {
|
||||
dualFail.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFail);
|
||||
}
|
||||
|
||||
if (dualFail.active == 1) {
|
||||
if (getprop("/controls/engines/engine-start-switch") != 2 and dualFailModeSel.clearFlag == 0) {
|
||||
dualFailModeSel.active = 1;
|
||||
if (allEngFail.clearFlag == 0 and dualFailNode.getBoolValue()) {
|
||||
allEngFail.active = 1;
|
||||
|
||||
if (allEngFailElec.clearFlag == 0 and getprop("/systems/electrical/relay/emer-glc/contact-pos") == 0) {
|
||||
allEngFailElec.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailModeSel);
|
||||
ECAM_controller.warningReset(allEngFailElec);
|
||||
}
|
||||
|
||||
if (getprop("/fdm/jsbsim/fcs/throttle-lever[0]") > 0.01 and getprop("/fdm/jsbsim/fcs/throttle-lever[1]") > 0.01 and dualFailLevers.clearFlag == 0) {
|
||||
dualFailLevers.active = 1;
|
||||
if (allEngFailSPD1.clearFlag == 0 and allEngFailSPD2.clearFlag == 0 and allEngFailSPD3.clearFlag == 0 and allEngFailSPD4.clearFlag == 0) {
|
||||
if (find("LEAP", getprop("/MCDUC/eng"))) {
|
||||
allEngFailSPD2.active = 1;
|
||||
ECAM_controller.warningReset(allEngFailSPD1);
|
||||
ECAM_controller.warningReset(allEngFailSPD3);
|
||||
ECAM_controller.warningReset(allEngFailSPD4);
|
||||
} elsif (find("V2527", getprop("/MCDUC/eng"))) {
|
||||
allEngFailSPD3.active = 1;
|
||||
ECAM_controller.warningReset(allEngFailSPD1);
|
||||
ECAM_controller.warningReset(allEngFailSPD2);
|
||||
ECAM_controller.warningReset(allEngFailSPD4);
|
||||
} elsif (find("PW11", getprop("/MCDUC/eng"))) {
|
||||
allEngFailSPD1.active = 1;
|
||||
ECAM_controller.warningReset(allEngFailSPD2);
|
||||
ECAM_controller.warningReset(allEngFailSPD3);
|
||||
ECAM_controller.warningReset(allEngFailSPD4);
|
||||
} else {
|
||||
allEngFailSPD4.active = 1;
|
||||
ECAM_controller.warningReset(allEngFailSPD1);
|
||||
ECAM_controller.warningReset(allEngFailSPD2);
|
||||
ECAM_controller.warningReset(allEngFailSPD3);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailLevers);
|
||||
ECAM_controller.warningReset(allEngFailSPD1);
|
||||
ECAM_controller.warningReset(allEngFailSPD2);
|
||||
ECAM_controller.warningReset(allEngFailSPD3);
|
||||
ECAM_controller.warningReset(allEngFailSPD4);
|
||||
}
|
||||
|
||||
if (engOpt.getValue() == "IAE" and dualFailRelightSPD.clearFlag == 0) {
|
||||
dualFailRelightSPD.active = 1;
|
||||
if (allEngFailAPU.clearFlag == 0 and !systems.APUNodes.Controls.master.getBoolValue() and systems.ELEC.Switch.genApu.getValue() and !systems.APUNodes.Controls.fire.getValue() and !systems.APU.signals.autoshutdown and !systems.APU.signals.emer and pts.Instrumentation.Altimeter.indicatedFt.getValue() < 22500) {
|
||||
allEngFailAPU.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailRelightSPD);
|
||||
ECAM_controller.warningReset(allEngFailAPU);
|
||||
}
|
||||
|
||||
if (engOpt.getValue() != "IAE" and dualFailRelightSPDCFM.clearFlag == 0) {
|
||||
dualFailRelightSPDCFM.active = 1;
|
||||
if (allEngFailLevers.clearFlag == 0 and (pts.Controls.Engines.Engine.throttleLever[0].getValue() > 0.01 or pts.Controls.Engines.Engine.throttleLever[0].getValue() > 0.01)) {
|
||||
allEngFailLevers.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailRelightSPDCFM);
|
||||
ECAM_controller.warningReset(allEngFailLevers);
|
||||
}
|
||||
|
||||
if (emerGen.getValue() == 0 and dualFailElec.clearFlag == 0) {
|
||||
dualFailElec.active = 1;
|
||||
if (allEngFailFAC.clearFlag == 0 and fbw.FBW.Computers.fac1.getBoolValue() == 0) {
|
||||
allEngFailFAC.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailElec);
|
||||
ECAM_controller.warningReset(allEngFailFAC);
|
||||
}
|
||||
|
||||
if (dualFailRadio.clearFlag == 0) {
|
||||
dualFailRadio.active = 1;
|
||||
if (allEngFailGlide.clearFlag == 0) {
|
||||
allEngFailGlide.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailRadio);
|
||||
ECAM_controller.warningReset(allEngFailGlide);
|
||||
}
|
||||
|
||||
if (getprop("/systems/fctl/fac1-healthy-signal") == 0 and dualFailFAC.clearFlag == 0) {
|
||||
dualFailFAC.active = 1;
|
||||
if (allEngFailDiversion.clearFlag == 0) {
|
||||
allEngFailDiversion.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailFAC);
|
||||
ECAM_controller.warningReset(allEngFailDiversion);
|
||||
}
|
||||
|
||||
|
||||
if (dualFailMasters.clearFlag == 0) {
|
||||
dualFailRelight.active = 1; # assumption
|
||||
dualFailMasters.active = 1;
|
||||
if (allEngFailProc.clearFlag == 0) {
|
||||
allEngFailProc.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailRelight);
|
||||
ECAM_controller.warningReset(dualFailMasters);
|
||||
}
|
||||
|
||||
if (dualFailSPDGD.clearFlag == 0) {
|
||||
dualFailSuccess.active = 1; # assumption
|
||||
dualFailSPDGD.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailSuccess);
|
||||
ECAM_controller.warningReset(dualFailSPDGD);
|
||||
}
|
||||
|
||||
if (dualFailAPU.clearFlag == 0) {
|
||||
dualFailAPU.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailAPU);
|
||||
}
|
||||
|
||||
if (dualFailAPUwing.clearFlag == 0 and pts.APU.rpm.getValue() > 94.9 and wing_pb.getBoolValue()) {
|
||||
dualFailAPUwing.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailAPUwing);
|
||||
}
|
||||
|
||||
if (dualFailAPUbleed.clearFlag == 0 and pts.APU.rpm.getValue() > 94.9 and !apu_bleedSw.getBoolValue()) {
|
||||
dualFailAPUbleed.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailAPUbleed);
|
||||
}
|
||||
|
||||
if (dualFailMastersAPU.clearFlag == 0) {
|
||||
dualFailMastersAPU.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailMastersAPU);
|
||||
}
|
||||
|
||||
if (dualFailflap.clearFlag == 0) {
|
||||
dualFailAPPR.active = 1; # assumption
|
||||
dualFailflap.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailAPPR);
|
||||
ECAM_controller.warningReset(dualFailflap);
|
||||
}
|
||||
|
||||
if (dualFailcabin.clearFlag == 0) {
|
||||
dualFailcabin.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailcabin);
|
||||
}
|
||||
|
||||
if (dualFailrudd.clearFlag == 0) {
|
||||
dualFailrudd.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailrudd);
|
||||
}
|
||||
|
||||
if (dualFailgear.clearFlag == 0 and gear.getValue() != 1) {
|
||||
dualFail5000.active = 1; # according to doc
|
||||
dualFailgear.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailgear);
|
||||
ECAM_controller.warningReset(dualFail5000);
|
||||
}
|
||||
|
||||
if (dualFailfinalspeed.clearFlag == 0) {
|
||||
dualFailfinalspeed.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailfinalspeed);
|
||||
}
|
||||
|
||||
if (dualFailmasteroff.clearFlag == 0 and (!pts.Controls.Engines.Engine.cutoffSw[0].getValue() or !pts.Controls.Engines.Engine.cutoffSw[1].getValue())) {
|
||||
dualFailmasteroff.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailmasteroff);
|
||||
}
|
||||
|
||||
if (dualFailapuoff.clearFlag == 0 and systems.APUNodes.Controls.master.getBoolValue()) {
|
||||
dualFailapuoff.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailapuoff);
|
||||
}
|
||||
|
||||
if (dualFailevac.clearFlag == 0) {
|
||||
dualFailevac.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailevac);
|
||||
}
|
||||
|
||||
if (dualFailbatt.clearFlag == 0) { # elec power lost when batt goes off anyway I guess
|
||||
dualFailbatt.active = 1;
|
||||
dualFailtouch.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailbatt);
|
||||
ECAM_controller.warningReset(dualFailtouch);
|
||||
ECAM_controller.warningReset(allEngFailProc);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(dualFailModeSel);
|
||||
ECAM_controller.warningReset(dualFailLevers);
|
||||
ECAM_controller.warningReset(dualFailRelightSPD);
|
||||
ECAM_controller.warningReset(dualFailRelightSPDCFM);
|
||||
ECAM_controller.warningReset(dualFailElec);
|
||||
ECAM_controller.warningReset(dualFailRadio);
|
||||
ECAM_controller.warningReset(dualFailFAC);
|
||||
ECAM_controller.warningReset(dualFailRelight);
|
||||
ECAM_controller.warningReset(dualFailMasters);
|
||||
ECAM_controller.warningReset(dualFailSuccess);
|
||||
ECAM_controller.warningReset(dualFailSPDGD);
|
||||
ECAM_controller.warningReset(dualFailAPU);
|
||||
ECAM_controller.warningReset(dualFailAPUwing);
|
||||
ECAM_controller.warningReset(dualFailAPUbleed);
|
||||
ECAM_controller.warningReset(dualFailMastersAPU);
|
||||
ECAM_controller.warningReset(dualFailAPPR);
|
||||
ECAM_controller.warningReset(dualFailflap);
|
||||
ECAM_controller.warningReset(dualFailcabin);
|
||||
ECAM_controller.warningReset(dualFailrudd);
|
||||
ECAM_controller.warningReset(dualFailgear);
|
||||
ECAM_controller.warningReset(dualFail5000);
|
||||
ECAM_controller.warningReset(dualFailfinalspeed);
|
||||
ECAM_controller.warningReset(dualFailmasteroff);
|
||||
ECAM_controller.warningReset(dualFailapuoff);
|
||||
ECAM_controller.warningReset(dualFailevac);
|
||||
ECAM_controller.warningReset(dualFailbatt);
|
||||
ECAM_controller.warningReset(dualFailtouch);
|
||||
ECAM_controller.warningReset(allEngFail);
|
||||
ECAM_controller.warningReset(allEngFailElec);
|
||||
ECAM_controller.warningReset(allEngFailSPD1);
|
||||
ECAM_controller.warningReset(allEngFailSPD2);
|
||||
ECAM_controller.warningReset(allEngFailSPD3);
|
||||
ECAM_controller.warningReset(allEngFailSPD4);
|
||||
ECAM_controller.warningReset(allEngFailAPU);
|
||||
ECAM_controller.warningReset(allEngFailLevers);
|
||||
ECAM_controller.warningReset(allEngFailFAC);
|
||||
ECAM_controller.warningReset(allEngFailGlide);
|
||||
ECAM_controller.warningReset(allEngFailDiversion);
|
||||
ECAM_controller.warningReset(allEngFailProc);
|
||||
}
|
||||
|
||||
# ENG ABV IDLE
|
||||
|
@ -317,7 +226,7 @@ var messages_priority_3 = func {
|
|||
|
||||
if (eng1Fire.active == 1) {
|
||||
if (phaseVar3 >= 5 and phaseVar3 <= 7) {
|
||||
if (eng1FireFllever.clearFlag == 0 and getprop("/fdm/jsbsim/fcs/throttle-lever[0]") > 0.01) {
|
||||
if (eng1FireFllever.clearFlag == 0 and pts.Controls.Engines.Engine.throttleLever[0].getValue() > 0.01) {
|
||||
eng1FireFllever.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1FireFllever);
|
||||
|
@ -383,7 +292,7 @@ var messages_priority_3 = func {
|
|||
}
|
||||
|
||||
if (phaseVar3 < 5 or phaseVar3 > 7) {
|
||||
if (eng1FireGnlever.clearFlag == 0 and getprop("/fdm/jsbsim/fcs/throttle-lever[0]") > 0.01 and getprop("/fdm/jsbsim/fcs/throttle-lever[1]") > 0.01) {
|
||||
if (eng1FireGnlever.clearFlag == 0 and pts.Controls.Engines.Engine.throttleLever[0].getValue() > 0.01 and pts.Controls.Engines.Engine.throttleLever[1].getValue() > 0.01) {
|
||||
eng1FireGnlever.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1FireGnlever);
|
||||
|
@ -472,7 +381,7 @@ var messages_priority_3 = func {
|
|||
|
||||
if (eng2Fire.active == 1) {
|
||||
if (phaseVar3 >= 5 and phaseVar3 <= 7) {
|
||||
if (eng2FireFllever.clearFlag == 0 and getprop("/fdm/jsbsim/fcs/throttle-lever[1]") > 0.01) {
|
||||
if (eng2FireFllever.clearFlag == 0 and pts.Controls.Engines.Engine.throttleLever[1].getValue() > 0.01) {
|
||||
eng2FireFllever.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2FireFllever);
|
||||
|
@ -538,7 +447,7 @@ var messages_priority_3 = func {
|
|||
}
|
||||
|
||||
if (phaseVar3 < 5 or phaseVar3 > 7) {
|
||||
if (eng2FireGnlever.clearFlag == 0 and getprop("/fdm/jsbsim/fcs/throttle-lever[0]") > 0.01 and getprop("/fdm/jsbsim/fcs/throttle-lever[1]") > 0.01) {
|
||||
if (eng2FireGnlever.clearFlag == 0 and pts.Controls.Engines.Engine.throttleLever[0].getValue() > 0.01 and pts.Controls.Engines.Engine.throttleLever[1].getValue() > 0.01) {
|
||||
eng2FireGnlever.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2FireGnlever);
|
||||
|
@ -627,7 +536,7 @@ var messages_priority_3 = func {
|
|||
|
||||
# APU Fire
|
||||
if (apuFire.active == 1) {
|
||||
if (apuFirePB.clearFlag == 0 and !getprop("/controls/apu/fire-btn")) {
|
||||
if (apuFirePB.clearFlag == 0 and !systems.APUNodes.Controls.fire.getValue()) {
|
||||
apuFirePB.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(apuFirePB);
|
||||
|
@ -637,13 +546,13 @@ var messages_priority_3 = func {
|
|||
apuFireAgentTimer.msg = " -AGENT AFT " ~ getprop("/systems/fire/apu/agent-timer") ~ " S...DISCH";
|
||||
}
|
||||
|
||||
if (apuFireAgent.clearFlag == 0 and getprop("/controls/apu/fire-btn") and !getprop("/systems/fire/apu/disch") and getprop("/systems/fire/apu/agent-timer") != 0) {
|
||||
if (apuFireAgent.clearFlag == 0 and systems.APUNodes.Controls.fire.getValue() and !getprop("/systems/fire/apu/disch") and getprop("/systems/fire/apu/agent-timer") != 0) {
|
||||
apuFireAgentTimer.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(apuFireAgentTimer);
|
||||
}
|
||||
|
||||
if (apuFireAgent.clearFlag == 0 and getprop("/controls/apu/fire-btn") and !getprop("/systems/fire/apu/disch") and getprop("/systems/fire/apu/agent-timer") == 0) {
|
||||
if (apuFireAgent.clearFlag == 0 and systems.APUNodes.Controls.fire.getValue() and !getprop("/systems/fire/apu/disch") and getprop("/systems/fire/apu/agent-timer") == 0) {
|
||||
apuFireAgent.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(apuFireAgent);
|
||||
|
@ -930,7 +839,7 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(emerconfigFuelG2);
|
||||
}
|
||||
|
||||
if (getprop("/systems/fctl/fac1-healthy-signal") == 0 and emerconfigFAC.clearFlag == 0) {
|
||||
if (fbw.FBW.Computers.fac1.getBoolValue() == 0 and emerconfigFAC.clearFlag == 0) {
|
||||
emerconfigFAC.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(emerconfigFAC);
|
||||
|
|
|
@ -18,35 +18,18 @@ var warnings = std.Vector.new([
|
|||
var overspeedGear = warning.new(msg: "-VLE...........280 /.67", colour: "r"),
|
||||
var overspeedFlap = warning.new(msg: "-VFE................XXX", colour: "r"),
|
||||
|
||||
# DUAL ENG FAIL
|
||||
var dualFail = warning.new(msg: "ENG DUAL FAILURE", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var dualFailModeSel = warning.new(msg: " -ENG MODE SEL.......IGN", colour: "c"),
|
||||
var dualFailLevers = warning.new(msg: " -THR LEVERS........IDLE", colour: "c"),
|
||||
var dualFailRelightSPD = warning.new(msg: " OPTIMUM RELIGHT SPD.280", colour: "c"),
|
||||
var dualFailRelightSPDCFM = warning.new(msg: " OPTIMUM RELIGHT SPD.300", colour: "c"),
|
||||
var dualFailElec = warning.new(msg: " -EMER ELEC PWR...MAN ON", colour: "c"),
|
||||
var dualFailRadio = warning.new(msg: " -VHF1/ATC1..........USE", colour: "c"),
|
||||
var dualFailFAC = warning.new(msg: " -FAC 1......OFF THEN ON", colour: "c"),
|
||||
var dualFailRelight = warning.new(msg: "•IF NO RELIGHT AFTER 30S", colour: "w", isMainMsg: 1),
|
||||
var dualFailMasters = warning.new(msg: " -ENG MASTERS.OFF 30S/ON", colour: "c"),
|
||||
var dualFailSuccess = warning.new(msg: " •IF UNSUCCESSFUL : ", colour: "w", isMainMsg: 1),
|
||||
var dualFailAPU = warning.new(msg: " -APU (IF AVAIL)...START", colour: "c"),
|
||||
var dualFailAPUwing = warning.new(msg: " -WING ANTI ICE......OFF", colour: "c"),
|
||||
var dualFailAPUbleed = warning.new(msg: " -APU BLEED...........ON", colour: "c"),
|
||||
var dualFailMastersAPU = warning.new(msg: " -ENG MASTERS.OFF 30S/ON", colour: "c"),
|
||||
var dualFailSPDGD = warning.new(msg: " OPTIMUM SPEED.....G DOT", colour: "c"),
|
||||
var dualFailAPPR = warning.new(msg: " •EARLY IN APPR : ", colour: "w", isMainMsg: 1),
|
||||
var dualFailcabin = warning.new(msg: " -CAB SECURE.......ORDER", colour: "c"),
|
||||
var dualFailrudd = warning.new(msg: " -USE RUDDER WITH CARE ", colour: "c"),
|
||||
var dualFailflap = warning.new(msg: " -FOR LDG.....USE FLAP 3", colour: "c"),
|
||||
var dualFail5000 = warning.new(msg: " •AT 5000 FT AGL : ", colour: "w", isMainMsg: 1),
|
||||
var dualFailgear = warning.new(msg: " -L/G.........GRVTY EXTN", colour: "c"),
|
||||
var dualFailfinalspeed = warning.new(msg: " TARGET SPEED.....150 KT", colour: "c"),
|
||||
var dualFailtouch = warning.new(msg: " •AT TOUCH DOWN : ", colour: "w", isMainMsg: 1),
|
||||
var dualFailmasteroff = warning.new(msg: " -ENG MASTERS........OFF", colour: "c"),
|
||||
var dualFailapuoff = warning.new(msg: " -APU MASTER SW......OFF", colour: "c"),
|
||||
var dualFailevac = warning.new(msg: " -EVAC..........INITIATE", colour: "c"),
|
||||
var dualFailbatt = warning.new(msg: " -BAT 1+2............OFF", colour: "c"),
|
||||
var allEngFail = warning.new(msg: "ENG ALL ENGINES FAILURE", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var allEngFailElec = warning.new(msg: " -EMER ELEC PWR...MAN ON", colour: "c"),
|
||||
var allEngFailSPD1 = warning.new(msg: " OPT RELIGHT SPD.260/.77", colour: "c"),
|
||||
var allEngFailSPD2 = warning.new(msg: " OPT RELIGHT SPD.270/.77", colour: "c"),
|
||||
var allEngFailSPD3 = warning.new(msg: " OPT RELIGHT SPD.280/.77", colour: "c"),
|
||||
var allEngFailSPD4 = warning.new(msg: " OPT RELIGHT SPD.300/.77", colour: "c"),
|
||||
var allEngFailAPU = warning.new(msg: " -APU..............START", colour: "c"),
|
||||
var allEngFailLevers = warning.new(msg: " -THR LEVERS........IDLE", colour: "c"),
|
||||
var allEngFailFAC = warning.new(msg: " -FAC 1......OFF THEN ON", colour: "c"),
|
||||
var allEngFailGlide = warning.new(msg: " GLDG DIST: 2NM/1000FT", colour: "c"),
|
||||
var allEngFailDiversion = warning.new(msg: " -DIVERSION.....INITIATE", colour: "c"),
|
||||
var allEngFailProc = warning.new(msg: " -ALL ENG FAIL PROC.APPLY", colour: "c"),
|
||||
|
||||
# ENG 1 THR LEVER ABV IDLE
|
||||
var eng1ThrLvrAbvIdle = warning.new(msg: "ENG 1 THR LEVER ABV IDLE", colour: "r", aural: 3, light: 0, isMainMsg: 1),
|
||||
|
|
|
@ -26,6 +26,7 @@ var Controls = {
|
|||
firePb: [props.globals.getNode("/controls/engines/engine[0]/fire-btn"), props.globals.getNode("/controls/engines/engine[1]/fire-btn")],
|
||||
throttle: [props.globals.getNode("/controls/engines/engine[0]/throttle"), props.globals.getNode("/controls/engines/engine[1]/throttle")],
|
||||
throttleFdm: [props.globals.getNode("/controls/engines/engine[0]/throttle-fdm"), props.globals.getNode("/controls/engines/engine[1]/throttle-fdm")],
|
||||
throttleLever: [props.globals.getNode("/controls/engines/engine[0]/throttle-lever"), props.globals.getNode("/controls/engines/engine[1]/throttle-lever")],
|
||||
throttleOutput: [props.globals.getNode("/controls/engines/engine[0]/throttle-output"), props.globals.getNode("/controls/engines/engine[1]/throttle-output")],
|
||||
throttlePos: [props.globals.getNode("/controls/engines/engine[0]/throttle-pos"), props.globals.getNode("/controls/engines/engine[1]/throttle-pos")],
|
||||
throttleRev: [props.globals.getNode("/controls/engines/engine[0]/throttle-rev"), props.globals.getNode("/controls/engines/engine[1]/throttle-rev")],
|
||||
|
|
|
@ -630,7 +630,7 @@ eng2Agent2TimerMakeTimerFunc = func() {
|
|||
}
|
||||
|
||||
setlistener("/controls/apu/fire-btn", func() {
|
||||
if (getprop("/controls/apu/fire-btn") == 1) {
|
||||
if (systems.APUNodes.Controls.fire.getValue() == 1) {
|
||||
ecam.shutUpYou();
|
||||
systems.APUController.APU.emergencyStop();
|
||||
apuAgentTimerMakeTimer.stop();
|
||||
|
|
Loading…
Add table
Reference in a new issue