1
0
Fork 0

Add SD pages to level 1 warnings

This commit is contained in:
Jonathan Redpath 2022-01-06 17:47:03 +00:00
parent 383ffcf969
commit fa634ef032
6 changed files with 168 additions and 81 deletions

View file

@ -626,7 +626,7 @@ var messages_priority_3 = func {
ECAM_controller.warningReset(park_brk_config); ECAM_controller.warningReset(park_brk_config);
} }
if (lrElevFault.clearFlag == 0 and warningNodes.Timers.LRElevFault.getValue()) { if (lrElevFault.clearFlag == 0 and warningNodes.Timers.LRElevFault.getValue() == 1) {
lrElevFault.active = 1; lrElevFault.active = 1;
if (lrElevFaultSpeed.clearFlag == 0) { if (lrElevFaultSpeed.clearFlag == 0) {
lrElevFaultSpeed.active = 1; lrElevFaultSpeed.active = 1;
@ -829,6 +829,32 @@ var messages_priority_3 = func {
ECAM_controller.warningReset(lavatorySmokeComm); 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 # ESS on BAT
# NEW EMER ELEC CONFIG # NEW EMER ELEC CONFIG
if (essBusOnBat.clearFlag == 0 and warningNodes.Timers.staticInverter.getValue() == 1 and phaseVar3 >= 5 and phaseVar3 <= 7) { if (essBusOnBat.clearFlag == 0 and warningNodes.Timers.staticInverter.getValue() == 1 and phaseVar3 >= 5 and phaseVar3 <= 7) {
@ -977,13 +1003,13 @@ var messages_priority_3 = func {
ECAM_controller.warningReset(hydBYloPrRat); 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; hydBYloPrYElec.active = 1;
} else { } else {
ECAM_controller.warningReset(hydBYloPrYElec); 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; hydBYloPrRatOn.active = 1;
} else { } else {
ECAM_controller.warningReset(hydBYloPrRatOn); ECAM_controller.warningReset(hydBYloPrRatOn);
@ -1052,7 +1078,7 @@ var messages_priority_3 = func {
ECAM_controller.warningReset(hydGBloPrRat); 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; hydGBloPrRatOn.active = 1;
} else { } else {
ECAM_controller.warningReset(hydGBloPrRatOn); ECAM_controller.warningReset(hydGBloPrRatOn);
@ -1105,7 +1131,7 @@ var messages_priority_3 = func {
ECAM_controller.warningReset(hydGBloPrFmsPredict); 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; hydGYloPr.active = 1;
if (hydGYloPrPtu.clearFlag == 0 and systems.HYD.Switch.ptu.getValue() != 0) { if (hydGYloPrPtu.clearFlag == 0 and systems.HYD.Switch.ptu.getValue() != 0) {
hydGYloPrPtu.active = 1; hydGYloPrPtu.active = 1;
@ -1125,7 +1151,7 @@ var messages_priority_3 = func {
ECAM_controller.warningReset(hydGYloPrYEng); 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; hydGYloPrYElec.active = 1;
} else { } else {
ECAM_controller.warningReset(hydGYloPrYElec); ECAM_controller.warningReset(hydGYloPrYElec);

View file

@ -18,7 +18,7 @@ var warnings = std.Vector.new([
var overspeedGear = warning.new(msg: "-VLE...........280 /.67", colour: "r"), var overspeedGear = warning.new(msg: "-VLE...........280 /.67", colour: "r"),
var overspeedFlap = warning.new(msg: "-VFE................XXX", 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 allEngFailElec = warning.new(msg: " -EMER ELEC PWR...MAN ON", colour: "c"),
var allEngFailSPD1 = warning.new(msg: " OPT RELIGHT SPD.260/.77", 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 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"), var eng2ThrLvrAbvIdle2 = warning.new(msg: " -THR LEVER 2.......IDLE", colour: "c"),
# ENG 1 FIRE (flight) # 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 eng1FireFllever = warning.new(msg: " -THR LEVER 1.......IDLE", colour: "c"),
var eng1FireFlmaster = warning.new(msg: " -ENG MASTER 1.......OFF", 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"), 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"), var eng1FireGnEvac = warning.new(msg: " -EMER EVAC PROC...APPLY", colour: "c"),
# ENG 2 FIRE (flight) # 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 eng2FireFllever = warning.new(msg: " -THR LEVER 2.......IDLE", colour: "c"),
var eng2FireFlmaster = warning.new(msg: " -ENG MASTER 2.......OFF", 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"), 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 eng2FireGnAgent2 = warning.new(msg: " -AGENT 2..........DISCH", colour: "c"),
var eng2FireGnEvac = warning.new(msg: " -EMER EVAC PROC...APPLY", 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 # ADR 1 + 2 + 3 FAULT
var ADR123Fault = warning.new(msg: "NAV ADR1+2+3 FAULT ", colour: "r", aural: 0, light: 0, isMainMsg: 1), var ADR123Fault = warning.new(msg: "NAV ADR1+2+3 FAULT ", colour: "r", aural: 0, light: 0, isMainMsg: 1),
var ADR123FaultAP = warning.new(msg: " -AP+FD..............OFF", colour: "c"), 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 ADR123FaultSTBY = warning.new(msg: " -STBY INST.MAY BE UNREL", colour: "c"),
var ADR123FaultPROC = warning.new(msg: " -ALL ADR OFF PROC.APPLY", 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 # Config
var slats_config = warning.new(msg: "CONFIG", colour: "r", aural: 0, light: 0), 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 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 = 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 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 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 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 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 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 # 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 excessCabAltMask = warning.new(msg: " -CREW OXY MASKS.....USE", colour: "c"),
var excessCabAltSigns = warning.new(msg: " -SIGNS...............ON", colour: "c"), var excessCabAltSigns = warning.new(msg: " -SIGNS...............ON", colour: "c"),
var excessCabAltEmerD = warning.new(msg: " •EMER DESCENT:", colour: "w"), var excessCabAltEmerD = warning.new(msg: " •EMER DESCENT:", colour: "w"),
@ -137,21 +144,21 @@ var warnings = std.Vector.new([
var excessCabAltMasks = warning.new(msg: " -PAX OXY MASKS...MAN ON", colour: "c"), var excessCabAltMasks = warning.new(msg: " -PAX OXY MASKS...MAN ON", colour: "c"),
# ENG 1 OIL LO PR # 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 eng1OilLoPrIf = warning.new(msg: " •IF OIL PR < 13 PSI :", colour: "w"),
var eng1OilLoPrIf2 = warning.new(msg: " •IF OIL PR < 60 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 eng1OilLoPrThrot = warning.new(msg: " -THR LEVER 1.......IDLE", colour: "c"),
var eng1OilLoPrMaster = warning.new(msg: " -ENG MASTER 1.......OFF", colour: "c"), var eng1OilLoPrMaster = warning.new(msg: " -ENG MASTER 1.......OFF", colour: "c"),
# ENG 2 OIL LO PR # 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 eng2OilLoPrIf = warning.new(msg: " •IF OIL PR < 13 PSI :", colour: "w"),
var eng2OilLoPrIf2 = warning.new(msg: " •IF OIL PR < 60 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 eng2OilLoPrThrot = warning.new(msg: " -THR LEVER 2.......IDLE", colour: "c"),
var eng2OilLoPrMaster = warning.new(msg: " -ENG MASTER 2.......OFF", colour: "c"), var eng2OilLoPrMaster = warning.new(msg: " -ENG MASTER 2.......OFF", colour: "c"),
# FCTL L+R ELEV FAULT # 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 lrElevFaultSpeed = warning.new(msg: " MAX SPEED.......320/.77", colour: "c"),
var lrElevFaultTrim = warning.new(msg: " -MAN PITCH TRIM.....USE", 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"), var lrElevFaultSpdBrk = warning.new(msg: " SPD BRK......DO NOT USE", colour: "c"),
@ -159,7 +166,7 @@ var warnings = std.Vector.new([
# Gear not down # Gear not down
var gearNotDown = warning.new(msg: "L/G GEAR NOT DOWN", colour: "r", aural: 0, light: 0, isMainMsg: 1), 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 gearNotDownLockedRec = warning.new(msg: " -L/G LEVER......RECYCLE", colour: "c"),
var gearNotDownLockedWork = warning.new(msg: " •IF UNSUCCESSFUL:", colour: "w"), var gearNotDownLockedWork = warning.new(msg: " •IF UNSUCCESSFUL:", colour: "w"),
var gearNotDownLocked120 = warning.new(msg: " AFTER 120S:", colour: "w"), var gearNotDownLocked120 = warning.new(msg: " AFTER 120S:", colour: "w"),
@ -169,14 +176,14 @@ var warnings = std.Vector.new([
var ap_offw = warning.new(msg: "AUTO FLT AP OFF", colour: "r", light: 0, isMainMsg: 1), var ap_offw = warning.new(msg: "AUTO FLT AP OFF", colour: "r", light: 0, isMainMsg: 1),
# Cargo smoke # 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 cargoSmokeFwdFans = warning.new(msg: " -CAB FANS...........OFF", colour: "c"),
var cargoSmokeFwdGrdClsd = warning.new(msg: " •IF FWD CRG CLSD:", colour: "w"), var cargoSmokeFwdGrdClsd = warning.new(msg: " •IF FWD CRG CLSD:", colour: "w"),
var cargoSmokeFwdAgent = warning.new(msg: " -AGENT............DISCH", colour: "c"), var cargoSmokeFwdAgent = warning.new(msg: " -AGENT............DISCH", colour: "c"),
var cargoSmokeFwdGrd = warning.new(msg: " •WHEN ON GROUND", colour: "w"), var cargoSmokeFwdGrd = warning.new(msg: " •WHEN ON GROUND", colour: "w"),
var cargoSmokeFwdDoors = warning.new(msg: " BEFORE OPEN CRG DOORS:", colour: "w"), var cargoSmokeFwdDoors = warning.new(msg: " BEFORE OPEN CRG DOORS:", colour: "w"),
var cargoSmokeFwdDisemb = warning.new(msg: "-PAX..........DISEMBARK", colour: "c"), 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 cargoSmokeAftFans = warning.new(msg: " -CAB FANS...........OFF", colour: "c"),
var cargoSmokeAftGrdClsd = warning.new(msg: " •IF AFT CRG CLSD:", colour: "w"), var cargoSmokeAftGrdClsd = warning.new(msg: " •IF AFT CRG CLSD:", colour: "w"),
var cargoSmokeAftAgent = warning.new(msg: " -AGENT............DISCH", colour: "c"), var cargoSmokeAftAgent = warning.new(msg: " -AGENT............DISCH", colour: "c"),
@ -189,18 +196,18 @@ var warnings = std.Vector.new([
var lavatorySmokeComm = warning.new(msg: "-CKPT/CAB COM.ESTABLISH ", colour: "c"), var lavatorySmokeComm = warning.new(msg: "-CKPT/CAB COM.ESTABLISH ", colour: "c"),
# EXCES RESID PR # 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 excessResidPressPack1 = warning.new(msg: "-PACK 1.............OFF", colour: "c"),
var excessResidPressPack2 = warning.new(msg: "-PACK 2.............OFF", colour: "c"), var excessResidPressPack2 = warning.new(msg: "-PACK 2.............OFF", colour: "c"),
var excessResidPressCabCr = warning.new(msg: "-CABIN CREW.......ALERT", colour: "c"), var excessResidPressCabCr = warning.new(msg: "-CABIN CREW.......ALERT", colour: "c"),
# ESS Bus on Bat # ESS Bus on Bat
# NEW EMER CONFIG # 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"), var essBusOnBatMinSpeed = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
# Emer Config # 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 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 emerconfigGen = warning.new(msg: " -GEN 1+2....OFF THEN ON", colour: "c"),
var emerconfigGen2 = warning.new(msg: " •IF UNSUCCESSFUL :", colour: "w"), var emerconfigGen2 = warning.new(msg: " •IF UNSUCCESSFUL :", colour: "w"),
@ -219,7 +226,7 @@ var warnings = std.Vector.new([
var emerconfigFMSPRD = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"), var emerconfigFMSPRD = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
# B + Y LO PR # 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 hydBYloPrRat = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
var hydBYloPrYElec = warning.new(msg: " -YELLOW ELEC PUMP....ON", colour: "c"), var hydBYloPrYElec = warning.new(msg: " -YELLOW ELEC PUMP....ON", colour: "c"),
var hydBYloPrRatOn = warning.new(msg: " -RAT.............MAN ON", colour: "c"), var hydBYloPrRatOn = warning.new(msg: " -RAT.............MAN ON", colour: "c"),
@ -232,7 +239,7 @@ var warnings = std.Vector.new([
var hydBYloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"), var hydBYloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
# G + B LO PR # 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 hydGBloPrRat = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
var hydGBloPrRatOn = warning.new(msg: " -RAT.............MAN ON", colour: "c"), var hydGBloPrRatOn = warning.new(msg: " -RAT.............MAN ON", colour: "c"),
var hydGBloPrBElec = warning.new(msg: " -BLUE ELEC PUMP.....OFF", colour: "c"), var hydGBloPrBElec = warning.new(msg: " -BLUE ELEC PUMP.....OFF", colour: "c"),
@ -243,7 +250,7 @@ var warnings = std.Vector.new([
var hydGBloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"), var hydGBloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
# G + Y LO PR # 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 hydGYloPrPtu = warning.new(msg: " -PTU................OFF", colour: "c"),
var hydGYloPrGEng = warning.new(msg: " -GREEN ENG 1 PUMP...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"), var hydGYloPrYEng = warning.new(msg: " -YELLOW ENG 2 PUMP..OFF", colour: "c"),
@ -253,7 +260,7 @@ var warnings = std.Vector.new([
var hydGYloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"), var hydGYloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
# AIR BLEED LEAK # 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"), var airBleedLeakShut = warning.new(msg: " -X BLEED..........SHUT", colour: "c"),
# LEVEL 2 WARN # LEVEL 2 WARN

View file

@ -151,6 +151,7 @@ var warningNodes = {
gen1Off: props.globals.initNode("/ECAM/warnings/logic/elec/gen-1-off"), gen1Off: props.globals.initNode("/ECAM/warnings/logic/elec/gen-1-off"),
gen2Off: props.globals.initNode("/ECAM/warnings/logic/elec/gen-2-off"), gen2Off: props.globals.initNode("/ECAM/warnings/logic/elec/gen-2-off"),
spdBrkOut: props.globals.initNode("/ECAM/warnings/fctl/spd-brk-still-out"), spdBrkOut: props.globals.initNode("/ECAM/warnings/fctl/spd-brk-still-out"),
excessPress: props.globals.initNode("/ECAM/warnings/press/exess-residual-pressure"),
}, },
Timers: { Timers: {
apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"), apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"),

View file

@ -44,6 +44,7 @@ var HYD = {
}, },
Pump: { Pump: {
yellowElec: props.globals.getNode("/systems/hydraulic/sources/yellow-elec/pump-operate"), yellowElec: props.globals.getNode("/systems/hydraulic/sources/yellow-elec/pump-operate"),
yellowElecFail: props.globals.getNode("/ECAM/warnings/hyd/yellow-elec-pump-fail"),
}, },
Qty: { Qty: {
blueInput: props.globals.initNode("/systems/hydraulic/blue-qty-input", 0, "INT"), 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"), blueAbnormLoPr: props.globals.getNode("/ECAM/warnings/hyd/blue-abnorm-lo-pr"),
greenAbnormLoPr: props.globals.getNode("/ECAM/warnings/hyd/green-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"), 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() { init: func() {
me.resetFail(); me.resetFail();

View file

@ -3146,6 +3146,38 @@
</channel> </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>
</channel>
<channel name="FCTL" execrate="16"> <channel name="FCTL" execrate="16">
<switch name="/ECAM/warnings/fctl/lrElevFault"> <switch name="/ECAM/warnings/fctl/lrElevFault">
@ -3644,9 +3676,9 @@
<switch name="/ECAM/warnings/hyd/engines-2-online"> <switch name="/ECAM/warnings/hyd/engines-2-online">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="OR" value="1">
/engines/engine[0]/state eq 3 /ECAM/warnings/logic/eng/JE1NORUN eq 0
/engines/engine[1]/state eq 3 /ECAM/warnings/logic/eng/JE2NORUN eq 0
</test> </test>
</switch> </switch>
@ -3659,8 +3691,8 @@
<switch name="/ECAM/warnings/hyd/engines-2-off-in-air"> <switch name="/ECAM/warnings/hyd/engines-2-off-in-air">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="AND" value="1">
/engines/engine[0]/state ne 3 /ECAM/warnings/logic/eng/JE1NORUN eq 1
/engines/engine[1]/state ne 3 /ECAM/warnings/logic/eng/JE2NORUN eq 1
/ECAM/timer/ground-calc eq 0 /ECAM/timer/ground-calc eq 0
</test> </test>
</switch> </switch>
@ -3674,7 +3706,7 @@
<switch name="/ECAM/warnings/hyd/engine-1-start"> <switch name="/ECAM/warnings/hyd/engine-1-start">
<default value="0"/> <default value="0"/>
<test logic="OR" value="1"> <test logic="OR" value="1">
/engines/engine[0]/state eq 3 /ECAM/warnings/logic/eng/JE1NORUN eq 0
<test logic="AND"> <test logic="AND">
/ECAM/warning-phase ne 1 /ECAM/warning-phase ne 1
/ECAM/warning-phase ne 2 /ECAM/warning-phase ne 2
@ -3693,7 +3725,7 @@
<switch name="/ECAM/warnings/hyd/engine-2-start"> <switch name="/ECAM/warnings/hyd/engine-2-start">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="AND" value="1">
/engines/engine[1]/state eq 3 /ECAM/warnings/logic/eng/JE2NORUN eq 0
<test logic="AND"> <test logic="AND">
/ECAM/warning-phase ne 1 /ECAM/warning-phase ne 1
/ECAM/warning-phase ne 2 /ECAM/warning-phase ne 2
@ -3781,21 +3813,8 @@
<switch name="/ECAM/warnings/hyd/blue-green-failure"> <switch name="/ECAM/warnings/hyd/blue-green-failure">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="AND" value="1">
<test logic="OR"> /ECAM/warning-phase ne 4
<test logic="AND"> <!-- inhibit unless engine running --> /ECAM/warning-phase ne 5
<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/blue-abnorm-lo-pr eq 1
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1 /ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
</test> </test>
@ -3804,21 +3823,8 @@
<switch name="/ECAM/warnings/hyd/blue-yellow-failure"> <switch name="/ECAM/warnings/hyd/blue-yellow-failure">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="AND" value="1">
<test logic="OR"> /ECAM/warning-phase ne 4
<test logic="AND"> <!-- inhibit unless engine running --> /ECAM/warning-phase ne 5
<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/blue-abnorm-lo-pr eq 1
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1 /ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
</test> </test>
@ -3827,8 +3833,7 @@
<switch name="/ECAM/warnings/hyd/green-yellow-failure"> <switch name="/ECAM/warnings/hyd/green-yellow-failure">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="AND" value="1">
/engines/engine[0]/state eq 3 /ECAM/warnings/logic/eng/dual-failure eq 0
/engines/engine[1]/state eq 3
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1 /ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1 /ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
</test> </test>
@ -3837,18 +3842,16 @@
<switch name="/ECAM/warnings/hyd/blue-green-fuel-consumpt"> <switch name="/ECAM/warnings/hyd/blue-green-fuel-consumpt">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="AND" value="1">
/ECAM/timer/ground-calc eq 0 /ECAM/timer/ground-calc ne 1
/engines/engine[0]/state eq 3 /ECAM/warnings/logic/eng/dual-failure eq 0
/engines/engine[1]/state eq 3
</test> </test>
</switch> </switch>
<switch name="/ECAM/warnings/hyd/blue-yellow-fuel-consumpt"> <switch name="/ECAM/warnings/hyd/blue-yellow-fuel-consumpt">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="AND" value="1">
/ECAM/timer/ground-calc eq 0 /ECAM/timer/ground-calc ne 1
/engines/engine[0]/state eq 3 /ECAM/warnings/logic/eng/dual-failure eq 0
/engines/engine[1]/state eq 3
<test logic="OR"> <test logic="OR">
<test logic="AND"> <test logic="AND">
/ECAM/warnings/logic/SFLAPEXT eq 1 /ECAM/warnings/logic/SFLAPEXT eq 1
@ -3872,9 +3875,8 @@
<switch name="/ECAM/warnings/hyd/green-yellow-fuel-consumpt"> <switch name="/ECAM/warnings/hyd/green-yellow-fuel-consumpt">
<default value="0"/> <default value="0"/>
<test logic="AND" value="1"> <test logic="AND" value="1">
/ECAM/timer/ground-calc eq 0 /ECAM/timer/ground-calc ne 1
/engines/engine[0]/state eq 3 /ECAM/warnings/logic/eng/dual-failure eq 0
/engines/engine[1]/state eq 3
<test logic="OR"> <test logic="OR">
<test logic="AND"> <test logic="AND">
/ECAM/warnings/logic/SFLAPEXT eq 1 /ECAM/warnings/logic/SFLAPEXT eq 1
@ -3900,6 +3902,28 @@
</test> </test>
</switch> </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>
<channel name="Altitude Alerter" execrate="16"> <channel name="Altitude Alerter" execrate="16">

View file

@ -586,6 +586,17 @@
<output>/ECAM/warnings/timer/phase-1-pulse</output> <output>/ECAM/warnings/timer/phase-1-pulse</output>
</flipflop> </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> <flipflop>
<type>monostable</type> <type>monostable</type>
<time> <time>
@ -1211,4 +1222,15 @@
</S> </S>
<output>/ECAM/warnings/logic/eng/phase-5-output-2</output> <output>/ECAM/warnings/logic/eng/phase-5-output-2</output>
</flipflop> </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>
</PropertyList> </PropertyList>