A32X: Major FADEC realism improvmenets

This commit is contained in:
Joshua Davidson 2017-10-15 14:11:27 -04:00
parent faebc008f6
commit 6a0fa16ed9
16 changed files with 169 additions and 165 deletions

View file

@ -608,18 +608,24 @@
<serviceable type="bool">true</serviceable>
</apu>
<engine n="0">
<egt-actual type="float">0</egt-actual>
<state type="int">0</state>
<egt-actual type="double">0</egt-actual>
<epr-actual type="double">1</epr-actual>
<n1-actual type="double">0</n1-actual>
<n2-actual type="double">0</n2-actual>
<on-fire type="bool">0</on-fire>
<reverser-pos-norm type="double">0</reverser-pos-norm>
<running type="bool">0</running>
<state type="int">0</state>
</engine>
<engine n="1">
<egt-actual type="float">0</egt-actual>
<state type="int">0</state>
<egt-actual type="double">0</egt-actual>
<epr-actual type="double">1</epr-actual>
<n1-actual type="double">0</n1-actual>
<n2-actual type="double">0</n2-actual>
<on-fire type="bool">0</on-fire>
<reverser-pos-norm type="double">0</reverser-pos-norm>
<running type="bool">0</running>
<state type="int">0</state>
</engine>
</engines>

View file

