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