From 7e6b073707af0c4f623a2e8113153b80f2947826 Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Fri, 1 Dec 2017 18:19:15 -0500 Subject: [PATCH] A3XX: Rework reverse system, add MREV FADEC mode --- Models/Instruments/Upper-ECAM/Upper-ECAM.nas | 30 +++-- Nasal/engines-common.nas | 24 ++-- Nasal/fadec-common.nas | 6 +- Systems/fadec-cfm.xml | 56 ++++++---- Systems/fadec-iae.xml | 94 +++++++++------- Systems/libraries.xml | 112 ++++++------------- revision.txt | 2 +- 7 files changed, 164 insertions(+), 160 deletions(-) diff --git a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas index f0698406..10076c13 100644 --- a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas +++ b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas @@ -461,20 +461,24 @@ var canvas_upperECAM_cfm_eis2 = { if (getprop("/systems/fadec/powered1") == 1 or getprop("/systems/fadec/powered2") == 1) { me["N1Lim-mode"].show(); - me["N1Lim"].show(); - me["N1Lim-decpnt"].show(); - me["N1Lim-decimal"].show(); - me["N1Lim-percent"].show(); me["N1Lim-XX"].hide(); me["N1Lim-XX2"].hide(); } else { me["N1Lim-mode"].hide(); + me["N1Lim-XX"].show(); + me["N1Lim-XX2"].show(); + } + + if ((getprop("/systems/fadec/powered1") == 1 or getprop("/systems/fadec/powered2") == 1) and getprop("/controls/engines/thrust-limit") != "MREV") { + me["N1Lim"].show(); + me["N1Lim-decpnt"].show(); + me["N1Lim-decimal"].show(); + me["N1Lim-percent"].show(); + } else { me["N1Lim"].hide(); me["N1Lim-decpnt"].hide(); me["N1Lim-decimal"].hide(); me["N1Lim-percent"].hide(); - me["N1Lim-XX"].show(); - me["N1Lim-XX2"].show(); } me.updateBase(); @@ -748,18 +752,22 @@ var canvas_upperECAM_iae_eis2 = { if (getprop("/systems/fadec/powered1") == 1 or getprop("/systems/fadec/powered2") == 1) { me["EPRLim-mode"].show(); - me["EPRLim"].show(); - me["EPRLim-decpnt"].show(); - me["EPRLim-decimal"].show(); me["EPRLim-XX"].hide(); me["EPRLim-XX2"].hide(); } else { me["EPRLim-mode"].hide(); + me["EPRLim-XX"].show(); + me["EPRLim-XX2"].show(); + } + + if ((getprop("/systems/fadec/powered1") == 1 or getprop("/systems/fadec/powered2") == 1) and getprop("/controls/engines/thrust-limit") != "MREV") { + me["EPRLim"].show(); + me["EPRLim-decpnt"].show(); + me["EPRLim-decimal"].show(); + } else { me["EPRLim"].hide(); me["EPRLim-decpnt"].hide(); me["EPRLim-decimal"].hide(); - me["EPRLim-XX"].show(); - me["EPRLim-XX2"].show(); } me.updateBase(); diff --git a/Nasal/engines-common.nas b/Nasal/engines-common.nas index abb0ca6b..f1d2bae3 100644 --- a/Nasal/engines-common.nas +++ b/Nasal/engines-common.nas @@ -84,8 +84,8 @@ var toggleFastRevThrust = func { interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4); setprop("/controls/engines/engine[0]/reverser", 1); setprop("/controls/engines/engine[1]/reverser", 1); - setprop("/controls/engines/engine[0]/throttle-rev", 0.4); - setprop("/controls/engines/engine[1]/throttle-rev", 0.4); + setprop("/controls/engines/engine[0]/throttle-rev", 0.65); + setprop("/controls/engines/engine[1]/throttle-rev", 0.65); setprop("/fdm/jsbsim/propulsion/engine[0]/reverser-angle-rad", 3.14); setprop("/fdm/jsbsim/propulsion/engine[1]/reverser-angle-rad", 3.14); } else if ((getprop("/controls/engines/engine[0]/reverser") == "1") or (getprop("/controls/engines/engine[1]/reverser") == "1") and (getprop("/gear/gear[1]/wow") == 1) and (getprop("/gear/gear[2]/wow") == 1)) { @@ -104,18 +104,18 @@ var doRevThrust = func { if (getprop("/controls/engines/engine[0]/reverser") == "1" and getprop("/controls/engines/engine[1]/reverser") == "1" and getprop("/gear/gear[1]/wow") == 1 and getprop("/gear/gear[2]/wow") == 1) { var pos1 = getprop("/controls/engines/engine[0]/throttle-rev"); var pos2 = getprop("/controls/engines/engine[1]/throttle-rev"); - if (pos1 < 0.4) { - setprop("/controls/engines/engine[0]/throttle-rev", pos1 + 0.133333333); + if (pos1 < 0.65) { + setprop("/controls/engines/engine[0]/throttle-rev", pos1 + 0.15); } - if (pos2 < 0.4) { - setprop("/controls/engines/engine[1]/throttle-rev", pos2 + 0.133333333); + if (pos2 < 0.65) { + setprop("/controls/engines/engine[1]/throttle-rev", pos2 + 0.15); } } var state1 = getprop("/systems/thrust/state1"); var state2 = getprop("/systems/thrust/state2"); if (state1 == "IDLE" and state2 == "IDLE" and getprop("/controls/engines/engine[0]/reverser") == "0" and getprop("/controls/engines/engine[1]/reverser") == "0" and getprop("/gear/gear[1]/wow") == 1 and getprop("/gear/gear[2]/wow") == 1) { - setprop("/controls/engines/engine[0]/throttle-rev", 0); - setprop("/controls/engines/engine[1]/throttle-rev", 0); + setprop("/controls/engines/engine[0]/throttle-rev", 0.05); + setprop("/controls/engines/engine[1]/throttle-rev", 0.05); interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4); interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4); setprop("/controls/engines/engine[0]/reverser", 1); @@ -129,13 +129,13 @@ var unRevThrust = func { if (getprop("/controls/engines/engine[0]/reverser") == "1" or getprop("/controls/engines/engine[1]/reverser") == "1") { var pos1 = getprop("/controls/engines/engine[0]/throttle-rev"); var pos2 = getprop("/controls/engines/engine[1]/throttle-rev"); - if (pos1 > 0.0) { - setprop("/controls/engines/engine[0]/throttle-rev", pos1 - 0.133333333); + if (pos1 > 0.05) { + setprop("/controls/engines/engine[0]/throttle-rev", pos1 - 0.15); } else { unRevThrust_b(); } - if (pos2 > 0.0) { - setprop("/controls/engines/engine[1]/throttle-rev", pos2 - 0.133333333); + if (pos2 > 0.05) { + setprop("/controls/engines/engine[1]/throttle-rev", pos2 - 0.15); } else { unRevThrust_b(); } diff --git a/Nasal/fadec-common.nas b/Nasal/fadec-common.nas index 7954efeb..cbab9e7f 100644 --- a/Nasal/fadec-common.nas +++ b/Nasal/fadec-common.nas @@ -216,7 +216,11 @@ var thrust_lim = func { } else if (getprop("/FMGC/internal/flex-set") == 0 and engstate1 != 3 and engstate2 != 3) { setprop("/systems/thrust/lim-flex", 0); } - if (getprop("/gear/gear[1]/wow") == 0 or getprop("/gear/gear[2]/wow") == 0 or (engstate1 != 3 and engstate2 != 3)) { + if (getprop("/controls/engines/engine[0]/reverser") == "1" or getprop("/controls/engines/engine[1]/reverser") == "1") { + setprop("/controls/engines/thrust-limit", "MREV"); + setprop("/controls/engines/epr-limit", 1.000); + setprop("/controls/engines/n1-limit", 0.0); + } else if (getprop("/gear/gear[1]/wow") == 0 or getprop("/gear/gear[2]/wow") == 0 or (engstate1 != 3 and engstate2 != 3)) { if ((state1 == "TOGA" or state2 == "TOGA" or (state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83)) or getprop("/systems/thrust/alpha-floor") == 1 or getprop("/systems/thrust/toga-lk") == 1) { setprop("/controls/engines/thrust-limit", "TOGA"); setprop("/controls/engines/epr-limit", eprtoga); diff --git a/Systems/fadec-cfm.xml b/Systems/fadec-cfm.xml index 696d0885..856ba3ae 100644 --- a/Systems/fadec-cfm.xml +++ b/Systems/fadec-cfm.xml @@ -14,7 +14,7 @@ OAT Thrust Scale gain - 1 + 1.0 0.05 @@ -32,7 +32,7 @@ FLX Thrust Scale gain - 1 + 1.0 0.05 @@ -50,7 +50,7 @@ IDLE Limit gain - 1 + 1.0 0.05 @@ -89,7 +89,7 @@ MAN One gain - 1 + 1.0 0.05 @@ -111,7 +111,7 @@ MAN Two gain - 1 + 1.0 0.05 @@ -133,7 +133,7 @@ MAN CMD One gain - 1 + 1.0 0.05 @@ -158,7 +158,7 @@ MAN CMD Two gain - 1 + 1.0 0.05 @@ -183,7 +183,7 @@ N1 CMD 1 gain - 1 + 1.0 0.05 @@ -224,7 +224,7 @@ N1 CMD 2 gain - 1 + 1.0 0.05 @@ -266,7 +266,7 @@ Throttle 1 false gain - 1 + 1.0 @@ -360,7 +360,7 @@ Throttle 2 false gain - 1 + 1.0 @@ -453,7 +453,7 @@ N1 Limit TOGA gain - 1 + 1.0 0.05 @@ -473,7 +473,7 @@ N1 Limit MCT gain - 1 + 1.0 0.05 @@ -493,7 +493,7 @@ N1 Limit FLX gain - 1 + 1.0 0.05 @@ -513,7 +513,7 @@ N1 Limit CLB gain - 1 + 1.0 0.05 @@ -533,7 +533,16 @@ Throttle Output One gain - 1 + 1.0 + + + + /controls/engines/engine[0]/reverser + 1 + + + /controls/engines/engine[0]/throttle-rev + @@ -572,7 +581,16 @@ Throttle Output Two gain - 1 + 1.0 + + + + /controls/engines/engine[1]/reverser + 1 + + + /controls/engines/engine[1]/throttle-rev + @@ -611,7 +629,7 @@ EGT L gain - 1 + 1.0 @@ -641,7 +659,7 @@ EGT R gain - 1 + 1.0 diff --git a/Systems/fadec-iae.xml b/Systems/fadec-iae.xml index deda5102..b68b0d17 100644 --- a/Systems/fadec-iae.xml +++ b/Systems/fadec-iae.xml @@ -14,7 +14,7 @@ OAT Thrust Scale gain - 1 + 1.0 0.05 @@ -32,7 +32,7 @@ FLX Thrust Scale gain - 1 + 1.0 0.05 @@ -50,7 +50,7 @@ IDLE Limit gain - 1 + 1.0 0.05 @@ -89,7 +89,7 @@ MAN One gain - 1 + 1.0 0.05 @@ -111,7 +111,7 @@ MAN Two gain - 1 + 1.0 0.05 @@ -133,7 +133,7 @@ MAN CMD One gain - 1 + 1.0 0.05 @@ -158,7 +158,7 @@ MAN CMD Two gain - 1 + 1.0 0.05 @@ -183,7 +183,7 @@ EPR Scale gain - 1 + 1.0 @@ -199,7 +199,7 @@ EPR Scale 2 gain - 1 + 1.0
@@ -217,7 +217,7 @@ EPR N1 Input Engine 1 gain - 1 + 1.0 @@ -236,7 +236,7 @@ EPR N1 Input Engine 2 gain - 1 + 1.0 @@ -255,7 +255,7 @@ EPR THR Input Engine 1 gain - 1 + 1.0 @@ -282,7 +282,7 @@ EPR THR Input Engine 2 gain - 1 + 1.0 @@ -309,7 +309,7 @@ EPR THR Input Flex gain - 1 + 1.0 @@ -344,7 +344,7 @@ EPR 1 gain - 1 + 1.0
@@ -362,7 +362,7 @@ EPR 1 gain - 1 + 1.0 @@ -377,7 +377,7 @@ EPR CMD 1 gain - 1 + 1.0 0.05 @@ -417,7 +417,7 @@ EPR CMD 1 gain - 1 + 1.0 0.05 @@ -433,7 +433,7 @@ EPR 2 gain - 1 + 1.0
@@ -451,7 +451,7 @@ EPR 2 gain - 1 + 1.0 @@ -466,7 +466,7 @@ EPR CMD 2 gain - 1 + 1.0 0.05 @@ -506,7 +506,7 @@ EPR CMD 2 gain - 1 + 1.0 0.05 @@ -522,7 +522,7 @@ N1 CMD 1 gain - 1 + 1.0 0.05 @@ -563,7 +563,7 @@ N1 CMD 2 gain - 1 + 1.0 0.05 @@ -605,7 +605,7 @@ Throttle 1 false gain - 1 + 1.0 @@ -699,7 +699,7 @@ Throttle 2 false gain - 1 + 1.0 @@ -792,7 +792,7 @@ EPR Limit TOGA gain - 1 + 1.0 0.05 @@ -831,7 +831,7 @@ EPR CMD TOGA gain - 1 + 1.0 0.05 @@ -847,7 +847,7 @@ EPR Limit MCT gain - 1 + 1.0 0.05 @@ -886,7 +886,7 @@ EPR CMD MCT gain - 1 + 1.0 0.05 @@ -902,7 +902,7 @@ EPR Limit FLX gain - 1 + 1.0 0.05 @@ -941,7 +941,7 @@ EPR CMD FLX gain - 1 + 1.0 0.05 @@ -957,7 +957,7 @@ EPR Limit CLB gain - 1 + 1.0 0.05 @@ -996,7 +996,7 @@ EPR CMD CLB gain - 1 + 1.0 0.05 @@ -1012,7 +1012,16 @@ Throttle Output One gain - 1 + 1.0 + + + + /controls/engines/engine[0]/reverser + 1 + + + /controls/engines/engine[0]/throttle-rev + @@ -1051,7 +1060,16 @@ Throttle Output Two gain - 1 + 1.0 + + + + /controls/engines/engine[1]/reverser + 1 + + + /controls/engines/engine[1]/throttle-rev + @@ -1090,7 +1108,7 @@ EGT L gain - 1 + 1.0 @@ -1120,7 +1138,7 @@ EGT R gain - 1 + 1.0 diff --git a/Systems/libraries.xml b/Systems/libraries.xml index fce5fe59..6e817033 100644 --- a/Systems/libraries.xml +++ b/Systems/libraries.xml @@ -11,7 +11,7 @@ Gear AGL Altitude FT gain - 1 + 1.0 0.05 @@ -29,7 +29,7 @@ Gear AGL Altitude M gain - 1 + 1.0 0.05 @@ -56,7 +56,7 @@ Rudder Trim gain - 1 + 1.0 0.05 @@ -74,7 +74,7 @@ FF 1 gain - 1 + 1.0 0.05 @@ -92,7 +92,7 @@ FF 2 gain - 1 + 1.0 0.05 @@ -110,7 +110,7 @@ OIL PSI 1 gain - 1 + 1.0 0.05 @@ -127,7 +127,7 @@ OIL PSI 2 gain - 1 + 1.0 0.05 @@ -144,7 +144,7 @@ Altitude PFD gain - 1 + 1.0 0.05 @@ -184,7 +184,7 @@ Throttle L gain - 1 + 1.0 @@ -203,13 +203,16 @@ 0 - /controls/engines/engine[0]/throttle-lever + + /controls/engines/engine[0]/throttle-lever + /controls/engines/engine[0]/throttle-pos + Throttle R gain - 1 + 1.0 @@ -228,63 +231,16 @@ 0 - /controls/engines/engine[1]/throttle-lever - - - - Throttle L - gain - 1 - - - - /controls/engines/engine[0]/reverser - 0 - - - /controls/engines/engine[0]/throttle - - - - - /controls/engines/engine[0]/reverser - 1 - - - /controls/engines/engine[0]/throttle-rev - - /controls/engines/engine[0]/throttle-pos - - - - Throttle R - gain - 1 - - - - /controls/engines/engine[1]/reverser - 0 - - - /controls/engines/engine[1]/throttle - - - - - /controls/engines/engine[1]/reverser - 1 - - - /controls/engines/engine[1]/throttle-rev - - /controls/engines/engine[1]/throttle-pos + + /controls/engines/engine[1]/throttle-lever + /controls/engines/engine[1]/throttle-pos + Target Pressurize Altitude CMD gain - 1 + 1.0 0.1 @@ -306,7 +262,7 @@ Target Pressurize Altitude gain - 1 + 1.0 0.1 @@ -338,7 +294,7 @@ Cabin PSI target gain - 1 + 1.0 0.1 @@ -364,7 +320,7 @@ VS-target gain - 1 + 1.0 0.1 @@ -390,7 +346,7 @@ Ambient PSI (ICAO std) gain - 1 + 1.0 0.1 @@ -450,7 +406,7 @@ Outflow logic gain - 1 + 1.0 0.1 @@ -506,7 +462,7 @@ VS-target-cmd gain - 1 + 1.0 0.05 @@ -532,7 +488,7 @@ VS-target-cmd-man gain - 1 + 1.0 0.05 @@ -550,7 +506,7 @@ VS-target gain - 1 + 1.0 0.1 @@ -576,7 +532,7 @@ Icing Severity gain - 1 + 1.0 0.1 @@ -597,7 +553,7 @@ TAS gain - 1 + 1.0 @@ -612,7 +568,7 @@ LBtoKG gain - 1 + 1.0 0.05 @@ -626,7 +582,7 @@ optalt gain - 1 + 1.0 0.05 @@ -658,7 +614,7 @@ Ambient Temp (ICAO std) gain - 1 + 1.0 0.1 @@ -708,7 +664,7 @@ Difference to ISA Temp (Actual - ISA) gain - 1 + 1.0 0.1 @@ -722,7 +678,7 @@ Rudder Limit gain - 1 + 1.0 0.05 diff --git a/revision.txt b/revision.txt index 5b83e45f..cc3c8d57 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -4051 \ No newline at end of file +4052 \ No newline at end of file