ENG 1(2) SHUTDOWN
This commit is contained in:
parent
146f14bde5
commit
b4a2a16656
6 changed files with 310 additions and 11 deletions
|
@ -94,6 +94,8 @@ var warningNodes = {
|
|||
eng1Fail: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-fail"),
|
||||
eng2Fail: props.globals.initNode("/ECAM/warnings/logic/eng/eng-2-fail"),
|
||||
phase5Trans: props.globals.initNode("/ECAM/warnings/logic/eng/phase-5-output"),
|
||||
eng1Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-shutdown"),
|
||||
eng2Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-2-shutdown"),
|
||||
},
|
||||
Timers: {
|
||||
apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"),
|
||||
|
|
|
@ -1292,6 +1292,111 @@ var messages_priority_2 = func {
|
|||
ECAM_controller.warningReset(eng1FailRelight);
|
||||
}
|
||||
|
||||
if (warningNodes.Logic.eng1Shutdown.getValue() and eng1ShutDown.clearFlag == 0) {
|
||||
eng1ShutDown.active = 1;
|
||||
|
||||
if (phaseVar2 != 4 and phaseVar2 != 5 and systems.fireButtons[0].getValue() == 0 and (systems.PNEU.Valves.wingLeft.getValue() or systems.PNEU.Valves.wingRight.getValue())) {
|
||||
if (eng1ShutDownPack.clearFlag == 0 and systems.PNEU.Switch.pack1.getValue() and systems.PNEU.Switch.pack2.getValue()) {
|
||||
eng1ShutDownPack.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownPack);
|
||||
}
|
||||
|
||||
if (eng1ShutDownXBleed.clearFlag == 0 and systems.PNEU.Valves.crossbleed.getValue() == 0) {
|
||||
eng1ShutDownXBleed.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownXBleed);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownPack);
|
||||
ECAM_controller.warningReset(eng1ShutDownXBleed);
|
||||
}
|
||||
|
||||
if (FWC.Timer.gnd.getValue() == 0 or systems.fireButtons[0].getValue() == 0) {
|
||||
if (eng1ShutDownModeSel.clearFlag == 0 and pts.Controls.Engines.startSw.getValue() != 2) {
|
||||
eng1ShutDownModeSel.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownModeSel);
|
||||
}
|
||||
|
||||
if (systems.FUEL.Switches.crossfeed.getValue() == 0) {
|
||||
if (eng1ShutDownFuelLeak.clearFlag == 0) {
|
||||
eng1ShutDownFuelLeak.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownFuelLeak);
|
||||
}
|
||||
|
||||
if (eng1ShutDownImbalance.clearFlag == 0) {
|
||||
eng1ShutDownImbalance.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownImbalance);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownFuelLeak);
|
||||
ECAM_controller.warningReset(eng1ShutDownImbalance);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownModeSel);
|
||||
ECAM_controller.warningReset(eng1ShutDownFuelLeak);
|
||||
ECAM_controller.warningReset(eng1ShutDownImbalance);
|
||||
}
|
||||
|
||||
if (eng1ShutDownTCAS.clearFlag == 0 and pts.Instrumentation.TCAS.Inputs.mode.getValue() != 2) {
|
||||
eng1ShutDownTCAS.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownTCAS);
|
||||
}
|
||||
|
||||
if (0 == 1 and eng1ShutDownBuffet.clearFlag == 0) { # reverser unlocked
|
||||
eng1ShutDownBuffet.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownBuffet);
|
||||
}
|
||||
|
||||
if (0 == 1 and eng1ShutDownSpeed.clearFlag == 0) {
|
||||
eng1ShutDownSpeed.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownSpeed);
|
||||
}
|
||||
|
||||
if (systems.fireButtons[0].getValue() == 1) {
|
||||
if (eng1ShutDownXBleedS.clearFlag == 0 and systems.PNEU.Valves.crossbleed.getValue() != 0) {
|
||||
eng1ShutDownXBleedS.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownXBleedS);
|
||||
}
|
||||
|
||||
if (eng1ShutDownWingAI.clearFlag == 0 and (systems.PNEU.Valves.wingLeft.getValue() or systems.PNEU.Valves.wingRight.getValue())) {
|
||||
eng1ShutDownWingAI.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownWingAI);
|
||||
}
|
||||
|
||||
if (eng1ShutDownIcing.clearFlag == 0) {
|
||||
eng1ShutDownIcing.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownIcing);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDownXBleedS);
|
||||
ECAM_controller.warningReset(eng1ShutDownWingAI);
|
||||
ECAM_controller.warningReset(eng1ShutDownIcing);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1ShutDown);
|
||||
ECAM_controller.warningReset(eng1ShutDownPack);
|
||||
ECAM_controller.warningReset(eng1ShutDownXBleed);
|
||||
ECAM_controller.warningReset(eng1ShutDownModeSel);
|
||||
ECAM_controller.warningReset(eng1ShutDownImbalance);
|
||||
ECAM_controller.warningReset(eng1ShutDownTCAS);
|
||||
ECAM_controller.warningReset(eng1ShutDownFuelLeak);
|
||||
ECAM_controller.warningReset(eng1ShutDownBuffet);
|
||||
ECAM_controller.warningReset(eng1ShutDownSpeed);
|
||||
ECAM_controller.warningReset(eng1ShutDownXBleedS);
|
||||
ECAM_controller.warningReset(eng1ShutDownWingAI);
|
||||
ECAM_controller.warningReset(eng1ShutDownIcing);
|
||||
}
|
||||
|
||||
if (warningNodes.Logic.eng2Fail.getValue() and eng2Fail.clearFlag == 0) {
|
||||
eng2Fail.active = 1;
|
||||
|
||||
|
@ -1394,6 +1499,117 @@ var messages_priority_2 = func {
|
|||
ECAM_controller.warningReset(eng2FailRelight);
|
||||
}
|
||||
|
||||
if (warningNodes.Logic.eng2Shutdown.getValue() and eng2ShutDown.clearFlag == 0) {
|
||||
eng2ShutDown.active = 1;
|
||||
|
||||
if (phaseVar2 != 4 and phaseVar2 != 5 and systems.fireButtons[1].getValue() == 0 and (systems.PNEU.Valves.wingLeft.getValue() or systems.PNEU.Valves.wingRight.getValue())) {
|
||||
if (eng2ShutDownPack1.clearFlag == 0 and systems.ELEC.EmerElec.getValue() and systems.PNEU.Switch.pack1.getValue() and systems.PNEU.Switch.pack2.getValue()) {
|
||||
eng2ShutDownPack1.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownPack1);
|
||||
}
|
||||
|
||||
if (eng2ShutDownPack.clearFlag == 0 and !systems.ELEC.EmerElec.getValue() and systems.PNEU.Switch.pack1.getValue() and systems.PNEU.Switch.pack2.getValue()) {
|
||||
eng2ShutDownPack.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownPack);
|
||||
}
|
||||
|
||||
if (eng2ShutDownXBleed.clearFlag == 0 and systems.PNEU.Valves.crossbleed.getValue() == 0) {
|
||||
eng2ShutDownXBleed.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownXBleed);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownPack);
|
||||
ECAM_controller.warningReset(eng2ShutDownXBleed);
|
||||
}
|
||||
|
||||
if (FWC.Timer.gnd.getValue() == 0 or systems.fireButtons[1].getValue() == 0) {
|
||||
if (eng2ShutDownModeSel.clearFlag == 0 and pts.Controls.Engines.startSw.getValue() != 2) {
|
||||
eng2ShutDownModeSel.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownModeSel);
|
||||
}
|
||||
|
||||
if (systems.FUEL.Switches.crossfeed.getValue() == 0) {
|
||||
if (eng2ShutDownFuelLeak.clearFlag == 0) {
|
||||
eng2ShutDownFuelLeak.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownFuelLeak);
|
||||
}
|
||||
|
||||
if (eng2ShutDownImbalance.clearFlag == 0) {
|
||||
eng2ShutDownImbalance.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownImbalance);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownFuelLeak);
|
||||
ECAM_controller.warningReset(eng2ShutDownImbalance);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownModeSel);
|
||||
ECAM_controller.warningReset(eng2ShutDownFuelLeak);
|
||||
ECAM_controller.warningReset(eng2ShutDownImbalance);
|
||||
}
|
||||
|
||||
if (eng2ShutDownTCAS.clearFlag == 0 and pts.Instrumentation.TCAS.Inputs.mode.getValue() != 2) {
|
||||
eng2ShutDownTCAS.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownTCAS);
|
||||
}
|
||||
|
||||
if (0 == 1 and eng2ShutDownBuffet.clearFlag == 0) { # reverser unlocked
|
||||
eng2ShutDownBuffet.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownBuffet);
|
||||
}
|
||||
|
||||
if (0 == 1 and eng2ShutDownSpeed.clearFlag == 0) {
|
||||
eng2ShutDownSpeed.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownSpeed);
|
||||
}
|
||||
|
||||
if (systems.fireButtons[1].getValue() == 1) {
|
||||
if (eng2ShutDownXBleedS.clearFlag == 0 and systems.PNEU.Valves.crossbleed.getValue() != 0) {
|
||||
eng2ShutDownXBleedS.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownXBleedS);
|
||||
}
|
||||
|
||||
if (eng2ShutDownWingAI.clearFlag == 0 and (systems.PNEU.Valves.wingLeft.getValue() or systems.PNEU.Valves.wingRight.getValue())) {
|
||||
eng2ShutDownWingAI.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownWingAI);
|
||||
}
|
||||
|
||||
if (eng2ShutDownIcing.clearFlag == 0) {
|
||||
eng2ShutDownIcing.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownIcing);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDownXBleedS);
|
||||
ECAM_controller.warningReset(eng2ShutDownWingAI);
|
||||
ECAM_controller.warningReset(eng2ShutDownIcing);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2ShutDown);
|
||||
ECAM_controller.warningReset(eng2ShutDownPack);
|
||||
ECAM_controller.warningReset(eng2ShutDownXBleed);
|
||||
ECAM_controller.warningReset(eng2ShutDownModeSel);
|
||||
ECAM_controller.warningReset(eng2ShutDownImbalance);
|
||||
ECAM_controller.warningReset(eng2ShutDownTCAS);
|
||||
ECAM_controller.warningReset(eng2ShutDownFuelLeak);
|
||||
ECAM_controller.warningReset(eng2ShutDownBuffet);
|
||||
ECAM_controller.warningReset(eng2ShutDownSpeed);
|
||||
ECAM_controller.warningReset(eng2ShutDownXBleedS);
|
||||
ECAM_controller.warningReset(eng2ShutDownWingAI);
|
||||
ECAM_controller.warningReset(eng2ShutDownIcing);
|
||||
}
|
||||
|
||||
# DC EMER CONFIG
|
||||
if (!systems.ELEC.EmerElec.getValue() and systems.ELEC.Bus.dcEss.getValue() < 25 and systems.ELEC.Bus.dc1.getValue() < 25 and systems.ELEC.Bus.dc2.getValue() < 25 and phaseVar2 != 4 and phaseVar2 != 8 and dcEmerconfig.clearFlag == 0) {
|
||||
dcEmerconfig.active = 1;
|
||||
|
@ -1875,7 +2091,7 @@ var messages_priority_2 = func {
|
|||
warningNodes.Timers.bleed1Fault.setValue(0);
|
||||
}
|
||||
|
||||
if (bleed1Fault.clearFlag == 0 and (phaseVar2 == 2 or phaseVar2 == 6 or phaseVar2 == 9) and warningNodes.Timers.bleed1FaultOutput.getValue() == 1 and (!systems.PNEU.Switch.pack1.getBoolValue() or !systems.PNEU.Switch.pack2.getBoolValue() or !(getprop("/ECAM/phases/wing-anti-ice-pulse") and getprop("/controls/ice-protection/wing")))) { # inverse pulse
|
||||
if (bleed1Fault.clearFlag == 0 and (phaseVar2 == 2 or phaseVar2 == 6 or phaseVar2 == 9) and warningNodes.Timers.bleed1FaultOutput.getValue() == 1 and (!systems.PNEU.Switch.pack1.getBoolValue() or !systems.PNEU.Switch.pack2.getBoolValue() or !(getprop("/ECAM/phases/wing-anti-ice-pulse") and wing_pb.getValue()))) { # inverse pulse
|
||||
bleed1Fault.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(bleed1Fault);
|
||||
|
@ -1912,7 +2128,7 @@ var messages_priority_2 = func {
|
|||
warningNodes.Timers.bleed2Fault.setValue(0);
|
||||
}
|
||||
|
||||
if (bleed2Fault.clearFlag == 0 and (phaseVar2 == 2 or phaseVar2 == 6 or phaseVar2 == 9) and warningNodes.Timers.bleed2FaultOutput.getValue() == 1 and (!systems.PNEU.Switch.pack1.getBoolValue() or !systems.PNEU.Switch.pack2.getBoolValue() or !(getprop("/ECAM/phases/wing-anti-ice-pulse") and getprop("/controls/ice-protection/wing")))) { # inverse pulse
|
||||
if (bleed2Fault.clearFlag == 0 and (phaseVar2 == 2 or phaseVar2 == 6 or phaseVar2 == 9) and warningNodes.Timers.bleed2FaultOutput.getValue() == 1 and (!systems.PNEU.Switch.pack1.getBoolValue() or !systems.PNEU.Switch.pack2.getBoolValue() or !(getprop("/ECAM/phases/wing-anti-ice-pulse") and wing_pb.getValue()))) { # inverse pulse
|
||||
bleed2Fault.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(bleed2Fault);
|
||||
|
@ -2430,7 +2646,7 @@ var messages_priority_2 = func {
|
|||
} else {
|
||||
ECAM_controller.warningReset(wingIceSysFaultXbld);
|
||||
}
|
||||
if ((warningNodes.Logic.waiLclosed.getValue() or warningNodes.Logic.waiRclosed.getValue()) and getprop("/controls/ice-protection/wing")) {
|
||||
if ((warningNodes.Logic.waiLclosed.getValue() or warningNodes.Logic.waiRclosed.getValue()) and wing_pb.getValue()) {
|
||||
wingIceSysFaultOff.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(wingIceSysFaultOff);
|
||||
|
@ -2451,7 +2667,7 @@ var messages_priority_2 = func {
|
|||
if (wingIceOpenGnd.clearFlag == 0 and warningNodes.Logic.waiGndFlight.getValue() and (phaseVar2 <= 2 or phaseVar2 >= 9)) {
|
||||
wingIceOpenGnd.active = 1;
|
||||
|
||||
if (pts.Gear.wow[1].getValue() and getprop("/controls/ice-protection/wing")) {
|
||||
if (pts.Gear.wow[1].getValue() and wing_pb.getValue()) {
|
||||
wingIceOpenGndShut.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(wingIceOpenGndShut);
|
||||
|
@ -2998,7 +3214,7 @@ var messages_right_memo = func {
|
|||
eng_aice.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/ice-protection/wing") == 1) {
|
||||
if (wing_pb.getValue() == 1) {
|
||||
wing_aice.active = 1;
|
||||
} else {
|
||||
wing_aice.active = 0;
|
||||
|
|
|
@ -282,6 +282,20 @@ var warnings = std.Vector.new([
|
|||
var eng1FailNoDamage = warning.new(msg: " IF NO DAMAGE : ", colour: "w"),
|
||||
var eng1FailRelight = warning.new(msg: " -ENG 1 RELIGHT.CONSIDER", colour: "c"),
|
||||
|
||||
# ENG 1 SHUT DOWN
|
||||
var eng1ShutDown = warning.new(msg: "ENG 1 SHUT DOWN ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var eng1ShutDownPack = warning.new(msg: " -PACK 1.............OFF", colour: "c"),
|
||||
var eng1ShutDownXBleed = warning.new(msg: " -X BLEED...........OPEN", colour: "c"),
|
||||
var eng1ShutDownModeSel = warning.new(msg: " -ENG MODE SEL.......IGN", colour: "c"),
|
||||
var eng1ShutDownFuelLeak = warning.new(msg: " •IF NO FUEL LEAK :", colour: "w"),
|
||||
var eng1ShutDownImbalance = warning.new(msg: " -IMBALANCE......MONITOR", colour: "c"),
|
||||
var eng1ShutDownTCAS = warning.new(msg: " -TCAS MODE SEL.......TA", colour: "c"),
|
||||
var eng1ShutDownBuffet = warning.new(msg: " •IF BUFFET : ", colour: "w"),
|
||||
var eng1ShutDownSpeed = warning.new(msg: " MAX SPEED...........240", colour: "c"),
|
||||
var eng1ShutDownXBleedS = warning.new(msg: " -X BLEED...........SHUT", colour: "c"),
|
||||
var eng1ShutDownWingAI = warning.new(msg: " -WING ANTI ICE......OFF", colour: "c"),
|
||||
var eng1ShutDownIcing = warning.new(msg: " AVOID ICING CONDITIONS", colour: "c"),
|
||||
|
||||
# ENG 2 FAIL
|
||||
var eng2Fail = warning.new(msg: "ENG 2 FAIL ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var thrustMalfunction2 = warning.new(msg: " THRUST MALFUNCTION ", colour: "a"),
|
||||
|
@ -297,6 +311,21 @@ var warnings = std.Vector.new([
|
|||
var eng2FailNoDamage = warning.new(msg: " IF NO DAMAGE : ", colour: "w"),
|
||||
var eng2FailRelight = warning.new(msg: " -ENG 2 RELIGHT.CONSIDER", colour: "c"),
|
||||
|
||||
# ENG 2 SHUT DOWN
|
||||
var eng2ShutDown = warning.new(msg: "ENG 2 SHUT DOWN ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var eng2ShutDownPack1 = warning.new(msg: " -PACK 1.............OFF", colour: "c"),
|
||||
var eng2ShutDownPack = warning.new(msg: " -PACK 2.............OFF", colour: "c"),
|
||||
var eng2ShutDownXBleed = warning.new(msg: " -X BLEED...........OPEN", colour: "c"),
|
||||
var eng2ShutDownModeSel = warning.new(msg: " -ENG MODE SEL.......IGN", colour: "c"),
|
||||
var eng2ShutDownFuelLeak = warning.new(msg: " •IF NO FUEL LEAK :", colour: "w"),
|
||||
var eng2ShutDownImbalance = warning.new(msg: " -IMBALANCE......MONITOR", colour: "c"),
|
||||
var eng2ShutDownTCAS = warning.new(msg: " -TCAS MODE SEL.......TA", colour: "c"),
|
||||
var eng2ShutDownBuffet = warning.new(msg: " •IF BUFFET : ", colour: "w"),
|
||||
var eng2ShutDownSpeed = warning.new(msg: " MAX SPEED...........240", colour: "c"),
|
||||
var eng2ShutDownXBleedS = warning.new(msg: " -X BLEED...........SHUT", colour: "c"),
|
||||
var eng2ShutDownWingAI = warning.new(msg: " -WING ANTI ICE......OFF", colour: "c"),
|
||||
var eng2ShutDownIcing = warning.new(msg: " AVOID ICING CONDITIONS", colour: "c"),
|
||||
|
||||
# DC EMER CONFIG
|
||||
var dcEmerconfig = warning.new(msg: "ELEC DC EMER CONFIG", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var dcEmerconfigManOn = warning.new(msg: " -EMER ELEC PWR...MAN ON", colour: "c"),
|
||||
|
|
|
@ -20,13 +20,13 @@ var Transponder = {
|
|||
activeADIRS: 1,
|
||||
condition: 0,
|
||||
failed: 0,
|
||||
codeDigitsNodes: [props.globals.getNode("instrumentation/transponder/inputs/digit[0]", 1), props.globals.getNode("instrumentation/transponder/inputs/digit[1]", 1), props.globals.getNode("instrumentation/transponder/inputs/digit[2]", 1), props.globals.getNode("instrumentation/transponder/inputs/digit[3]", 1)],
|
||||
serviceableNode: props.globals.getNode("instrumentation/transponder/serviceable", 1),
|
||||
knobNode: props.globals.getNode("instrumentation/transponder/inputs/knob-mode", 1),
|
||||
identNode: props.globals.getNode("instrumentation/transponder/inputs/ident-btn", 1),
|
||||
codeDigitsNodes: [props.globals.getNode("/instrumentation/transponder/inputs/digit[0]", 1), props.globals.getNode("/instrumentation/transponder/inputs/digit[1]", 1), props.globals.getNode("/instrumentation/transponder/inputs/digit[2]", 1), props.globals.getNode("instrumentation/transponder/inputs/digit[3]", 1)],
|
||||
serviceableNode: props.globals.getNode("/instrumentation/transponder/serviceable", 1),
|
||||
knobNode: props.globals.getNode("/instrumentation/transponder/inputs/knob-mode", 1),
|
||||
identNode: props.globals.getNode("/instrumentation/transponder/inputs/ident-btn", 1),
|
||||
ac1Node: props.globals.getNode("/systems/electrical/bus/ac-1", 1),
|
||||
tcasNode: props.globals.getNode("instrumentation/tcas/inputs/mode"),
|
||||
aglNode: props.globals.getNode("position/gear-agl-ft", 1),
|
||||
tcasNode: props.globals.getNode("/instrumentation/tcas/inputs/mode"),
|
||||
aglNode: props.globals.getNode("/position/gear-agl-ft", 1),
|
||||
electricNode: props.globals.getNode("/systems/electrical/outputs/transponder", 1), # communicate to generic systems
|
||||
new: func(elecSrc, ADIRS) {
|
||||
var t = {parents:[Transponder]};
|
||||
|
|
|
@ -99,6 +99,8 @@ var PNEU = {
|
|||
hotAir: props.globals.getNode("/systems/air-conditioning/valves/hot-air"),
|
||||
starter1: props.globals.getNode("/systems/pneumatics/valves/starter-valve-1"),
|
||||
starter2: props.globals.getNode("/systems/pneumatics/valves/starter-valve-2"),
|
||||
wingLeft: props.globals.getNode("/systems/pneumatics/valves/wing-ice-1"),
|
||||
wingRight: props.globals.getNode("/systems/pneumatics/valves/wing-ice-2"),
|
||||
},
|
||||
pressMode: props.globals.getNode("/systems/pressurization/mode", 1),
|
||||
init: func() {
|
||||
|
|
|
@ -2422,6 +2422,56 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/eng/eng-shutdown-phase">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/ECAM/warning-phase eq 1
|
||||
/ECAM/warning-phase eq 2
|
||||
/ECAM/warning-phase eq 9
|
||||
/ECAM/warning-phase eq 10
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/eng/eng-1-shutdown">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/dual-failure-enabled eq 0
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/logic/eng/eng-shutdown-phase eq 1
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
</test>
|
||||
/controls/engines/engine[0]/fire-btn eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/logic/eng/eng-shutdown-phase eq 0
|
||||
/controls/engines/engine[0]/cutoff-switch eq 1
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/eng/eng-2-shutdown">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/dual-failure-enabled eq 0
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/logic/eng/eng-shutdown-phase eq 1
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
</test>
|
||||
/controls/engines/engine[1]/fire-btn eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/logic/eng/eng-shutdown-phase eq 0
|
||||
/controls/engines/engine[1]/cutoff-switch eq 1
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
<channel name="Config" execrate="16">
|
||||
|
|
Loading…
Reference in a new issue