A3XX: FADEC: when engine fails, A/THR can used up to MCT detent

This commit is contained in:
Joshua Davidson 2017-12-08 13:43:19 -05:00
parent 47847b77d6
commit 1717f0475b
7 changed files with 701 additions and 51 deletions

View file

@ -210,7 +210,7 @@ var canvas_PFD_base = {
wow2 = getprop("/gear/gear[2]/wow"); wow2 = getprop("/gear/gear[2]/wow");
# FMA MAN TOGA MCT FLX THR # FMA MAN TOGA MCT FLX THR
if (athr == 1 and (state1 == "TOGA" or state1 == "MCT" or state1 == "MAN THR" or state2 == "TOGA" or state2 == "MCT" or state2 == "MAN THR")) { if (athr == 1 and (state1 == "TOGA" or state1 == "MCT" or state1 == "MAN THR" or state2 == "TOGA" or state2 == "MCT" or state2 == "MAN THR") and getprop("/systems/thrust/eng-out") != 1) {
me["FMA_man"].show(); me["FMA_man"].show();
me["FMA_manmode"].show(); me["FMA_manmode"].show();
if (state1 == "TOGA" or state2 == "TOGA") { if (state1 == "TOGA" or state2 == "TOGA") {
@ -245,6 +245,30 @@ var canvas_PFD_base = {
me["FMA_manmode"].setText("THR"); me["FMA_manmode"].setText("THR");
me["FMA_man_box"].setColor(0.7333,0.3803,0); me["FMA_man_box"].setColor(0.7333,0.3803,0);
} }
} else if (athr == 1 and (state1 == "TOGA" or (state1 == "MCT" and getprop("/controls/engines/thrust-limit") == "FLX") or (state1 == "MAN THR" and thr1 >= 0.83) or state2 == "TOGA" or (state2 == "MCT" and
getprop("/controls/engines/thrust-limit") == "FLX") or (state2 == "MAN THR" and thr2 >= 0.83)) and getprop("/systems/thrust/eng-out") == 1) {
me["FMA_man"].show();
me["FMA_manmode"].show();
if (state1 == "TOGA" or state2 == "TOGA") {
me["FMA_flx_box"].hide();
me["FMA_flxtemp"].hide();
me["FMA_man_box"].show();
me["FMA_manmode"].setText("TOGA");
me["FMA_man_box"].setColor(0.8078,0.8039,0.8078);
} else if ((state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83)) {
me["FMA_flx_box"].hide();
me["FMA_flxtemp"].hide();
me["FMA_man_box"].show();
me["FMA_manmode"].setText("THR");
me["FMA_man_box"].setColor(0.7333,0.3803,0);
} else if ((state1 == "MCT" or state2 == "MCT") and getprop("/controls/engines/thrust-limit") == "FLX") {
me["FMA_flxtemp"].setText(sprintf("%s", "+" ~ getprop("/FMGC/internal/flex")));
me["FMA_man_box"].hide();
me["FMA_flx_box"].show();
me["FMA_flxtemp"].show();
me["FMA_manmode"].setText("FLX ");
me["FMA_man_box"].setColor(0.8078,0.8039,0.8078);
}
} else { } else {
me["FMA_man"].hide(); me["FMA_man"].hide();
me["FMA_manmode"].hide(); me["FMA_manmode"].hide();
@ -253,6 +277,12 @@ var canvas_PFD_base = {
me["FMA_flxtemp"].hide(); me["FMA_flxtemp"].hide();
} }
if (getprop("/systems/thrust/eng-out") == 1) {
me["FMA_lvrclb"].setText("LVR MCT");
} else {
me["FMA_lvrclb"].setText("LVR CLB");
}
if (athr == 1 and getprop("/systems/thrust/lvrclb") == 1) { if (athr == 1 and getprop("/systems/thrust/lvrclb") == 1) {
me["FMA_lvrclb"].show(); me["FMA_lvrclb"].show();
} else { } else {
@ -260,7 +290,15 @@ var canvas_PFD_base = {
} }
# FMA A/THR # FMA A/THR
if (athr == 1 and ((state1 == "MAN" or state1 == "CL") and (state2 == "MAN" or state2 == "CL"))) { if (athr == 1 and getprop("/systems/thrust/eng-out") != 1 and (state1 == "MAN" or state1 == "CL") and (state2 == "MAN" or state2 == "CL")) {
me["FMA_thrust"].show();
if (getprop("/modes/pfd/fma/throttle-mode-box") == 1 and throttle_mode != " ") {
me["FMA_thrust_box"].show();
} else {
me["FMA_thrust_box"].hide();
}
} else if (athr == 1 and getprop("/systems/thrust/eng-out") == 1 and (state1 == "MAN" or state1 == "CL" or (state1 == "MAN THR" and thr1 < 0.83) or (state1 == "MCT" and getprop("/controls/engines/thrust-limit") != "FLX")) and
(state2 == "MAN" or state2 == "CL" or (state2 == "MAN THR" and thr2 < 0.83) or (state2 == "MCT" and getprop("/controls/engines/thrust-limit") != "FLX"))) {
me["FMA_thrust"].show(); me["FMA_thrust"].show();
if (getprop("/modes/pfd/fma/throttle-mode-box") == 1 and throttle_mode != " ") { if (getprop("/modes/pfd/fma/throttle-mode-box") == 1 and throttle_mode != " ") {
me["FMA_thrust_box"].show(); me["FMA_thrust_box"].show();
@ -390,7 +428,7 @@ var canvas_PFD_base = {
me["FMA_fd"].setText(sprintf("%s", getprop("/modes/pfd/fma/fd-mode"))); me["FMA_fd"].setText(sprintf("%s", getprop("/modes/pfd/fma/fd-mode")));
me["FMA_athr"].setText(sprintf("%s", getprop("/modes/pfd/fma/at-mode"))); me["FMA_athr"].setText(sprintf("%s", getprop("/modes/pfd/fma/at-mode")));
if ((state1 == "MAN" or state1 == "CL") and (state2 == "MAN" or state2 == "CL")) { if (getprop("/modes/pfd/fma/athr-armed") != 1) {
me["FMA_athr"].setColor(0.8078,0.8039,0.8078); me["FMA_athr"].setColor(0.8078,0.8039,0.8078);
} else { } else {
me["FMA_athr"].setColor(0.0862,0.5176,0.6470); me["FMA_athr"].setColor(0.0862,0.5176,0.6470);

View file

@ -46,17 +46,23 @@ var loopFMA = maketimer(0.05, func {
var state1 = getprop("/systems/thrust/state1"); var state1 = getprop("/systems/thrust/state1");
var state2 = getprop("/systems/thrust/state2"); var state2 = getprop("/systems/thrust/state2");
var newthr = getprop("/modes/pfd/fma/throttle-mode"); var newthr = getprop("/modes/pfd/fma/throttle-mode");
var thr1 = getprop("/controls/engines/engine[0]/throttle-pos");
var thr2 = getprop("/controls/engines/engine[1]/throttle-pos");
if (state1 == "TOGA" or state2 == "TOGA") { if (state1 == "TOGA" or state2 == "TOGA") {
if (newthr != " ") { if (newthr != " ") {
setprop("/modes/pfd/fma/throttle-mode", " "); setprop("/modes/pfd/fma/throttle-mode", " ");
} }
} else if (state1 == "MCT" or state2 == "MCT") { } else if ((state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83)) {
if (newthr != " ") {
setprop("/modes/pfd/fma/throttle-mode", " ");
}
} else if ((state1 == "MCT" or state2 == "MCT") and getprop("/systems/thrust/eng-out") != 1) {
if (newthr != " ") { if (newthr != " ") {
setprop("/modes/pfd/fma/throttle-mode", " "); setprop("/modes/pfd/fma/throttle-mode", " ");
} }
} else if (state1 == "MAN THR" or state2 == "MAN THR") { } else if (((state1 == "MAN THR" and thr1 < 0.83) or (state2 == "MAN THR" and thr2 < 0.83)) and getprop("/systems/thrust/eng-out") != 1) {
if (newthr != " ") { if (newthr != " ") {
setprop("/modes/pfd/fma/throttle-mode", " "); setprop("/modes/pfd/fma/throttle-mode", " ");
} }
} else { } else {
if ((getprop("/it-autoflight/output/vert") == 4) or (getprop("/it-autoflight/output/vert") == 6) or (getprop("/it-autoflight/output/vert") == 7) or (getprop("/it-autoflight/output/vert") == 8)) { if ((getprop("/it-autoflight/output/vert") == 4) or (getprop("/it-autoflight/output/vert") == 6) or (getprop("/it-autoflight/output/vert") == 7) or (getprop("/it-autoflight/output/vert") == 8)) {
@ -71,7 +77,11 @@ var loopFMA = maketimer(0.05, func {
setprop("/modes/pfd/fma/throttle-mode", "THR IDLE"); setprop("/modes/pfd/fma/throttle-mode", "THR IDLE");
} }
} else if (thr == 2) { } else if (thr == 2) {
if (state1 == "CL" or state2 == "CL") { if (state1 == "MCT" or state2 == "MCT" and getprop("/systems/thrust/eng-out") == 1) {
if (newthr != "THR MCT") {
setprop("/modes/pfd/fma/throttle-mode", "THR MCT");
}
} else if (state1 == "CL" or state2 == "CL") {
if (newthr != "THR CLB") { if (newthr != "THR CLB") {
setprop("/modes/pfd/fma/throttle-mode", "THR CLB"); setprop("/modes/pfd/fma/throttle-mode", "THR CLB");
} }
@ -88,7 +98,12 @@ var loopFMA = maketimer(0.05, func {
} }
# A/THR Armed/Active # A/THR Armed/Active
if (getprop("/it-autoflight/output/athr") == 1 and (state1 == "MAN THR" or state2 == "MAN THR" or state1 == "MCT" or state2 == "MCT" or state1 == "TOGA" or state2 == "TOGA")) { if (getprop("/it-autoflight/output/athr") == 1 and (state1 == "MAN THR" or state2 == "MAN THR" or state1 == "MCT" or state2 == "MCT" or state1 == "TOGA" or state2 == "TOGA") and getprop("/systems/thrust/eng-out") != 1) {
if (getprop("/modes/pfd/fma/athr-armed") != 1) {
setprop("/modes/pfd/fma/athr-armed", 1);
}
} else if (getprop("/it-autoflight/output/athr") == 1 and ((state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83) or (state1 == "MCT" and getprop("/controls/engines/thrust-limit") == "FLX") or
(state2 == "MCT" and getprop("/controls/engines/thrust-limit") == "FLX") or state1 == "TOGA" or state2 == "TOGA") and getprop("/systems/thrust/eng-out") == 1) {
if (getprop("/modes/pfd/fma/athr-armed") != 1) { if (getprop("/modes/pfd/fma/athr-armed") != 1) {
setprop("/modes/pfd/fma/athr-armed", 1); setprop("/modes/pfd/fma/athr-armed", 1);
} }
@ -612,8 +627,13 @@ setlistener("/modes/pfd/fma/athr-armed", func {
setlistener("/modes/pfd/fma/throttle-mode", func { setlistener("/modes/pfd/fma/throttle-mode", func {
var state1 = getprop("/systems/thrust/state1"); var state1 = getprop("/systems/thrust/state1");
var state2 = getprop("/systems/thrust/state2"); var state2 = getprop("/systems/thrust/state2");
if (getprop("/it-autoflight/output/athr") == 1 and state1 != "MCT" and state2 != "MCT" and state1 != "MAN THR" and state2 != "MAN THR" and state1 != "TOGA" and state2 != "TOGA" and state1 != "IDLE" and state2 != "IDLE") { if (getprop("/it-autoflight/output/athr") == 1 and state1 != "MCT" and state2 != "MCT" and state1 != "MAN THR" and state2 != "MAN THR" and state1 != "TOGA" and state2 != "TOGA" and state1 != "IDLE" and state2 != "IDLE" and
getprop("/systems/thrust/eng-out") != 1) {
setprop("/modes/pfd/fma/throttle-mode-time", getprop("/sim/time/elapsed-sec")); setprop("/modes/pfd/fma/throttle-mode-time", getprop("/sim/time/elapsed-sec"));
} else if (getprop("/it-autoflight/output/athr") == 1 and state1 != "TOGA" and state2 != "TOGA" and state1 != "IDLE" and state2 != "IDLE" and getprop("/systems/thrust/eng-out") == 1) {
if (getprop("/controls/engines/engine[0]/throttle-pos") < 0.83 and getprop("/controls/engines/engine[1]/throttle-pos") < 0.83) {
setprop("/modes/pfd/fma/throttle-mode-time", getprop("/sim/time/elapsed-sec"));
}
} }
}); });

View file

@ -28,6 +28,7 @@ setprop("/systems/thrust/mct-lim", 0.0);
setprop("/systems/thrust/clb-lim", 0.0); setprop("/systems/thrust/clb-lim", 0.0);
setprop("/systems/thrust/lim-flex", 0); setprop("/systems/thrust/lim-flex", 0);
setprop("/engines/flex-derate", 0); setprop("/engines/flex-derate", 0);
setprop("/systems/thrust/eng-out", 0);
setlistener("/sim/signals/fdm-initialized", func { setlistener("/sim/signals/fdm-initialized", func {
var thr1 = getprop("/controls/engines/engine[0]/throttle-pos"); var thr1 = getprop("/controls/engines/engine[0]/throttle-pos");
@ -70,13 +71,15 @@ setlistener("/controls/engines/engine[0]/throttle-pos", func {
setprop("/systems/thrust/state1", "MAN THR"); setprop("/systems/thrust/state1", "MAN THR");
unflex(); unflex();
} else if (thr1 >= 0.78 and thr1 < 0.83) { } else if (thr1 >= 0.78 and thr1 < 0.83) {
if (getprop("/controls/engines/thrust-limit") == "FLX") { if (getprop("/systems/thrust/eng-out") != 1) {
if (getprop("/gear/gear[0]/wow") == 1 and (engstate1 == 3 or engstate2 == 3)) { if (getprop("/controls/engines/thrust-limit") == "FLX") {
setprop("/it-autoflight/input/athr", 1); if (getprop("/gear/gear[0]/wow") == 1 and (engstate1 == 3 or engstate2 == 3)) {
setprop("/it-autoflight/input/athr", 1);
}
setprop("/controls/engines/engine[0]/throttle-fdm", 0.99);
} else {
setprop("/controls/engines/engine[0]/throttle-fdm", 0.95);
} }
setprop("/controls/engines/engine[0]/throttle-fdm", 0.99);
} else {
setprop("/controls/engines/engine[0]/throttle-fdm", 0.95);
} }
setprop("/systems/thrust/state1", "MCT"); setprop("/systems/thrust/state1", "MCT");
} else if (thr1 >= 0.83 and thr1 < 0.95) { } else if (thr1 >= 0.83 and thr1 < 0.95) {
@ -129,13 +132,15 @@ setlistener("/controls/engines/engine[1]/throttle-pos", func {
setprop("/systems/thrust/state2", "MAN THR"); setprop("/systems/thrust/state2", "MAN THR");
unflex(); unflex();
} else if (thr2 >= 0.78 and thr2 < 0.83) { } else if (thr2 >= 0.78 and thr2 < 0.83) {
if (getprop("/controls/engines/thrust-limit") == "FLX") { if (getprop("/systems/thrust/eng-out") != 1) {
if (getprop("/gear/gear[0]/wow") == 1 and (engstate1 == 3 or engstate2 == 3)) { if (getprop("/controls/engines/thrust-limit") == "FLX") {
setprop("/it-autoflight/input/athr", 1); if (getprop("/gear/gear[0]/wow") == 1 and (engstate1 == 3 or engstate2 == 3)) {
setprop("/it-autoflight/input/athr", 1);
}
setprop("/controls/engines/engine[1]/throttle-fdm", 0.99);
} else {
setprop("/controls/engines/engine[1]/throttle-fdm", 0.95);
} }
setprop("/controls/engines/engine[1]/throttle-fdm", 0.99);
} else {
setprop("/controls/engines/engine[1]/throttle-fdm", 0.95);
} }
setprop("/systems/thrust/state2", "MCT"); setprop("/systems/thrust/state2", "MCT");
} else if (thr2 >= 0.83 and thr2 < 0.95) { } else if (thr2 >= 0.83 and thr2 < 0.95) {
@ -187,14 +192,6 @@ var atoff_request = func {
} }
} }
setlistener("/systems/thrust/state1", func {
thrust_lim();
});
setlistener("/systems/thrust/state2", func {
thrust_lim();
});
var thrust_lim = func { var thrust_lim = func {
state1 = getprop("/systems/thrust/state1"); state1 = getprop("/systems/thrust/state1");
state2 = getprop("/systems/thrust/state2"); state2 = getprop("/systems/thrust/state2");
@ -266,7 +263,18 @@ var unflex = func {
var thrust_loop = func { var thrust_loop = func {
state1 = getprop("/systems/thrust/state1"); state1 = getprop("/systems/thrust/state1");
state2 = getprop("/systems/thrust/state2"); state2 = getprop("/systems/thrust/state2");
if ((state1 == "CL") and (state2 == "CL")) {
thrust_lim();
if (getprop("/gear/gear[1]/wow") == 0 and getprop("/gear/gear[2]/wow") == 0 and (getprop("/engines/engine[0]/state") != 3 or getprop("/engines/engine[1]/state") != 3)) {
setprop("/systems/thrust/eng-out", 1);
} else {
setprop("/systems/thrust/eng-out", 0);
}
if (state1 == "CL" and state2 == "CL" and getprop("/systems/thrust/eng-out") != 1) {
setprop("/systems/thrust/lvrclb", "0");
} else if (state1 == "MCT" and state2 == "MCT" and getprop("/systems/thrust/lim-flex") != 1 and getprop("/systems/thrust/eng-out") == 1) {
setprop("/systems/thrust/lvrclb", "0"); setprop("/systems/thrust/lvrclb", "0");
} else { } else {
var status = getprop("/systems/thrust/lvrclb"); var status = getprop("/systems/thrust/lvrclb");

View file

@ -279,6 +279,20 @@
<value>0</value> <value>0</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>MAN THR</value> <value>MAN THR</value>
@ -302,16 +316,60 @@
<input> <input>
<condition> <condition>
<or> <or>
<equals> <and>
<property>/systems/thrust/state1</property> <equals>
<value>MAN THR</value> <property>/systems/thrust/eng-out</property>
</equals> <value>0</value>
</equals>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<greater-than-equals>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</greater-than-equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and> <and>
<equals> <equals>
<property>/it-autoflight/output/athr</property> <property>/it-autoflight/output/athr</property>
<value>0</value> <value>0</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>CL</value> <value>CL</value>
@ -338,6 +396,34 @@
<value>1</value> <value>1</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>CL</value> <value>CL</value>
@ -373,6 +459,20 @@
<value>0</value> <value>0</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state2</property> <property>/systems/thrust/state2</property>
<value>MAN THR</value> <value>MAN THR</value>
@ -396,16 +496,60 @@
<input> <input>
<condition> <condition>
<or> <or>
<equals> <and>
<property>/systems/thrust/state2</property> <equals>
<value>MAN THR</value> <property>/systems/thrust/eng-out</property>
</equals> <value>0</value>
</equals>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<greater-than-equals>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</greater-than-equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
<and> <and>
<equals> <equals>
<property>/it-autoflight/output/athr</property> <property>/it-autoflight/output/athr</property>
<value>0</value> <value>0</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state2</property> <property>/systems/thrust/state2</property>
<value>CL</value> <value>CL</value>
@ -432,6 +576,34 @@
<value>1</value> <value>1</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state2</property> <property>/systems/thrust/state2</property>
<value>CL</value> <value>CL</value>

View file

@ -618,6 +618,20 @@
<value>0</value> <value>0</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>MAN THR</value> <value>MAN THR</value>
@ -641,16 +655,60 @@
<input> <input>
<condition> <condition>
<or> <or>
<equals> <and>
<property>/systems/thrust/state1</property> <equals>
<value>MAN THR</value> <property>/systems/thrust/eng-out</property>
</equals> <value>0</value>
</equals>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<greater-than-equals>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</greater-than-equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and> <and>
<equals> <equals>
<property>/it-autoflight/output/athr</property> <property>/it-autoflight/output/athr</property>
<value>0</value> <value>0</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>CL</value> <value>CL</value>
@ -677,6 +735,34 @@
<value>1</value> <value>1</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>CL</value> <value>CL</value>
@ -712,6 +798,20 @@
<value>0</value> <value>0</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state2</property> <property>/systems/thrust/state2</property>
<value>MAN THR</value> <value>MAN THR</value>
@ -735,16 +835,60 @@
<input> <input>
<condition> <condition>
<or> <or>
<equals> <and>
<property>/systems/thrust/state2</property> <equals>
<value>MAN THR</value> <property>/systems/thrust/eng-out</property>
</equals> <value>0</value>
</equals>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<greater-than-equals>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</greater-than-equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
<and> <and>
<equals> <equals>
<property>/it-autoflight/output/athr</property> <property>/it-autoflight/output/athr</property>
<value>0</value> <value>0</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state2</property> <property>/systems/thrust/state2</property>
<value>CL</value> <value>CL</value>
@ -771,6 +915,34 @@
<value>1</value> <value>1</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
<equals> <equals>
<property>/systems/thrust/state2</property> <property>/systems/thrust/state2</property>
<value>CL</value> <value>CL</value>

View file

@ -192,6 +192,54 @@
</equals> </equals>
</or> </or>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</or>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<or>
<and>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
</or>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>MAN</value> <value>MAN</value>
@ -276,6 +324,54 @@
</equals> </equals>
</or> </or>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</or>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<or>
<and>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
</or>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>MAN</value> <value>MAN</value>
@ -358,6 +454,54 @@
<value>1</value> <value>1</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</or>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<or>
<and>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
</or>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>MAN</value> <value>MAN</value>
@ -430,6 +574,54 @@
<value>2</value> <value>2</value>
</equals> </equals>
<or> <or>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</or>
</and>
<and>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<or>
<and>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
</or>
</and>
<equals> <equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>MAN</value> <value>MAN</value>
@ -471,6 +663,54 @@
<value>0</value> <value>0</value>
</equals> </equals>
<and> <and>
<not>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<equals>
<property>/systems/thrust/lim-flex</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</or>
</not>
<not>
<equals>
<property>/systems/thrust/eng-out</property>
<value>1</value>
</equals>
<or>
<and>
<less-than>
<property>/controls/engines/engine[0]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</and>
<and>
<less-than>
<property>/controls/engines/engine[1]/throttle-pos</property>
<value>0.83</value>
</less-than>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</and>
</or>
</not>
<not-equals> <not-equals>
<property>/systems/thrust/state1</property> <property>/systems/thrust/state1</property>
<value>MAN</value> <value>MAN</value>

View file

@ -1 +1 @@
4062 4063