Merge branch 'dev' into 3D
This commit is contained in:
commit
9cef967c18
9 changed files with 659 additions and 123 deletions
|
@ -574,6 +574,61 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(apuFireMaster);
|
||||
}
|
||||
|
||||
if (ADR123Fault.clearFlag == 0 and warningNodes.Logic.adr123Fault.getValue() and phaseVar3 != 4 and phaseVar3 != 8) {
|
||||
ADR123Fault.active = 1;
|
||||
|
||||
if (ADR123FaultAP.clearFlag == 0 and (fmgc.Output.ap1.getBoolValue() or fmgc.Output.ap2.getBoolValue() or fmgc.Output.fd1.getBoolValue() or fmgc.Output.fd2.getBoolValue())) {
|
||||
ADR123FaultAP.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(ADR123FaultAP);
|
||||
}
|
||||
|
||||
if (ADR123FaultATHR.clearFlag == 0 and fmgc.Output.athr.getBoolValue()) {
|
||||
ADR123FaultATHR.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(ADR123FaultATHR);
|
||||
}
|
||||
|
||||
if (ADR123FaultPRBW.clearFlag == 0) {
|
||||
ADR123FaultPRBW.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(ADR123FaultPRBW);
|
||||
}
|
||||
|
||||
if (ADR123FaultADRPB.clearFlag == 0 and (systems.ADIRS.Switches.adrSw[0].getBoolValue() or systems.ADIRS.Switches.adrSw[1].getBoolValue() or systems.ADIRS.Switches.adrSw[2].getBoolValue())) {
|
||||
ADR123FaultADRPB.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(ADR123FaultADRPB);
|
||||
}
|
||||
|
||||
if (ADR123FaultSPD.clearFlag == 0) {
|
||||
ADR123FaultSPD.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(ADR123FaultSPD);
|
||||
}
|
||||
|
||||
if (ADR123FaultSTBY.clearFlag == 0) {
|
||||
ADR123FaultSTBY.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(ADR123FaultSTBY);
|
||||
}
|
||||
|
||||
if (ADR123FaultPROC.clearFlag == 0) {
|
||||
ADR123FaultPROC.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(ADR123FaultPROC);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(ADR123Fault);
|
||||
ECAM_controller.warningReset(ADR123FaultAP);
|
||||
ECAM_controller.warningReset(ADR123FaultATHR);
|
||||
ECAM_controller.warningReset(ADR123FaultPRBW);
|
||||
ECAM_controller.warningReset(ADR123FaultADRPB);
|
||||
ECAM_controller.warningReset(ADR123FaultSPD);
|
||||
ECAM_controller.warningReset(ADR123FaultSTBY);
|
||||
ECAM_controller.warningReset(ADR123FaultPROC);
|
||||
}
|
||||
|
||||
if ((ecamConfigTest.getValue() and (phaseVar3 == 1 or phaseVar3 == 2 or phaseVar3 == 9)) or phaseVar3 == 3 or phaseVar3 == 4) {
|
||||
takeoffConfig = 1;
|
||||
} else {
|
||||
|
@ -626,7 +681,194 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(park_brk_config);
|
||||
}
|
||||
|
||||
if (lrElevFault.clearFlag == 0 and warningNodes.Timers.LRElevFault.getValue()) {
|
||||
if (excessCabAlt.clearFlag == 0 and warningNodes.Logic.excessCabAlt.getValue() == 1 and phaseVar3 == 6) {
|
||||
excessCabAlt.active = 1;
|
||||
|
||||
if (excessCabAltMask.clearFlag == 0 and warningNodes.Flipflops.cabPressExcessFlipflopTop.getValue()) {
|
||||
excessCabAltMask.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltMask);
|
||||
}
|
||||
|
||||
if (warningNodes.Flipflops.cabPressExcessFlipflop.getValue()) {
|
||||
if (excessCabAltSigns.clearFlag == 0 and (!pts.Controls.Lighting.noSmokingSign.getValue() or !pts.Controls.Lighting.seatbeltSign.getValue())) {
|
||||
excessCabAltSigns.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltSigns);
|
||||
}
|
||||
|
||||
if (excessCabAltEmerD.clearFlag == 0) {
|
||||
excessCabAltEmerD.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltEmerD);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltSigns);
|
||||
ECAM_controller.warningReset(excessCabAltEmerD);
|
||||
}
|
||||
|
||||
if (excessCabAltDES.clearFlag == 0 and warningNodes.Flipflops.cabPressExcessFlipflopTop.getValue()) {
|
||||
excessCabAltDES.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltDES);
|
||||
}
|
||||
|
||||
if (warningNodes.Flipflops.cabPressExcessFlipflop.getValue()) {
|
||||
if (excessCabAltTHRLVR.clearFlag == 0 and !fmgc.Output.athr.getBoolValue() and warningNodes.Logic.JE1TLAI.getValue() == 0 and warningNodes.Logic.JE2TLAI.getValue() == 0) {
|
||||
excessCabAltTHRLVR.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltTHRLVR);
|
||||
}
|
||||
|
||||
if (excessCabAltSPDBRK.clearFlag == 0 and pts.Controls.Flight.speedbrake.getValue() != 1) {
|
||||
excessCabAltSPDBRK.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltSPDBRK);
|
||||
}
|
||||
|
||||
if (excessCabAltSPD.clearFlag == 0) {
|
||||
excessCabAltSPD.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltSPD);
|
||||
}
|
||||
|
||||
if (excessCabAltENG.clearFlag == 0 and pts.Controls.Engines.startSw.getValue() != 1) {
|
||||
excessCabAltENG.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltENG);
|
||||
}
|
||||
|
||||
if (excessCabAltATC.clearFlag == 0) {
|
||||
excessCabAltATC.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltATC);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltTHRLVR);
|
||||
ECAM_controller.warningReset(excessCabAltSPDBRK);
|
||||
ECAM_controller.warningReset(excessCabAltSPD);
|
||||
ECAM_controller.warningReset(excessCabAltENG);
|
||||
ECAM_controller.warningReset(excessCabAltATC);
|
||||
}
|
||||
|
||||
if (warningNodes.Flipflops.cabPressExcessFlipflopTop.getValue() and !warningNodes.Flipflops.cabPressExcessFlipflop.getValue()) {
|
||||
if (excessCabAltCAB.clearFlag == 0) {
|
||||
excessCabAltCAB.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltCAB);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltCAB);
|
||||
}
|
||||
|
||||
if (warningNodes.Flipflops.cabPressExcessFlipflop.getValue()) {
|
||||
if (excessCabAltPA.clearFlag == 0) {
|
||||
excessCabAltPA.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltPA);
|
||||
}
|
||||
|
||||
if (excessCabAltXPDR.clearFlag == 0) {
|
||||
excessCabAltXPDR.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltXPDR);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltPA);
|
||||
ECAM_controller.warningReset(excessCabAltXPDR);
|
||||
}
|
||||
|
||||
if (excessCabAltMEA.clearFlag == 0) {
|
||||
excessCabAltMEA.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltMEA);
|
||||
}
|
||||
|
||||
if (excessCabAltCabAlt.clearFlag == 0) {
|
||||
excessCabAltCabAlt.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltCabAlt);
|
||||
}
|
||||
|
||||
if (excessCabAltMasks.clearFlag == 0) {
|
||||
excessCabAltMasks.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAltMasks);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessCabAlt);
|
||||
ECAM_controller.warningReset(excessCabAltMask);
|
||||
ECAM_controller.warningReset(excessCabAltSigns);
|
||||
ECAM_controller.warningReset(excessCabAltEmerD);
|
||||
ECAM_controller.warningReset(excessCabAltDES);
|
||||
ECAM_controller.warningReset(excessCabAltTHRLVR);
|
||||
ECAM_controller.warningReset(excessCabAltSPDBRK);
|
||||
ECAM_controller.warningReset(excessCabAltSPD);
|
||||
ECAM_controller.warningReset(excessCabAltENG);
|
||||
ECAM_controller.warningReset(excessCabAltCAB);
|
||||
ECAM_controller.warningReset(excessCabAltATC);
|
||||
ECAM_controller.warningReset(excessCabAltPA);
|
||||
ECAM_controller.warningReset(excessCabAltXPDR);
|
||||
ECAM_controller.warningReset(excessCabAltMEA);
|
||||
ECAM_controller.warningReset(excessCabAltCabAlt);
|
||||
ECAM_controller.warningReset(excessCabAltMasks);
|
||||
}
|
||||
|
||||
if (eng1OilLoPr.clearFlag == 0 and warningNodes.Logic.eng1OilLoPr.getBoolValue() and phaseVar3 != 1 and phaseVar3 != 10) {
|
||||
eng1OilLoPr.active = 1;
|
||||
|
||||
if (eng1OilLoPrIf.clearFlag == 0 and pts.Controls.Engines.Engine.cutoffSw[0].getValue() == 0) {
|
||||
eng1OilLoPrIf.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1OilLoPrIf);
|
||||
}
|
||||
|
||||
if (eng1OilLoPrThrot.clearFlag == 0 and !warningNodes.Logic.JE1TLAI.getValue()) {
|
||||
eng1OilLoPrThrot.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1OilLoPrThrot);
|
||||
}
|
||||
|
||||
if (eng1OilLoPrMaster.clearFlag == 0 and pts.Controls.Engines.Engine.cutoffSw[0].getValue() == 0) {
|
||||
eng1OilLoPrMaster.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1OilLoPrMaster);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng1OilLoPr);
|
||||
ECAM_controller.warningReset(eng1OilLoPrIf);
|
||||
ECAM_controller.warningReset(eng1OilLoPrThrot);
|
||||
ECAM_controller.warningReset(eng1OilLoPrMaster);
|
||||
}
|
||||
|
||||
if (eng2OilLoPr.clearFlag == 0 and warningNodes.Logic.eng2OilLoPr.getBoolValue() and phaseVar3 != 1 and phaseVar3 != 10) {
|
||||
eng2OilLoPr.active = 1;
|
||||
|
||||
if (eng2OilLoPrIf.clearFlag == 0 and pts.Controls.Engines.Engine.cutoffSw[1].getValue() == 0) {
|
||||
eng2OilLoPrIf.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2OilLoPrIf);
|
||||
}
|
||||
|
||||
if (eng2OilLoPrThrot.clearFlag == 0 and !warningNodes.Logic.JE2TLAI.getValue()) {
|
||||
eng2OilLoPrThrot.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2OilLoPrThrot);
|
||||
}
|
||||
|
||||
if (eng2OilLoPrMaster.clearFlag == 0 and pts.Controls.Engines.Engine.cutoffSw[1].getValue() == 0) {
|
||||
eng2OilLoPrMaster.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2OilLoPrMaster);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(eng2OilLoPr);
|
||||
ECAM_controller.warningReset(eng2OilLoPrIf);
|
||||
ECAM_controller.warningReset(eng2OilLoPrThrot);
|
||||
ECAM_controller.warningReset(eng2OilLoPrMaster);
|
||||
}
|
||||
|
||||
if (lrElevFault.clearFlag == 0 and warningNodes.Timers.LRElevFault.getValue() == 1) {
|
||||
lrElevFault.active = 1;
|
||||
if (lrElevFaultSpeed.clearFlag == 0) {
|
||||
lrElevFaultSpeed.active = 1;
|
||||
|
@ -829,6 +1071,32 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(lavatorySmokeComm);
|
||||
}
|
||||
|
||||
# CAB PRESS EXESS RESIDUAL PRESS
|
||||
if (excessResidPress.clearFlag == 0 and warningNodes.Logic.excessPress.getValue() == 1 and phaseVar == 10) {
|
||||
if (excessResidPressPack1.clearFlag == 0) {
|
||||
excessResidPressPack1.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessResidPressPack1);
|
||||
}
|
||||
|
||||
if (excessResidPressPack2.clearFlag == 0) {
|
||||
excessResidPressPack2.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessResidPressPack2);
|
||||
}
|
||||
|
||||
if (excessResidPressCabCr.clearFlag == 0) {
|
||||
excessResidPressCabCr.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessResidPressCabCr);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(excessResidPress);
|
||||
ECAM_controller.warningReset(excessResidPressPack1);
|
||||
ECAM_controller.warningReset(excessResidPressPack2);
|
||||
ECAM_controller.warningReset(excessResidPressCabCr);
|
||||
}
|
||||
|
||||
# ESS on BAT
|
||||
# NEW EMER ELEC CONFIG
|
||||
if (essBusOnBat.clearFlag == 0 and warningNodes.Timers.staticInverter.getValue() == 1 and phaseVar3 >= 5 and phaseVar3 <= 7) {
|
||||
|
@ -977,13 +1245,13 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(hydBYloPrRat);
|
||||
}
|
||||
|
||||
if (hydBYloPrYElec.clearFlag == 0 and !systems.HYD.Pump.yellowElec.getValue() and systems.ELEC.Bus.ac2.getValue() >= 110 and systems.HYD.Qty.yellow.getValue() >= 3.5) {
|
||||
if (hydBYloPrYElec.clearFlag == 0 and !systems.HYD.Pump.yellowElec.getValue() and !systems.HYD.Pump.yellowElecFail.getValue() and systems.ELEC.Bus.ac2.getValue() >= 110 and !systems.HYD.Fail.yellowReservoirAirPressLow.getBoolValue() and !systems.HYD.Warnings.yellowReservoirOvht.getBoolValue() and !systems.HYD.Warnings.yellowLoLvl.getBoolValue()) {
|
||||
hydBYloPrYElec.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrYElec);
|
||||
}
|
||||
|
||||
if (hydBYloPrRatOn.clearFlag == 0 and systems.HYD.Rat.position.getValue() == 0 and systems.HYD.Qty.blue.getValue() >= 2.4) {
|
||||
if (hydBYloPrRatOn.clearFlag == 0 and systems.HYD.Rat.position.getValue() == 0 and systems.HYD.Qty.blue.getValue() >= 1.8 and !systems.HYD.Fail.blueReservoirAirPressLow.getBoolValue() and !systems.HYD.Warnings.blueReservoirOvht.getBoolValue() and !systems.HYD.Warnings.blueLoLvl.getBoolValue()) {
|
||||
hydBYloPrRatOn.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrRatOn);
|
||||
|
@ -1052,7 +1320,7 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(hydGBloPrRat);
|
||||
}
|
||||
|
||||
if (hydGBloPrRatOn.clearFlag == 0 and systems.HYD.Rat.position.getValue() == 0 and systems.HYD.Qty.blue.getValue() >= 2.4) {
|
||||
if (hydGBloPrRatOn.clearFlag == 0 and systems.HYD.Rat.position.getValue() == 0 and systems.HYD.Qty.blue.getValue() >= 1.8 and !systems.HYD.Fail.blueReservoirAirPressLow.getBoolValue() and !systems.HYD.Warnings.blueReservoirOvht.getBoolValue() and !systems.HYD.Warnings.blueLoLvl.getBoolValue()) {
|
||||
hydGBloPrRatOn.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrRatOn);
|
||||
|
@ -1105,7 +1373,7 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(hydGBloPrFmsPredict);
|
||||
}
|
||||
|
||||
if (hydGYloPr.clearFlag == 0 and phaseVar3 != 4 and phaseVar3 != 5 and warningNodes.Logic.greenYellow.getValue()) {
|
||||
if (hydGYloPr.clearFlag == 0 and warningNodes.Logic.greenYellow.getValue()) {
|
||||
hydGYloPr.active = 1;
|
||||
if (hydGYloPrPtu.clearFlag == 0 and systems.HYD.Switch.ptu.getValue() != 0) {
|
||||
hydGYloPrPtu.active = 1;
|
||||
|
@ -1125,7 +1393,7 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(hydGYloPrYEng);
|
||||
}
|
||||
|
||||
if (hydGYloPrYElec.clearFlag == 0 and !systems.HYD.Pump.yellowElec.getValue() and systems.ELEC.Bus.ac2.getValue() >= 110 and systems.HYD.Qty.yellow.getValue() >= 3.5) {
|
||||
if (hydGYloPrYElec.clearFlag == 0 and !systems.HYD.Pump.yellowElec.getValue() and !systems.HYD.Pump.yellowElecFail.getValue() and systems.ELEC.Bus.ac2.getValue() >= 110 and !systems.HYD.Fail.yellowReservoirAirPressLow.getBoolValue() and !systems.HYD.Warnings.yellowReservoirOvht.getBoolValue() and !systems.HYD.Warnings.yellowLoLvl.getBoolValue()) {
|
||||
hydGYloPrYElec.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPrYElec);
|
||||
|
@ -3314,7 +3582,7 @@ var messages_config_memo = func {
|
|||
toMemoLine1.colour = "c";
|
||||
}
|
||||
|
||||
if (pts.Controls.Switches.seatbeltSwitch.getValue() and pts.Controls.Switches.noSmokingSwitch.getValue()) {
|
||||
if (pts.Controls.Lighting.seatbeltSign.getValue() and pts.Controls.Lighting.noSmokingSign.getValue()) {
|
||||
toMemoLine2.msg = " SIGNS ON";
|
||||
toMemoLine2.colour = "g";
|
||||
} else {
|
||||
|
@ -3380,7 +3648,7 @@ var messages_config_memo = func {
|
|||
ldgMemoLine1.colour = "c";
|
||||
}
|
||||
|
||||
if (pts.Controls.Switches.seatbeltSwitch.getValue() and pts.Controls.Switches.noSmokingSwitch.getValue()) {
|
||||
if (pts.Controls.Lighting.seatbeltSign.getValue() and pts.Controls.Lighting.noSmokingSign.getValue()) {
|
||||
ldgMemoLine2.msg = " SIGNS ON";
|
||||
ldgMemoLine2.colour = "g";
|
||||
} else {
|
||||
|
|
|
@ -18,7 +18,7 @@ var warnings = std.Vector.new([
|
|||
var overspeedGear = warning.new(msg: "-VLE...........280 /.67", colour: "r"),
|
||||
var overspeedFlap = warning.new(msg: "-VFE................XXX", colour: "r"),
|
||||
|
||||
var allEngFail = warning.new(msg: "ENG ALL ENGINES FAILURE", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var allEngFail = warning.new(msg: "ENG ALL ENGINES FAILURE", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "enginePage"),
|
||||
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"),
|
||||
|
@ -40,7 +40,7 @@ var warnings = std.Vector.new([
|
|||
var eng2ThrLvrAbvIdle2 = warning.new(msg: " -THR LEVER 2.......IDLE", colour: "c"),
|
||||
|
||||
# ENG 1 FIRE (flight)
|
||||
var eng1Fire = warning.new(msg: "ENG 1 FIRE", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var eng1Fire = warning.new(msg: "ENG 1 FIRE", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "enginePage"),
|
||||
var eng1FireFllever = warning.new(msg: " -THR LEVER 1.......IDLE", colour: "c"),
|
||||
var eng1FireFlmaster = warning.new(msg: " -ENG MASTER 1.......OFF", colour: "c"),
|
||||
var eng1FireFlPB = warning.new(msg: " -ENG 1 FIRE P/B....PUSH", colour: "c"),
|
||||
|
@ -63,7 +63,7 @@ var warnings = std.Vector.new([
|
|||
var eng1FireGnEvac = warning.new(msg: " -EMER EVAC PROC...APPLY", colour: "c"),
|
||||
|
||||
# ENG 2 FIRE (flight)
|
||||
var eng2Fire = warning.new(msg: "ENG 2 FIRE", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var eng2Fire = warning.new(msg: "ENG 2 FIRE", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "enginePage"),
|
||||
var eng2FireFllever = warning.new(msg: " -THR LEVER 2.......IDLE", colour: "c"),
|
||||
var eng2FireFlmaster = warning.new(msg: " -ENG MASTER 2.......OFF", colour: "c"),
|
||||
var eng2FireFlPB = warning.new(msg: " -ENG 2 FIRE P/B....PUSH", colour: "c"),
|
||||
|
@ -85,6 +85,13 @@ var warnings = std.Vector.new([
|
|||
var eng2FireGnAgent2 = warning.new(msg: " -AGENT 2..........DISCH", colour: "c"),
|
||||
var eng2FireGnEvac = warning.new(msg: " -EMER EVAC PROC...APPLY", colour: "c"),
|
||||
|
||||
# APU FIRE
|
||||
var apuFire = warning.new(msg: "APU FIRE ", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "apuPage"),
|
||||
var apuFirePB = warning.new(msg: " -APU FIRE P/B......PUSH", colour: "c"),
|
||||
var apuFireAgentTimer = warning.new(msg: " -AGENT AFT 10 S...DISCH", colour: "c"),
|
||||
var apuFireAgent = warning.new(msg: " -AGENT............DISCH", colour: "c"),
|
||||
var apuFireMaster = warning.new(msg: " -MASTER SW..........OFF", colour: "c"),
|
||||
|
||||
# ADR 1 + 2 + 3 FAULT
|
||||
var ADR123Fault = warning.new(msg: "NAV ADR 1+2+3 FAULT ", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var ADR123FaultAP = warning.new(msg: " -AP+FD..............OFF", colour: "c"),
|
||||
|
@ -99,28 +106,28 @@ var warnings = std.Vector.new([
|
|||
var ADR123FaultSTBY = warning.new(msg: " -STBY INST.MAY BE UNREL", colour: "c"),
|
||||
var ADR123FaultPROC = warning.new(msg: " -ALL ADR OFF PROC.APPLY", colour: "c"),
|
||||
|
||||
# APU FIRE
|
||||
var apuFire = warning.new(msg: "APU FIRE ", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "apuPage"),
|
||||
var apuFirePB = warning.new(msg: " -APU FIRE P/B......PUSH", colour: "c"),
|
||||
var apuFireAgentTimer = warning.new(msg: " -AGENT AFT 10 S...DISCH", colour: "c"),
|
||||
var apuFireAgent = warning.new(msg: " -AGENT............DISCH", colour: "c"),
|
||||
var apuFireMaster = warning.new(msg: " -MASTER SW..........OFF", colour: "c"),
|
||||
|
||||
# Config
|
||||
var slats_config = warning.new(msg: "CONFIG", colour: "r", aural: 0, light: 0),
|
||||
var slats_config_1 = warning.new(msg: "SLATS NOT IN T.O. CONFIG", colour: "r", aural: 0, light: 0),
|
||||
var flaps_config = warning.new(msg: "CONFIG", colour: "r", aural: 0, light: 0),
|
||||
var flaps_config_1 = warning.new(msg: "FLAPS NOT IN T.O. CONFIG", colour: "r", aural: 0, light: 0),
|
||||
var spd_brk_config = warning.new(msg: "CONFIG", colour: "r", aural: 0, light: 0),
|
||||
var spd_brk_config = warning.new(msg: "CONFIG", colour: "r", aural: 0, light: 0, sdPage: "fctlPage"),
|
||||
var spd_brk_config_1 = warning.new(msg: "SPD BRK NOT RETRACTED", colour: "r", aural: 0, light: 0),
|
||||
var pitch_trim_config = warning.new(msg: "CONFIG PITCH TRIM", colour: "r", aural: 0, light: 0),
|
||||
var pitch_trim_config = warning.new(msg: "CONFIG PITCH TRIM", colour: "r", aural: 0, light: 0, sdPage: "fctlPage"),
|
||||
var pitch_trim_config_1 = warning.new(msg: " NOT IN T.O. RANGE", colour: "r", aural: 0, light: 0),
|
||||
var rud_trim_config = warning.new(msg: "CONFIG RUD TRIM", colour: "r", aural: 0, light: 0),
|
||||
var rud_trim_config = warning.new(msg: "CONFIG RUD TRIM", colour: "r", aural: 0, light: 0, sdPage: "fctlPage"),
|
||||
var rud_trim_config_1 = warning.new(msg: " NOT IN T.O. RANGE", colour: "r", aural: 0, light: 0),
|
||||
var park_brk_config = warning.new(msg: "CONFIG PARK BRK ON", colour: "r", aural: 0, light: 0),
|
||||
var l_sidestick_fault = warning.new(msg: "CONFIG L SIDESTICK FAULT", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var l_sidestick_fault_to = warning.new(msg: " (BY TAKE OVER)", colour: "r"),
|
||||
var l_sidestick_fault_pb = warning.new(msg: " -L TAKE OVER....DEPRESS", colour: "c"),
|
||||
var r_sidestick_fault = warning.new(msg: "CONFIG R SIDESTICK FAULT", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var r_sidestick_fault_to = warning.new(msg: " (BY TAKE OVER)", colour: "r"),
|
||||
var r_sidestick_fault_pb = warning.new(msg: " -R TAKE OVER....DEPRESS", colour: "c"),
|
||||
|
||||
|
||||
# EXCESS CAB ALT
|
||||
var excessCabAlt = warning.new(msg: "CAB PR EXCESS CAB ALT", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var excessCabAlt = warning.new(msg: "CAB PR EXCESS CAB ALT", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "cabPressPage"),
|
||||
var excessCabAltMask = warning.new(msg: " -CREW OXY MASKS.....USE", colour: "c"),
|
||||
var excessCabAltSigns = warning.new(msg: " -SIGNS...............ON", colour: "c"),
|
||||
var excessCabAltEmerD = warning.new(msg: " •EMER DESCENT:", colour: "w"),
|
||||
|
@ -129,6 +136,7 @@ var warnings = std.Vector.new([
|
|||
var excessCabAltSPDBRK = warning.new(msg: " -SPD BRK...........FULL", colour: "c"),
|
||||
var excessCabAltSPD = warning.new(msg: " SPD.....MAX/APPROPRIATE", colour: "c"),
|
||||
var excessCabAltENG = warning.new(msg: " -ENG MODE...........IGN", colour: "c"),
|
||||
var excessCabAltATC = warning.new(msg: " -ATC.............NOTIFY", colour: "c"),
|
||||
var excessCabAltCAB = warning.new(msg: " -CABIN CREW......ADVISE", colour: "c"),
|
||||
var excessCabAltPA = warning.new(msg: " -EMER DES (PA).ANNOUNCE", colour: "c"),
|
||||
var excessCabAltXPDR = warning.new(msg: " -XPDR 7700.....CONSIDER", colour: "c"),
|
||||
|
@ -137,21 +145,21 @@ var warnings = std.Vector.new([
|
|||
var excessCabAltMasks = warning.new(msg: " -PAX OXY MASKS...MAN ON", colour: "c"),
|
||||
|
||||
# ENG 1 OIL LO PR
|
||||
var eng1OilLoPr = warning.new(msg: "ENG 1 OIL LO PR ", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var eng1OilLoPr = warning.new(msg: "ENG 1 OIL LO PR ", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "enginePage"),
|
||||
var eng1OilLoPrIf = warning.new(msg: " •IF OIL PR < 13 PSI :", colour: "w"),
|
||||
var eng1OilLoPrIf2 = warning.new(msg: " •IF OIL PR < 60 PSI :", colour: "w"),
|
||||
var eng1OilLoPrThrot = warning.new(msg: " -THR LEVER 1.......IDLE", colour: "c"),
|
||||
var eng1OilLoPrMaster = warning.new(msg: " -ENG MASTER 1.......OFF", colour: "c"),
|
||||
|
||||
# ENG 2 OIL LO PR
|
||||
var eng2OilLoPr = warning.new(msg: "ENG 2 OIL LO PR ", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var eng2OilLoPr = warning.new(msg: "ENG 2 OIL LO PR ", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "enginePage"),
|
||||
var eng2OilLoPrIf = warning.new(msg: " •IF OIL PR < 13 PSI :", colour: "w"),
|
||||
var eng2OilLoPrIf2 = warning.new(msg: " •IF OIL PR < 60 PSI :", colour: "w"),
|
||||
var eng2OilLoPrThrot = warning.new(msg: " -THR LEVER 2.......IDLE", colour: "c"),
|
||||
var eng2OilLoPrMaster = warning.new(msg: " -ENG MASTER 2.......OFF", colour: "c"),
|
||||
|
||||
# FCTL L+R ELEV FAULT
|
||||
var lrElevFault = warning.new(msg: "F/CTL L+R ELEV FAULT", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var lrElevFault = warning.new(msg: "F/CTL L+R ELEV FAULT", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "fctlPage"),
|
||||
var lrElevFaultSpeed = warning.new(msg: " MAX SPEED.......320/.77", colour: "c"),
|
||||
var lrElevFaultTrim = warning.new(msg: " -MAN PITCH TRIM.....USE", colour: "c"),
|
||||
var lrElevFaultSpdBrk = warning.new(msg: " SPD BRK......DO NOT USE", colour: "c"),
|
||||
|
@ -159,7 +167,7 @@ var warnings = std.Vector.new([
|
|||
# Gear not down
|
||||
var gearNotDown = warning.new(msg: "L/G GEAR NOT DOWN", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
|
||||
var gearNotDownLocked = warning.new(msg: "L/G GEAR NOT DOWNLOCKED", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var gearNotDownLocked = warning.new(msg: "L/G GEAR NOT DOWNLOCKED", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "wheelPage"),
|
||||
var gearNotDownLockedRec = warning.new(msg: " -L/G LEVER......RECYCLE", colour: "c"),
|
||||
var gearNotDownLockedWork = warning.new(msg: " •IF UNSUCCESSFUL:", colour: "w"),
|
||||
var gearNotDownLocked120 = warning.new(msg: " AFTER 120S:", colour: "w"),
|
||||
|
@ -169,14 +177,14 @@ var warnings = std.Vector.new([
|
|||
var ap_offw = warning.new(msg: "AUTO FLT AP OFF", colour: "r", light: 0, isMainMsg: 1),
|
||||
|
||||
# Cargo smoke
|
||||
var cargoSmokeFwd = warning.new(msg: "SMOKE FWD CARGO SMOKE", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var cargoSmokeFwd = warning.new(msg: "SMOKE FWD CARGO SMOKE", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "condPage"),
|
||||
var cargoSmokeFwdFans = warning.new(msg: " -CAB FANS...........OFF", colour: "c"),
|
||||
var cargoSmokeFwdGrdClsd = warning.new(msg: " •IF FWD CRG CLSD:", colour: "w"),
|
||||
var cargoSmokeFwdAgent = warning.new(msg: " -AGENT............DISCH", colour: "c"),
|
||||
var cargoSmokeFwdGrd = warning.new(msg: " •WHEN ON GROUND", colour: "w"),
|
||||
var cargoSmokeFwdDoors = warning.new(msg: " BEFORE OPEN CRG DOORS:", colour: "w"),
|
||||
var cargoSmokeFwdDisemb = warning.new(msg: "-PAX..........DISEMBARK", colour: "c"),
|
||||
var cargoSmokeAft = warning.new(msg: "SMOKE AFT CARGO SMOKE", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var cargoSmokeAft = warning.new(msg: "SMOKE AFT CARGO SMOKE", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "condPage"),
|
||||
var cargoSmokeAftFans = warning.new(msg: " -CAB FANS...........OFF", colour: "c"),
|
||||
var cargoSmokeAftGrdClsd = warning.new(msg: " •IF AFT CRG CLSD:", colour: "w"),
|
||||
var cargoSmokeAftAgent = warning.new(msg: " -AGENT............DISCH", colour: "c"),
|
||||
|
@ -189,18 +197,18 @@ var warnings = std.Vector.new([
|
|||
var lavatorySmokeComm = warning.new(msg: "-CKPT/CAB COM.ESTABLISH ", colour: "c"),
|
||||
|
||||
# EXCES RESID PR
|
||||
var excessResidPress = warning.new(msg: "CAB PR EXCES RESIDUAL PR ", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var excessResidPress = warning.new(msg: "CAB PR EXCES RESIDUAL PR ", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "cabPressPage"),
|
||||
var excessResidPressPack1 = warning.new(msg: "-PACK 1.............OFF", colour: "c"),
|
||||
var excessResidPressPack2 = warning.new(msg: "-PACK 2.............OFF", colour: "c"),
|
||||
var excessResidPressCabCr = warning.new(msg: "-CABIN CREW.......ALERT", colour: "c"),
|
||||
|
||||
# ESS Bus on Bat
|
||||
# NEW EMER CONFIG
|
||||
var essBusOnBat = warning.new(msg: "ELEC ESS BUSES ON BAT", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var essBusOnBat = warning.new(msg: "ELEC ESS BUSES ON BAT", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "elecPage"),
|
||||
var essBusOnBatMinSpeed = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
|
||||
|
||||
# Emer Config
|
||||
var emerconfig = warning.new(msg: "ELEC EMER CONFIG", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var emerconfig = warning.new(msg: "ELEC EMER CONFIG", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "elecPage"),
|
||||
var emerconfigMinRat = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
|
||||
var emerconfigGen = warning.new(msg: " -GEN 1+2....OFF THEN ON", colour: "c"),
|
||||
var emerconfigGen2 = warning.new(msg: " •IF UNSUCCESSFUL :", colour: "w"),
|
||||
|
@ -219,7 +227,7 @@ var warnings = std.Vector.new([
|
|||
var emerconfigFMSPRD = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
|
||||
# B + Y LO PR
|
||||
var hydBYloPr = warning.new(msg: "HYD B+Y SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var hydBYloPr = warning.new(msg: "HYD B+Y SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "hydraulicPage"),
|
||||
var hydBYloPrRat = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
|
||||
var hydBYloPrYElec = warning.new(msg: " -YELLOW ELEC PUMP....ON", colour: "c"),
|
||||
var hydBYloPrRatOn = warning.new(msg: " -RAT.............MAN ON", colour: "c"),
|
||||
|
@ -232,7 +240,7 @@ var warnings = std.Vector.new([
|
|||
var hydBYloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
|
||||
# G + B LO PR
|
||||
var hydGBloPr = warning.new(msg: "HYD G+B SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var hydGBloPr = warning.new(msg: "HYD G+B SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "hydraulicPage"),
|
||||
var hydGBloPrRat = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
|
||||
var hydGBloPrRatOn = warning.new(msg: " -RAT.............MAN ON", colour: "c"),
|
||||
var hydGBloPrBElec = warning.new(msg: " -BLUE ELEC PUMP.....OFF", colour: "c"),
|
||||
|
@ -243,7 +251,7 @@ var warnings = std.Vector.new([
|
|||
var hydGBloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
|
||||
# G + Y LO PR
|
||||
var hydGYloPr = warning.new(msg: "HYD G+Y SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var hydGYloPr = warning.new(msg: "HYD G+Y SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "hydraulicPage"),
|
||||
var hydGYloPrPtu = warning.new(msg: " -PTU................OFF", colour: "c"),
|
||||
var hydGYloPrGEng = warning.new(msg: " -GREEN ENG 1 PUMP...OFF", colour: "c"),
|
||||
var hydGYloPrYEng = warning.new(msg: " -YELLOW ENG 2 PUMP..OFF", colour: "c"),
|
||||
|
@ -253,7 +261,7 @@ var warnings = std.Vector.new([
|
|||
var hydGYloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
|
||||
# AIR BLEED LEAK
|
||||
var airBleedLeak = warning.new(msg: "AIR BLEED LEAK ", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var airBleedLeak = warning.new(msg: "AIR BLEED LEAK ", colour: "r", aural: 0, light: 0, isMainMsg: 1, sdPage: "bleedPage"),
|
||||
var airBleedLeakShut = warning.new(msg: " -X BLEED..........SHUT", colour: "c"),
|
||||
|
||||
# LEVEL 2 WARN
|
||||
|
|
|
@ -74,6 +74,11 @@ var FWC = {
|
|||
|
||||
var warningNodes = {
|
||||
Logic: {
|
||||
JE1TLAI: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-tla-idle"),
|
||||
JE2TLAI: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-tla-idle"),
|
||||
adr123Fault: props.globals.initNode("/ECAM/warnings/navigation/ADR123-fault"),
|
||||
eng1OilLoPr: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-oil-lo-pr"),
|
||||
eng2OilLoPr: props.globals.initNode("/ECAM/warnings/logic/eng/eng-2-oil-lo-pr"),
|
||||
altitudeAlert: props.globals.initNode("/ECAM/warnings/altitude-alert/c-chord"),
|
||||
altitudeAlertSteady: props.globals.initNode("/ECAM/warnings/altitude-alert/altitude-alert-steady"),
|
||||
altitudeAlertFlash: props.globals.initNode("/ECAM/warnings/altitude-alert/altitude-alert-flash"),
|
||||
|
@ -151,6 +156,8 @@ var warningNodes = {
|
|||
gen1Off: props.globals.initNode("/ECAM/warnings/logic/elec/gen-1-off"),
|
||||
gen2Off: props.globals.initNode("/ECAM/warnings/logic/elec/gen-2-off"),
|
||||
spdBrkOut: props.globals.initNode("/ECAM/warnings/fctl/spd-brk-still-out"),
|
||||
excessPress: props.globals.initNode("/ECAM/warnings/press/exess-residual-pressure"),
|
||||
excessCabAlt: props.globals.initNode("/ECAM/warnings/logic/press/excess-cabin-alt"),
|
||||
},
|
||||
Timers: {
|
||||
apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"),
|
||||
|
@ -214,5 +221,7 @@ var warningNodes = {
|
|||
parkBrk: props.globals.initNode("/ECAM/warnings/config/park-brk/park-brk-output"),
|
||||
eng1ThrLvrAbvIdle: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-thr-lvr-abv-idle"),
|
||||
eng2ThrLvrAbvIdle: props.globals.initNode("/ECAM/warnings/logic/eng/eng-2-thr-lvr-abv-idle"),
|
||||
cabPressExcessFlipflopTop: props.globals.initNode("/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-top"),
|
||||
cabPressExcessFlipflop: props.globals.initNode("/ECAM/warnings/logic/press/excess-cabin-alt-flipflop"),
|
||||
},
|
||||
};
|
|
@ -214,7 +214,8 @@ var FMGCInternal = {
|
|||
mngSpd: 0,
|
||||
mngSpdCmd: 0,
|
||||
|
||||
landingTime: -99,
|
||||
# This can't be init to -98, because we don't want it to run until WOW has gone to false and back to true
|
||||
landingTime: -98,
|
||||
blockFuelTime: -99,
|
||||
fuelPredTime: -99,
|
||||
|
||||
|
@ -1212,8 +1213,9 @@ setlistener("/FMGC/internal/fuel-calculating", func() {
|
|||
|
||||
# Maketimers
|
||||
var timer30secLanding = maketimer(1, func() {
|
||||
if (pts.Sim.Time.elapsedSec.getValue() > FMGCInternal.landingTime + 30) {
|
||||
if (pts.Sim.Time.elapsedSec.getValue() > (FMGCInternal.landingTime + 30)) {
|
||||
FMGCInternal.phase = 7;
|
||||
FMGCNodes.phase.setValue(7);
|
||||
|
||||
if (FMGCInternal.costIndexSet) {
|
||||
setprop("/FMGC/internal/last-cost-index", FMGCInternal.costIndex);
|
||||
|
|
|
@ -122,11 +122,17 @@ var fplnItem = {
|
|||
return [" " ~ fmgc.flightPlanController.fromWptAlt, "mag"];
|
||||
} elsif (me.wp.alt_cstr != nil and me.wp.alt_cstr > 0) {
|
||||
var tcol = (me.wp.alt_cstr_type == "computed" or me.wp.alt_cstr_type == "computed_mach") ? "grn" : "mag"; # TODO - check if only computed
|
||||
var cstrAlt = "";
|
||||
|
||||
if (me.wp.alt_cstr > fmgc.FMGCInternal.transAlt) {
|
||||
return [" " ~ sprintf("%5s", "FL" ~ math.round(num(me.wp.alt_cstr) / 100)), tcol];
|
||||
cstrAlt = "FL" ~ math.round(num(me.wp.alt_cstr) / 100);
|
||||
} else {
|
||||
return [" " ~ sprintf("%5.0f", me.wp.alt_cstr), tcol];
|
||||
cstrAlt = me.wp.alt_cstr;
|
||||
}
|
||||
|
||||
cstrAlt = (me.wp.alt_cstr_type == "above") ? "+" ~ cstrAlt : cstrAlt;
|
||||
cstrAlt = (me.wp.alt_cstr_type == "below") ? "-" ~ cstrAlt : cstrAlt;
|
||||
return [sprintf("%6s", cstrAlt), tcol];
|
||||
} else {
|
||||
return ["------", "wht"];
|
||||
}
|
||||
|
@ -208,26 +214,26 @@ var fplnItem = {
|
|||
} elsif (find("/", scratchpadStore) != -1) {
|
||||
var scratchpadSplit = split("/", scratchpadStore);
|
||||
|
||||
if (size(scratchpadSplit[0]) == 0) {
|
||||
if (num(scratchpadSplit[1]) != nil and (size(scratchpadSplit[1]) == 4 or size(scratchpadSplit[1]) == 5) and scratchpadSplit[1] >= 0 and scratchpadSplit[1] <= 39000) {
|
||||
me.wp.setAltitude(math.round(scratchpadSplit[1], 10), "at");
|
||||
mcdu_scratchpad.scratchpads[me.computer].empty();
|
||||
} else {
|
||||
mcdu_message(me.computer, "FORMAT ERROR");
|
||||
}
|
||||
} else {
|
||||
if (num(scratchpadSplit[0]) != nil and size(scratchpadSplit[0]) == 3 and scratchpadSplit[0] >= 100 and scratchpadSplit[0] <= 350 and
|
||||
num(scratchpadSplit[1]) != nil and (size(scratchpadSplit[1]) == 4 or size(scratchpadSplit[1]) == 5) and scratchpadSplit[1] >= 0 and scratchpadSplit[1] <= 39000) {
|
||||
me.wp.setSpeed(scratchpadSplit[0], "at");
|
||||
me.wp.setAltitude(math.round(scratchpadSplit[1], 10), "at");
|
||||
mcdu_scratchpad.scratchpads[me.computer].empty();
|
||||
} elsif (num(scratchpadSplit[0]) != nil and size(scratchpadSplit[0]) == 3 and scratchpadSplit[0] >= 100 and scratchpadSplit[0] <= 350 and size(scratchpadSplit[1]) == 0) {
|
||||
if (size(scratchpadSplit[0]) != 0) {
|
||||
if (num(scratchpadSplit[0]) != nil and size(scratchpadSplit[0]) == 3 and scratchpadSplit[0] >= 100 and scratchpadSplit[0] <= 350) {
|
||||
me.wp.setSpeed(scratchpadSplit[0], "at");
|
||||
mcdu_scratchpad.scratchpads[me.computer].empty();
|
||||
} else {
|
||||
mcdu_message(me.computer, "FORMAT ERROR");
|
||||
}
|
||||
}
|
||||
|
||||
if (right(scratchpadSplit[1], 1) == "+") {
|
||||
validateAltCstrFpln(left(scratchpadSplit[1], size(scratchpadSplit[1]) - 1), "above", me);
|
||||
} elsif (right(scratchpadSplit[1], 1) == "-") {
|
||||
validateAltCstrFpln(left(scratchpadSplit[1], size(scratchpadSplit[1]) - 1), "below", me);
|
||||
} elsif (left(scratchpadSplit[1], 1) == "+") {
|
||||
validateAltCstrFpln(right(scratchpadSplit[1], size(scratchpadSplit[1]) - 1), "above", me);
|
||||
} elsif (left(scratchpadSplit[1], 1) == "-") {
|
||||
validateAltCstrFpln(right(scratchpadSplit[1], size(scratchpadSplit[1]) - 1), "below", me);
|
||||
} else {
|
||||
validateAltCstrFpln(scratchpadSplit[1], "at", me);
|
||||
}
|
||||
} elsif (num(scratchpadStore) != nil and size(scratchpadStore) == 3 and scratchpadStore >= 100 and scratchpadStore <= 350) {
|
||||
me.wp.setSpeed(scratchpadStore, "at");
|
||||
mcdu_scratchpad.scratchpads[me.computer].empty();
|
||||
|
@ -240,6 +246,19 @@ var fplnItem = {
|
|||
},
|
||||
};
|
||||
|
||||
var validateAltCstrFpln = func(scratchpadStore, type, self) {
|
||||
if (num(scratchpadStore) != nil and (size(scratchpadStore) >= 3 and size(scratchpadStore) <= 5)) {
|
||||
if (scratchpadStore >= 100 and scratchpadStore <= 39000) {
|
||||
self.wp.setAltitude(math.round(scratchpadStore, 10), type);
|
||||
mcdu_scratchpad.scratchpads[self.computer].empty();
|
||||
} else {
|
||||
mcdu_message(self.computer, "ENTRY OUT OF RANGE");
|
||||
}
|
||||
} else {
|
||||
mcdu_message(self.computer, "FORMAT ERROR");
|
||||
}
|
||||
}
|
||||
|
||||
var staticText = {
|
||||
new: func(computer, text) {
|
||||
var sT = {parents:[staticText]};
|
||||
|
|
|
@ -55,11 +55,17 @@ var vertRev = {
|
|||
getAlt: func() {
|
||||
if (me.wp.alt_cstr != nil and me.wp.alt_cstr > 0) {
|
||||
var tcol = (me.wp.alt_cstr_type == "computed" or me.wp.alt_cstr_type == "computed_mach") ? "grn" : "mag"; # TODO - check if only computed
|
||||
var cstrAlt = "";
|
||||
|
||||
if (me.wp.alt_cstr > fmgc.FMGCInternal.transAlt) {
|
||||
return [sprintf("%5s", "FL" ~ math.round(num(me.wp.alt_cstr) / 100)) ~ " ", tcol];
|
||||
cstrAlt = "FL" ~ math.round(num(me.wp.alt_cstr) / 100);
|
||||
} else {
|
||||
return [sprintf("%5.0f", me.wp.alt_cstr) ~ " ", tcol];
|
||||
cstrAlt = me.wp.alt_cstr;
|
||||
}
|
||||
|
||||
cstrAlt = (me.wp.alt_cstr_type == "above") ? "+" ~ cstrAlt : cstrAlt;
|
||||
cstrAlt = (me.wp.alt_cstr_type == "below") ? "-" ~ cstrAlt : cstrAlt;
|
||||
return [cstrAlt ~ (size(cstrAlt) == 6 ? "" : " "), tcol];
|
||||
} else {
|
||||
return [nil,nil];
|
||||
}
|
||||
|
@ -242,18 +248,38 @@ var vertRev = {
|
|||
mcdu_scratchpad.scratchpads[me.computer].empty();
|
||||
me._setupPageWithData();
|
||||
canvas_mcdu.pageSwitch[me.computer].setBoolValue(0);
|
||||
} elsif (num(scratchpadStore) != nil and (size(scratchpadStore) == 4 or size(scratchpadStore) == 5) and scratchpadStore >= 0 and scratchpadStore <= 39000) {
|
||||
me.wp.setAltitude(math.round(scratchpadStore, 10), "at");
|
||||
mcdu_scratchpad.scratchpads[me.computer].empty();
|
||||
me._setupPageWithData();
|
||||
canvas_mcdu.pageSwitch[me.computer].setBoolValue(0);
|
||||
} else {
|
||||
mcdu_message(me.computer, "FORMAT ERROR");
|
||||
if (right(scratchpadStore, 1) == "+") {
|
||||
validateAltCstr(left(scratchpadStore, size(scratchpadStore) - 1), "above", me);
|
||||
} elsif (right(scratchpadStore, 1) == "-") {
|
||||
validateAltCstr(left(scratchpadStore, size(scratchpadStore) - 1), "below", me);
|
||||
} elsif (left(scratchpadStore, 1) == "+") {
|
||||
validateAltCstr(right(scratchpadStore, size(scratchpadStore) - 1), "above", me);
|
||||
} elsif (left(scratchpadStore, 1) == "-") {
|
||||
validateAltCstr(right(scratchpadStore, size(scratchpadStore) - 1), "below", me);
|
||||
} else {
|
||||
validateAltCstr(scratchpadStore, "at", me);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
var validateAltCstr = func(scratchpadStore, type, self) {
|
||||
if (num(scratchpadStore) != nil and (size(scratchpadStore) >= 3 and size(scratchpadStore) <= 5)) {
|
||||
if (scratchpadStore >= 100 and scratchpadStore <= 39000) {
|
||||
self.wp.setAltitude(math.round(scratchpadStore, 10), type);
|
||||
mcdu_scratchpad.scratchpads[self.computer].empty();
|
||||
self._setupPageWithData();
|
||||
canvas_mcdu.pageSwitch[self.computer].setBoolValue(0);
|
||||
} else {
|
||||
mcdu_message(self.computer, "ENTRY OUT OF RANGE");
|
||||
}
|
||||
} else {
|
||||
mcdu_message(self.computer, "FORMAT ERROR");
|
||||
}
|
||||
}
|
||||
|
||||
var updateCrzLvlCallback = func () {
|
||||
if (canvas_mcdu.myVertRev[0] != nil) {
|
||||
canvas_mcdu.myVertRev[0].updateR5();
|
||||
|
|
|
@ -44,6 +44,7 @@ var HYD = {
|
|||
},
|
||||
Pump: {
|
||||
yellowElec: props.globals.getNode("/systems/hydraulic/sources/yellow-elec/pump-operate"),
|
||||
yellowElecFail: props.globals.getNode("/ECAM/warnings/hyd/yellow-elec-pump-fail"),
|
||||
},
|
||||
Qty: {
|
||||
blueInput: props.globals.initNode("/systems/hydraulic/blue-qty-input", 0, "INT"),
|
||||
|
@ -74,6 +75,12 @@ var HYD = {
|
|||
blueAbnormLoPr: props.globals.getNode("/ECAM/warnings/hyd/blue-abnorm-lo-pr"),
|
||||
greenAbnormLoPr: props.globals.getNode("/ECAM/warnings/hyd/green-abnorm-lo-pr"),
|
||||
yellowAbnormLoPr: props.globals.getNode("/ECAM/warnings/hyd/yellow-abnorm-lo-pr"),
|
||||
blueLoLvl: props.globals.getNode("/systems/hydraulic/relays/blue-reservoir-low-qty-switch"),
|
||||
greenLoLvl: props.globals.getNode("/systems/hydraulic/relays/green-reservoir-low-qty-switch"),
|
||||
yellowLoLvl: props.globals.getNode("/systems/hydraulic/relays/yellow-reservoir-low-qty-switch"),
|
||||
blueReservoirOvht: props.globals.getNode("/systems/hydraulic/relays/blue-reservoir-overheat"),
|
||||
greenReservoirOvht: props.globals.getNode("/systems/hydraulic/relays/green-reservoir-overheat"),
|
||||
yellowReservoirOvht: props.globals.getNode("/systems/hydraulic/relays/yellow-reservoir-overheat"),
|
||||
},
|
||||
init: func() {
|
||||
me.resetFailures();
|
||||
|
|
|
@ -1624,7 +1624,7 @@
|
|||
<switch name="/ECAM/warnings/logic/eng/engine-2-core-speed-abv-idle-input">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/engines/engine[0]/n2-actual ge 59.4
|
||||
/engines/engine[1]/n2-actual ge 59.4
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -2674,9 +2674,9 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/logic/eng/eng-1-tla-abv-6-output eq 1
|
||||
/engines/engine[0]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE1NORUN eq 1
|
||||
<test logic="AND">
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE2NORUN eq 1
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/logic/eng/eng-2-reverse eq 1
|
||||
|
@ -2693,9 +2693,9 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/logic/eng/eng-1-tla-abv-6-2-output eq 1
|
||||
/engines/engine[0]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE1NORUN eq 1
|
||||
<test logic="AND">
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE2NORUN eq 1
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/logic/eng/eng-2-tla-idle-output eq 1
|
||||
<test logic="AND">
|
||||
|
@ -2712,9 +2712,9 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/logic/eng/eng-2-tla-abv-6-output eq 1
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE2NORUN eq 1
|
||||
<test logic="AND">
|
||||
/engines/engine[0]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE1NORUN eq 1
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/logic/eng/eng-1-reverse eq 1
|
||||
|
@ -2731,9 +2731,9 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/logic/eng/eng-2-tla-abv-6-2-output eq 1
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE2NORUN eq 1
|
||||
<test logic="AND">
|
||||
/engines/engine[0]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE1NORUN eq 1
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/logic/eng/eng-1-tla-idle-output eq 1
|
||||
<test logic="AND">
|
||||
|
@ -3135,6 +3135,36 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/eng/eng-1-oil-lo-pr-cutoff-delay">
|
||||
<input>/controls/engines/engine[0]/cutoff-switch</input>
|
||||
<rate_limit sense="decr">0.03333333333</rate_limit>
|
||||
<rate_limit sense="incr">100</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/eng/eng-1-oil-lo-pr">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/logic/eng/eng-1-oil-lo-pr-cutoff-delay eq 0 <!-- sense inverted -->
|
||||
/ECAM/warnings/logic/eng/JE1NORUN eq 0
|
||||
/engines/engine[0]/oil-psi-actual lt 13
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/eng/eng-2-oil-lo-pr-cutoff-delay">
|
||||
<input>/controls/engines/engine[1]/cutoff-switch</input>
|
||||
<rate_limit sense="decr">0.03333333333</rate_limit>
|
||||
<rate_limit sense="incr">100</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/eng/eng-2-oil-lo-pr">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/logic/eng/eng-2-oil-lo-pr-cutoff-delay eq 0 <!-- sense inverted -->
|
||||
/ECAM/warnings/logic/eng/JE2NORUN eq 0
|
||||
/engines/engine[1]/oil-psi-actual lt 13
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
<channel name="Config" execrate="16">
|
||||
|
@ -3157,6 +3187,114 @@
|
|||
|
||||
</channel>
|
||||
|
||||
<channel name="PRESS" execrate="16">
|
||||
|
||||
<switch name="/ECAM/warnings/press/exess-residual-pressure-ground-input">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/phases/phase-calculation/engines-1-2-not-running eq 1
|
||||
/ECAM/timer/ground-calc eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/press/exess-residual-pressure-ground">
|
||||
<input>/ECAM/warnings/press/exess-residual-pressure-ground-input</input>
|
||||
<rate_limit sense="incr">0.14285714285</rate_limit>
|
||||
<rate_limit sense="decr">100</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/press/exess-residual-pressure-input">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/press/exess-residual-pressure-ground eq 1
|
||||
/systems/pressurization/deltap-norm ge 0.1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/press/exess-residual-pressure">
|
||||
<input>/ECAM/warnings/press/exess-residual-pressure-input</input>
|
||||
<rate_limit sense="incr">0.2</rate_limit>
|
||||
<rate_limit sense="decr">100</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/timer/press/excess-cabin-alt-input">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/pressurization/cabinalt-norm ge 9550
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/press/excess-cabin-alt">
|
||||
<input>/ECAM/warnings/timer/press/excess-cabin-alt-input</input>
|
||||
<rate_limit sense="incr">1</rate_limit>
|
||||
<rate_limit sense="decr">100</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/press/excess-cabin-alt">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/timer/press/excess-cabin-alt eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/phase-3-10-pulse-input">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/ECAM/warning-phase eq 3
|
||||
/ECAM/warning-phase eq 10
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-top-set">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
<test logic="OR">
|
||||
<test logic="OR">
|
||||
/systems/navigation/adr/computation/baro-alt-corrected-1-capt ge 10000
|
||||
/systems/navigation/adr/computation/baro-alt-corrected-2-capt ge 10000
|
||||
/systems/navigation/adr/computation/baro-alt-corrected-3-capt ge 10000
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/systems/navigation/adr/operating-1 eq 0
|
||||
/systems/navigation/adr/operating-2 eq 0
|
||||
/systems/navigation/adr/operating-3 eq 0
|
||||
</test>
|
||||
</test>
|
||||
/ECAM/warnings/logic/press/excess-cabin-alt eq 1
|
||||
/ECAM/warnings/logic/press/excess-cabin-alt-pulse eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-set">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
<test logic="OR">
|
||||
<test logic="OR">
|
||||
/systems/navigation/adr/computation/baro-alt-corrected-1-capt ge 16000
|
||||
/systems/navigation/adr/computation/baro-alt-corrected-2-capt ge 16000
|
||||
/systems/navigation/adr/computation/baro-alt-corrected-3-capt ge 16000
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/systems/navigation/adr/operating-1 eq 0
|
||||
/systems/navigation/adr/operating-2 eq 0
|
||||
/systems/navigation/adr/operating-3 eq 0
|
||||
</test>
|
||||
</test>
|
||||
/ECAM/warnings/logic/press/excess-cabin-alt eq 1
|
||||
/ECAM/warnings/logic/press/excess-cabin-alt-pulse eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-reset">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/logic/phase-3-10-pulse-input eq 1
|
||||
/ECAM/warnings/logic/phase-3-10-pulse eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
<channel name="FCTL" execrate="16">
|
||||
|
||||
<switch name="/ECAM/warnings/fctl/lrElevFault">
|
||||
|
@ -3655,9 +3793,9 @@
|
|||
|
||||
<switch name="/ECAM/warnings/hyd/engines-2-online">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
<test logic="OR" value="1">
|
||||
/ECAM/warnings/logic/eng/JE1NORUN eq 0
|
||||
/ECAM/warnings/logic/eng/JE2NORUN eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -3670,8 +3808,8 @@
|
|||
<switch name="/ECAM/warnings/hyd/engines-2-off-in-air">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[0]/state ne 3
|
||||
/engines/engine[1]/state ne 3
|
||||
/ECAM/warnings/logic/eng/JE1NORUN eq 1
|
||||
/ECAM/warnings/logic/eng/JE2NORUN eq 1
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
@ -3685,7 +3823,7 @@
|
|||
<switch name="/ECAM/warnings/hyd/engine-1-start">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/engines/engine[0]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE1NORUN eq 0
|
||||
<test logic="AND">
|
||||
/ECAM/warning-phase ne 1
|
||||
/ECAM/warning-phase ne 2
|
||||
|
@ -3704,7 +3842,7 @@
|
|||
<switch name="/ECAM/warnings/hyd/engine-2-start">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/warnings/logic/eng/JE2NORUN eq 0
|
||||
<test logic="AND">
|
||||
/ECAM/warning-phase ne 1
|
||||
/ECAM/warning-phase ne 2
|
||||
|
@ -3792,21 +3930,8 @@
|
|||
<switch name="/ECAM/warnings/hyd/blue-green-failure">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
<test logic="OR">
|
||||
<test logic="AND"> <!-- inhibit unless engine running -->
|
||||
<test logic="OR">
|
||||
/ECAM/warning-phase le 2
|
||||
/ECAM/warning-phase ge 9
|
||||
</test>
|
||||
/engines/engine[0]/state eq 3
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warning-phase gt 2
|
||||
/ECAM/warning-phase lt 9
|
||||
/ECAM/warning-phase ne 4
|
||||
/ECAM/warning-phase ne 5
|
||||
</test>
|
||||
</test>
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
|
@ -3815,21 +3940,8 @@
|
|||
<switch name="/ECAM/warnings/hyd/blue-yellow-failure">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
<test logic="OR">
|
||||
<test logic="AND"> <!-- inhibit unless engine running -->
|
||||
<test logic="OR">
|
||||
/ECAM/warning-phase le 2
|
||||
/ECAM/warning-phase ge 9
|
||||
</test>
|
||||
/engines/engine[1]/state eq 3
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warning-phase gt 2
|
||||
/ECAM/warning-phase lt 9
|
||||
/ECAM/warning-phase ne 4
|
||||
/ECAM/warning-phase ne 5
|
||||
</test>
|
||||
</test>
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
|
@ -3838,8 +3950,7 @@
|
|||
<switch name="/ECAM/warnings/hyd/green-yellow-failure">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/warnings/logic/eng/dual-failure eq 0
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
|
@ -3848,18 +3959,16 @@
|
|||
<switch name="/ECAM/warnings/hyd/blue-green-fuel-consumpt">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/timer/ground-calc ne 1
|
||||
/ECAM/warnings/logic/eng/dual-failure eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/blue-yellow-fuel-consumpt">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/timer/ground-calc ne 1
|
||||
/ECAM/warnings/logic/eng/dual-failure eq 0
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/logic/SFLAPEXT eq 1
|
||||
|
@ -3883,9 +3992,8 @@
|
|||
<switch name="/ECAM/warnings/hyd/green-yellow-fuel-consumpt">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/timer/ground-calc ne 1
|
||||
/ECAM/warnings/logic/eng/dual-failure eq 0
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/logic/SFLAPEXT eq 1
|
||||
|
@ -3911,6 +4019,28 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/yellow-elec-pump-fail-set">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/hydraulic/sources/yellow-elec/pump-operate eq 1
|
||||
/systems/hydraulic/yellow-psi lt 1450
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/yellow-elec-pump-fail-reset">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
<test logic="AND">
|
||||
/systems/hydraulic/sources/yellow-elec/pump-operate eq 1
|
||||
/systems/hydraulic/yellow-psi ge 1450
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/logic/phase-2-pulse-input eq 1
|
||||
/ECAM/warnings/logic/phase-2-pulse eq 1
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
<channel name="Altitude Alerter" execrate="16">
|
||||
|
@ -4133,7 +4263,7 @@
|
|||
|
||||
</channel>
|
||||
|
||||
<!--<channel name="NAV" execrate="16">
|
||||
<channel name="NAV" execrate="16">
|
||||
|
||||
<switch name="/ECAM/warnings/navigation/ADR123-fault">
|
||||
<default value="0"/>
|
||||
|
@ -4142,12 +4272,13 @@
|
|||
/systems/electrical/bus/ac-2 ge 110
|
||||
/systems/electrical/bus/ac-ess ge 110
|
||||
/ECAM/warning-phase ne 1
|
||||
/ECAM/warning-phase ne 4
|
||||
/ECAM/warning-phase ne 8
|
||||
/ECAM/warning-phase ne 10
|
||||
/systems/navigation/adr/operating-1 eq 0
|
||||
/systems/navigation/adr/operating-2 eq 0
|
||||
/systems/navigation/adr/operating-3 eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>-->
|
||||
</channel>
|
||||
|
||||
</system>
|
||||
|
|
|
@ -586,6 +586,17 @@
|
|||
<output>/ECAM/warnings/timer/phase-1-pulse</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
<value>1.0</value>
|
||||
</time>
|
||||
<S>
|
||||
<not><property>/ECAM/warnings/logic/phase-2-pulse-input</property></not>
|
||||
</S>
|
||||
<output>/ECAM/warnings/logic/phase-2-pulse</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
|
@ -619,6 +630,17 @@
|
|||
<output>/ECAM/warnings/logic/phase-9-pulse</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
<value>1.0</value>
|
||||
</time>
|
||||
<S>
|
||||
<not><property>/ECAM/warnings/logic/phase-3-10-pulse-input</property></not>
|
||||
</S>
|
||||
<output>/ECAM/warnings/logic/phase-3-10-pulse</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
|
@ -630,6 +652,17 @@
|
|||
<output>/ECAM/warnings/logic/phase-10-pulse</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
<value>1.0</value>
|
||||
</time>
|
||||
<S>
|
||||
<not><property>/ECAM/warnings/logic/press/excess-cabin-alt</property></not>
|
||||
</S>
|
||||
<output>/ECAM/warnings/logic/press/excess-cabin-alt-pulse</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
|
@ -1211,4 +1244,37 @@
|
|||
</S>
|
||||
<output>/ECAM/warnings/logic/eng/phase-5-output-2</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>RS</type>
|
||||
<S>
|
||||
<property>/ECAM/warnings/hyd/yellow-elec-pump-fail-set</property>
|
||||
</S>
|
||||
<R>
|
||||
<property>/ECAM/warnings/hyd/yellow-elec-pump-fail-reset</property>
|
||||
</R>
|
||||
<output>/ECAM/warnings/hyd/yellow-elec-pump-fail</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>SR</type>
|
||||
<S>
|
||||
<property>/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-set</property>
|
||||
</S>
|
||||
<R>
|
||||
<property>/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-reset</property>
|
||||
</R>
|
||||
<output>/ECAM/warnings/logic/press/excess-cabin-alt-flipflop</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>SR</type>
|
||||
<S>
|
||||
<property>/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-top-set</property>
|
||||
</S>
|
||||
<R>
|
||||
<property>/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-reset</property>
|
||||
</R>
|
||||
<output>/ECAM/warnings/logic/press/excess-cabin-alt-flipflop-top</output>
|
||||
</flipflop>
|
||||
</PropertyList>
|
||||
|
|
Loading…
Reference in a new issue