diff --git a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas
index f5fb3c71..885159d0 100644
--- a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas
+++ b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas
@@ -244,6 +244,7 @@ var canvas_upperECAM_base = {
}
me["TO_Memo"].hide();
+ me["LDG_Memo"].hide();
me["ECAM_Left"].show();
} else if (getprop("/ECAM/left-msg") == "TO-MEMO") {
if (getprop("/controls/autobrake/mode") == 3) {
@@ -287,10 +288,59 @@ var canvas_upperECAM_base = {
}
me["ECAM_Left"].hide();
+ me["LDG_Memo"].hide();
me["TO_Memo"].show();
+ } else if (getprop("/ECAM/left-msg") == "LDG-MEMO") {
+ if (getprop("/gear/gear[1]/position-norm") == 1) {
+ me["LDG_Gear"].setText("LDG GEAR DN");
+ me["LDG_Gear_B"].hide();
+ } else {
+ me["LDG_Gear"].setText("LDG GEAR");
+ me["LDG_Gear_B"].show();
+ }
+
+ if (getprop("/controls/switches/no-smoking-sign") == 1 and getprop("/controls/switches/seatbelt-sign") == 1) {
+ me["LDG_Signs"].setText("SIGNS ON");
+ me["LDG_Signs_B"].hide();
+ } else {
+ me["LDG_Signs"].setText("SIGNS");
+ me["LDG_Signs_B"].show();
+ }
+
+ if (getprop("/controls/flight/speedbrake-arm") == 1) {
+ me["LDG_Spoilers"].setText("SPLRS ARM");
+ me["LDG_Spoilers_B"].hide();
+ } else {
+ me["LDG_Spoilers"].setText("SPLRS");
+ me["LDG_Spoilers_B"].show();
+ }
+
+ if (getprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override") != 1 and getprop("/controls/flight/flap-pos") == 5) {
+ me["LDG_Flaps"].setText("FLAPS FULL");
+ me["LDG_Flaps_B"].hide();
+ me["LDG_Flaps_B3"].hide();
+ } else if (getprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override") == 1 and getprop("/controls/flight/flap-pos") >= 4) {
+ me["LDG_Flaps"].setText("FLAPS 3");
+ me["LDG_Flaps_B"].hide();
+ me["LDG_Flaps_B3"].hide();
+ } else {
+ me["LDG_Flaps"].setText("FLAPS");
+ if (getprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override") == 1) {
+ me["LDG_Flaps_B"].hide();
+ me["LDG_Flaps_B3"].show();
+ } else {
+ me["LDG_Flaps_B3"].hide();
+ me["LDG_Flaps_B"].show();
+ }
+ }
+
+ me["ECAM_Left"].hide();
+ me["TO_Memo"].hide();
+ me["LDG_Memo"].show();
} else {
me["ECAM_Left"].hide();
me["TO_Memo"].hide();
+ me["LDG_Memo"].hide();
}
},
};
@@ -307,7 +357,7 @@ var canvas_upperECAM_cfm_eis2 = {
"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","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"];
+ "TO_Config_B","LDG_Memo","LDG_Gear","LDG_Signs","LDG_Spoilers","LDG_Flaps","LDG_Gear_B","LDG_Signs_B","LDG_Spoilers_B","LDG_Flaps_B","LDG_Flaps_B3"];
},
update: func() {
# N1
@@ -533,7 +583,8 @@ var canvas_upperECAM_iae_eis2 = {
"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","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"];
+ "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",
+ "LDG_Memo","LDG_Gear","LDG_Signs","LDG_Spoilers","LDG_Flaps","LDG_Gear_B","LDG_Signs_B","LDG_Spoilers_B","LDG_Flaps_B","LDG_Flaps_B3"];
},
update: func() {
# EPR
diff --git a/Models/Instruments/Upper-ECAM/res/cfm-eis2.svg b/Models/Instruments/Upper-ECAM/res/cfm-eis2.svg
index b70f3bbf..847d0434 100644
--- a/Models/Instruments/Upper-ECAM/res/cfm-eis2.svg
+++ b/Models/Instruments/Upper-ECAM/res/cfm-eis2.svg
@@ -1575,4 +1575,260 @@
sodipodi:role="line">. . .
+
+ LDG
+
+ LDG GEAR
+ SIGNS
+ CABIN READY
+ SPLRS
+ FLAPS
+
+ DN
+ . . . . . .
+
+
+ ON
+ . . . . . . . . . .
+
+
+ ARM
+ . . . . . . . . .
+
+
+ FULL
+ . . . . . . . .
+
+
+ 3
+ . . . . . . . . . . . .
+
+
diff --git a/Models/Instruments/Upper-ECAM/res/iae-eis2.svg b/Models/Instruments/Upper-ECAM/res/iae-eis2.svg
index 2428f0d2..d4fccf2a 100644
--- a/Models/Instruments/Upper-ECAM/res/iae-eis2.svg
+++ b/Models/Instruments/Upper-ECAM/res/iae-eis2.svg
@@ -41,9 +41,9 @@
inkscape:window-height="1030"
id="namedview371"
showgrid="false"
- inkscape:zoom="1.5311059"
- inkscape:cx="247.80484"
- inkscape:cy="355.57872"
+ inkscape:zoom="2.1653108"
+ inkscape:cx="335.98162"
+ inkscape:cy="267.27567"
inkscape:window-x="1592"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@@ -1961,4 +1961,260 @@
sodipodi:role="line">. . .
+
+ LDG
+
+ LDG GEAR
+ SIGNS
+ CABIN READY
+ SPLRS
+ FLAPS
+
+ DN
+ . . . . . .
+
+
+ ON
+ . . . . . . . . . .
+
+
+ ARM
+ . . . . . . . . .
+
+
+ FULL
+ . . . . . . . .
+
+
+ 3
+ . . . . . . . . . . . .
+
+
diff --git a/Nasal/ECAM.nas b/Nasal/ECAM.nas
index 59f6b9d3..2accbd0e 100644
--- a/Nasal/ECAM.nas
+++ b/Nasal/ECAM.nas
@@ -16,6 +16,7 @@ var ECAM = {
setprop("/ECAM/engine-start-time-switch", 0);
setprop("/ECAM/to-memo-enable", 1);
setprop("/ECAM/to-config", 0);
+ setprop("/ECAM/ldg-memo-enable", 0);
var stateL = getprop("/engines/engine[0]/state");
var stateR = getprop("/engines/engine[1]/state");
var thrustL = getprop("/systems/thrust/state1");
@@ -52,7 +53,7 @@ var ECAM = {
thrustR = getprop("/systems/thrust/state2");
elec = getprop("/systems/electrical/on");
speed = getprop("/velocities/airspeed-kt");
- wow = getprop("/gear/gear[1]/wow");
+ wow = getprop("/gear/gear[0]/wow");
if (stateL == 3 and stateR == 3 and wow == 1) {
if (getprop("/ECAM/engine-start-time-switch") != 1) {
@@ -71,8 +72,18 @@ var ECAM = {
setprop("/ECAM/to-memo-enable", 1);
}
+ if (getprop("/position/gear-agl-ft") <= 2000 and (getprop("/FMGC/status/phase") == 3 or getprop("/FMGC/status/phase") == 4 or getprop("/FMGC/status/phase") == 5) and wow == 0) {
+ setprop("/ECAM/ldg-memo-enable", 1);
+ } else if (getprop("/ECAM/left-msg") == "LDG-MEMO" and getprop("/instrumentation/airspeed-indicator/indicated-speed-kt") <= 80 and wow == 1) {
+ setprop("/ECAM/ldg-memo-enable", 0);
+ } else if (getprop("/ECAM/left-msg") != "LDG-MEMO") {
+ setprop("/ECAM/ldg-memo-enable", 0);
+ }
+
if (getprop("/FMGC/status/phase") == 0 and stateL == 3 and stateR == 3 and getprop("/ECAM/engine-start-time") + 120 < getprop("/sim/time/elapsed-sec") and getprop("/ECAM/to-memo-enable") == 1 and wow == 1) {
setprop("/ECAM/left-msg", "TO-MEMO");
+ } else if (getprop("/ECAM/ldg-memo-enable") == 1) {
+ setprop("/ECAM/left-msg", "LDG-MEMO");
} else {
setprop("/ECAM/left-msg", "NONE");
}
@@ -87,7 +98,7 @@ var ECAM = {
toConfig: func() {
stateL = getprop("/engines/engine[0]/state");
stateR = getprop("/engines/engine[1]/state");
- wow = getprop("/gear/gear[1]/wow");
+ wow = getprop("/gear/gear[0]/wow");
if (wow == 1 and stateL == 3 and stateR == 3 and getprop("/ECAM/left-msg") != "TO-MEMO") {
setprop("/ECAM/to-memo-enable", 1);
diff --git a/Nasal/FMGC.nas b/Nasal/FMGC.nas
index 60c3b99e..aedd1f7e 100644
--- a/Nasal/FMGC.nas
+++ b/Nasal/FMGC.nas
@@ -216,13 +216,13 @@ var masterFMGC = maketimer(0.2, func {
setprop("/gear/gear[0]/wow-fmgc", getprop("/gear/gear[0]/wow"));
}
- if ((n1_left < 70 or n1_right < 70 or gs < 90) and mode == " " and gear0 == 1 and phase == 1) {
+ if ((n1_left < 70 or n1_right < 70) and gs < 90 and mode == " " and gear0 == 1 and phase == 1) {
setprop("/FMGC/status/phase", "0");
setprop("/systems/pressurization/mode", "GN");
}
- if (((n1_left >= 70 and n1_right >= 70) or gs >= 90) and (state1 == "TOGA" or state2 == "TOGA") or (flx == 1 and (state1 == "MCT" or state2 == "MCT")) or (flx == 1 and ((state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83)))
- and gear0 == 1 and phase == 0) {
+ if (gear0 == 1 and phase == 0 and ((n1_left >= 70 and n1_right >= 70) or gs >= 90) and (state1 == "TOGA" or state2 == "TOGA") or (flx == 1 and (state1 == "MCT" or state2 == "MCT")) or (flx == 1 and ((state1 == "MAN THR" and thr1 >= 0.83) or
+ (state2 == "MAN THR" and thr2 >= 0.83)))) {
setprop("/FMGC/status/phase", "1");
setprop("/systems/pressurization/mode", "TO");
}
diff --git a/revision.txt b/revision.txt
index 853f0a3d..8724ff3e 100644
--- a/revision.txt
+++ b/revision.txt
@@ -1 +1 @@
-4301
\ No newline at end of file
+4302
\ No newline at end of file