diff --git a/Nasal/ECAM/ECAM-controller.nas b/Nasal/ECAM/ECAM-controller.nas index c1385511..ea0bf79f 100644 --- a/Nasal/ECAM/ECAM-controller.nas +++ b/Nasal/ECAM/ECAM-controller.nas @@ -74,6 +74,8 @@ var warningNodes = { waiRhiPr: props.globals.initNode("/ECAM/warnings/timer/wing-hi-pr-right"), pack1Fault: props.globals.initNode("/ECAM/warnings/timer/pack-1-fault-2"), pack2Fault: props.globals.initNode("/ECAM/warnings/timer/pack-2-fault-2"), + pack1Off: props.globals.initNode("/ECAM/warnings/timer/pack-1-off"), + pack2Off: props.globals.initNode("/ECAM/warnings/timer/pack-2-off"), }, Flipflops: { bleed1LowTemp: props.globals.initNode("/ECAM/warnings/logic/bleed-1-low-temp-flipflop-output"), diff --git a/Nasal/ECAM/ECAM-logic.nas b/Nasal/ECAM/ECAM-logic.nas index a80833cd..19f75313 100644 --- a/Nasal/ECAM/ECAM-logic.nas +++ b/Nasal/ECAM/ECAM-logic.nas @@ -1686,7 +1686,7 @@ var messages_priority_2 = func { } else { ECAM_controller.warningReset(pack1FaultOff); } - } else { + } else { ECAM_controller.warningReset(pack1Fault); ECAM_controller.warningReset(pack1FaultOff); } @@ -1699,11 +1699,23 @@ var messages_priority_2 = func { } else { ECAM_controller.warningReset(pack2FaultOff); } - } else { + } else { ECAM_controller.warningReset(pack2Fault); ECAM_controller.warningReset(pack2FaultOff); } + if (pack1Off.clearFlag == 0 and phaseVar == 6 and warningNodes.Timers.pack1Off.getValue() == 1) { + pack1Off.active = 1; + } else { + ECAM_controller.warningReset(pack1Off); + } + + if (pack2Off.clearFlag == 0 and phaseVar == 6 and warningNodes.Timers.pack2Off.getValue() == 1) { + pack2Off.active = 1; + } else { + ECAM_controller.warningReset(pack2Off); + } + # ENG AICE if (eng1IceClosed.clearFlag == 0 and (phaseVar <= 2 or phaseVar >= 9 or phaseVar == 6) and warningNodes.Timers.eng1AiceNotOpen.getValue() == 1) { eng1IceClosed.active = 1; diff --git a/Nasal/ECAM/ECAM-messages.nas b/Nasal/ECAM/ECAM-messages.nas index 6f8af069..35bee6bf 100644 --- a/Nasal/ECAM/ECAM-messages.nas +++ b/Nasal/ECAM/ECAM-messages.nas @@ -292,9 +292,9 @@ var warnings = std.Vector.new([ var eng1BleedNotClsdOff = warning.new(msg: " -ENG 1 BLEED........OFF", colour: "c"), var eng2BleedNotClsd = warning.new(msg: "AIR ENG 2 BLEED NOT CLSD", colour: "a", aural: 1, light: 1, isMainMsg: 1), var eng2BleedNotClsdOff = warning.new(msg: " -ENG 2 BLEED........OFF", colour: "c"), - var bleedMonFault = warning.new(msg: "BLEED MONITORING FAULT", colour: "a", aural: 0, light: 0), - var bleedMon1Fault = warning.new(msg: "BLEED MONIT SYS 1 FAULT", colour: "a", aural: 0, light: 0), - var bleedMon2Fault = warning.new(msg: "BLEED MONIT SYS 2 FAULT", colour: "a", aural: 0, light: 0), + var bleedMonFault = warning.new(msg: "BLEED MONITORING FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1), + var bleedMon1Fault = warning.new(msg: "BLEED MONIT SYS 1 FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1), + var bleedMon2Fault = warning.new(msg: "BLEED MONIT SYS 2 FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1), # PACK var pack12Fault = warning.new(msg: "AIR PACK 1+2 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1), @@ -320,12 +320,12 @@ var warnings = std.Vector.new([ var pack1FaultOff = warning.new(msg: " -PACK 1.............OFF", colour: "c"), var pack2Fault = warning.new(msg: "AIR PACK 2 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1), var pack2FaultOff = warning.new(msg: " -PACK 2.............OFF", colour: "c"), - var pack1Off = warning.new(msg: "AIR PACK 1 OFF", colour: "a", aural: 1, light: 1), - var pack2Off = warning.new(msg: "AIR PACK 2 OFF", colour: "a", aural: 1, light: 1), - var pack1RegulFlt = warning.new(msg: "AIR PACK 1 REGUL FAULT", colour: "a", aural: 0, light: 0), - var pack2RegulFlt = warning.new(msg: "AIR PACK 2 REGUL FAULT", colour: "a", aural: 0, light: 0), - var aftCrgVentFlt = warning.new(msg: "AIR AFT CRG VENT FAULT", colour: "a", aural: 0, light: 0), - var fwdCrgVentFlt = warning.new(msg: "AIR FWD CRG VENT FAULT", colour: "a", aural: 0, light: 0), + var pack1Off = warning.new(msg: "AIR PACK 1 OFF", colour: "a", aural: 1, light: 1, isMainMsg: 1), + var pack2Off = warning.new(msg: "AIR PACK 2 OFF", colour: "a", aural: 1, light: 1, isMainMsg: 1), + var pack1RegulFlt = warning.new(msg: "AIR PACK 1 REGUL FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1), + var pack2RegulFlt = warning.new(msg: "AIR PACK 2 REGUL FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1), + var aftCrgVentFlt = warning.new(msg: "AIR AFT CRG VENT FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1), + var fwdCrgVentFlt = warning.new(msg: "AIR FWD CRG VENT FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1), # Eng AICE var eng1IceClosed = warning.new(msg: "ANTI ICE ENG1 VALVE CLSD", colour: "a", aural: 1, light: 1, isMainMsg: 1), diff --git a/Systems/a320-fwc.xml b/Systems/a320-fwc.xml index 2edf3c06..d66bff07 100644 --- a/Systems/a320-fwc.xml +++ b/Systems/a320-fwc.xml @@ -275,29 +275,43 @@ Timer for the ECAM system /ECAM/warnings/logic/pack-1-fault-input - 100 - 0.20 + 100 + 0.20 Timer for the ECAM system /ECAM/warnings/logic/pack-2-fault-input - 100 - 0.20 + 100 + 0.20 Timer for the ECAM system /ECAM/warnings/logic/pack-1-fault-warning-input - 100 - 0.50 + 100 + 0.50 Timer for the ECAM system /ECAM/warnings/logic/pack-2-fault-warning-input - 100 - 0.50 + 100 + 0.50 + + + + Timer for the ECAM system + /ECAM/warnings/logic/pack-1-off-input + 100 + 0.0166666 + + + + Timer for the ECAM system + /ECAM/warnings/logic/pack-2-off-input + 100 + 0.0166666 @@ -1120,6 +1134,32 @@ + + + + /controls/pneumatics/switches/pack-1 eq 0 + /ECAM/warnings/flipflop/pack-1-ovht eq 0 + /ECAM/warnings/flipflop/pack-1-off eq 0 + /ECAM/warnings/logic/bleed-1-low-temp-flipflop-output eq 0 + /ECAM/warnings/logic/bleed-1-avail eq 1 + /ECAM/warning-phase eq 6 + + + + + + + + /controls/pneumatics/switches/pack-2 eq 0 + /ECAM/warnings/flipflop/pack-2-ovht eq 0 + /ECAM/warnings/flipflop/pack-2-off eq 0 + /ECAM/warnings/logic/bleed-2-low-temp-flipflop-output eq 0 + /ECAM/warnings/logic/bleed-2-avail eq 1 + /ECAM/warning-phase eq 6 + + + + diff --git a/Systems/ecam-proprules.xml b/Systems/ecam-proprules.xml index 31e0a268..37670c50 100644 --- a/Systems/ecam-proprules.xml +++ b/Systems/ecam-proprules.xml @@ -751,4 +751,26 @@ /ECAM/warnings/flipflop/pack-2-ovht + + RS + + /ECAM/warnings/timer/pack-1-fault-5 + + + /ECAM/warnings/logic/pack-1-ovht-reset + + /ECAM/warnings/flipflop/pack-1-off + + + + RS + + /ECAM/warnings/timer/pack-2-fault-5 + + + /ECAM/warnings/logic/pack-2-ovht-reset + + /ECAM/warnings/flipflop/pack-2-off + +