diff --git a/A320-100-CFM.xml b/A320-100-CFM.xml
index 1e4664ce..cb1bf02a 100644
--- a/A320-100-CFM.xml
+++ b/A320-100-CFM.xml
@@ -138,6 +138,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
+
diff --git a/A320-200-CFM.xml b/A320-200-CFM.xml
index c572e6cc..ed18c1df 100644
--- a/A320-200-CFM.xml
+++ b/A320-200-CFM.xml
@@ -138,6 +138,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
+
diff --git a/A320-200-IAE.xml b/A320-200-IAE.xml
index 2ac81e32..faa50c49 100644
--- a/A320-200-IAE.xml
+++ b/A320-200-IAE.xml
@@ -138,6 +138,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
+
diff --git a/A320-main.xml b/A320-main.xml
index e9b59f60..f9d2fb9b 100644
--- a/A320-main.xml
+++ b/A320-main.xml
@@ -805,11 +805,25 @@
0
0
0
+ 0
+ 0
+ 0
0
0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
0
diff --git a/A320neo-CFM.xml b/A320neo-CFM.xml
index ee19d068..e035fa21 100644
--- a/A320neo-CFM.xml
+++ b/A320neo-CFM.xml
@@ -138,6 +138,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
+
diff --git a/A320neo-PW.xml b/A320neo-PW.xml
index c59e0113..1643f571 100644
--- a/A320neo-PW.xml
+++ b/A320neo-PW.xml
@@ -138,6 +138,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
+
diff --git a/Nasal/fire.nas b/Nasal/fire.nas
index e5050054..e2f5b76f 100644
--- a/Nasal/fire.nas
+++ b/Nasal/fire.nas
@@ -229,7 +229,7 @@ var engFireDetectorUnit = {
detector.updateTemp(detector.sys, detector.type);
}
- if ((me.loopOne == 1 and me.loopOne == 2) or (me.loopOne == 9 and me.loopOne == 1) or (me.loopOne == 1 and me.loopOne == 9)) {
+ if ((me.loopOne == 1 and me.loopTwo == 1) or (me.loopOne == 9 and me.loopTwo == 1) or (me.loopOne == 1 and me.loopTwo == 9)) {
me.TriggerWarning(me.sys);
}
},
@@ -251,15 +251,15 @@ var engFireDetectorUnit = {
startFailTimer: func(loop) {
if (me.sys != 2) {
if (loop == 1) {
- propsNasFireTime[sys].setValue(elapsedTime.getValue());
+ propsNasFireTime.vector[sys].setValue(elapsedTime.getValue());
} elsif (loop == 2) {
- propsNasFireTime[sys + 1].setValue(elapsedTime.getValue());
+ propsNasFireTime.vector[sys + 1].setValue(elapsedTime.getValue());
}
} else {
if (loop == 1) {
- propsNasFireTime[4].setValue(elapsedTime.getValue());
+ propsNasFireTime.vector[4].setValue(elapsedTime.getValue());
} elsif (loop == 2) {
- propsNasFireTime[5].setValue(elapsedTime.getValue());
+ propsNasFireTime.vector[5].setValue(elapsedTime.getValue());
}
}
@@ -302,12 +302,12 @@ var detectorLoop = {
if (typeLoop == 1) { index += 1 }
- if (propsNasFire[index].getValue() > 250 and me.elecProp.getValue() >= 25) {
+ if (propsNasFire.vector[index].getValue() > 250 and me.elecProp.getValue() >= 25) {
me.sendSignal(system,typeLoop);
}
},
sendSignal: func(system,typeLoop) {
- engFireDetectorUnits[system].receiveSignal(typeLoop);
+ engFireDetectorUnits.vector[system].receiveSignal(typeLoop);
}
};
@@ -348,8 +348,8 @@ props.globals.getNode("/systems/fire/apu/loop1-failtime", 1), props.globals.getN
var checkTimeFire1 = func() {
et = elapsedTime.getValue();
- var loop1 = propsNasFireTime[0].getValue();
- var loop2 = propsNasFireTime[1].getValue();
+ var loop1 = propsNasFireTime.vector[0].getValue();
+ var loop2 = propsNasFireTime.vector[1].getValue();
if ((loop1 != 0 and et > loop1 + 5) or (loop2 != 0 and et > loop2 + 5)) {
fireTimer1.stop();
@@ -357,9 +357,9 @@ var checkTimeFire1 = func() {
loop2.setValue(0);
}
- if (engFireDetectorUnits[0].loop1 == 9 and engFireDetectorUnits[0].loop2 == 9) {
+ if (engFireDetectorUnits.vector[0].loop1 == 9 and engFireDetectorUnits.vector[0].loop2 == 9) {
fireTimer1.stop();
- engFireDetectorUnits[0].TriggerWarning(engFireDetectorUnits[0].sys);
+ engFireDetectorUnits.vector[0].TriggerWarning(engFireDetectorUnits.vector[0].sys);
loop1.setValue(0);
loop2.setValue(0);
}
@@ -367,8 +367,8 @@ var checkTimeFire1 = func() {
var checkTimeFire2 = func() {
et = elapsedTime.getValue();
- var loop3 = propsNasFireTime[2].getValue();
- var loop4 = propsNasFireTime[3].getValue();
+ var loop3 = propsNasFireTime.vector[2].getValue();
+ var loop4 = propsNasFireTime.vector[3].getValue();
if ((loop3 != 0 and et > loop3 + 5) or (loop4 != 0 and et > loop4 + 5)) {
fireTimer2.stop();
@@ -376,17 +376,17 @@ var checkTimeFire2 = func() {
loop4.setValue(0);
}
- if (engFireDetectorUnits[1].loop1 == 9 and engFireDetectorUnits[1].loop2 == 9) {
+ if (engFireDetectorUnits.vector[1].loop1 == 9 and engFireDetectorUnits.vector[1].loop2 == 9) {
fireTimer2.stop();
- engFireDetectorUnits[1].TriggerWarning(engFireDetectorUnits[1].sys);
+ engFireDetectorUnits.vector[1].TriggerWarning(engFireDetectorUnits.vector[1].sys);
loop3.setValue(0);
loop4.setValue(0);
}
}
var checkTimeFire3 = func() {
et = elapsedTime.getValue();
- var loop4 = propsNasFireTime[3].getValue();
- var loop5 = propsNasFireTime[4].getValue();
+ var loop4 = propsNasFireTime.vector[3].getValue();
+ var loop5 = propsNasFireTime.vector[4].getValue();
if ((loop4 != 0 and et > loop4 + 5) or (loop5 != 0 and et > loop5 + 5)) {
fireTimer3.stop();
@@ -394,9 +394,9 @@ var checkTimeFire3 = func() {
loop5.setValue(0);
}
- if (engFireDetectorUnits[2].loop1 == 9 and engFireDetectorUnits[2].loop2 == 9) {
+ if (engFireDetectorUnits.vector[2].loop1 == 9 and engFireDetectorUnits.vector[2].loop2 == 9) {
fireTimer3.stop();
- engFireDetectorUnits[2].TriggerWarning(engFireDetectorUnits[2].sys);
+ engFireDetectorUnits.vector[2].TriggerWarning(engFireDetectorUnits.vector[2].sys);
loop4.setValue(0);
loop5.setValue(0);
}
@@ -480,12 +480,19 @@ createFireBottleListener("/controls/engines/engine[0]/agent2-btn", 1);
createFireBottleListener("/controls/engines/engine[1]/agent1-btn", 2);
createFireBottleListener("/controls/engines/engine[1]/agent2-btn", 3);
createFireBottleListener("/controls/APU/agent-btn", 4);
+
+var updateUnits = func() {
+ foreach (var units; engFireDetectorUnits.vector) {
+ units.update();
+ }
+}
###################
# Update Function #
###################
var update_fire = func {
master_fire();
+ updateUnits();
}
var fire_timer = maketimer(0.2, update_fire);
\ No newline at end of file
diff --git a/Systems/a320-engine-fire.xml b/Systems/a320-engine-fire.xml
index 373a0f2f..25445ac2 100644
--- a/Systems/a320-engine-fire.xml
+++ b/Systems/a320-engine-fire.xml
@@ -3,7 +3,7 @@
-
+
/systems/fire/engine1/temperature
@@ -22,7 +22,7 @@
-
+
/systems/fire/engine2/temperature