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 @@
+
+ RS
+
+ /ECAM/warnings/timer/pack-1-fault-5
+
+
+ /ECAM/warnings/logic/pack-1-ovht-reset
+
+
+
+
+
+ RS
+
+ /ECAM/warnings/timer/pack-2-fault-5
+
+
+ /ECAM/warnings/logic/pack-2-ovht-reset
+
+
+
+