diff --git a/AircraftConfig/acconfig.nas b/AircraftConfig/acconfig.nas
index 47205586..69a20ab8 100644
--- a/AircraftConfig/acconfig.nas
+++ b/AircraftConfig/acconfig.nas
@@ -150,26 +150,6 @@ var saveSettings = func {
saveSettings();
-var systemsReset = func {
- fbw.fctlInit();
- systems.ELEC.init();
- systems.PNEU.init();
- systems.HYD.init();
- systems.FUEL.init();
- systems.ADIRS.init();
- systems.eng_init();
- systems.autobrake_init();
- fmgc.FMGCinit();
- mcdu1.MCDU_reset();
- mcdu2.MCDU_reset();
- icing.icingInit();
- fmgc.APinit();
- setprop("/it-autoflight/input/fd1", 1);
- setprop("/it-autoflight/input/fd2", 1);
- libraries.ECAMinit();
- libraries.variousReset();
-}
-
################
# Panel States #
################
@@ -194,7 +174,7 @@ var colddark = func {
setprop("/controls/flight/speedbrake-arm", 0);
setprop("/controls/gear/gear-down", 1);
setprop("/controls/flight/elevator-trim", 0);
- systemsReset();
+ libraries.systemsInit();
failReset();
if (getprop("/engines/engine[1]/n2-actual") < 2) {
colddark_b();
@@ -242,7 +222,7 @@ var beforestart = func {
setprop("/controls/flight/speedbrake-arm", 0);
setprop("/controls/gear/gear-down", 1);
setprop("/controls/flight/elevator-trim", 0);
- systemsReset();
+ libraries.systemsInit();
failReset();
setprop("/controls/APU/master", 0);
setprop("/controls/APU/start", 0);
@@ -316,7 +296,7 @@ var taxi = func {
setprop("/controls/flight/speedbrake-arm", 0);
setprop("/controls/gear/gear-down", 1);
setprop("/controls/flight/elevator-trim", 0);
- systemsReset();
+ libraries.systemsInit();
failReset();
setprop("/controls/APU/master", 0);
setprop("/controls/APU/start", 0);
diff --git a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas
index eb24d87e..9afd5c88 100644
--- a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas
+++ b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas
@@ -133,129 +133,161 @@ var canvas_upperECAM_base = {
me["FOB-LBS"].setText(sprintf("%s", math.round(getprop("/consumables/fuel/total-fuel-lbs"), 10)));
# Left ECAM Messages
- me["ECAML1"].setText(sprintf("%s", getprop("/ECAM/msg/line1")));
- me["ECAML2"].setText(sprintf("%s", getprop("/ECAM/msg/line2")));
- me["ECAML3"].setText(sprintf("%s", getprop("/ECAM/msg/line3")));
- me["ECAML4"].setText(sprintf("%s", getprop("/ECAM/msg/line4")));
- me["ECAML5"].setText(sprintf("%s", getprop("/ECAM/msg/line5")));
- me["ECAML6"].setText(sprintf("%s", getprop("/ECAM/msg/line6")));
- me["ECAML7"].setText(sprintf("%s", getprop("/ECAM/msg/line7")));
- me["ECAML8"].setText(sprintf("%s", getprop("/ECAM/msg/line8")));
-
- if (getprop("/ECAM/msg/line1c") == "w") {
- me["ECAML1"].setColor(0.8078,0.8039,0.8078);
- } else if (getprop("/ECAM/msg/line1c") == "b") {
- me["ECAML1"].setColor(0.0901,0.6039,0.7176);
- } else if (getprop("/ECAM/msg/line1c") == "g") {
- me["ECAML1"].setColor(0.0509,0.7529,0.2941);
- } else if (getprop("/ECAM/msg/line1c") == "a") {
- me["ECAML1"].setColor(0.7333,0.3803,0);
- } else if (getprop("/ECAM/msg/line1c") == "r") {
- me["ECAML1"].setColor(1,0,0);
- }
-
- if (getprop("/ECAM/msg/line2c") == "w") {
- me["ECAML2"].setColor(0.8078,0.8039,0.8078);
- } else if (getprop("/ECAM/msg/line2c") == "b") {
- me["ECAML2"].setColor(0.0901,0.6039,0.7176);
- } else if (getprop("/ECAM/msg/line2c") == "g") {
- me["ECAML2"].setColor(0.0509,0.7529,0.2941);
- } else if (getprop("/ECAM/msg/line2c") == "a") {
- me["ECAML2"].setColor(0.7333,0.3803,0);
- } else if (getprop("/ECAM/msg/line2c") == "r") {
- me["ECAML2"].setColor(1,0,0);
- }
-
- if (getprop("/ECAM/msg/line3c") == "w") {
- me["ECAML3"].setColor(0.8078,0.8039,0.8078);
- } else if (getprop("/ECAM/msg/line3c") == "b") {
- me["ECAML3"].setColor(0.0901,0.6039,0.7176);
- } else if (getprop("/ECAM/msg/line3c") == "g") {
- me["ECAML3"].setColor(0.0509,0.7529,0.2941);
- } else if (getprop("/ECAM/msg/line3c") == "a") {
- me["ECAML3"].setColor(0.7333,0.3803,0);
- } else if (getprop("/ECAM/msg/line3c") == "r") {
- me["ECAML3"].setColor(1,0,0);
- }
-
- if (getprop("/ECAM/msg/line4c") == "w") {
- me["ECAML4"].setColor(0.8078,0.8039,0.8078);
- } else if (getprop("/ECAM/msg/line4c") == "b") {
- me["ECAML4"].setColor(0.0901,0.6039,0.7176);
- } else if (getprop("/ECAM/msg/line4c") == "g") {
- me["ECAML4"].setColor(0.0509,0.7529,0.2941);
- } else if (getprop("/ECAM/msg/line4c") == "a") {
- me["ECAML4"].setColor(0.7333,0.3803,0);
- } else if (getprop("/ECAM/msg/line4c") == "r") {
- me["ECAML4"].setColor(1,0,0);
- }
-
- if (getprop("/ECAM/msg/line5c") == "w") {
- me["ECAML5"].setColor(0.8078,0.8039,0.8078);
- } else if (getprop("/ECAM/msg/line5c") == "b") {
- me["ECAML5"].setColor(0.0901,0.6039,0.7176);
- } else if (getprop("/ECAM/msg/line5c") == "g") {
- me["ECAML5"].setColor(0.0509,0.7529,0.2941);
- } else if (getprop("/ECAM/msg/line5c") == "a") {
- me["ECAML5"].setColor(0.7333,0.3803,0);
- } else if (getprop("/ECAM/msg/line5c") == "r") {
- me["ECAML5"].setColor(1,0,0);
- }
-
- if (getprop("/ECAM/msg/line6c") == "w") {
- me["ECAML6"].setColor(0.8078,0.8039,0.8078);
- } else if (getprop("/ECAM/msg/line6c") == "b") {
- me["ECAML6"].setColor(0.0901,0.6039,0.7176);
- } else if (getprop("/ECAM/msg/line6c") == "g") {
- me["ECAML6"].setColor(0.0509,0.7529,0.2941);
- } else if (getprop("/ECAM/msg/line6c") == "a") {
- me["ECAML6"].setColor(0.7333,0.3803,0);
- } else if (getprop("/ECAM/msg/line6c") == "r") {
- me["ECAML6"].setColor(1,0,0);
- }
-
- if (getprop("/ECAM/msg/line7c") == "w") {
- me["ECAML7"].setColor(0.8078,0.8039,0.8078);
- } else if (getprop("/ECAM/msg/line7c") == "b") {
- me["ECAML7"].setColor(0.0901,0.6039,0.7176);
- } else if (getprop("/ECAM/msg/line7c") == "g") {
- me["ECAML7"].setColor(0.0509,0.7529,0.2941);
- } else if (getprop("/ECAM/msg/line7c") == "a") {
- me["ECAML7"].setColor(0.7333,0.3803,0);
- } else if (getprop("/ECAM/msg/line7c") == "r") {
- me["ECAML7"].setColor(1,0,0);
- }
-
- if (getprop("/ECAM/msg/line8c") == "w") {
- me["ECAML8"].setColor(0.8078,0.8039,0.8078);
- } else if (getprop("/ECAM/msg/line8c") == "b") {
- me["ECAML8"].setColor(0.0901,0.6039,0.7176);
- } else if (getprop("/ECAM/msg/line8c") == "g") {
- me["ECAML8"].setColor(0.0509,0.7529,0.2941);
- } else if (getprop("/ECAM/msg/line8c") == "a") {
- me["ECAML8"].setColor(0.7333,0.3803,0);
- } else if (getprop("/ECAM/msg/line8c") == "r") {
- me["ECAML8"].setColor(1,0,0);
- }
-
if (getprop("/ECAM/left-msg") == "MSG") {
- me["ECAML1"].show();
- me["ECAML2"].show();
- me["ECAML3"].show();
- me["ECAML4"].show();
- me["ECAML5"].show();
- me["ECAML6"].show();
- me["ECAML7"].show();
- me["ECAML8"].show();
+ me["ECAML1"].setText(sprintf("%s", getprop("/ECAM/msg/line1")));
+ me["ECAML2"].setText(sprintf("%s", getprop("/ECAM/msg/line2")));
+ me["ECAML3"].setText(sprintf("%s", getprop("/ECAM/msg/line3")));
+ me["ECAML4"].setText(sprintf("%s", getprop("/ECAM/msg/line4")));
+ me["ECAML5"].setText(sprintf("%s", getprop("/ECAM/msg/line5")));
+ me["ECAML6"].setText(sprintf("%s", getprop("/ECAM/msg/line6")));
+ me["ECAML7"].setText(sprintf("%s", getprop("/ECAM/msg/line7")));
+ me["ECAML8"].setText(sprintf("%s", getprop("/ECAM/msg/line8")));
+
+ if (getprop("/ECAM/msg/line1c") == "w") {
+ me["ECAML1"].setColor(0.8078,0.8039,0.8078);
+ } else if (getprop("/ECAM/msg/line1c") == "b") {
+ me["ECAML1"].setColor(0.0901,0.6039,0.7176);
+ } else if (getprop("/ECAM/msg/line1c") == "g") {
+ me["ECAML1"].setColor(0.0509,0.7529,0.2941);
+ } else if (getprop("/ECAM/msg/line1c") == "a") {
+ me["ECAML1"].setColor(0.7333,0.3803,0);
+ } else if (getprop("/ECAM/msg/line1c") == "r") {
+ me["ECAML1"].setColor(1,0,0);
+ }
+
+ if (getprop("/ECAM/msg/line2c") == "w") {
+ me["ECAML2"].setColor(0.8078,0.8039,0.8078);
+ } else if (getprop("/ECAM/msg/line2c") == "b") {
+ me["ECAML2"].setColor(0.0901,0.6039,0.7176);
+ } else if (getprop("/ECAM/msg/line2c") == "g") {
+ me["ECAML2"].setColor(0.0509,0.7529,0.2941);
+ } else if (getprop("/ECAM/msg/line2c") == "a") {
+ me["ECAML2"].setColor(0.7333,0.3803,0);
+ } else if (getprop("/ECAM/msg/line2c") == "r") {
+ me["ECAML2"].setColor(1,0,0);
+ }
+
+ if (getprop("/ECAM/msg/line3c") == "w") {
+ me["ECAML3"].setColor(0.8078,0.8039,0.8078);
+ } else if (getprop("/ECAM/msg/line3c") == "b") {
+ me["ECAML3"].setColor(0.0901,0.6039,0.7176);
+ } else if (getprop("/ECAM/msg/line3c") == "g") {
+ me["ECAML3"].setColor(0.0509,0.7529,0.2941);
+ } else if (getprop("/ECAM/msg/line3c") == "a") {
+ me["ECAML3"].setColor(0.7333,0.3803,0);
+ } else if (getprop("/ECAM/msg/line3c") == "r") {
+ me["ECAML3"].setColor(1,0,0);
+ }
+
+ if (getprop("/ECAM/msg/line4c") == "w") {
+ me["ECAML4"].setColor(0.8078,0.8039,0.8078);
+ } else if (getprop("/ECAM/msg/line4c") == "b") {
+ me["ECAML4"].setColor(0.0901,0.6039,0.7176);
+ } else if (getprop("/ECAM/msg/line4c") == "g") {
+ me["ECAML4"].setColor(0.0509,0.7529,0.2941);
+ } else if (getprop("/ECAM/msg/line4c") == "a") {
+ me["ECAML4"].setColor(0.7333,0.3803,0);
+ } else if (getprop("/ECAM/msg/line4c") == "r") {
+ me["ECAML4"].setColor(1,0,0);
+ }
+
+ if (getprop("/ECAM/msg/line5c") == "w") {
+ me["ECAML5"].setColor(0.8078,0.8039,0.8078);
+ } else if (getprop("/ECAM/msg/line5c") == "b") {
+ me["ECAML5"].setColor(0.0901,0.6039,0.7176);
+ } else if (getprop("/ECAM/msg/line5c") == "g") {
+ me["ECAML5"].setColor(0.0509,0.7529,0.2941);
+ } else if (getprop("/ECAM/msg/line5c") == "a") {
+ me["ECAML5"].setColor(0.7333,0.3803,0);
+ } else if (getprop("/ECAM/msg/line5c") == "r") {
+ me["ECAML5"].setColor(1,0,0);
+ }
+
+ if (getprop("/ECAM/msg/line6c") == "w") {
+ me["ECAML6"].setColor(0.8078,0.8039,0.8078);
+ } else if (getprop("/ECAM/msg/line6c") == "b") {
+ me["ECAML6"].setColor(0.0901,0.6039,0.7176);
+ } else if (getprop("/ECAM/msg/line6c") == "g") {
+ me["ECAML6"].setColor(0.0509,0.7529,0.2941);
+ } else if (getprop("/ECAM/msg/line6c") == "a") {
+ me["ECAML6"].setColor(0.7333,0.3803,0);
+ } else if (getprop("/ECAM/msg/line6c") == "r") {
+ me["ECAML6"].setColor(1,0,0);
+ }
+
+ if (getprop("/ECAM/msg/line7c") == "w") {
+ me["ECAML7"].setColor(0.8078,0.8039,0.8078);
+ } else if (getprop("/ECAM/msg/line7c") == "b") {
+ me["ECAML7"].setColor(0.0901,0.6039,0.7176);
+ } else if (getprop("/ECAM/msg/line7c") == "g") {
+ me["ECAML7"].setColor(0.0509,0.7529,0.2941);
+ } else if (getprop("/ECAM/msg/line7c") == "a") {
+ me["ECAML7"].setColor(0.7333,0.3803,0);
+ } else if (getprop("/ECAM/msg/line7c") == "r") {
+ me["ECAML7"].setColor(1,0,0);
+ }
+
+ if (getprop("/ECAM/msg/line8c") == "w") {
+ me["ECAML8"].setColor(0.8078,0.8039,0.8078);
+ } else if (getprop("/ECAM/msg/line8c") == "b") {
+ me["ECAML8"].setColor(0.0901,0.6039,0.7176);
+ } else if (getprop("/ECAM/msg/line8c") == "g") {
+ me["ECAML8"].setColor(0.0509,0.7529,0.2941);
+ } else if (getprop("/ECAM/msg/line8c") == "a") {
+ me["ECAML8"].setColor(0.7333,0.3803,0);
+ } else if (getprop("/ECAM/msg/line8c") == "r") {
+ me["ECAML8"].setColor(1,0,0);
+ }
+
+ me["TO_Memo"].hide();
+ me["ECAM_Left"].show();
+ } else if (getprop("/ECAM/left-msg") == "TO-MEMO") {
+ if (getprop("/controls/autobrake/mode") == 3) {
+ me["TO_Autobrake"].setText("AUTO BRK MAX");
+ me["TO_Autobrake_B"].hide();
+ } else {
+ me["TO_Autobrake"].setText("AUTO BRK");
+ me["TO_Autobrake_B"].show();
+ }
+
+ if (getprop("/controls/switches/no-smoking-sign") == 1 and getprop("/controls/switches/seatbelt-sign") == 1) {
+ me["TO_Signs"].setText("SIGNS ON");
+ me["TO_Signs_B"].hide();
+ } else {
+ me["TO_Signs"].setText("SIGNS");
+ me["TO_Signs_B"].show();
+ }
+
+ if (getprop("/controls/flight/speedbrake-arm") == 1) {
+ me["TO_Spoilers"].setText("SPLRS ARM");
+ me["TO_Spoilers_B"].hide();
+ } else {
+ me["TO_Spoilers"].setText("SPLRS");
+ me["TO_Spoilers_B"].show();
+ }
+
+ if (getprop("/controls/flight/flap-pos") > 0 and getprop("/controls/flight/flap-pos") < 5) {
+ me["TO_Flaps"].setText("FLAPS T.O");
+ me["TO_Flaps_B"].hide();
+ } else {
+ me["TO_Flaps"].setText("FLAPS");
+ me["TO_Flaps_B"].show();
+ }
+
+ if (getprop("/controls/autobrake/mode") == 3 and getprop("/controls/switches/no-smoking-sign") == 1 and getprop("/controls/switches/seatbelt-sign") == 1 and getprop("/controls/flight/speedbrake-arm") == 1 and getprop("/controls/flight/flap-pos") > 0
+ and getprop("/controls/flight/flap-pos") < 5) {
+ me["TO_Config"].setText("T.O CONFIG NORMAL");
+ me["TO_Config_B"].hide();
+ } else {
+ me["TO_Config"].setText("T.O CONFIG");
+ me["TO_Config_B"].show();
+ }
+
+ me["ECAM_Left"].hide();
+ me["TO_Memo"].show();
} else {
- me["ECAML1"].hide();
- me["ECAML2"].hide();
- me["ECAML3"].hide();
- me["ECAML4"].hide();
- me["ECAML5"].hide();
- me["ECAML6"].hide();
- me["ECAML7"].hide();
- me["ECAML8"].hide();
+ me["ECAM_Left"].hide();
+ me["TO_Memo"].hide();
}
},
};
@@ -270,8 +302,9 @@ var canvas_upperECAM_cfm_eis2 = {
getKeys: func() {
return ["N11-needle","N11-thr","N11-ylim","N11","N11-decpnt","N11-decimal","N11-box","N11-scale","N11-scale2","N11-scaletick","N11-scalenum","N11-XX","N11-XX2","N11-XX-box","EGT1-needle","EGT1","EGT1-scale","EGT1-box","EGT1-scale2","EGT1-scaletick",
"EGT1-XX","N21","N21-decpnt","N21-decimal","N21-XX","FF1","FF1-XX","N12-needle","N12-thr","N12-ylim","N12","N12-decpnt","N12-decimal","N12-box","N12-scale","N12-scale2","N12-scaletick","N12-scalenum","N12-XX","N12-XX2","N12-XX-box","EGT2-needle","EGT2",
- "EGT2-scale","EGT2-box","EGT2-scale2","EGT2-scaletick","EGT2-XX","N22","N22-decpnt","N22-decimal","N22-XX","FF2","FF2-XX","FOB-LBS","ECAML1","ECAML2","ECAML3","ECAML4","ECAML5","ECAML6","ECAML7","ECAML8","FlapTxt","FlapDots","N1Lim-mode","N1Lim",
- "N1Lim-decpnt","N1Lim-decimal","N1Lim-percent","N1Lim-XX","N1Lim-XX2","REV1","REV1-box","REV2","REV2-box"];
+ "EGT2-scale","EGT2-box","EGT2-scale2","EGT2-scaletick","EGT2-XX","N22","N22-decpnt","N22-decimal","N22-XX","FF2","FF2-XX","FOB-LBS","FlapTxt","FlapDots","N1Lim-mode","N1Lim","N1Lim-decpnt","N1Lim-decimal","N1Lim-percent","N1Lim-XX","N1Lim-XX2","REV1",
+ "REV1-box","REV2","REV2-box","ECAM_Left","ECAML1","ECAML2","ECAML3","ECAML4","ECAML5","ECAML6","ECAML7","ECAML8","TO_Memo","TO_Autobrake","TO_Signs","TO_Spoilers","TO_Flaps","TO_Config","TO_Autobrake_B","TO_Signs_B","TO_Spoilers_B","TO_Flaps_B",
+ "TO_Config_B"];
},
update: func() {
# N1
@@ -496,8 +529,8 @@ var canvas_upperECAM_iae_eis2 = {
return ["EPR1-needle","EPR1-thr","EPR1-ylim","EPR1","EPR1-decpnt","EPR1-decimal","EPR1-box","EPR1-scale","EPR1-scaletick","EPR1-scalenum","EPR1-XX","EPR1-XX2","EGT1-needle","EGT1","EGT1-scale","EGT1-box","EGT1-scale2","EGT1-scaletick","EGT1-XX",
"N11-needle","N11-thr","N11-ylim","N11","N11-decpnt","N11-decimal","N11-scale","N11-scale2","N11-scaletick","N11-scalenum","N11-XX","N21","N21-decpnt","N21-decimal","N21-XX","FF1","FF1-XX","EPR2-needle","EPR2-thr","EPR2-ylim","EPR2","EPR2-decpnt",
"EPR2-decimal","EPR2-box","EPR2-scale","EPR2-scaletick","EPR2-scalenum","EPR2-XX","EPR2-XX2","EGT2-needle","EGT2","EGT2-scale","EGT2-scale2","EGT2-box","EGT2-scaletick","EGT2-XX","N12-needle","N12-thr","N12-ylim","N12","N12-decpnt","N12-decimal",
- "N12-scale","N12-scale2","N12-scaletick","N12-scalenum","N12-XX","N22","N22-decpnt","N22-decimal","N22-XX","FF2","FF2-XX","FOB-LBS","ECAML1","ECAML2","ECAML3","ECAML4","ECAML5","ECAML6","ECAML7","ECAML8","FlapTxt","FlapDots","EPRLim-mode","EPRLim",
- "EPRLim-decpnt","EPRLim-decimal","EPRLim-XX","EPRLim-XX2","REV1","REV1-box","REV2","REV2-box"];
+ "N12-scale","N12-scale2","N12-scaletick","N12-scalenum","N12-XX","N22","N22-decpnt","N22-decimal","N22-XX","FF2","FF2-XX","FOB-LBS","FlapTxt","FlapDots","EPRLim-mode","EPRLim","EPRLim-decpnt","EPRLim-decimal","EPRLim-XX","EPRLim-XX2","REV1","REV1-box",
+ "REV2","REV2-box","ECAM_Left","ECAML1","ECAML2","ECAML3","ECAML4","ECAML5","ECAML6","ECAML7","ECAML8","TO_Memo","TO_Autobrake","TO_Signs","TO_Spoilers","TO_Flaps","TO_Config","TO_Autobrake_B","TO_Signs_B","TO_Spoilers_B","TO_Flaps_B","TO_Config_B"];
},
update: func() {
# EPR
diff --git a/Models/Instruments/Upper-ECAM/res/cfm-eis2.svg b/Models/Instruments/Upper-ECAM/res/cfm-eis2.svg
index 1d07d1bb..b70f3bbf 100644
--- a/Models/Instruments/Upper-ECAM/res/cfm-eis2.svg
+++ b/Models/Instruments/Upper-ECAM/res/cfm-eis2.svg
@@ -41,9 +41,9 @@
inkscape:window-height="1030"
id="namedview371"
showgrid="false"
- inkscape:zoom="1.4142136"
- inkscape:cx="520.85242"
- inkscape:cy="1094.6024"
+ inkscape:zoom="0.50000001"
+ inkscape:cx="531.17625"
+ inkscape:cy="512.09207"
inkscape:window-x="1592"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@@ -197,34 +197,6 @@
x="384.25583"
id="tspan4435"
sodipodi:role="line">LBS
- LINE 1
- LINE 2
-
+ LINE 1
+ LINE 2
+ LINE 3
- LINE 3
+ LINE 4
- LINE 4
+ LINE 5
- LINE 5
+ LINE 6
- LINE 6
+ LINE 7
- LINE 8
+ style="font-style:normal;font-weight:normal;font-size:11.15495205px;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve">LINE 7
+ LINE 8
+
+
+ T.O
+
+ AUTO BRK
+ SIGNS
+ SPLRS
+ FLAPS
+ T.O CONFIG
+
+ MAX
+ . . . . .
+
+
+ ON
+ . . . . . . . . . .
+
+
+ ARM
+ . . . . . . . . .
+
+
+ T.O
+ . . . . . . . . . .
+
+
+ TEST
+ . . .
+
+
diff --git a/Models/Instruments/Upper-ECAM/res/iae-eis2.svg b/Models/Instruments/Upper-ECAM/res/iae-eis2.svg
index c37354ac..2428f0d2 100644
--- a/Models/Instruments/Upper-ECAM/res/iae-eis2.svg
+++ b/Models/Instruments/Upper-ECAM/res/iae-eis2.svg
@@ -41,14 +41,14 @@
inkscape:window-height="1030"
id="namedview371"
showgrid="false"
- inkscape:zoom="3.0622118"
- inkscape:cx="1105.0255"
- inkscape:cy="1220.4997"
+ inkscape:zoom="1.5311059"
+ inkscape:cx="247.80484"
+ inkscape:cy="355.57872"
inkscape:window-x="1592"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
- showguides="false"
+ showguides="true"
inkscape:snap-global="false">
LBS
- LINE 1
- LINE 2
- LINE 3
- LINE 4
- LINE 5
- LINE 6
- LINE 7
- LINE 8
REV
+
+ LINE 1
+ LINE 2
+ LINE 3
+ LINE 4
+ LINE 5
+ LINE 6
+ LINE 7
+ LINE 8
+
+
+ T.O
+
+ AUTO BRK
+ SIGNS
+ SPLRS
+ FLAPS
+ T.O CONFIG
+
+ MAX
+ . . . . .
+
+
+ ON
+ . . . . . . . . . .
+
+
+ ARM
+ . . . . . . . . .
+
+
+ T.O
+ . . . . . . . . . .
+
+
+ TEST
+ . . .
+
+
diff --git a/Nasal/ECAM.nas b/Nasal/ECAM.nas
index 53db940e..ff4950fb 100644
--- a/Nasal/ECAM.nas
+++ b/Nasal/ECAM.nas
@@ -5,194 +5,46 @@
# Copyright (c) Joshua Davidson (it0uchpods) #
##############################################
-# It no works yet, so please don't touch a thing until it works. Thanks -JD
-
-##################
-# Init Functions #
-##################
-
+setprop("/ECAM/left-msg", "NONE");
setprop("/position/gear-agl-ft", 0);
-setprop("/ECAM/noupdate", 0);
-setprop("/ECAM/donotrevert", 0);
-setprop("/ECAM/Lower/page", "eng");
+setprop("/ECAM/Lower/page", "fctl");
+# w = White, b = Blue, g = Green, a = Amber, r = Red
-###########################################################
-# w = White, b = Blue, g = Green, a = Amber, r = Red #
-###########################################################
-
-var ECAMinit = func {
- if (getprop("/options/enable-ecam-actions") == 1) {
- ECAMloop.start();
- setprop("/ECAM/phase-1-inhibit", 0);
- setprop("/ECAM/phase-2-inhibit", 0);
- setprop("/ECAM/phase-3-inhibit", 0);
- setprop("/ECAM/phase-4-inhibit", 0);
- setprop("/ECAM/phase-5-inhibit", 0);
- setprop("/ECAM/phase-6-inhibit", 0);
- setprop("/ECAM/phase-7-inhibit", 0);
- setprop("/ECAM/phase-8-inhibit", 0);
- setprop("/ECAM/phase-9-inhibit", 0);
- setprop("/ECAM/phase-10-inhibit", 0);
- var stateL = getprop("/engines/engine[0]/state");
- var stateR = getprop("/engines/engine[1]/state");
- var thrustL = getprop("/systems/thrust/state1");
- var thrustR = getprop("/systems/thrust/state2");
- var elec = getprop("/systems/electrical/on");
- var speed = getprop("/velocities/airspeed-kt");
- var wowL = getprop("/gear/gear[1]/wow");
- var altitude = getprop("/position/gear-agl-ft");
- var phase1inhibit = getprop("/ECAM/phase-1-inhibit");
- var phase2inhibit = getprop("/ECAM/phase-2-inhibit");
- var phase3inhibit = getprop("/ECAM/phase-3-inhibit");
- var phase4inhibit = getprop("/ECAM/phase-4-inhibit");
- var phase5inhibit = getprop("/ECAM/phase-5-inhibit");
- var phase6inhibit = getprop("/ECAM/phase-6-inhibit");
- var phase7inhibit = getprop("/ECAM/phase-7-inhibit");
- var phase8inhibit = getprop("/ECAM/phase-8-inhibit");
- var phase9inhibit = getprop("/ECAM/phase-9-inhibit");
- var phase10inhibit = getprop("/ECAM/phase-10-inhibit");
- }
-}
-
-# setlistener("/ECAM/phase-10-inhibit", func {
-# phase10inhibit = getprop("/ECAM/phase-10-inhibit");
-# if (phase10inhibit) {
-# settimer(func {
-# setprop("/ECAM/phase-10-inhibit", 0);
-# }, 300);
-# }
-#});
-
-var MSGclr = func {
- setprop("/ECAM/ecam-checklist-active", 0);
- setprop("/ECAM/left-msg", "NONE");
- setprop("/ECAM/msg/line1", "");
- setprop("/ECAM/msg/line2", "");
- setprop("/ECAM/msg/line3", "");
- setprop("/ECAM/msg/line4", "");
- setprop("/ECAM/msg/line5", "");
- setprop("/ECAM/msg/line6", "");
- setprop("/ECAM/msg/line7", "");
- setprop("/ECAM/msg/line8", "");
- setprop("/ECAM/msg/line1c", "w");
- setprop("/ECAM/msg/line2c", "w");
- setprop("/ECAM/msg/line3c", "w");
- setprop("/ECAM/msg/line4c", "w");
- setprop("/ECAM/msg/line5c", "w");
- setprop("/ECAM/msg/line6c", "w");
- setprop("/ECAM/msg/line7c", "w");
- setprop("/ECAM/msg/line8c", "w");
-}
-
-MSGclr();
-
-var ECAMloop = maketimer(0.2, func {
-
- stateL = getprop("/engines/engine[0]/state");
- stateR = getprop("/engines/engine[1]/state");
- thrustL = getprop("/systems/thrust/state1");
- thrustR = getprop("/systems/thrust/state2");
- elec = getprop("/systems/electrical/on");
- speed = getprop("/velocities/airspeed-kt");
- wowL = getprop("/gear/gear[1]/wow");
- altitude = getprop("/position/gear-agl-ft");
- phase1inhibit = getprop("/ECAM/phase-1-inhibit");
- phase2inhibit = getprop("/ECAM/phase-2-inhibit");
- phase3inhibit = getprop("/ECAM/phase-3-inhibit");
- phase4inhibit = getprop("/ECAM/phase-4-inhibit");
- phase5inhibit = getprop("/ECAM/phase-5-inhibit");
- phase6inhibit = getprop("/ECAM/phase-6-inhibit");
- phase7inhibit = getprop("/ECAM/phase-7-inhibit");
- phase8inhibit = getprop("/ECAM/phase-8-inhibit");
- phase9inhibit = getprop("/ECAM/phase-9-inhibit");
- phase10inhibit = getprop("/ECAM/phase-10-inhibit");
-
- var noUpdate = getprop("/ECAM/noupdate");
- var doNotRevert = getprop("/ECAM/donotrevert");
- if (getprop("/FMGC/status/phase") == 0 and getprop("/engines/engine[0]/state") == 3 and getprop("/engines/engine[1]/state") == 3) {
- setprop("/ECAM/left-msg", "TO-MEMO");
- } else if (!doNotRevert) {
- setprop("/ECAM/left-msg", "NONE");
- }
-
- var leftMSG = getprop("/ECAM/left-msg");
-
- if (leftMSG == "TO-MEMO" and !noUpdate) {
- setprop("/ECAM/msg/line1", " AUTO BRK");
- setprop("/ECAM/msg/line2", " SIGNS");
- setprop("/ECAM/msg/line3", " CABIN");
- setprop("/ECAM/msg/line4", " SPLRS");
- setprop("/ECAM/msg/line5", " FLAPS");
- setprop("/ECAM/msg/line6", "");
- setprop("/ECAM/msg/line7", "");
- setprop("/ECAM/msg/line8", "");
- setprop("/ECAM/msg/line1c", "g");
- setprop("/ECAM/msg/line2c", "g");
- setprop("/ECAM/msg/line3c", "g");
- setprop("/ECAM/msg/line4c", "g");
- setprop("/ECAM/msg/line5c", "g");
- setprop("/ECAM/msg/line6c", "g");
- setprop("/ECAM/msg/line7c", "g");
- setprop("/ECAM/msg/line8c", "g");
- }
-
- ###########
- # Inhibit #
- ###########
- if (elec == 1 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
- setprop("/ECAM/phase-1-inhibit", 1);
- } else if (stateL == 3 or stateR == 3 and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+var ECAM = {
+ init: func() {
setprop("/ECAM/phase-1-inhibit", 0);
- setprop("/ECAM/phase-2-inhibit", 1);
- } else if (thrustL == "FLX" or thrustL == "TOGA" or thrustR == "FLX" or thrustR == "TOGA" and speed < 80 and !phase1inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
setprop("/ECAM/phase-2-inhibit", 0);
- setprop("/ECAM/phase-3-inhibit", 1);
- } else if (thrustL == "FLX" or thrustL == "TOGA" or thrustR == "FLX" or thrustR == "TOGA" and speed > 80 and wowL and !phase1inhibit and !phase2inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
setprop("/ECAM/phase-3-inhibit", 0);
- setprop("/ECAM/phase-4-inhibit", 1);
- } else if (speed > 80 and !wowL and altitude < 1501 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
setprop("/ECAM/phase-4-inhibit", 0);
- setprop("/ECAM/phase-5-inhibit", 1);
- } else if (speed > 80 and !wowL and altitude > 1501 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
setprop("/ECAM/phase-5-inhibit", 0);
- setprop("/ECAM/phase-6-inhibit", 1);
- } else if (speed > 80 and !wowL and altitude < 801 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
setprop("/ECAM/phase-6-inhibit", 0);
- setprop("/ECAM/phase-7-inhibit", 1);
- } else if (speed > 80 and wowL and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
setprop("/ECAM/phase-7-inhibit", 0);
- setprop("/ECAM/phase-8-inhibit", 1);
- } else if (speed < 80 and wowL and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase9inhibit and !phase10inhibit) {
setprop("/ECAM/phase-8-inhibit", 0);
- setprop("/ECAM/phase-9-inhibit", 1);
- } else if (stateL == 0 and stateR == 0 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase10inhibit) {
setprop("/ECAM/phase-9-inhibit", 0);
- setprop("/ECAM/phase-10-inhibit", 1);
- }
- ############
- # Air Cond #
- ############
-
- if (getprop("/systems/failures/pack1") == 1 and getprop("/systems/failures/pack2") == 0 and getprop("/controls/pneumatic/switches/pack1") == 1 and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit) {
- setprop("/ECAM/msg/line1", "AIR PACK 1 FAULT");
- setprop("/ECAM/msg/line2", " - PACK 1: OFF");
- setprop("/ECAM/msg/line3", "");
- setprop("/ECAM/msg/line4", "");
- setprop("/ECAM/msg/line5", "");
- setprop("/ECAM/msg/line6", "");
- setprop("/ECAM/msg/line7", "");
- setprop("/ECAM/msg/line8", "");
- setprop("/ECAM/msg/line1c", "a");
- setprop("/ECAM/msg/line2c", "b");
- setprop("/ECAM/msg/line3c", "g");
- setprop("/ECAM/msg/line4c", "g");
- setprop("/ECAM/msg/line5c", "g");
- setprop("/ECAM/msg/line6c", "g");
- setprop("/ECAM/msg/line7c", "g");
- setprop("/ECAM/msg/line8c", "g");
- setprop("/ECAM/left-msg", "MSG");
- } else if (getprop("/systems/failures/pack1") == 1 and getprop("/systems/failures/pack2") == 0 and getprop("/controls/pneumatic/switches/pack1") == 0 and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit) {
- setprop("/ECAM/msg/line1", "AIR PACK 1 FAULT");
+ setprop("/ECAM/phase-10-inhibit", 0);
+ var stateL = getprop("/engines/engine[0]/state");
+ var stateR = getprop("/engines/engine[1]/state");
+ var thrustL = getprop("/systems/thrust/state1");
+ var thrustR = getprop("/systems/thrust/state2");
+ var elec = getprop("/systems/electrical/on");
+ var speed = getprop("/velocities/airspeed-kt");
+ var wowL = getprop("/gear/gear[1]/wow");
+ var altitude = getprop("/position/gear-agl-ft");
+ var phase1inhibit = getprop("/ECAM/phase-1-inhibit");
+ var phase2inhibit = getprop("/ECAM/phase-2-inhibit");
+ var phase3inhibit = getprop("/ECAM/phase-3-inhibit");
+ var phase4inhibit = getprop("/ECAM/phase-4-inhibit");
+ var phase5inhibit = getprop("/ECAM/phase-5-inhibit");
+ var phase6inhibit = getprop("/ECAM/phase-6-inhibit");
+ var phase7inhibit = getprop("/ECAM/phase-7-inhibit");
+ var phase8inhibit = getprop("/ECAM/phase-8-inhibit");
+ var phase9inhibit = getprop("/ECAM/phase-9-inhibit");
+ var phase10inhibit = getprop("/ECAM/phase-10-inhibit");
+ },
+ MSGclr: func() {
+ setprop("/ECAM/ecam-checklist-active", 0);
+ setprop("/ECAM/left-msg", "NONE");
+ setprop("/ECAM/msg/line1", "");
setprop("/ECAM/msg/line2", "");
setprop("/ECAM/msg/line3", "");
setprop("/ECAM/msg/line4", "");
@@ -200,59 +52,72 @@ var ECAMloop = maketimer(0.2, func {
setprop("/ECAM/msg/line6", "");
setprop("/ECAM/msg/line7", "");
setprop("/ECAM/msg/line8", "");
- setprop("/ECAM/msg/line1c", "a");
- setprop("/ECAM/msg/line2c", "g");
- setprop("/ECAM/msg/line3c", "g");
- setprop("/ECAM/msg/line4c", "g");
- setprop("/ECAM/msg/line5c", "g");
- setprop("/ECAM/msg/line6c", "g");
- setprop("/ECAM/msg/line7c", "g");
- setprop("/ECAM/msg/line8c", "g");
- setprop("/ECAM/left-msg", "MSG");
- } else {
- # MSGclr();
- }
-
- if (getprop("/systems/failures/pack1") == 0 and getprop("/systems/failures/pack2") == 1 and getprop("/controls/pneumatic/switches/pack2") == 1 and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit) {
- setprop("/ECAM/msg/line1", "AIR PACK 2 FAULT");
- setprop("/ECAM/msg/line2", " - PACK 2: OFF");
- setprop("/ECAM/msg/line3", "");
- setprop("/ECAM/msg/line4", "");
- setprop("/ECAM/msg/line5", "");
- setprop("/ECAM/msg/line6", "");
- setprop("/ECAM/msg/line7", "");
- setprop("/ECAM/msg/line8", "");
- setprop("/ECAM/msg/line1c", "a");
- setprop("/ECAM/msg/line2c", "b");
- setprop("/ECAM/msg/line3c", "g");
- setprop("/ECAM/msg/line4c", "g");
- setprop("/ECAM/msg/line5c", "g");
- setprop("/ECAM/msg/line6c", "g");
- setprop("/ECAM/msg/line7c", "g");
- setprop("/ECAM/msg/line8c", "g");
- setprop("/ECAM/left-msg", "MSG");
- } else if (getprop("/systems/failures/pack1") == 0 and getprop("/systems/failures/pack2") == 1 and getprop("/controls/pneumatic/switches/pack2") == 0 and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit) {
- setprop("/ECAM/msg/line1", "AIR PACK 2 FAULT");
- setprop("/ECAM/msg/line2", "");
- setprop("/ECAM/msg/line3", "");
- setprop("/ECAM/msg/line4", "");
- setprop("/ECAM/msg/line5", "");
- setprop("/ECAM/msg/line6", "");
- setprop("/ECAM/msg/line7", "");
- setprop("/ECAM/msg/line8", "");
- setprop("/ECAM/msg/line1c", "a");
- setprop("/ECAM/msg/line2c", "g");
- setprop("/ECAM/msg/line3c", "g");
- setprop("/ECAM/msg/line4c", "g");
- setprop("/ECAM/msg/line5c", "g");
- setprop("/ECAM/msg/line6c", "g");
- setprop("/ECAM/msg/line7c", "g");
- setprop("/ECAM/msg/line8c", "g");
- setprop("/ECAM/left-msg", "MSG");
- } else {
- # MSGclr();
- }
-
-});
-
+ setprop("/ECAM/msg/line1c", "w");
+ setprop("/ECAM/msg/line2c", "w");
+ setprop("/ECAM/msg/line3c", "w");
+ setprop("/ECAM/msg/line4c", "w");
+ setprop("/ECAM/msg/line5c", "w");
+ setprop("/ECAM/msg/line6c", "w");
+ setprop("/ECAM/msg/line7c", "w");
+ setprop("/ECAM/msg/line8c", "w");
+ },
+ loop: func() {
+ stateL = getprop("/engines/engine[0]/state");
+ stateR = getprop("/engines/engine[1]/state");
+ thrustL = getprop("/systems/thrust/state1");
+ thrustR = getprop("/systems/thrust/state2");
+ elec = getprop("/systems/electrical/on");
+ speed = getprop("/velocities/airspeed-kt");
+ wowL = getprop("/gear/gear[1]/wow");
+ altitude = getprop("/position/gear-agl-ft");
+ phase1inhibit = getprop("/ECAM/phase-1-inhibit");
+ phase2inhibit = getprop("/ECAM/phase-2-inhibit");
+ phase3inhibit = getprop("/ECAM/phase-3-inhibit");
+ phase4inhibit = getprop("/ECAM/phase-4-inhibit");
+ phase5inhibit = getprop("/ECAM/phase-5-inhibit");
+ phase6inhibit = getprop("/ECAM/phase-6-inhibit");
+ phase7inhibit = getprop("/ECAM/phase-7-inhibit");
+ phase8inhibit = getprop("/ECAM/phase-8-inhibit");
+ phase9inhibit = getprop("/ECAM/phase-9-inhibit");
+ phase10inhibit = getprop("/ECAM/phase-10-inhibit");
+
+ if (getprop("/FMGC/status/phase") == 0 and getprop("/engines/engine[0]/state") == 3 and getprop("/engines/engine[1]/state") == 3) {
+ setprop("/ECAM/left-msg", "TO-MEMO");
+ } else {
+ setprop("/ECAM/left-msg", "NONE");
+ }
+
+ if (elec == 1 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-1-inhibit", 1);
+ } else if (stateL == 3 or stateR == 3 and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-1-inhibit", 0);
+ setprop("/ECAM/phase-2-inhibit", 1);
+ } else if (thrustL == "FLX" or thrustL == "TOGA" or thrustR == "FLX" or thrustR == "TOGA" and speed < 80 and !phase1inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-2-inhibit", 0);
+ setprop("/ECAM/phase-3-inhibit", 1);
+ } else if (thrustL == "FLX" or thrustL == "TOGA" or thrustR == "FLX" or thrustR == "TOGA" and speed > 80 and wowL and !phase1inhibit and !phase2inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-3-inhibit", 0);
+ setprop("/ECAM/phase-4-inhibit", 1);
+ } else if (speed > 80 and !wowL and altitude < 1501 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-4-inhibit", 0);
+ setprop("/ECAM/phase-5-inhibit", 1);
+ } else if (speed > 80 and !wowL and altitude > 1501 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-5-inhibit", 0);
+ setprop("/ECAM/phase-6-inhibit", 1);
+ } else if (speed > 80 and !wowL and altitude < 801 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-6-inhibit", 0);
+ setprop("/ECAM/phase-7-inhibit", 1);
+ } else if (speed > 80 and wowL and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-7-inhibit", 0);
+ setprop("/ECAM/phase-8-inhibit", 1);
+ } else if (speed < 80 and wowL and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase9inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-8-inhibit", 0);
+ setprop("/ECAM/phase-9-inhibit", 1);
+ } else if (stateL == 0 and stateR == 0 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase10inhibit) {
+ setprop("/ECAM/phase-9-inhibit", 0);
+ setprop("/ECAM/phase-10-inhibit", 1);
+ }
+ },
+};
+ECAM.MSGclr();
diff --git a/Nasal/libraries.nas b/Nasal/libraries.nas
index 64802438..1653ce3b 100644
--- a/Nasal/libraries.nas
+++ b/Nasal/libraries.nas
@@ -167,8 +167,8 @@ var triggerDoor = func(door, doorName, doorDesc) {
#######################
# Various Other Stuff #
#######################
-
-setlistener("/sim/signals/fdm-initialized", func {
+
+var systemsInit = func {
fbw.fctlInit();
systems.ELEC.init();
systems.PNEU.init();
@@ -189,8 +189,12 @@ setlistener("/sim/signals/fdm-initialized", func {
var autopilot = gui.Dialog.new("sim/gui/dialogs/autopilot/dialog", "Aircraft/IDG-A32X/Systems/autopilot-dlg.xml");
setprop("/it-autoflight/input/fd1", 1);
setprop("/it-autoflight/input/fd2", 1);
- libraries.ECAMinit();
+ libraries.ECAM.init();
libraries.variousReset();
+}
+
+setlistener("/sim/signals/fdm-initialized", func {
+ systemsInit();
});
var systemsLoop = maketimer(0.1, func {
@@ -199,6 +203,7 @@ var systemsLoop = maketimer(0.1, func {
systems.HYD.loop();
systems.FUEL.loop();
systems.ADIRS.loop();
+ libraries.ECAM.loop();
if ((getprop("/controls/pneumatic/switches/groundair") or getprop("/controls/switches/cart")) and ((getprop("/velocities/groundspeed-kt") > 2) or getprop("/controls/gear/brake-parking") == 0)) {
setprop("/controls/switches/cart", 0);
diff --git a/revision.txt b/revision.txt
index d16f7773..549d0ba3 100644
--- a/revision.txt
+++ b/revision.txt
@@ -1 +1 @@
-4204
\ No newline at end of file
+4205
\ No newline at end of file