From 991b7afb5fb0d7b8893d6d3dd47b7d09e339f8f6 Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Sun, 4 Jun 2017 09:45:37 -0400 Subject: [PATCH 1/2] Fix missing A321-CFM Upper Ecam, Thanks JMav16 --- A321-200-CFM-set.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/A321-200-CFM-set.xml b/A321-200-CFM-set.xml index 7ce6a1eb..2470069d 100644 --- a/A321-200-CFM-set.xml +++ b/A321-200-CFM-set.xml @@ -103,6 +103,11 @@ + + 0 + CFM + + 0 From 0e4ac2ae7f94fcf12dea786c747a96cd528335cf Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Sun, 4 Jun 2017 16:05:27 -0400 Subject: [PATCH 2/2] A3XX: Managed Speed in DES, General fixes Allowed Managed Speed to work in DES mode, but it will not DECEL the plane, so be aware. Also fixed a few bugs with Managed Speed, and the FMGC --- Models/Instruments/PFD/res/spd-tape.png | Bin 34811 -> 34845 bytes Models/Liveries/A321/CFM/USAirways.xml | 2 +- Nasal/FMGC.nas | 100 +++++++++++++++++------- Nasal/MCDU/MCDU1.nas | 6 +- Nasal/MCDU/MCDU2.nas | 6 +- Systems/fmgc-c.xml | 16 ++-- 6 files changed, 87 insertions(+), 43 deletions(-) diff --git a/Models/Instruments/PFD/res/spd-tape.png b/Models/Instruments/PFD/res/spd-tape.png index 920d9b52c371ba5d68dda409e499d28fcf2a5128..f60c7f927e583ab7bd39b6b558b54ae144d86f34 100644 GIT binary patch delta 14410 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 delta 14323 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 - 1 + 0 0 diff --git a/Nasal/FMGC.nas b/Nasal/FMGC.nas index 5e109d6c..ba4020b6 100644 --- a/Nasal/FMGC.nas +++ b/Nasal/FMGC.nas @@ -6,6 +6,7 @@ ################## setprop("/FMGC/internal/overspeed", 338); +setprop("/FMGC/internal/minspeed", 204); setprop("/position/gear-agl-ft", 0); setprop("/FMGC/internal/mng-spd", 157); setprop("/FMGC/internal/mng-spd-cmd", 157); @@ -16,7 +17,7 @@ setprop("/it-autoflight/internal/vert-speed-fpm", 0); var FMGCinit = func { setprop("/FMGC/status/to-state", 0); - setprop("/FMGC/status/phase", "0"); # 0 is preflight 1 takeoff 2 climb 3 cruise 4 descent 5 approach 6 go around 7 done + setprop("/FMGC/status/phase", "0"); # 0 is Preflight 1 is Takeoff 2 is Climb 3 is Cruise 4 is Descent 5 is Decel/Approach 6 is Go Around 7 is Done setprop("/FMGC/internal/tropo", 36090); setprop("/FMGC/internal/overspeed", 338); setprop("/FMGC/internal/mng-spd", 157); @@ -24,6 +25,7 @@ var FMGCinit = func { setprop("/FMGC/internal/mng-kts-mach", 0); setprop("/FMGC/internal/mach-switchover", 0); setprop("/it-autoflight/settings/reduc-agl-ft", 3000); + setprop("/FMGC/internal/decel", 0); phasecheck.start(); various.start(); } @@ -80,6 +82,7 @@ var phasecheck = maketimer(0.2, func { var n1_left = getprop("/engines/engine[0]/n1"); var n1_right = getprop("/engines/engine[1]/n1"); var flaps = getprop("/controls/flight/flap-pos"); + var modelat = getprop("/modes/pfd/fma/roll-mode"); var mode = getprop("/modes/pfd/fma/pitch-mode"); var gs = getprop("/velocities/groundspeed-kt"); var alt = getprop("/instrumentation/altimeter/indicated-altitude-ft"); @@ -97,32 +100,41 @@ var phasecheck = maketimer(0.2, func { var targetfpa = getprop("/it-autoflight/input/fpa"); var vertmode = getprop("/modes/pfd/fma/pitch-mode"); var reduc_agl_ft = getprop("/it-autoflight/settings/reduc-agl-ft"); + var locarm = getprop("/it-autopilot/output/loc-armed"); + var apprarm = getprop("/it-autopilot/output/appr-armed"); + if ((((n1_left >= 85) and (n1_right >= 85)) or (gs > 90 )) and flaps < 4 and (mode == "SRS")) { setprop("/FMGC/status/phase", "1"); setprop("/systems/pressurization/mode", "TO"); } + if ((aglalt >= reduc_agl_ft) and (alt <= cruiseft) and (phase == "1") and (phase != "4") and (mode != "SRS")) { setprop("/FMGC/status/phase", "2"); } + if (alt >= cruiseft_b and phase == "2" and (mode == "ALT" or mode == "ALT CRZ")) { setprop("/FMGC/status/phase", "3"); setprop("/systems/pressurization/mode", "CR"); } + if (alt <= cruiseft and (mode == "DES" or mode == "OP DES") and phase == "3") { setprop("/FMGC/status/phase", "4"); setprop("/systems/pressurization/mode", "DE"); } - if (getprop("/FMGC/status/to-state") == 0 and flaps >= 4 and ((phase == "4") or (phase == "2"))) { # add man activation of approach phase in MCDU or DECEL when those things are simulated + + if (getprop("/FMGC/status/to-state") == 0 and flaps >= 3 and ((phase == "2") or (phase == "4"))) { setprop("/FMGC/status/phase", "5"); } - if ((phase == "5") and (state1 == "TOGA") and (state2 == "TOGA")) { # this is the only fully correct one to FCOM + + if ((phase == "5") and (state1 == "TOGA") and (state2 == "TOGA")) { setprop("/FMGC/status/phase", "6"); setprop("/it-autoflight/input/toga", 1); } - # forget transition from APP to climb for now because it would be too complex + if ((phase == "6") and ((vertmode == "G/A CLB") or (vertmode == "SPD CLB") or (vertmode == "CLB") or ((vertmode == "V/S") and (targetvs > 0)) or ((vertmode == "FPA") and (targetfpa > 0))) and (alt <= targetalt)) { - setprop("/FMGC/status/phase", "2"); # going to CLIMB mode from GA + setprop("/FMGC/status/phase", "2"); } + if ((wowl and wowr) and (gs < 20) and (phase == "5")) { setprop("/FMGC/status/phase", "7"); var fd1 = getprop("/it-autoflight/input/fd1"); @@ -135,6 +147,27 @@ var phasecheck = maketimer(0.2, func { setprop("/it-autoflight/input/fd2", fd2); press_init(); } + + var flap = getprop("/controls/flight/flap-pos"); + if (flap == 0) { + setprop("/FMGC/internal/overspeed", 338); + setprop("/FMGC/internal/minspeed", 204); + } else if (flap == 1) { + setprop("/FMGC/internal/overspeed", 216); + setprop("/FMGC/internal/minspeed", 188); + } else if (flap == 2) { + setprop("/FMGC/internal/overspeed", 207); + setprop("/FMGC/internal/minspeed", 171); + } else if (flap == 3) { + setprop("/FMGC/internal/overspeed", 189); + setprop("/FMGC/internal/minspeed", 159); + } else if (flap == 4) { + setprop("/FMGC/internal/overspeed", 174); + setprop("/FMGC/internal/minspeed", 146); + } else if (flap == 5) { + setprop("/FMGC/internal/overspeed", 163); + setprop("/FMGC/internal/minspeed", 136); + } }); var various = maketimer(1, func { @@ -145,21 +178,6 @@ var various = maketimer(1, func { } else { setprop("/it-autoflight/settings/reduc-agl-ft", getprop("/FMGC/internal/reduc-agl-ft")); } - - var flap = getprop("/controls/flight/flap-pos"); - if (flap == 0) { - setprop("/FMGC/internal/overspeed", 338); - } else if (flap == 1) { - setprop("/FMGC/internal/overspeed", 216); - } else if (flap == 2) { - setprop("/FMGC/internal/overspeed", 207); - } else if (flap == 3) { - setprop("/FMGC/internal/overspeed", 189); - } else if (flap == 4) { - setprop("/FMGC/internal/overspeed", 174); - } else if (flap == 5) { - setprop("/FMGC/internal/overspeed", 163); - } }); ################# @@ -171,6 +189,7 @@ var ManagedSPD = maketimer(0.25, func { if (getprop("/it-autoflight/input/spd-managed") == 1) { var alt = getprop("/instrumentation/altimeter/indicated-altitude-ft"); var mode = getprop("/modes/pfd/fma/pitch-mode"); + var ias = getprop("/instrumentation/airspeed-indicator/indicated-speed-kt"); var mach = getprop("/instrumentation/airspeed-indicator/indicated-mach"); var ktsmach = getprop("/it-autoflight/input/kts-mach"); var mngktsmach = getprop("/FMGC/internal/mng-kts-mach"); @@ -179,10 +198,12 @@ var ManagedSPD = maketimer(0.25, func { var kts_sel = getprop("/it-autoflight/input/spd-kts"); var mach_sel = getprop("/it-autoflight/input/spd-mach"); var srsSPD = getprop("/it-autoflight/settings/togaspd"); - var phase = getprop("/FMGC/status/phase"); # 0 is preflight 1 takeoff 2 climb 3 cruise 4 descent 5 approach 6 go around 7 done + var phase = getprop("/FMGC/status/phase"); # 0 is Preflight 1 is Takeoff 2 is Climb 3 is Cruise 4 is Descent 5 is Decel/Approach 6 is Go Around 7 is Done var flap = getprop("/controls/flight/flap-pos"); var overspeed = getprop("/FMGC/internal/overspeed"); + var minspeed = getprop("/FMGC/internal/minspeed"); var mach_switchover = getprop("/FMGC/internal/mach-switchover"); + var decel = getprop("/FMGC/internal/decel"); var mng_alt_spd_cmd = getprop("/FMGC/internal/mng-alt-spd"); var mng_alt_spd = math.round(mng_alt_spd_cmd, 1); @@ -190,6 +211,14 @@ var ManagedSPD = maketimer(0.25, func { var mng_alt_mach_cmd = getprop("/FMGC/internal/mng-alt-mach"); var mng_alt_mach = math.round(mng_alt_mach_cmd, 0.001); + if (mach > mng_alt_mach and phase == 2) { + setprop("/FMGC/internal/mach-switchover", 1); + } + + if (ias > mng_alt_spd and (phase == 4 or phase == 5)) { + setprop("/FMGC/internal/mach-switchover", 0); + } + if (mode == "SRS" and phase == 0 or phase == 1) { if (mngktsmach) { setprop("/FMGC/internal/mng-kts-mach", 0); @@ -218,8 +247,29 @@ var ManagedSPD = maketimer(0.25, func { if (mng_spd_cmd != mng_alt_mach) { setprop("/FMGC/internal/mng-spd-cmd", mng_alt_mach); } - } else if (phase == 4 or phase == 5 or phase == 6 or phase == 7) { - libraries.mcpSPDKnbPull(); + } else if (phase == 4 and alt > 11100 and !mach_switchover) { + if (mngktsmach) { + setprop("/FMGC/internal/mng-kts-mach", 0); + } + if (mng_spd_cmd != mng_alt_spd) { + setprop("/FMGC/internal/mng-spd-cmd", mng_alt_spd); + } + } else if (phase == 4 and alt > 11100 and mach_switchover) { + if (!mngktsmach) { + setprop("/FMGC/internal/mng-kts-mach", 1); + } + if (mng_spd_cmd != mng_alt_mach) { + setprop("/FMGC/internal/mng-spd-cmd", mng_alt_mach); + } + } else if ((phase == 4 or phase == 5 or phase == 6) and alt <= 11050) { + if (mngktsmach) { + setprop("/FMGC/internal/mng-kts-mach", 0); + } + if (mng_spd_cmd != 250 and !decel) { + setprop("/FMGC/internal/mng-spd-cmd", 250); + } else if (mng_spd_cmd != minspeed and decel) { + setprop("/FMGC/internal/mng-spd-cmd", minspeed); + } } var mng_spd_cmd = getprop("/FMGC/internal/mng-spd-cmd"); @@ -243,10 +293,6 @@ var ManagedSPD = maketimer(0.25, func { } else if (mach_sel != mng_spd and ktsmach) { setprop("/it-autoflight/input/spd-mach", mng_spd); } - - if (mach >= mng_alt_mach and phase == 2) { - setprop("/FMGC/internal/mach-switchover", 1); - } } else { ManagedSPD.stop(); } diff --git a/Nasal/MCDU/MCDU1.nas b/Nasal/MCDU/MCDU1.nas index 3769b281..e2c92040 100644 --- a/Nasal/MCDU/MCDU1.nas +++ b/Nasal/MCDU/MCDU1.nas @@ -10,7 +10,7 @@ var MCDU_init = func { var MCDU_reset = func { setprop("/it-autoflight/settings/togaspd", 157); setprop("/MCDU[0]/last-fmgc-page", "STATUS"); - setprop("/MCDU[0]/page", "STATUS"); + setprop("/MCDU[0]/page", "MCDU"); setprop("/MCDU[0]/scratchpad", ""); setprop("/MCDUC/flight-num", ""); setprop("/MCDUC/thracc-set", 0); @@ -46,6 +46,8 @@ var lskbutton = func(btn) { if (btn == "1") { if (getprop("/MCDU[0]/page") == "MCDU") { setprop("/MCDU[0]/page", getprop("/MCDU[0]/last-fmgc-page")); + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "GPS PRIMARY"); } else if (getprop("/MCDU[0]/page") == "TO") { PerfTOInput("L1"); } @@ -214,8 +216,6 @@ var initInputA = func(key) { setprop("/FMGC/internal/arr-arpt", fromto[1]); setprop("/FMGC/internal/tofrom-set", 1); fmgc.updateARPT(); - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "GPS PRIMARY"); } else { setprop("/MCDU[0]/scratchpad-msg", "1"); setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); diff --git a/Nasal/MCDU/MCDU2.nas b/Nasal/MCDU/MCDU2.nas index f4cb61b6..e6a88fa7 100644 --- a/Nasal/MCDU/MCDU2.nas +++ b/Nasal/MCDU/MCDU2.nas @@ -10,7 +10,7 @@ var MCDU_init = func { var MCDU_reset = func { setprop("/it-autoflight/settings/togaspd", 157); setprop("/MCDU[1]/last-fmgc-page", "STATUS"); - setprop("/MCDU[1]/page", "STATUS"); + setprop("/MCDU[1]/page", "MCDU"); setprop("/MCDU[1]/scratchpad", ""); setprop("/MCDUC/flight-num", ""); setprop("/MCDUC/thracc-set", 0); @@ -46,6 +46,8 @@ var lskbutton = func(btn) { if (btn == "1") { if (getprop("/MCDU[1]/page") == "MCDU") { setprop("/MCDU[1]/page", getprop("/MCDU[1]/last-fmgc-page")); + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "GPS PRIMARY"); } else if (getprop("/MCDU[1]/page") == "TO") { PerfTOInput("L1"); } @@ -214,8 +216,6 @@ var initInputA = func(key) { setprop("/FMGC/internal/arr-arpt", fromto[1]); setprop("/FMGC/internal/tofrom-set", 1); fmgc.updateARPT(); - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "GPS PRIMARY"); } else { setprop("/MCDU[1]/scratchpad-msg", "1"); setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); diff --git a/Systems/fmgc-c.xml b/Systems/fmgc-c.xml index dadd4c54..b590a98a 100644 --- a/Systems/fmgc-c.xml +++ b/Systems/fmgc-c.xml @@ -72,15 +72,13 @@ - - -
- /instrumentation/airspeed-indicator/indicated-speed-kt - /instrumentation/airspeed-indicator/indicated-mach -
- /it-autoflight/input/spd-mach -
-
+ +
+ /instrumentation/airspeed-indicator/indicated-speed-kt + /instrumentation/airspeed-indicator/indicated-mach +
+ /it-autoflight/input/spd-mach +
/FMGC/internal/target-ias-pfd