@ -195,11 +195,11 @@ var colddark = func {
setprop("/controls/flight/elevator-trim", 0);
systemsReset();
failReset();
if (getprop("/engines/engine[1]/n2") < 2) {
if (getprop("/engines/engine[1]/n2-actual") < 2) {
colddark_b();
} else {
var colddark_eng_off = setlistener("/engines/engine[1]/n2", func {
if (getprop("/engines/engine[1]/n2") < 2) {
var colddark_eng_off = setlistener("/engines/engine[1]/n2-actual", func {
if (getprop("/engines/engine[1]/n2-actual") < 2) {
removelistener(colddark_eng_off);
colddark_b();
}

View file

@ -10,10 +10,6 @@ var upperECAM_cfm_eis2 = nil;
var upperECAM_iae_eis1 = nil;
var upperECAM_iae_eis2 = nil;
var upperECAM_display = nil;
setprop("/engines/engine[0]/epr-actual", 1);
setprop("/engines/engine[1]/epr-actual", 1);
setprop("/engines/engine[0]/egt-actual", 0);
setprop("/engines/engine[1]/egt-actual", 0);
setprop("/engines/engine[0]/fuel-flow_actual", 0);
setprop("/engines/engine[1]/fuel-flow_actual", 0);
setprop("/ECAM/Upper/EPR[0]", 0);
@ -274,11 +270,11 @@ var canvas_upperECAM_cfm_eis1 = {
},
update: func() {
# N1
me["N11"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n1") + 0.05)));
me["N11-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n1") + 0.05,1))));
me["N11"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n1-actual") + 0.05)));
me["N11-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n1-actual") + 0.05,1))));
me["N12"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n1") + 0.05)));
me["N12-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n1") + 0.05,1))));
me["N12"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n1-actual") + 0.05)));
me["N12-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n1-actual") + 0.05,1))));
me["N11-needle"].setRotation((getprop("/ECAM/Upper/N1[0]") + 90)*D2R);
me["N11-thr"].setRotation((getprop("/ECAM/Upper/N1thr[0]") + 90)*D2R);
@ -384,10 +380,10 @@ var canvas_upperECAM_cfm_eis1 = {
}
# N2
me["N21"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n2") + 0.05)));
me["N21-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n2") + 0.05,1))));
me["N22"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n2") + 0.05)));
me["N22-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n2") + 0.05,1))));
me["N21"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n2-actual") + 0.05)));
me["N21-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n2-actual") + 0.05,1))));
me["N22"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n2-actual") + 0.05)));
me["N22-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n2-actual") + 0.05,1))));
if (getprop("/systems/fadec/eng1/n2") == 1) {
me["N21"].show();
@ -475,11 +471,11 @@ var canvas_upperECAM_cfm_eis2 = {
},
update: func() {
# N1
me["N11"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n1") + 0.05)));
me["N11-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n1") + 0.05,1))));
me["N11"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n1-actual") + 0.05)));
me["N11-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n1-actual") + 0.05,1))));
me["N12"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n1") + 0.05)));
me["N12-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n1") + 0.05,1))));
me["N12"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n1-actual") + 0.05)));
me["N12-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n1-actual") + 0.05,1))));
me["N11-needle"].setRotation((getprop("/ECAM/Upper/N1[0]") + 90)*D2R);
me["N11-thr"].setRotation((getprop("/ECAM/Upper/N1thr[0]") + 90)*D2R);
@ -601,10 +597,10 @@ var canvas_upperECAM_cfm_eis2 = {
}
# N2
me["N21"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n2") + 0.05)));
me["N21-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n2") + 0.05,1))));
me["N22"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n2") + 0.05)));
me["N22-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n2") + 0.05,1))));
me["N21"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n2-actual") + 0.05)));
me["N21-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n2-actual") + 0.05,1))));
me["N22"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n2-actual") + 0.05)));
me["N22-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n2-actual") + 0.05,1))));
if (getprop("/systems/fadec/eng1/n2") == 1) {
me["N21"].show();
@ -794,11 +790,11 @@ var canvas_upperECAM_iae_eis1 = {
}
# N1
me["N11"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n1") + 0.05)));
me["N11-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n1") + 0.05,1))));
me["N11"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n1-actual") + 0.05)));
me["N11-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n1-actual") + 0.05,1))));
me["N12"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n1") + 0.05)));
me["N12-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n1") + 0.05,1))));
me["N12"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n1-actual") + 0.05)));
me["N12-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n1-actual") + 0.05,1))));
me["N11-needle"].setRotation((getprop("/ECAM/Upper/N1[0]") + 90)*D2R);
me["N11-thr"].setRotation((getprop("/ECAM/Upper/N1thr[0]") + 90)*D2R);
@ -865,10 +861,10 @@ var canvas_upperECAM_iae_eis1 = {
}
# N2
me["N21"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n2") + 0.05)));
me["N21-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n2") + 0.05,1))));
me["N22"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n2") + 0.05)));
me["N22-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n2") + 0.05,1))));
me["N21"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n2-actual") + 0.05)));
me["N21-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n2-actual") + 0.05,1))));
me["N22"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n2-actual") + 0.05)));
me["N22-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n2-actual") + 0.05,1))));
if (getprop("/systems/fadec/eng1/n2") == 1) {
me["N21"].show();
@ -1055,11 +1051,11 @@ var canvas_upperECAM_iae_eis2 = {
}
# N1
me["N11"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n1") + 0.05)));
me["N11-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n1") + 0.05,1))));
me["N11"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n1-actual") + 0.05)));
me["N11-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n1-actual") + 0.05,1))));
me["N12"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n1") + 0.05)));
me["N12-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n1") + 0.05,1))));
me["N12"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n1-actual") + 0.05)));
me["N12-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n1-actual") + 0.05,1))));
me["N11-needle"].setRotation((getprop("/ECAM/Upper/N1[0]") + 90)*D2R);
me["N11-thr"].setRotation((getprop("/ECAM/Upper/N1thr[0]") + 90)*D2R);
@ -1126,10 +1122,10 @@ var canvas_upperECAM_iae_eis2 = {
}
# N2
me["N21"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n2") + 0.05)));
me["N21-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n2") + 0.05,1))));
me["N22"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n2") + 0.05)));
me["N22-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n2") + 0.05,1))));
me["N21"].setText(sprintf("%s", math.floor(getprop("/engines/engine[0]/n2-actual") + 0.05)));
me["N21-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[0]/n2-actual") + 0.05,1))));
me["N22"].setText(sprintf("%s", math.floor(getprop("/engines/engine[1]/n2-actual") + 0.05)));
me["N22-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/engines/engine[1]/n2-actual") + 0.05,1))));
if (getprop("/systems/fadec/eng1/n2") == 1) {
me["N21"].show();

View file

@ -39,8 +39,8 @@ setlistener("/sim/signals/fdm-initialized", func {
var flaps = getprop("/controls/flight/flap-pos");
var dep = getprop("/FMGC/internal/dep-arpt");
var arr = getprop("/FMGC/internal/arr-arpt");
var n1_left = getprop("/engines/engine[0]/n1");
var n1_right = getprop("/engines/engine[1]/n1");
var n1_left = getprop("/engines/engine[0]/n1-actual");
var n1_right = getprop("/engines/engine[1]/n1-actual");
var flaps = getprop("/controls/flight/flap-pos");
var modelat = getprop("/modes/pfd/fma/roll-mode");
var mode = getprop("/modes/pfd/fma/pitch-mode");
@ -178,8 +178,8 @@ setlistener("/FMGC/internal/cruise-ft", func {
############################
var phasecheck = maketimer(0.2, func {
n1_left = getprop("/engines/engine[0]/n1");
n1_right = getprop("/engines/engine[1]/n1");
n1_left = getprop("/engines/engine[0]/n1-actual");
n1_right = getprop("/engines/engine[1]/n1-actual");
flaps = getprop("/controls/flight/flap-pos");
modelat = getprop("/modes/pfd/fma/roll-mode");
mode = getprop("/modes/pfd/fma/pitch-mode");

View file

@ -222,7 +222,7 @@ var auto_start_one = func {
}
var eng_one_auto_start = func {
if (getprop("/engines/engine[0]/n2") >= 24.1) {
if (getprop("/engines/engine[0]/n2-actual") >= 24.1) {
eng_one_auto_startt.stop();
setprop("/engines/engine[0]/state", 2);
setprop("/controls/engines/engine[0]/cutoff", 0);
@ -241,7 +241,7 @@ var eng_one_auto_start = func {
}
var eng_one_man_start = func {
if (getprop("/engines/engine[0]/n2") >= 16.7) {
if (getprop("/engines/engine[0]/n2-actual") >= 16.7) {
eng_one_man_startt.stop();
setprop("/engines/engine[0]/state", 2);
setprop("/controls/engines/engine[0]/cutoff", 0);
@ -256,7 +256,7 @@ var eng_one_n2_check = func {
if (getprop("/engines/engine[0]/egt-actual") >= egt_start) {
interpolate(engines[0].getNode("egt-actual"), egt_min, egt_lightdn_time);
}
if (getprop("/engines/engine[0]/n2") >= 43.0) {
if (getprop("/engines/engine[0]/n2-actual") >= 43.0) {
eng_one_n2_checkt.stop();
setprop("/controls/engines/engine[0]/igniter-a", 0);
setprop("/controls/engines/engine[0]/igniter-b", 0);
@ -276,7 +276,7 @@ var auto_start_two = func {
}
var eng_two_auto_start = func {
if (getprop("/engines/engine[1]/n2") >= 24.1) {
if (getprop("/engines/engine[1]/n2-actual") >= 24.1) {
eng_two_auto_startt.stop();
setprop("/engines/engine[1]/state", 2);
setprop("/controls/engines/engine[1]/cutoff", 0);
@ -295,7 +295,7 @@ var eng_two_auto_start = func {
}
var eng_two_man_start = func {
if (getprop("/engines/engine[1]/n2") >= 16.7) {
if (getprop("/engines/engine[1]/n2-actual") >= 16.7) {
eng_two_man_startt.stop();
setprop("/engines/engine[1]/state", 2);
setprop("/controls/engines/engine[1]/cutoff", 0);
@ -310,7 +310,7 @@ var eng_two_n2_check = func {
if (getprop("/engines/engine[1]/egt-actual") >= egt_start) {
interpolate(engines[1].getNode("egt-actual"), egt_min, egt_lightdn_time);
}
if (getprop("/engines/engine[1]/n2") >= 43.0) {
if (getprop("/engines/engine[1]/n2-actual") >= 43.0) {
eng_two_n2_checkt.stop();
setprop("/controls/engines/engine[1]/igniter-a", 0);
setprop("/controls/engines/engine[1]/igniter-b", 0);

View file

@ -58,8 +58,8 @@ var fadecLoop = maketimer(0.7, func {
var powered1 = getprop("/systems/fadec/powered1");
var powered2 = getprop("/systems/fadec/powered2");
var N21 = getprop("/engines/engine[0]/n2");
var N22 = getprop("/engines/engine[1]/n2");
var N21 = getprop("/engines/engine[0]/n2-actual");
var N22 = getprop("/engines/engine[1]/n2-actual");
if (powered1) {
setprop("/systems/fadec/eng1/n1", 1);

View file

@ -66,10 +66,10 @@ var fadecLoop = maketimer(0.7, func {
var powered2 = getprop("/systems/fadec/powered2");
var N1Mode1 = getprop("/systems/fadec/n1mode1");
var N1Mode2 = getprop("/systems/fadec/n1mode2");
var N11 = getprop("/engines/engine[0]/n1");
var N12 = getprop("/engines/engine[1]/n1");
var N21 = getprop("/engines/engine[0]/n2");
var N22 = getprop("/engines/engine[1]/n2");
var N11 = getprop("/engines/engine[0]/n1-actual");
var N12 = getprop("/engines/engine[1]/n1-actual");
var N21 = getprop("/engines/engine[0]/n2-actual");
var N22 = getprop("/engines/engine[1]/n2-actual");
if (powered1 and N1Mode1 == 0) {
setprop("/systems/fadec/eng1/epr", 1);

View file

@ -15,7 +15,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.00</ind> <dep>0.00</dep></entry>
<entry><ind>0.05</ind> <dep>0.90</dep></entry>
<entry><ind>0.15</ind> <dep>0.50</dep></entry>
@ -37,7 +37,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.00</ind> <dep>0.50</dep></entry>
<entry><ind>0.05</ind> <dep>0.70</dep></entry>
<entry><ind>0.19</ind> <dep>1.50</dep></entry>
@ -58,7 +58,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.00</ind> <dep>0.00</dep></entry>
<entry><ind>0.05</ind> <dep>0.90</dep></entry>
<entry><ind>0.15</ind> <dep>0.50</dep></entry>
@ -80,7 +80,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.00</ind> <dep>0.50</dep></entry>
<entry><ind>0.05</ind> <dep>0.70</dep></entry>
<entry><ind>0.19</ind> <dep>1.50</dep></entry>
@ -125,7 +125,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.06</ind> <dep>0.00</dep></entry>
<entry><ind>0.19</ind> <dep>0.40</dep></entry>
<entry><ind>0.45</ind> <dep>0.15</dep></entry>
@ -146,7 +146,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.06</ind> <dep>0.00</dep></entry>
<entry><ind>0.19</ind> <dep>0.40</dep></entry>
<entry><ind>0.45</ind> <dep>0.15</dep></entry>
@ -167,7 +167,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.32</ind> <dep>0.00</dep></entry>
<entry><ind>0.65</ind> <dep>0.30</dep></entry>
<entry><ind>0.90</ind> <dep>0.25</dep></entry>
@ -188,7 +188,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.32</ind> <dep>0.00</dep></entry>
<entry><ind>0.65</ind> <dep>0.30</dep></entry>
<entry><ind>0.90</ind> <dep>0.25</dep></entry>
@ -209,7 +209,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.65</ind> <dep>0.00</dep></entry>
<entry><ind>0.70</ind> <dep>0.10</dep></entry>
<entry><ind>1.02</ind> <dep>0.80</dep></entry>
@ -229,7 +229,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.65</ind> <dep>0.00</dep></entry>
<entry><ind>0.70</ind> <dep>0.10</dep></entry>
<entry><ind>1.02</ind> <dep>0.80</dep></entry>
@ -275,7 +275,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.15</ind> <dep>0.50</dep></entry>
<entry><ind>0.19</ind> <dep>1.00</dep></entry>
<entry><ind>0.50</ind> <dep>1.30</dep></entry>
@ -295,7 +295,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.15</ind> <dep>0.50</dep></entry>
<entry><ind>0.19</ind> <dep>1.00</dep></entry>
<entry><ind>0.50</ind> <dep>1.30</dep></entry>
@ -315,7 +315,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.19</ind> <dep>0.70</dep></entry>
<entry><ind>0.99</ind> <dep>1.80</dep></entry>
</table>
@ -334,7 +334,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.19</ind> <dep>0.70</dep></entry>
<entry><ind>0.99</ind> <dep>1.80</dep></entry>
</table>
@ -353,7 +353,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.70</ind> <dep>0.80</dep></entry>
<entry><ind>1.02</ind> <dep>1.28</dep></entry>
</table>
@ -372,7 +372,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.70</ind> <dep>0.80</dep></entry>
<entry><ind>1.02</ind> <dep>1.28</dep></entry>
</table>

View file

@ -393,48 +393,26 @@
<!-- Engine 1 -->
<filter>
<name>Thrust Filter CMD 1</name>
<name>Thrust Filter 1</name>
<type>gain</type>
<gain>1</gain>
<input>/controls/engines/throttle-cmd-pid</input>
<output>/controls/engines/engine[0]/throttle-cmd-cmd</output>
<output>/controls/engines/engine[0]/throttle-cmd</output>
<max>
<property>/controls/engines/engine[0]/throttle-man</property>
</max>
</filter>
<filter>
<name>Thrust Filter 1</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
<input>/controls/engines/engine[0]/throttle-cmd-cmd</input>
<output>/controls/engines/engine[0]/throttle-cmd</output>
<type>noise-spike</type>
<max-rate-of-change>0.1</max-rate-of-change>
</filter>
<!-- Engine 2 -->
<filter>
<name>Thrust Filter CMD 2</name>
<name>Thrust Filter 2</name>
<type>gain</type>
<gain>1</gain>
<input>/controls/engines/throttle-cmd-pid</input>
<output>/controls/engines/engine[1]/throttle-cmd-cmd</output>
<output>/controls/engines/engine[1]/throttle-cmd</output>
<max>
<property>/controls/engines/engine[1]/throttle-man</property>
</max>
</filter>
<filter>
<name>Thrust Filter 2</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
<input>/controls/engines/engine[1]/throttle-cmd-cmd</input>
<output>/controls/engines/engine[1]/throttle-cmd</output>
<type>noise-spike</type>
<max-rate-of-change>0.1</max-rate-of-change>
</filter>
</PropertyList>

View file

@ -143,7 +143,7 @@
</table>
</expression>
</input>
<output>/engines/engine[0]/n1-cmd</output>
<output>/engines/engine[0]/n1-actual-cmd</output>
</filter>
<filter>
@ -184,7 +184,7 @@
</table>
</expression>
</input>
<output>/engines/engine[1]/n1-cmd</output>
<output>/engines/engine[1]/n1-actual-cmd</output>
</filter>
<filter>
@ -201,7 +201,7 @@
</table>
</expression>
</input>
<output>/engines/engine[0]/n1-athr-cmd</output>
<output>/engines/engine[0]/n1-actual-athr-cmd</output>
</filter>
<filter>
@ -218,7 +218,7 @@
</table>
</expression>
</input>
<output>/engines/engine[1]/n1-athr-cmd</output>
<output>/engines/engine[1]/n1-actual-athr-cmd</output>
</filter>
<filter>
@ -229,12 +229,12 @@
<input>
<expression>
<dif>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-athr-cmd</property>
<property>/engines/engine[0]/n1-actual</property>
<property>/engines/engine[0]/n1-actual-athr-cmd</property>
</dif>
</expression>
</input>
<output>/engines/engine[0]/n1-diff</output>
<output>/engines/engine[0]/n1-actual-diff</output>
</filter>
<filter>
@ -245,12 +245,12 @@
<input>
<expression>
<dif>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-athr-cmd</property>
<property>/engines/engine[1]/n1-actual</property>
<property>/engines/engine[1]/n1-actual-athr-cmd</property>
</dif>
</expression>
</input>
<output>/engines/engine[1]/n1-diff</output>
<output>/engines/engine[1]/n1-actual-diff</output>
</filter>
<filter>
@ -603,7 +603,7 @@
<value>3</value>
</equals>
<greater-than>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<value>19</value>
</greater-than>
</and>
@ -612,7 +612,7 @@
<input>
<expression>
<table>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 19.7</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>
@ -633,7 +633,7 @@
<value>3</value>
</equals>
<greater-than>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<value>19</value>
</greater-than>
</and>
@ -642,7 +642,7 @@
<input>
<expression>
<table>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 19.7</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>

View file

@ -144,7 +144,7 @@
<input>
<expression>
<table>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 18.0</ind><dep>0.00</dep></entry>
<entry><ind> 22.4</ind><dep>0.03</dep></entry>
<entry><ind>103.8</ind><dep>1.00</dep></entry>
@ -236,7 +236,7 @@
<input>
<expression>
<table>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 18.0</ind><dep>0.00</dep></entry>
<entry><ind> 22.4</ind><dep>0.03</dep></entry>
<entry><ind>103.8</ind><dep>1.00</dep></entry>
@ -459,7 +459,7 @@
</table>
</expression>
</input>
<output>/engines/engine[0]/n1-cmd</output>
<output>/engines/engine[0]/n1-actual-cmd</output>
</filter>
<filter>
@ -500,7 +500,7 @@
</table>
</expression>
</input>
<output>/engines/engine[1]/n1-cmd</output>
<output>/engines/engine[1]/n1-actual-cmd</output>
</filter>
<filter>
@ -921,7 +921,7 @@
<value>3</value>
</equals>
<greater-than>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<value>22</value>
</greater-than>
</and>
@ -930,7 +930,7 @@
<input>
<expression>
<table>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 22.4</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>
@ -951,7 +951,7 @@
<value>3</value>
</equals>
<greater-than>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<value>22</value>
</greater-than>
</and>
@ -960,7 +960,7 @@
<input>
<expression>
<table>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 22.4</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>

View file

@ -106,21 +106,45 @@
</channel>
<channel name="Throttle">
<channel name="FADEC">
<pure_gain name="fcs/throttle1">
<lag_filter name="fcs/throttle1">
<input>/controls/engines/engine[0]/throttle-output</input>
<gain>1</gain>
<c1>0.95</c1>
<output>fcs/throttle-cmd-norm</output>
<output>fcs/throttle-pos-norm</output>
</pure_gain>
</lag_filter>
<pure_gain name="fcs/throttle2">
<lag_filter name="fcs/throttle2">
<input>/controls/engines/engine[1]/throttle-output</input>
<gain>1</gain>
<c1>0.95</c1>
<output>fcs/throttle-cmd-norm[1]</output>
<output>fcs/throttle-pos-norm[1]</output>
</pure_gain>
</lag_filter>
<lag_filter name="fcs/n1-actual1">
<input>/engines/engine[0]/n1</input>
<c1>2.25</c1>
<output>/engines/engine[0]/n1-actual</output>
</lag_filter>
<lag_filter name="fcs/n1-actual2">
<input>/engines/engine[1]/n1</input>
<c1>2.25</c1>
<output>/engines/engine[1]/n1-actual</output>
</lag_filter>
<lag_filter name="fcs/n2-actual1">
<input>/engines/engine[0]/n2</input>
<c1>2.25</c1>
<output>/engines/engine[0]/n2-actual</output>
</lag_filter>
<lag_filter name="fcs/n2-actual2">
<input>/engines/engine[1]/n2</input>
<c1>2.25</c1>
<output>/engines/engine[1]/n2-actual</output>
</lag_filter>
</channel>

View file

@ -97,7 +97,7 @@
<input>
<expression>
<table>
<property>/engines/engine[0]/n2</property>
<property>/engines/engine[0]/n2-actual</property>
<entry><ind>11</ind><dep> 2</dep></entry>
<entry><ind>58</ind><dep>48</dep></entry>
</table>
@ -114,7 +114,7 @@
<input>
<expression>
<table>
<property>/engines/engine[1]/n2</property>
<property>/engines/engine[1]/n2-actual</property>
<entry><ind>11</ind><dep> 2</dep></entry>
<entry><ind>58</ind><dep>48</dep></entry>
</table>

View file

@ -450,7 +450,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 19.7</ind><dep>-116</dep></entry>
<entry><ind> 50.0</ind><dep> -45</dep></entry>
<entry><ind>100.0</ind><dep> 69</dep></entry>
@ -470,7 +470,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 19.7</ind><dep>-134</dep></entry>
<entry><ind> 50.0</ind><dep> -58</dep></entry>
<entry><ind>100.0</ind><dep> 42</dep></entry>
@ -490,7 +490,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 22.4</ind><dep>-111</dep></entry>
<entry><ind> 40.0</ind><dep> -67</dep></entry>
<entry><ind>100.0</ind><dep> 54</dep></entry>
@ -510,7 +510,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 22.4</ind><dep>-107</dep></entry>
<entry><ind> 40.0</ind><dep> -61</dep></entry>
<entry><ind>100.0</ind><dep> 65</dep></entry>
@ -537,7 +537,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[0]/n1-cmd</property>
<property>/engines/engine[0]/n1-actual-cmd</property>
<entry><ind> 19.7</ind><dep>-116</dep></entry>
<entry><ind> 50.0</ind><dep> -45</dep></entry>
<entry><ind>100.0</ind><dep> 69</dep></entry>
@ -557,7 +557,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[0]/n1-cmd</property>
<property>/engines/engine[0]/n1-actual-cmd</property>
<entry><ind> 19.7</ind><dep>-134</dep></entry>
<entry><ind> 50.0</ind><dep> -58</dep></entry>
<entry><ind>100.0</ind><dep> 42</dep></entry>
@ -577,7 +577,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[0]/n1-cmd</property>
<property>/engines/engine[0]/n1-actual-cmd</property>
<entry><ind> 22.4</ind><dep>-111</dep></entry>
<entry><ind> 40.0</ind><dep> -67</dep></entry>
<entry><ind>100.0</ind><dep> 54</dep></entry>
@ -597,7 +597,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[0]/n1-cmd</property>
<property>/engines/engine[0]/n1-actual-cmd</property>
<entry><ind> 22.4</ind><dep>-107</dep></entry>
<entry><ind> 40.0</ind><dep> -61</dep></entry>
<entry><ind>100.0</ind><dep> 65</dep></entry>
@ -624,7 +624,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 19.7</ind><dep>-116</dep></entry>
<entry><ind> 50.0</ind><dep> -45</dep></entry>
<entry><ind>100.0</ind><dep> 69</dep></entry>
@ -644,7 +644,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 19.7</ind><dep>-134</dep></entry>
<entry><ind> 50.0</ind><dep> -58</dep></entry>
<entry><ind>100.0</ind><dep> 42</dep></entry>
@ -664,7 +664,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 22.4</ind><dep>-111</dep></entry>
<entry><ind> 40.0</ind><dep> -67</dep></entry>
<entry><ind>100.0</ind><dep> 54</dep></entry>
@ -684,7 +684,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 22.4</ind><dep>-107</dep></entry>
<entry><ind> 40.0</ind><dep> -61</dep></entry>
<entry><ind>100.0</ind><dep> 65</dep></entry>
@ -711,7 +711,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[1]/n1-cmd</property>
<property>/engines/engine[1]/n1-actual-cmd</property>
<entry><ind> 19.7</ind><dep>-116</dep></entry>
<entry><ind> 50.0</ind><dep> -45</dep></entry>
<entry><ind>100.0</ind><dep> 69</dep></entry>
@ -731,7 +731,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[1]/n1-cmd</property>
<property>/engines/engine[1]/n1-actual-cmd</property>
<entry><ind> 19.7</ind><dep>-134</dep></entry>
<entry><ind> 50.0</ind><dep> -58</dep></entry>
<entry><ind>100.0</ind><dep> 42</dep></entry>
@ -751,7 +751,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[1]/n1-cmd</property>
<property>/engines/engine[1]/n1-actual-cmd</property>
<entry><ind> 22.4</ind><dep>-111</dep></entry>
<entry><ind> 40.0</ind><dep> -67</dep></entry>
<entry><ind>100.0</ind><dep> 54</dep></entry>
@ -771,7 +771,7 @@
</condition>
<expression>
<table>
<property>/engines/engine[1]/n1-cmd</property>
<property>/engines/engine[1]/n1-actual-cmd</property>
<entry><ind> 22.4</ind><dep>-107</dep></entry>
<entry><ind> 40.0</ind><dep> -61</dep></entry>
<entry><ind>100.0</ind><dep> 65</dep></entry>

View file

@ -15,7 +15,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.00</ind> <dep>0.00</dep></entry>
<entry><ind>0.05</ind> <dep>0.90</dep></entry>
<entry><ind>0.15</ind> <dep>0.50</dep></entry>
@ -37,7 +37,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.00</ind> <dep>0.50</dep></entry>
<entry><ind>0.05</ind> <dep>0.70</dep></entry>
<entry><ind>0.22</ind> <dep>1.50</dep></entry>
@ -58,7 +58,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.00</ind> <dep>0.00</dep></entry>
<entry><ind>0.05</ind> <dep>0.90</dep></entry>
<entry><ind>0.15</ind> <dep>0.50</dep></entry>
@ -80,7 +80,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.00</ind> <dep>0.50</dep></entry>
<entry><ind>0.05</ind> <dep>0.70</dep></entry>
<entry><ind>0.22</ind> <dep>1.50</dep></entry>
@ -125,7 +125,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.06</ind> <dep>0.00</dep></entry>
<entry><ind>0.22</ind> <dep>0.40</dep></entry>
<entry><ind>0.45</ind> <dep>0.15</dep></entry>
@ -146,7 +146,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.06</ind> <dep>0.00</dep></entry>
<entry><ind>0.22</ind> <dep>0.40</dep></entry>
<entry><ind>0.45</ind> <dep>0.15</dep></entry>
@ -167,7 +167,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.32</ind> <dep>0.00</dep></entry>
<entry><ind>0.65</ind> <dep>0.30</dep></entry>
<entry><ind>0.90</ind> <dep>0.25</dep></entry>
@ -188,7 +188,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.32</ind> <dep>0.00</dep></entry>
<entry><ind>0.65</ind> <dep>0.30</dep></entry>
<entry><ind>0.90</ind> <dep>0.25</dep></entry>
@ -209,7 +209,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.65</ind> <dep>0.00</dep></entry>
<entry><ind>0.70</ind> <dep>0.10</dep></entry>
<entry><ind>1.02</ind> <dep>0.80</dep></entry>
@ -229,7 +229,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.65</ind> <dep>0.00</dep></entry>
<entry><ind>0.70</ind> <dep>0.10</dep></entry>
<entry><ind>1.02</ind> <dep>0.80</dep></entry>
@ -275,7 +275,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.15</ind> <dep>0.50</dep></entry>
<entry><ind>0.22</ind> <dep>1.00</dep></entry>
<entry><ind>0.50</ind> <dep>1.30</dep></entry>
@ -295,7 +295,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.15</ind> <dep>0.50</dep></entry>
<entry><ind>0.22</ind> <dep>1.00</dep></entry>
<entry><ind>0.50</ind> <dep>1.30</dep></entry>
@ -315,7 +315,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.22</ind> <dep>0.70</dep></entry>
<entry><ind>0.99</ind> <dep>1.80</dep></entry>
</table>
@ -334,7 +334,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.22</ind> <dep>0.70</dep></entry>
<entry><ind>0.99</ind> <dep>1.80</dep></entry>
</table>
@ -353,7 +353,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[0]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.70</ind> <dep>0.80</dep></entry>
<entry><ind>1.02</ind> <dep>1.28</dep></entry>
</table>
@ -372,7 +372,7 @@
<expression>
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<product><property>/engines/engine[1]/n1-actual</property><value>0.01</value> </product>
<entry><ind>0.70</ind> <dep>0.80</dep></entry>
<entry><ind>1.02</ind> <dep>1.28</dep></entry>
</table>

View file

@ -1 +1 @@
2117
2118