Control: Tie fadec into the plane more and add eng 2 control
This commit is contained in:
parent
3532ff11a0
commit
c154cdc0ee
38 changed files with 983 additions and 1098 deletions
|
@ -203,9 +203,6 @@
|
|||
</view>
|
||||
|
||||
<systems n="0">
|
||||
<autopilot n="0">
|
||||
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
|
||||
</autopilot>
|
||||
<property-rule n="100">
|
||||
<path>Aircraft/A320-family/Systems/cfm56-sound.xml</path>
|
||||
</property-rule>
|
||||
|
|
|
@ -203,9 +203,6 @@
|
|||
</view>
|
||||
|
||||
<systems n="0">
|
||||
<autopilot n="0">
|
||||
<path>Aircraft/A320-family/Systems/fadec-iae.xml</path>
|
||||
</autopilot>
|
||||
<property-rule n="100">
|
||||
<path>Aircraft/A320-family/Systems/v2500-sound.xml</path>
|
||||
</property-rule>
|
||||
|
|
|
@ -224,35 +224,33 @@
|
|||
<electrical>
|
||||
<path></path>
|
||||
</electrical>
|
||||
<!-- 0 is FADEC -->
|
||||
<autopilot n="1">
|
||||
<autopilot n="0">
|
||||
<path>Aircraft/A320-family/Systems/fbw-pitch.xml</path>
|
||||
</autopilot>
|
||||
<autopilot n="2">
|
||||
<autopilot n="1">
|
||||
<path>Aircraft/A320-family/Systems/fmgc-drivers.xml</path>
|
||||
</autopilot>
|
||||
<autopilot n="3">
|
||||
<autopilot n="2">
|
||||
<path>Aircraft/A320-family/Systems/fmgc-roll-yaw.xml</path>
|
||||
</autopilot>
|
||||
<autopilot n="4">
|
||||
<autopilot n="3">
|
||||
<path>Aircraft/A320-family/Systems/fmgc-pitch.xml</path>
|
||||
</autopilot>
|
||||
<autopilot n="5">
|
||||
<autopilot n="4">
|
||||
<path>Aircraft/A320-family/Systems/fmgc-thrust.xml</path>
|
||||
</autopilot>
|
||||
<autopilot n="6">
|
||||
<autopilot n="5">
|
||||
<path>Aircraft/A320-family/Systems/libraries.xml</path>
|
||||
</autopilot>
|
||||
<autopilot n="7">
|
||||
<autopilot n="6">
|
||||
<path>Aircraft/A320-family/Systems/upper-ecam.xml</path>
|
||||
</autopilot>
|
||||
<autopilot n="8">
|
||||
<autopilot n="7">
|
||||
<path>Aircraft/A320-family/Systems/lower-ecam.xml</path>
|
||||
</autopilot>
|
||||
<autopilot n="9">
|
||||
<autopilot n="8">
|
||||
<path>Aircraft/A320-family/Systems/pfd.xml</path>
|
||||
</autopilot>
|
||||
<!-- 10 is sound -->
|
||||
<property-rule n="101">
|
||||
<path>Aircraft/A320-family/Systems/sound-common.xml</path>
|
||||
</property-rule>
|
||||
|
@ -702,6 +700,25 @@
|
|||
<y alias="/sim/model/autopush/force-y"/>
|
||||
</tractor>
|
||||
</external_reactions>
|
||||
<fadec n="0">
|
||||
<alpha-floor type="bool">0</alpha-floor>
|
||||
<clbreduc-ft type="double">1500</clbreduc-ft>
|
||||
<eng-out type="bool">0</eng-out>
|
||||
<limit n="0">
|
||||
<active-mode type="string">T/O</active-mode>
|
||||
<flex-active type="bool">0</flex-active>
|
||||
<flex-active-cmd type="bool">0</flex-active-cmd>
|
||||
<flex-temp type="int">30</flex-temp>
|
||||
</limit>
|
||||
<lvrclb type="bool">0</lvrclb>
|
||||
<toga-lk type="bool">0</toga-lk>
|
||||
<thr-locked type="bool">0</thr-locked>
|
||||
<thr-locked-alert type="bool">0</thr-locked-alert>
|
||||
<thr-lock-cmd n="0" type="double">0</thr-lock-cmd>
|
||||
<thr-lock-cmd n="1" type="double">0</thr-lock-cmd>
|
||||
<thr-locked-flash type="bool">0</thr-locked-flash>
|
||||
<thr-locked-time type="double">0</thr-locked-time>
|
||||
</fadec>
|
||||
<fbw n="0">
|
||||
<yaw n="0">
|
||||
<max-deg-switch type="double">25</max-deg-switch>
|
||||
|
@ -876,7 +893,8 @@
|
|||
<throttle-output type="double">0</throttle-output>
|
||||
<throttle-fdm type="double">0</throttle-fdm>
|
||||
<throttle-rev type="double">0</throttle-rev>
|
||||
<reverser type="double">0</reverser>
|
||||
<reverse-cmd type="bool">0</reverse-cmd>
|
||||
<reverse-lever type="double">0</reverse-lever>
|
||||
<igniter-a type="bool">0</igniter-a>
|
||||
<igniter-b type="bool">0</igniter-b>
|
||||
<last-igniter type="string">B</last-igniter>
|
||||
|
@ -894,7 +912,8 @@
|
|||
<throttle-output type="double">0</throttle-output>
|
||||
<throttle-fdm type="double">0</throttle-fdm>
|
||||
<throttle-rev type="double">0</throttle-rev>
|
||||
<reverser type="double">0</reverser>
|
||||
<reverse-cmd type="bool">0</reverse-cmd>
|
||||
<reverse-lever type="double">0</reverse-lever>
|
||||
<igniter-a type="bool">0</igniter-a>
|
||||
<igniter-b type="bool">0</igniter-b>
|
||||
<last-igniter type="string">B</last-igniter>
|
||||
|
@ -1584,23 +1603,6 @@
|
|||
<serviceable type="bool">1</serviceable>
|
||||
</static>
|
||||
|
||||
<thrust>
|
||||
<alpha-floor type="bool">0</alpha-floor>
|
||||
<clbreduc-ft type="double">1500</clbreduc-ft>
|
||||
<eng-out type="bool">0</eng-out>
|
||||
<lim-flex type="bool">0</lim-flex>
|
||||
<lvrclb type="bool">0</lvrclb>
|
||||
<state1 type="string">IDLE</state1>
|
||||
<state2 type="string">IDLE</state2>
|
||||
<toga-lk type="bool">0</toga-lk>
|
||||
<thr-locked type="bool">0</thr-locked>
|
||||
<thr-locked-alert type="bool">0</thr-locked-alert>
|
||||
<thr-lock-cmd n="0" type="double">0</thr-lock-cmd>
|
||||
<thr-lock-cmd n="1" type="double">0</thr-lock-cmd>
|
||||
<thr-locked-flash type="bool">0</thr-locked-flash>
|
||||
<thr-locked-time type="double">0</thr-locked-time>
|
||||
</thrust>
|
||||
|
||||
<navigation>
|
||||
<aligned-1 type="bool">0</aligned-1>
|
||||
<aligned-2 type="bool">0</aligned-2>
|
||||
|
@ -1980,7 +1982,7 @@
|
|||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
systems.doMCTThrust();
|
||||
systems.doMctThrust();
|
||||
</script>
|
||||
</binding>
|
||||
</key>
|
||||
|
@ -2877,7 +2879,7 @@
|
|||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
systems.doCLThrust();
|
||||
systems.doClThrust();
|
||||
</script>
|
||||
</binding>
|
||||
</key>
|
||||
|
@ -3713,7 +3715,7 @@
|
|||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
systems.doTOGAThrust();
|
||||
systems.doTogaThrust();
|
||||
</script>
|
||||
</binding>
|
||||
</key>
|
||||
|
@ -4683,7 +4685,8 @@
|
|||
<file>Aircraft/A320-family/Nasal/Systems/pneumatics.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/hydraulics.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/fuel.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/FADEC/engines-common.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/Engines/engines-common.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/fadec-common.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/ADIRS/ADR.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Panels/SwitchingPanel.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/Comm/HF.nas</file>
|
||||
|
@ -4701,9 +4704,6 @@
|
|||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-messages.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-phases.nas</file>
|
||||
</ecam>
|
||||
<fadec>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/FADEC/fadec-common.nas</file>
|
||||
</fadec>
|
||||
<fbw>
|
||||
<file>Aircraft/A320-family/Nasal/FBW/it-fbw.nas</file>
|
||||
</fbw>
|
||||
|
|
|
@ -203,9 +203,6 @@
|
|||
</view>
|
||||
|
||||
<systems n="0">
|
||||
<autopilot n="0">
|
||||
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
|
||||
</autopilot>
|
||||
<property-rule n="100">
|
||||
<path>Aircraft/A320-family/Systems/leapx-sound.xml</path>
|
||||
</property-rule>
|
||||
|
|
|
@ -203,9 +203,6 @@
|
|||
</view>
|
||||
|
||||
<systems n="0">
|
||||
<autopilot n="0"> <!-- Apparently PW PurePower uses N1, not EPR.... sooo I use CFM FADEC -->
|
||||
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
|
||||
</autopilot>
|
||||
<property-rule n="100">
|
||||
<path>Aircraft/A320-family/Systems/leapx-sound.xml</path>
|
||||
</property-rule>
|
||||
|
|
|
@ -543,6 +543,7 @@ var taxi_d = func {
|
|||
setprop("/controls/engines/engine-start-switch", 1);
|
||||
setprop("/controls/apu/master", 0);
|
||||
setprop("/controls/pneumatics/switches/apu", 0);
|
||||
setprop("/controls/gear/brake-parking", 0);
|
||||
setprop("/controls/gear/brake-left", 0);
|
||||
setprop("/controls/gear/brake-right", 0);
|
||||
setprop("/systems/acconfig/autoconfig-running", 0);
|
||||
|
|
|
@ -2447,7 +2447,7 @@ var canvas_lowerECAM_fuel = {
|
|||
me["FFlow-weight-unit"].setText("LBS/MIN");
|
||||
}
|
||||
|
||||
if (fadec.FADEC.Power.powered1.getValue() and fadec.FADEC.Power.powered2.getValue() or fadec.FADEC.Power.powerup.getValue()) {
|
||||
if (systems.FADEC_S.Power.powered1.getValue() and systems.FADEC_S.Power.powered2.getValue() or systems.FADEC_S.Power.powerup.getValue()) {
|
||||
me["FUEL-Flow-per-min"].setColor(0.0509,0.7529,0.2941);
|
||||
if (_weight_kgs == 1) {
|
||||
me["FUEL-Flow-per-min"].setText(sprintf("%s", math.round(((fuel_flow1.getValue() + fuel_flow2.getValue()) * LBS2KGS) / 60, 10)));
|
||||
|
|
|
@ -123,14 +123,14 @@ var state2 = props.globals.getNode("/engines/engine[1]/state", 1);
|
|||
var altitude = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft", 1);
|
||||
|
||||
# TO PERF
|
||||
var clbReducFt = props.globals.getNode("/systems/thrust/clbreduc-ft", 1);
|
||||
var clbReducFt = props.globals.getNode("/fdm/jsbsim/fadec/clbreduc-ft", 1);
|
||||
var reducFt = props.globals.getNode("/FMGC/internal/accel-agl-ft", 1); # It's not AGL anymore
|
||||
var thrAccSet = props.globals.getNode("/MCDUC/thracc-set", 1);
|
||||
var flapTO = props.globals.getNode("/FMGC/internal/to-flap", 1);
|
||||
var THSTO = props.globals.getNode("/FMGC/internal/to-ths", 1);
|
||||
var flapTHSSet = props.globals.getNode("/FMGC/internal/flap-ths-set", 1);
|
||||
var flex = props.globals.getNode("/FMGC/internal/flex", 1);
|
||||
var flexSet = props.globals.getNode("/FMGC/internal/flex-set", 1);
|
||||
var flex = props.globals.getNode("/fdm/jsbsim/fadec/limit/flex-temp", 1);
|
||||
var flexSet = props.globals.getNode("/fdm/jsbsim/fadec/limit/flex-active-cmd", 1);
|
||||
var engOutAcc = props.globals.getNode("/FMGC/internal/eng-out-reduc", 1);
|
||||
var engOutAccSet = props.globals.getNode("/MCDUC/reducacc-set", 1);
|
||||
var managedSpeed = props.globals.getNode("/it-autoflight/input/spd-managed", 1);
|
||||
|
|
|
@ -16,8 +16,8 @@ var track_diff = 0;
|
|||
var AICenter = nil;
|
||||
|
||||
# Fetch nodes:
|
||||
var state1 = props.globals.getNode("/systems/thrust/state1", 1);
|
||||
var state2 = props.globals.getNode("/systems/thrust/state2", 1);
|
||||
var state1 = props.globals.getNode("/fdm/jsbsim/fadec/control-1/detent-text", 1);
|
||||
var state2 = props.globals.getNode("/fdm/jsbsim/fadec/control-2/detent-text", 1);
|
||||
var throttle_mode = props.globals.getNode("/modes/pfd/fma/throttle-mode", 1);
|
||||
var pitch_mode = props.globals.getNode("/modes/pfd/fma/pitch-mode", 1);
|
||||
var pitch_mode_armed = props.globals.getNode("/modes/pfd/fma/pitch-mode-armed", 1);
|
||||
|
@ -42,14 +42,14 @@ var acconfig = props.globals.getNode("/systems/acconfig/autoconfig-running", 1);
|
|||
var acconfig_mismatch = props.globals.getNode("/systems/acconfig/mismatch-code", 1);
|
||||
var cpt_du_xfr = props.globals.getNode("/modes/cpt-du-xfr", 1);
|
||||
var fo_du_xfr = props.globals.getNode("/modes/fo-du-xfr", 1);
|
||||
var eng_out = props.globals.getNode("/systems/thrust/eng-out", 1);
|
||||
var eng_out = props.globals.getNode("/fdm/jsbsim/fadec/eng-out", 1);
|
||||
var eng0_state = props.globals.getNode("/engines/engine[0]/state", 1);
|
||||
var eng1_state = props.globals.getNode("/engines/engine[1]/state", 1);
|
||||
var alpha_floor = props.globals.getNode("/systems/thrust/alpha-floor", 1);
|
||||
var toga_lk = props.globals.getNode("/systems/thrust/toga-lk", 1);
|
||||
var alpha_floor = props.globals.getNode("/fdm/jsbsim/fadec/alpha-floor", 1);
|
||||
var toga_lk = props.globals.getNode("/fdm/jsbsim/fadec/toga-lk", 1);
|
||||
var thrust_limit = props.globals.getNode("/controls/engines/thrust-limit", 1);
|
||||
var flex = props.globals.getNode("/FMGC/internal/flex", 1);
|
||||
var lvr_clb = props.globals.getNode("/systems/thrust/lvrclb", 1);
|
||||
var flex = props.globals.getNode("/fdm/jsbsim/fadec/limit/flex-temp", 1);
|
||||
var lvr_clb = props.globals.getNode("/fdm/jsbsim/fadec/lvrclb", 1);
|
||||
var throt_box = props.globals.getNode("/modes/pfd/fma/throttle-mode-box", 1);
|
||||
var pitch_box = props.globals.getNode("/modes/pfd/fma/pitch-mode-box", 1);
|
||||
var ap_box = props.globals.getNode("/modes/pfd/fma/ap-mode-box", 1);
|
||||
|
@ -648,7 +648,7 @@ var canvas_PFD_base = {
|
|||
me["FMA_flxmode"].hide();
|
||||
me["FMA_manmode"].setText("TOGA");
|
||||
me["FMA_man_box"].setColor(0.8078,0.8039,0.8078);
|
||||
} else if ((state1_act == "MAN THR" and thr1_act >= 0.83) or (state2_act == "MAN THR" and thr2_act >= 0.83)) {
|
||||
} else if ((state1_act == "MAN THR" and systems.FADEC.manThrAboveMct[0]) or (state2_act == "MAN THR" and systems.FADEC.manThrAboveMct[1])) {
|
||||
me["FMA_flx_box"].hide();
|
||||
me["FMA_flxtemp"].hide();
|
||||
me["FMA_man_box"].show();
|
||||
|
@ -672,7 +672,7 @@ var canvas_PFD_base = {
|
|||
me["FMA_manmode"].hide();
|
||||
me["FMA_flxmode"].show();
|
||||
me["FMA_man_box"].setColor(0.8078,0.8039,0.8078);
|
||||
} else if ((state1_act == "MAN THR" and thr1_act < 0.83) or (state2_act == "MAN THR" and thr2_act < 0.83)) {
|
||||
} else if ((state1_act == "MAN THR" and !systems.FADEC.manThrAboveMct[0]) or (state2_act == "MAN THR" and !systems.FADEC.manThrAboveMct[1])) {
|
||||
me["FMA_flx_box"].hide();
|
||||
me["FMA_flxtemp"].hide();
|
||||
me["FMA_man_box"].show();
|
||||
|
@ -681,8 +681,8 @@ var canvas_PFD_base = {
|
|||
me["FMA_manmode"].setText("THR");
|
||||
me["FMA_man_box"].setColor(0.7333,0.3803,0);
|
||||
}
|
||||
} else if (athr.getValue() == 1 and (state1_act == "TOGA" or (state1_act == "MCT" and thrust_limit_act == "FLX") or (state1_act == "MAN THR" and thr1_act >= 0.83) or state2_act == "TOGA" or (state2_act == "MCT" and
|
||||
thrust_limit_act == "FLX") or (state2_act == "MAN THR" and thr2_act >= 0.83)) and eng_out.getValue() == 1 and alpha_floor_act != 1 and toga_lk_act != 1) {
|
||||
} else if (athr.getValue() == 1 and (state1_act == "TOGA" or (state1_act == "MCT" and thrust_limit_act == "FLX") or (state1_act == "MAN THR" and systems.FADEC.manThrAboveMct[0]) or state2_act == "TOGA" or (state2_act == "MCT" and
|
||||
thrust_limit_act == "FLX") or (state2_act == "MAN THR" and systems.FADEC.manThrAboveMct[1])) and eng_out.getValue() == 1 and alpha_floor_act != 1 and toga_lk_act != 1) {
|
||||
me["FMA_man"].show();
|
||||
if (state1_act == "TOGA" or state2_act == "TOGA") {
|
||||
me["FMA_flx_box"].hide();
|
||||
|
@ -692,7 +692,7 @@ var canvas_PFD_base = {
|
|||
me["FMA_flxmode"].hide();
|
||||
me["FMA_manmode"].setText("TOGA");
|
||||
me["FMA_man_box"].setColor(0.8078,0.8039,0.8078);
|
||||
} else if ((state1_act == "MAN THR" and thr1_act >= 0.83) or (state2_act == "MAN THR" and thr2_act >= 0.83)) {
|
||||
} else if ((state1_act == "MAN THR" and systems.FADEC.manThrAboveMct[0]) or (state2_act == "MAN THR" and systems.FADEC.manThrAboveMct[1])) {
|
||||
me["FMA_flx_box"].hide();
|
||||
me["FMA_flxtemp"].hide();
|
||||
me["FMA_man_box"].show();
|
||||
|
@ -743,8 +743,8 @@ var canvas_PFD_base = {
|
|||
} else {
|
||||
me["FMA_thrust_box"].hide();
|
||||
}
|
||||
} else if (athr.getValue() == 1 and eng_out.getValue() == 1 and (state1_act == "MAN" or state1_act == "CL" or (state1_act == "MAN THR" and thr1_act < 0.83) or (state1_act == "MCT" and thrust_limit_act != "FLX")) and
|
||||
(state2_act == "MAN" or state2_act == "CL" or (state2_act == "MAN THR" and thr2_act < 0.83) or (state2_act == "MCT" and thrust_limit_act != "FLX"))) {
|
||||
} else if (athr.getValue() == 1 and eng_out.getValue() == 1 and (state1_act == "MAN" or state1_act == "CL" or (state1_act == "MAN THR" and !systems.FADEC.manThrAboveMct[0]) or (state1_act == "MCT" and thrust_limit_act != "FLX")) and
|
||||
(state2_act == "MAN" or state2_act == "CL" or (state2_act == "MAN THR" and !systems.FADEC.manThrAboveMct[1]) or (state2_act == "MCT" and thrust_limit_act != "FLX"))) {
|
||||
me["FMA_thrust"].show();
|
||||
if (throt_box.getValue() == 1 and throttle_mode.getValue() != " ") {
|
||||
me["FMA_thrust_box"].show();
|
||||
|
|
|
@ -314,7 +314,7 @@ var canvas_upperECAM = {
|
|||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("N1_mode_1", nil, func(val) {
|
||||
if (fadec.FADEC.Eng1.n1.getValue() == 1 and val) {
|
||||
if (systems.FADEC_S.Eng1.n1.getValue() == 1 and val) {
|
||||
obj["N11-thr"].show();
|
||||
obj["N11-ylim"].hide(); # Keep it hidden, since N1 mode limit calculation is not done yet
|
||||
} else {
|
||||
|
@ -323,7 +323,7 @@ var canvas_upperECAM = {
|
|||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("N1_mode_2", nil, func(val) {
|
||||
if (fadec.FADEC.Eng2.n1.getValue() == 1 and val) {
|
||||
if (systems.FADEC_S.Eng2.n1.getValue() == 1 and val) {
|
||||
obj["N12-thr"].show();
|
||||
obj["N12-ylim"].hide(); # Keep it hidden, since N1 mode limit calculation is not done yet
|
||||
} else {
|
||||
|
@ -526,24 +526,24 @@ var canvas_upperECAM = {
|
|||
me.updateN12(notification);
|
||||
}
|
||||
|
||||
if (fadec.FADEC.Eng1.n2 != me._cachedN2[0]) {
|
||||
if (systems.FADEC_S.Eng1.n2 != me._cachedN2[0]) {
|
||||
me.updateN21();
|
||||
}
|
||||
if (fadec.FADEC.Eng2.n2 != me._cachedN2[1]) {
|
||||
if (systems.FADEC_S.Eng2.n2 != me._cachedN2[1]) {
|
||||
me.updateN22();
|
||||
}
|
||||
|
||||
if (fadec.FADEC.Eng1.egt != me._cachedEGT[0]) {
|
||||
if (systems.FADEC_S.Eng1.egt != me._cachedEGT[0]) {
|
||||
me.updateEGT1();
|
||||
}
|
||||
if (fadec.FADEC.Eng2.egt != me._cachedEGT[1]) {
|
||||
if (systems.FADEC_S.Eng2.egt != me._cachedEGT[1]) {
|
||||
me.updateEGT2();
|
||||
}
|
||||
|
||||
if (fadec.FADEC.Eng1.ff != me._cachedFF[0]) {
|
||||
if (systems.FADEC_S.Eng1.ff != me._cachedFF[0]) {
|
||||
me.updateFF1();
|
||||
}
|
||||
if (fadec.FADEC.Eng2.ff != me._cachedFF[1]) {
|
||||
if (systems.FADEC_S.Eng2.ff != me._cachedFF[1]) {
|
||||
me.updateFF2();
|
||||
}
|
||||
|
||||
|
@ -554,21 +554,21 @@ var canvas_upperECAM = {
|
|||
}
|
||||
}
|
||||
|
||||
if (fadec.FADEC.Eng1.n2 or fadec.FADEC.Eng2.n2) {
|
||||
if (systems.FADEC_S.Eng1.n2 or systems.FADEC_S.Eng2.n2) {
|
||||
foreach(var update_item; me.update_items_fadec_powered_n2)
|
||||
{
|
||||
update_item.update(notification);
|
||||
}
|
||||
}
|
||||
|
||||
if (fadec.FADEC.Eng1.egt or fadec.FADEC.Eng2.egt) {
|
||||
if (systems.FADEC_S.Eng1.egt or systems.FADEC_S.Eng2.egt) {
|
||||
foreach(var update_item; me.update_items_fadec_powered_egt)
|
||||
{
|
||||
update_item.update(notification);
|
||||
}
|
||||
}
|
||||
|
||||
if (fadec.FADEC.Eng1.ff or fadec.FADEC.Eng2.ff) {
|
||||
if (systems.FADEC_S.Eng1.ff or systems.FADEC_S.Eng2.ff) {
|
||||
foreach(var update_item; me.update_items_fadec_powered_ff)
|
||||
{
|
||||
update_item.update(notification);
|
||||
|
@ -699,8 +699,8 @@ var canvas_upperECAM = {
|
|||
},
|
||||
|
||||
updateN21: func() {
|
||||
me._cachedN2[0] = fadec.FADEC.Eng1.n2;
|
||||
if (fadec.FADEC.Eng1.n2 == 1) {
|
||||
me._cachedN2[0] = systems.FADEC_S.Eng1.n2;
|
||||
if (systems.FADEC_S.Eng1.n2 == 1) {
|
||||
me["N21"].show();
|
||||
me["N21-decimal"].show();
|
||||
me["N21-decpnt"].show();
|
||||
|
@ -713,8 +713,8 @@ var canvas_upperECAM = {
|
|||
}
|
||||
},
|
||||
updateN22: func() {
|
||||
me._cachedN2[1] = fadec.FADEC.Eng2.n2;
|
||||
if (fadec.FADEC.Eng2.n2 == 1) {
|
||||
me._cachedN2[1] = systems.FADEC_S.Eng2.n2;
|
||||
if (systems.FADEC_S.Eng2.n2 == 1) {
|
||||
me["N22"].show();
|
||||
me["N22-decimal"].show();
|
||||
me["N22-decpnt"].show();
|
||||
|
@ -728,8 +728,8 @@ var canvas_upperECAM = {
|
|||
},
|
||||
|
||||
updateEGT1: func() {
|
||||
me._cachedEGT[0] = fadec.FADEC.Eng1.egt;
|
||||
if (fadec.FADEC.Eng1.egt == 1) {
|
||||
me._cachedEGT[0] = systems.FADEC_S.Eng1.egt;
|
||||
if (systems.FADEC_S.Eng1.egt == 1) {
|
||||
me["EGT1-scale"].setColor(0.8078,0.8039,0.8078);
|
||||
me["EGT1-scale2"].setColor(1,0,0);
|
||||
me["EGT1"].show();
|
||||
|
@ -748,8 +748,8 @@ var canvas_upperECAM = {
|
|||
}
|
||||
},
|
||||
updateEGT2: func() {
|
||||
me._cachedEGT[1] = fadec.FADEC.Eng2.egt;
|
||||
if (fadec.FADEC.Eng2.egt == 1) {
|
||||
me._cachedEGT[1] = systems.FADEC_S.Eng2.egt;
|
||||
if (systems.FADEC_S.Eng2.egt == 1) {
|
||||
me["EGT2-scale"].setColor(0.8078,0.8039,0.8078);
|
||||
me["EGT2-scale2"].setColor(1,0,0);
|
||||
me["EGT2"].show();
|
||||
|
@ -825,8 +825,8 @@ var canvas_upperECAM = {
|
|||
}
|
||||
},
|
||||
updateFF1: func() {
|
||||
me._cachedFF[0] = fadec.FADEC.Eng1.ff;
|
||||
if (fadec.FADEC.Eng1.ff == 1) {
|
||||
me._cachedFF[0] = systems.FADEC_S.Eng1.ff;
|
||||
if (systems.FADEC_S.Eng1.ff == 1) {
|
||||
me["FF1"].show();
|
||||
me["FF1-XX"].hide();
|
||||
} else {
|
||||
|
@ -835,8 +835,8 @@ var canvas_upperECAM = {
|
|||
}
|
||||
},
|
||||
updateFF2: func() {
|
||||
me._cachedFF[1] = fadec.FADEC.Eng2.ff;
|
||||
if (fadec.FADEC.Eng2.ff == 1) {
|
||||
me._cachedFF[1] = systems.FADEC_S.Eng2.ff;
|
||||
if (systems.FADEC_S.Eng2.ff == 1) {
|
||||
me["FF2"].show();
|
||||
me["FF2-XX"].hide();
|
||||
} else {
|
||||
|
@ -1043,16 +1043,16 @@ input = {
|
|||
slatyOffsetTrans: "/ECAM/Upper/SlatYtrans",
|
||||
|
||||
# fadec
|
||||
alphaFloor: "/systems/thrust/alpha-floor",
|
||||
eprLimit: "/controls/engines/epr-limit",
|
||||
alphaFloor: "/fdm/jsbsim/fadec/alpha-floor",
|
||||
eprLimit: "/fdm/jsbsim/fadec/limit/active-epr",
|
||||
thrustLimit: "/controls/engines/thrust-limit",
|
||||
n1Limit: "/controls/engines/n1-limit",
|
||||
flexTemp: "/FMGC/internal/flex",
|
||||
n1Limit: "/fdm/jsbsim/fadec/limit/active-n1",
|
||||
flexTemp: "/fdm/jsbsim/fadec/limit/flex-temp",
|
||||
fadecPower1: "/systems/fadec/powered1",
|
||||
fadecPower2: "/systems/fadec/powered2",
|
||||
fadecPowerStart: "/systems/fadec/powerup",
|
||||
N1_mode_1: "/systems/fadec/n1mode1",
|
||||
N1_mode_2: "/systems/fadec/n1mode2",
|
||||
N1_mode_1: "/fdm/jsbsim/fadec/control-1/n1-mode",
|
||||
N1_mode_2: "/fdm/jsbsim/fadec/control-2/n1-mode",
|
||||
eng1_epr: "/systems/fadec/eng1/epr",
|
||||
eng2_epr: "/systems/fadec/eng2/epr",
|
||||
eng1_n1: "/systems/fadec/eng1/n1",
|
||||
|
|
|
@ -1167,7 +1167,7 @@ var messages_priority_2 = func {
|
|||
if ((phaseVar2 == 2 or phaseVar2 == 3 or phaseVar2 == 9) and warningNodes.Logic.thrLeversNotSet.getValue() and engThrustLvrNotSet.clearFlag == 0) {
|
||||
engThrustLvrNotSet.active = 1;
|
||||
|
||||
if (fadec.Thrust.limFlex.getValue()) {
|
||||
if (systems.FADEC.Limit.flexActive.getBoolValue()) {
|
||||
engThrustLvrNotSetMCT.active = 1;
|
||||
ECAM_controller.warningReset(engThrustLvrNotSetMCT);
|
||||
} else {
|
||||
|
@ -1619,7 +1619,7 @@ var messages_priority_2 = func {
|
|||
} else {
|
||||
_SATval = nil;
|
||||
}
|
||||
if (satAbvFlexTemp.clearFlag == 0 and phaseVar2 == 2 and fadec.Thrust.limFlex.getValue() and _SATval != nil and _SATval > fmgc.FMGCNodes.flexTemp.getValue() and !warningNodes.Logic.thrLeversNotSet.getValue()) {
|
||||
if (satAbvFlexTemp.clearFlag == 0 and phaseVar2 == 2 and systems.FADEC.Limit.flexActive.getBoolValue() and _SATval != nil and _SATval > systems.FADEC.Limit.flexTemp.getValue() and !warningNodes.Logic.thrLeversNotSet.getValue()) {
|
||||
satAbvFlexTemp.active = 1;
|
||||
|
||||
if (satAbvFlexTempCheck.clearFlag == 0) {
|
||||
|
@ -2133,8 +2133,8 @@ var messages_priority_2 = func {
|
|||
ECAM_controller.warningReset(athr_offw_1);
|
||||
}
|
||||
|
||||
if ((athr_lock.clearFlag == 0) and phaseVar2 >= 5 and phaseVar2 <= 7 and getprop("/systems/thrust/thr-locked-alert") == 1) {
|
||||
if (getprop("/systems/thrust/thr-locked-flash") == 0) {
|
||||
if ((athr_lock.clearFlag == 0) and phaseVar2 >= 5 and phaseVar2 <= 7 and getprop("/fdm/jsbsim/fadec/thr-locked-alert") == 1) {
|
||||
if (getprop("/fdm/jsbsim/fadec/thr-locked-flash") == 0) {
|
||||
athr_lock.msg = " ";
|
||||
} else {
|
||||
athr_lock.msg = msgSave
|
||||
|
@ -2147,7 +2147,7 @@ var messages_priority_2 = func {
|
|||
}
|
||||
|
||||
|
||||
if ((athr_lim.clearFlag == 0) and getprop("it-autoflight/output/athr") == 1 and ((getprop("/systems/thrust/eng-out") != 1 and (pts.Systems.Thrust.state[0].getValue() == "MAN" or pts.Systems.Thrust.state[1].getValue() == "MAN")) or (getprop("/systems/thrust/eng-out") == 1 and (pts.Systems.Thrust.state[0].getValue() == "MAN" or pts.Systems.Thrust.state[1].getValue() == "MAN" or (pts.Systems.Thrust.state[0].getValue() == "MAN THR" and getprop("/controls/engines/engine[0]/throttle-pos") <= 0.83) or (pts.Systems.Thrust.state[1].getValue() == "MAN THR" and getprop("/controls/engines/engine[0]/throttle-pos") <= 0.83)))) and (phaseVar2 >= 5 and phaseVar2 <= 7)) {
|
||||
if ((athr_lim.clearFlag == 0) and getprop("it-autoflight/output/athr") == 1 and ((getprop("/fdm/jsbsim/fadec/eng-out") != 1 and (systems.FADEC.detentText[0].getValue() == "MAN" or systems.FADEC.detentText[1].getValue() == "MAN")) or (getprop("/fdm/jsbsim/fadec/eng-out") == 1 and (systems.FADEC.detentText[0].getValue() == "MAN" or systems.FADEC.detentText[1].getValue() == "MAN" or (systems.FADEC.detentText[0].getValue() == "MAN THR" and !systems.FADEC.manThrAboveMct[0]) or (systems.FADEC.detentText[1].getValue() == "MAN THR" and !systems.FADEC.manThrAboveMct[1])))) and (phaseVar2 >= 5 and phaseVar2 <= 7)) {
|
||||
athr_lim.active = 1;
|
||||
athr_lim_1.active = 1;
|
||||
} else {
|
||||
|
@ -3444,7 +3444,7 @@ var messages_right_memo = func {
|
|||
spd_brk.active = 0;
|
||||
}
|
||||
|
||||
thrustState = [pts.Systems.Thrust.state[0].getValue(), pts.Systems.Thrust.state[1].getValue()];
|
||||
thrustState = [systems.FADEC.detentText[0].getValue(), systems.FADEC.detentText[1].getValue()];
|
||||
if (thrustState[0] == "IDLE" and thrustState[1] == "IDLE" and phaseVarMemo3 >= 6 and phaseVarMemo3 <= 7) {
|
||||
spd_brk.colour = "g";
|
||||
} else if ((phaseVarMemo3 >= 2 and phaseVarMemo3 <= 5) or ((thrustState[0] != "IDLE" or thrustState[1]) != "IDLE") and (phaseVarMemo3 >= 6 and phaseVarMemo3 <= 7)) {
|
||||
|
|
|
@ -179,7 +179,7 @@ var Custom = {
|
|||
athrOff: props.globals.initNode("/it-autoflight/sound/athrsound", 0, "BOOL"),
|
||||
enableAthrOff: 0,
|
||||
},
|
||||
ThrLock: props.globals.getNode("/systems/thrust/thr-locked", 1)
|
||||
ThrLock: props.globals.getNode("/fdm/jsbsim/fadec/thr-locked", 1)
|
||||
};
|
||||
|
||||
var ITAF = {
|
||||
|
|
|
@ -112,18 +112,18 @@ var init = func() {
|
|||
|
||||
# Master Thrust
|
||||
var loopFMA = maketimer(0.05, func {
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
state1 = systems.FADEC.detentText[0].getValue();
|
||||
state2 = systems.FADEC.detentText[1].getValue();
|
||||
thr1 = pts.Controls.Engines.Engine.throttlePos[0].getValue();
|
||||
thr2 = pts.Controls.Engines.Engine.throttlePos[1].getValue();
|
||||
newthr = Modes.PFD.FMA.throttle.getValue();
|
||||
engout = pts.Systems.Thrust.engOut.getValue();
|
||||
engout = systems.FADEC.engOut.getValue();
|
||||
|
||||
if (state1 == "TOGA" or state2 == "TOGA") {
|
||||
if (newthr != " ") {
|
||||
Modes.PFD.FMA.throttle.setValue(" ");
|
||||
}
|
||||
} else if ((state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83)) {
|
||||
} else if ((state1 == "MAN THR" and systems.FADEC.manThrAboveMct[0]) or (state2 == "MAN THR" and systems.FADEC.manThrAboveMct[1])) {
|
||||
if (newthr != " ") {
|
||||
Modes.PFD.FMA.throttle.setValue(" ");
|
||||
}
|
||||
|
@ -131,7 +131,7 @@ var loopFMA = maketimer(0.05, func {
|
|||
if (newthr != " ") {
|
||||
Modes.PFD.FMA.throttle.setValue(" ");
|
||||
}
|
||||
} else if (((state1 == "MAN THR" and thr1 < 0.83) or (state2 == "MAN THR" and thr2 < 0.83)) and !engout) {
|
||||
} else if (((state1 == "MAN THR" and !systems.FADEC.manThrAboveMct[0]) or (state2 == "MAN THR" and !systems.FADEC.manThrAboveMct[1])) and !engout) {
|
||||
if (newthr != " ") {
|
||||
Modes.PFD.FMA.throttle.setValue(" ");
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ var loopFMA = maketimer(0.05, func {
|
|||
if (!Modes.PFD.FMA.athr.getValue()) {
|
||||
Modes.PFD.FMA.athr.setValue(1);
|
||||
}
|
||||
} else if (athr and ((state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83) or (fadec.Thrust.thrustLimit.getValue() == "FLX" and (state1 == "MCT" or state2 == "MCT"))
|
||||
} else if (athr and ((state1 == "MAN THR" and systems.FADEC.manThrAboveMct[0]) or (state2 == "MAN THR" and systems.FADEC.manThrAboveMct[1]) or (systems.FADEC.Limit.activeMode.getValue() == "FLX" and (state1 == "MCT" or state2 == "MCT"))
|
||||
or state1 == "TOGA" or state2 == "TOGA") and engout) {
|
||||
if (!Modes.PFD.FMA.athr.getValue()) {
|
||||
Modes.PFD.FMA.athr.setValue(1);
|
||||
|
@ -188,11 +188,11 @@ var loopFMA = maketimer(0.05, func {
|
|||
}
|
||||
|
||||
# SRS RWY Engagement
|
||||
flx = fadec.Thrust.limFlex.getValue();
|
||||
flx = systems.FADEC.Limit.flexActive.getBoolValue();
|
||||
newlat = Modes.PFD.FMA.rollMode.getValue();
|
||||
engstate1 = pts.Engines.Engine.state[0].getValue();
|
||||
engstate2 = pts.Engines.Engine.state[1].getValue();
|
||||
if (((state1 == "TOGA" or state2 == "TOGA") or (flx == 1 and (state1 == "MCT" or state2 == "MCT")) or (flx == 1 and ((state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83)))) and (engstate1 == 3 or engstate2 == 3)) {
|
||||
if (((state1 == "TOGA" or state2 == "TOGA") or (flx == 1 and (state1 == "MCT" or state2 == "MCT")) or (flx == 1 and ((state1 == "MAN THR" and systems.FADEC.manThrAboveMct[0]) or (state2 == "MAN THR" and systems.FADEC.manThrAboveMct[1])))) and (engstate1 == 3 or engstate2 == 3)) {
|
||||
# RWY Engagement would go here, but automatic ILS selection is not simulated yet.
|
||||
gear1 = pts.Gear.wow[0].getValue();
|
||||
if (gear1 and FMGCInternal.v2set and Output.vert.getValue() != 7) {
|
||||
|
@ -627,14 +627,14 @@ setlistener("/modes/pfd/fma/athr-armed", func {
|
|||
});
|
||||
|
||||
setlistener("/modes/pfd/fma/throttle-mode", func {
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
state1 = systems.FADEC.detentText[0].getValue();
|
||||
state2 = systems.FADEC.detentText[1].getValue();
|
||||
athr = Output.athr.getValue();
|
||||
if (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
|
||||
!pts.Systems.Thrust.engOut.getValue()) {
|
||||
!systems.FADEC.engOut.getValue()) {
|
||||
Modes.PFD.FMA.throttleModeTime.setValue(pts.Sim.Time.elapsedSec.getValue());
|
||||
} else if (athr == 1 and state1 != "TOGA" and state2 != "TOGA" and state1 != "IDLE" and state2 != "IDLE" and pts.Systems.Thrust.engOut.getValue()) {
|
||||
if (pts.Controls.Engines.Engine.throttlePos[0].getValue() < 0.83 and pts.Controls.Engines.Engine.throttlePos[1].getValue() < 0.83) {
|
||||
} else if (athr == 1 and state1 != "TOGA" and state2 != "TOGA" and state1 != "IDLE" and state2 != "IDLE" and systems.FADEC.engOut.getValue()) {
|
||||
if (systems.FADEC.detentOut[0].getValue() <= 4 and systems.FADEC.detentOut[1].getValue() <= 4) {
|
||||
Modes.PFD.FMA.throttleModeTime.setValue(pts.Sim.Time.elapsedSec.getValue());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -247,8 +247,6 @@ var postInit = func() {
|
|||
|
||||
var FMGCNodes = {
|
||||
costIndex: props.globals.initNode("/FMGC/internal/cost-index", 0, "DOUBLE"),
|
||||
flexSet: props.globals.initNode("/FMGC/internal/flex-set", 0, "BOOL"),
|
||||
flexTemp: props.globals.initNode("/FMGC/internal/flex", 45, "INT"),
|
||||
mngSpdAlt: props.globals.getNode("/FMGC/internal/mng-alt-spd"),
|
||||
mngMachAlt: props.globals.getNode("/FMGC/internal/mng-alt-mach"),
|
||||
toFromSet: props.globals.initNode("/FMGC/internal/tofrom-set", 0, "BOOL"),
|
||||
|
@ -608,8 +606,8 @@ var masterFMGC = maketimer(0.2, func {
|
|||
alt = pts.Instrumentation.Altimeter.indicatedFt.getValue();
|
||||
# cruiseft = FMGCInternal.crzFt;
|
||||
# cruiseft_b = FMGCInternal.crzFt - 200;
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
state1 = systems.FADEC.detentText[0].getValue();
|
||||
state2 = systems.FADEC.detentText[1].getValue();
|
||||
accel_agl_ft = Setting.reducAglFt.getValue();
|
||||
gear0 = pts.Gear.wow[0].getBoolValue();
|
||||
altSel = Input.alt.getValue();
|
||||
|
|
|
@ -91,13 +91,13 @@ var systemsInit = func() {
|
|||
systems.FUEL.init();
|
||||
systems.ADIRS.init();
|
||||
systems.eng_init();
|
||||
systems.FADEC.init();
|
||||
systems.APUController.init();
|
||||
systems.BrakeSys.reset();
|
||||
systems.Autobrake.init();
|
||||
systems.fire_init();
|
||||
fmgc.flightPlanController.reset();
|
||||
fmgc.windController.reset();
|
||||
fadec.FADEC.init();
|
||||
fmgc.ITAF.init();
|
||||
fmgc.FMGCinit();
|
||||
mcdu.MCDU_init(0);
|
||||
|
@ -175,7 +175,7 @@ var systemsLoop = func(notification) {
|
|||
systems.BrakeSys.update(notification);
|
||||
systems.HFLoop(notification);
|
||||
systems.APUController.loop();
|
||||
fadec.FADEC.loop();
|
||||
systems.FADEC.loop();
|
||||
rmp.rmpUpdate();
|
||||
fcu.FCUController.loop(notification);
|
||||
atc.Transponders.vector[atc.transponderPanel.atcSel - 1].update(notification);
|
||||
|
|
|
@ -29,14 +29,14 @@ var Controls = {
|
|||
cutoff: [props.globals.getNode("/controls/engines/engine[0]/cutoff"), props.globals.getNode("/controls/engines/engine[1]/cutoff")],
|
||||
cutoffSw: [props.globals.getNode("/controls/engines/engine[0]/cutoff-switch"), props.globals.getNode("/controls/engines/engine[1]/cutoff-switch")],
|
||||
firePb: [props.globals.getNode("/controls/engines/engine[0]/fire-btn"), props.globals.getNode("/controls/engines/engine[1]/fire-btn")],
|
||||
reverseCmd: [props.globals.getNode("/controls/engines/engine[0]/reverse-cmd"), props.globals.getNode("/controls/engines/engine[1]/reverse-cmd")],
|
||||
reverseLever: [props.globals.getNode("/controls/engines/engine[0]/reverse-lever"), props.globals.getNode("/controls/engines/engine[1]/reverse-lever")],
|
||||
starter: [props.globals.getNode("/controls/engines/engine[0]/starter"), props.globals.getNode("/controls/engines/engine[1]/starter")],
|
||||
throttle: [props.globals.getNode("/controls/engines/engine[0]/throttle"), props.globals.getNode("/controls/engines/engine[1]/throttle")],
|
||||
throttleFdm: [props.globals.getNode("/controls/engines/engine[0]/throttle-fdm"), props.globals.getNode("/controls/engines/engine[1]/throttle-fdm")],
|
||||
throttleLever: [props.globals.getNode("/controls/engines/engine[0]/throttle-lever"), props.globals.getNode("/controls/engines/engine[1]/throttle-lever")],
|
||||
throttleOutput: [props.globals.getNode("/controls/engines/engine[0]/throttle-output"), props.globals.getNode("/controls/engines/engine[1]/throttle-output")],
|
||||
throttlePos: [props.globals.getNode("/controls/engines/engine[0]/throttle-pos"), props.globals.getNode("/controls/engines/engine[1]/throttle-pos")],
|
||||
throttleRev: [props.globals.getNode("/controls/engines/engine[0]/throttle-rev"), props.globals.getNode("/controls/engines/engine[1]/throttle-rev")],
|
||||
starter: [props.globals.getNode("/controls/engines/engine[0]/starter"), props.globals.getNode("/controls/engines/engine[1]/starter")],
|
||||
reverser: [props.globals.getNode("/controls/engines/engine[0]/reverser"), props.globals.getNode("/controls/engines/engine[1]/reverser")],
|
||||
},
|
||||
},
|
||||
Flight: {
|
||||
|
@ -268,13 +268,6 @@ var Sim = {
|
|||
},
|
||||
};
|
||||
|
||||
var Systems = {
|
||||
Thrust: {
|
||||
engOut: props.globals.getNode("/systems/thrust/eng-out"),
|
||||
state: [props.globals.getNode("/systems/thrust/state1"), props.globals.getNode("/systems/thrust/state2")],
|
||||
},
|
||||
};
|
||||
|
||||
var Velocities = {
|
||||
airspeed: props.globals.getNode("/velocities/airspeed-kt"),
|
||||
groundspeed: props.globals.getNode("/velocities/groundspeed-kt"),
|
||||
|
|
|
@ -163,8 +163,8 @@ var MCDU_reset = func(i) {
|
|||
setprop("/FMGC/internal/to-flap", 0);
|
||||
setprop("/FMGC/internal/to-ths", "0.0");
|
||||
setprop("/FMGC/internal/flap-ths-set", 0);
|
||||
setprop("/FMGC/internal/flex", 0);
|
||||
setprop("/FMGC/internal/flex-set", 0);
|
||||
setprop("/fdm/jsbsim/fadec/limit/flex-temp", 0);
|
||||
setprop("/fdm/jsbsim/fadec/limit/flex-active-cmd", 0);
|
||||
setprop("/FMGC/internal/eng-out-reduc", "1500");
|
||||
setprop("/MCDUC/reducacc-set", 0);
|
||||
fmgc.FMGCInternal.transAlt = 18000;
|
||||
|
|
|
@ -6,7 +6,7 @@ var perfGAInput = func(key, i) {
|
|||
var scratchpad = mcdu_scratchpad.scratchpads[i].scratchpad;
|
||||
if (key == "L5") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("/systems/thrust/clbreduc-ft", 1500);
|
||||
setprop("/fdm/jsbsim/fadec/clbreduc-ft", 1500);
|
||||
setprop("/FMGC/internal/accel-agl-ft", 1500);
|
||||
setprop("MCDUC/thracc-set", 0);
|
||||
mcdu_scratchpad.scratchpads[i].empty();
|
||||
|
@ -17,7 +17,7 @@ var perfGAInput = func(key, i) {
|
|||
var thrred = size(thracc[0]);
|
||||
var acc = size(thracc[1]);
|
||||
if (int(thrred) != nil and int(acc) != nil and (thrred >= 3 and thrred <= 5) and (acc >= 3 and acc <= 5)) {
|
||||
setprop("/systems/thrust/clbreduc-ft", thracc[0]);
|
||||
setprop("/fdm/jsbsim/fadec/clbreduc-ft", thracc[0]);
|
||||
setprop("/FMGC/internal/accel-agl-ft", thracc[1]);
|
||||
setprop("MCDUC/thracc-set", 1);
|
||||
mcdu_scratchpad.scratchpads[i].empty();
|
||||
|
|
|
@ -112,7 +112,7 @@ var perfTOInput = func(key, i) {
|
|||
}
|
||||
} else if (key == "L5" and modifiable) {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("/systems/thrust/clbreduc-ft", 1500);
|
||||
setprop("/fdm/jsbsim/fadec/clbreduc-ft", 1500);
|
||||
setprop("/FMGC/internal/accel-agl-ft", 1500);
|
||||
setprop("MCDUC/thracc-set", 0);
|
||||
mcdu_scratchpad.scratchpads[i].empty();
|
||||
|
@ -130,7 +130,7 @@ var perfTOInput = func(key, i) {
|
|||
if (int(thrred) != nil and (thrreds >= 3 and thrreds <= 5) and thrred >= 400 and thrred <= 39000 and int(acc) != nil and (accs == 3 or accs == 4 or accs == 5) and acc >= 400 and acc <= 39000) {
|
||||
|
||||
if (thrred<=acc) { # validation
|
||||
setprop("/systems/thrust/clbreduc-ft", int(thrred / 10) * 10);
|
||||
setprop("/fdm/jsbsim/fadec/clbreduc-ft", int(thrred / 10) * 10);
|
||||
setprop("/FMGC/internal/accel-agl-ft", int(acc / 10) * 10);
|
||||
setprop("MCDUC/thracc-set", 1);
|
||||
mcdu_scratchpad.scratchpads[i].empty();
|
||||
|
@ -144,7 +144,7 @@ var perfTOInput = func(key, i) {
|
|||
mcdu_message(i, "NOT ALLOWED");
|
||||
}
|
||||
} else if (num(scratchpad) != nil and (tfs >= 3 and tfs <= 5) and scratchpad >= 400 and scratchpad <= 39000) {
|
||||
setprop("/systems/thrust/clbreduc-ft", int(scratchpad / 10) * 10);
|
||||
setprop("/fdm/jsbsim/fadec/clbreduc-ft", int(scratchpad / 10) * 10);
|
||||
mcdu_scratchpad.scratchpads[i].empty();
|
||||
} else {
|
||||
mcdu_message(i, "NOT ALLOWED");
|
||||
|
@ -222,15 +222,15 @@ var perfTOInput = func(key, i) {
|
|||
}
|
||||
} else if (key == "R4" and modifiable) {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/flex", 45);
|
||||
setprop("/FMGC/internal/flex-set", 0);
|
||||
systems.FADEC.Limit.flexTemp.setValue(30);
|
||||
systems.FADEC.Limit.flexActiveCmd.setBoolValue(0);
|
||||
mcdu_scratchpad.scratchpads[i].empty();
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 1 or tfs == 2) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 99) {
|
||||
setprop("/FMGC/internal/flex", scratchpad);
|
||||
setprop("/FMGC/internal/flex-set", 1);
|
||||
systems.FADEC.Limit.flexTemp.setValue(scratchpad);
|
||||
systems.FADEC.Limit.flexActiveCmd.setBoolValue(1);
|
||||
mcdu_scratchpad.scratchpads[i].empty();
|
||||
} else {
|
||||
mcdu_message(i, "NOT ALLOWED");
|
||||
|
|
137
Nasal/Systems/Engines/engines-common.nas
Normal file
137
Nasal/Systems/Engines/engines-common.nas
Normal file
|
@ -0,0 +1,137 @@
|
|||
# A3XX Engine Control
|
||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
||||
|
||||
var manStart = [props.globals.initNode("/controls/engines/engine[0]/man-start", 0, "BOOL"),props.globals.initNode("/controls/engines/engine[1]/man-start", 0, "BOOL")];
|
||||
var lastIgniter = [props.globals.getNode("/controls/engines/engine[0]/last-igniter"),props.globals.initNode("/controls/engines/engine[1]/last-igniter")];
|
||||
var igniterA = [props.globals.initNode("/controls/engines/engine[0]/igniter-a", 0, "BOOL"),props.globals.initNode("/controls/engines/engine[1]/igniter-a", 0, "BOOL")];
|
||||
var igniterB = [props.globals.initNode("/controls/engines/engine[0]/igniter-b", 0, "BOOL"),props.globals.initNode("/controls/engines/engine[1]/igniter-b", 0, "BOOL")];
|
||||
|
||||
if (pts.Options.eng.getValue() == "IAE") {
|
||||
io.include("engines-iae.nas");
|
||||
} else {
|
||||
io.include("engines-cfm.nas");
|
||||
}
|
||||
|
||||
var eng_common_init = func {
|
||||
manStart[0].setValue(0);
|
||||
manStart[1].setValue(0);
|
||||
}
|
||||
|
||||
# Engine thrust commands
|
||||
var doIdleThrust = func {
|
||||
# Idle does not respect selected engines, because it is used to respond
|
||||
# to "Retard" and both engines must be idle for spoilers to deploy
|
||||
pts.Controls.Engines.Engine.throttle[0].setValue(0);
|
||||
pts.Controls.Engines.Engine.throttle[1].setValue(0);
|
||||
}
|
||||
|
||||
var doClThrust = func {
|
||||
if (pts.Sim.Input.Selected.engine[0].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[0].setValue(0.63);
|
||||
}
|
||||
if (pts.Sim.Input.Selected.engine[1].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[1].setValue(0.63);
|
||||
}
|
||||
}
|
||||
|
||||
var doMctThrust = func {
|
||||
if (pts.Sim.Input.Selected.engine[0].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[0].setValue(0.8);
|
||||
}
|
||||
if (pts.Sim.Input.Selected.engine[1].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[1].setValue(0.8);
|
||||
}
|
||||
}
|
||||
|
||||
var doTogaThrust = func {
|
||||
if (pts.Sim.Input.Selected.engine[0].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[0].setValue(1);
|
||||
}
|
||||
if (pts.Sim.Input.Selected.engine[1].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[1].setValue(1);
|
||||
}
|
||||
}
|
||||
|
||||
# Reverse Thrust System - TODO: Totally f*cked! Redo the whole d*mn thing!
|
||||
var toggleFastRevThrust = func {
|
||||
#if (systems.FADEC.detentText[0].getValue() == "IDLE" and systems.FADEC.detentText[1].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverseCmd[0].getValue() == 0 and pts.Controls.Engines.Engine.reverseCmd[1].getValue() == 0 and pts.Gear.wow[1].getValue() == 1 and pts.Gear.wow[2].getValue() == 1) {
|
||||
# if (pts.Sim.Input.Selected.engine[0].getBoolValue()) {
|
||||
# interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4);
|
||||
# pts.Controls.Engines.Engine.reverseCmd[0].setValue(1);
|
||||
# pts.Controls.Engines.Engine.reverseLever[0].setValue(0.65);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverseCmdAngle[0].setValue(3.14);
|
||||
# }
|
||||
# if (pts.Sim.Input.Selected.engine[1].getBoolValue()) {
|
||||
# interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4);
|
||||
# pts.Controls.Engines.Engine.reverseCmd[1].setValue(1);
|
||||
# pts.Controls.Engines.Engine.reverseLever[1].setValue(0.65);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverseCmdAngle[1].setValue(3.14);
|
||||
# }
|
||||
#} else if (pts.Controls.Engines.Engine.reverseCmd[0].getValue() == 1 or pts.Controls.Engines.Engine.reverseCmd[1].getValue() == 1) {
|
||||
# interpolate("/engines/engine[0]/reverser-pos-norm", 0, 1.0);
|
||||
# interpolate("/engines/engine[1]/reverser-pos-norm", 0, 1.0);
|
||||
# pts.Controls.Engines.Engine.reverseLever[0].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverseLever[1].setValue(0);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverseCmdAngle[0].setValue(0);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverseCmdAngle[1].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverseCmd[0].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverseCmd[1].setValue(0);
|
||||
#}
|
||||
}
|
||||
|
||||
var doRevThrust = func {
|
||||
#if (pts.Gear.wow[1].getValue() != 1 and pts.Gear.wow[2].getValue() != 1) {
|
||||
# # Can't select reverse if not on the ground
|
||||
# return;
|
||||
#}
|
||||
#if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Controls.Engines.Engine.reverseCmd[0].getValue() == 1) {
|
||||
# var pos = pts.Controls.Engines.Engine.reverseLever[0].getValue();
|
||||
# if (pos < 0.649) {
|
||||
# pts.Controls.Engines.Engine.reverseLever[0].setValue(pos + 0.15);
|
||||
# }
|
||||
#}
|
||||
#if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Controls.Engines.Engine.reverseCmd[1].getValue() == 1) {
|
||||
# var pos = pts.Controls.Engines.Engine.reverseLever[1].getValue();
|
||||
# if (pos < 0.649) {
|
||||
# pts.Controls.Engines.Engine.reverseLever[1].setValue(pos + 0.15);
|
||||
# }
|
||||
#}
|
||||
#
|
||||
#if (pts.Sim.Input.Selected.engine[0].getBoolValue() and systems.FADEC.detentText[0].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverseCmd[0].getValue() == 0) {
|
||||
# interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4);
|
||||
# pts.Controls.Engines.Engine.reverseLever[0].setValue(0.05);
|
||||
# pts.Controls.Engines.Engine.reverseCmd[0].setValue(1);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverseCmdAngle[0].setValue(3.14);
|
||||
#}
|
||||
#if (pts.Sim.Input.Selected.engine[1].getBoolValue() and systems.FADEC.detentText[1].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverseCmd[1].getValue() == 0) {
|
||||
# interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4);
|
||||
# pts.Controls.Engines.Engine.reverseLever[1].setValue(0.05);
|
||||
# pts.Controls.Engines.Engine.reverseCmd[1].setValue(1);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverseCmdAngle[1].setValue(3.14);
|
||||
#}
|
||||
}
|
||||
|
||||
var unRevThrust = func {
|
||||
#if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Controls.Engines.Engine.reverseCmd[0].getValue() == 1) {
|
||||
# var pos = pts.Controls.Engines.Engine.reverseLever[0].getValue();
|
||||
# if (pos > 0.051) {
|
||||
# pts.Controls.Engines.Engine.reverseLever[0].setValue(pos - 0.15);
|
||||
# } else {
|
||||
# interpolate("/engines/engine[0]/reverser-pos-norm", 0, 1.0);
|
||||
# pts.Controls.Engines.Engine.reverseLever[0].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverseCmd[0].setValue(0);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverseCmdAngle[0].setValue(0);
|
||||
# }
|
||||
#}
|
||||
#if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Controls.Engines.Engine.reverseCmd[1].getValue() == 1) {
|
||||
# var pos = pts.Controls.Engines.Engine.reverseLever[1].getValue();
|
||||
# if (pos > 0.051) {
|
||||
# pts.Controls.Engines.Engine.reverseLever[1].setValue(pos - 0.15);
|
||||
# } else {
|
||||
# interpolate("/engines/engine[1]/reverser-pos-norm", 0, 1.0);
|
||||
# pts.Controls.Engines.Engine.reverseLever[1].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverseCmd[1].setValue(0);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverseCmdAngle[1].setValue(0);
|
||||
# }
|
||||
#}
|
||||
}
|
|
@ -1,139 +0,0 @@
|
|||
# A3XX Engine Control
|
||||
# Joshua Davidson (Octal450)
|
||||
|
||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
||||
|
||||
var manStart = [props.globals.initNode("/controls/engines/engine[0]/man-start", 0, "BOOL"),props.globals.initNode("/controls/engines/engine[1]/man-start", 0, "BOOL")];
|
||||
var lastIgniter = [props.globals.getNode("/controls/engines/engine[0]/last-igniter"),props.globals.initNode("/controls/engines/engine[1]/last-igniter")];
|
||||
var igniterA = [props.globals.initNode("/controls/engines/engine[0]/igniter-a", 0, "BOOL"),props.globals.initNode("/controls/engines/engine[1]/igniter-a", 0, "BOOL")];
|
||||
var igniterB = [props.globals.initNode("/controls/engines/engine[0]/igniter-b", 0, "BOOL"),props.globals.initNode("/controls/engines/engine[1]/igniter-b", 0, "BOOL")];
|
||||
|
||||
if (pts.Options.eng.getValue() == "IAE") {
|
||||
io.include("engines-iae.nas");
|
||||
} else {
|
||||
io.include("engines-cfm.nas");
|
||||
}
|
||||
|
||||
var eng_common_init = func {
|
||||
manStart[0].setValue(0);
|
||||
manStart[1].setValue(0);
|
||||
}
|
||||
|
||||
# Engine thrust commands
|
||||
var doIdleThrust = func {
|
||||
# Idle does not respect selected engines, because it is used to respond
|
||||
# to "Retard" and both engines must be idle for spoilers to deploy
|
||||
pts.Controls.Engines.Engine.throttle[0].setValue(0.0);
|
||||
pts.Controls.Engines.Engine.throttle[1].setValue(0.0);
|
||||
}
|
||||
|
||||
var doCLThrust = func {
|
||||
if (pts.Sim.Input.Selected.engine[0].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[0].setValue(0.63);
|
||||
}
|
||||
if (pts.Sim.Input.Selected.engine[1].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[1].setValue(0.63);
|
||||
}
|
||||
}
|
||||
|
||||
var doMCTThrust = func {
|
||||
if (pts.Sim.Input.Selected.engine[0].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[0].setValue(0.80);
|
||||
}
|
||||
if (pts.Sim.Input.Selected.engine[1].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[1].setValue(0.80);
|
||||
}
|
||||
}
|
||||
|
||||
var doTOGAThrust = func {
|
||||
if (pts.Sim.Input.Selected.engine[0].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[0].setValue(1.00);
|
||||
}
|
||||
if (pts.Sim.Input.Selected.engine[1].getBoolValue()) {
|
||||
pts.Controls.Engines.Engine.throttle[1].setValue(1.00);
|
||||
}
|
||||
}
|
||||
|
||||
# Reverse Thrust System - TODO: Totally f*cked! Redo the whole d*mn thing!
|
||||
var toggleFastRevThrust = func {
|
||||
#if (pts.Systems.Thrust.state[0].getValue() == "IDLE" and pts.Systems.Thrust.state[1].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[0].getValue() == 0 and pts.Controls.Engines.Engine.reverser[1].getValue() == 0 and pts.Gear.wow[1].getValue() == 1 and pts.Gear.wow[2].getValue() == 1) {
|
||||
# if (pts.Sim.Input.Selected.engine[0].getBoolValue()) {
|
||||
# interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4);
|
||||
# pts.Controls.Engines.Engine.reverser[0].setValue(1);
|
||||
# pts.Controls.Engines.Engine.throttleRev[0].setValue(0.65);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(3.14);
|
||||
# }
|
||||
# if (pts.Sim.Input.Selected.engine[1].getBoolValue()) {
|
||||
# interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4);
|
||||
# pts.Controls.Engines.Engine.reverser[1].setValue(1);
|
||||
# pts.Controls.Engines.Engine.throttleRev[1].setValue(0.65);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(3.14);
|
||||
# }
|
||||
#} else if (pts.Controls.Engines.Engine.reverser[0].getValue() == 1 or pts.Controls.Engines.Engine.reverser[1].getValue() == 1) {
|
||||
# interpolate("/engines/engine[0]/reverser-pos-norm", 0, 1.0);
|
||||
# interpolate("/engines/engine[1]/reverser-pos-norm", 0, 1.0);
|
||||
# pts.Controls.Engines.Engine.throttleRev[0].setValue(0);
|
||||
# pts.Controls.Engines.Engine.throttleRev[1].setValue(0);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(0);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverser[0].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverser[1].setValue(0);
|
||||
#}
|
||||
}
|
||||
|
||||
var doRevThrust = func {
|
||||
#if (pts.Gear.wow[1].getValue() != 1 and pts.Gear.wow[2].getValue() != 1) {
|
||||
# # Can't select reverse if not on the ground
|
||||
# return;
|
||||
#}
|
||||
#if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Controls.Engines.Engine.reverser[0].getValue() == 1) {
|
||||
# var pos = pts.Controls.Engines.Engine.throttleRev[0].getValue();
|
||||
# if (pos < 0.649) {
|
||||
# pts.Controls.Engines.Engine.throttleRev[0].setValue(pos + 0.15);
|
||||
# }
|
||||
#}
|
||||
#if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Controls.Engines.Engine.reverser[1].getValue() == 1) {
|
||||
# var pos = pts.Controls.Engines.Engine.throttleRev[1].getValue();
|
||||
# if (pos < 0.649) {
|
||||
# pts.Controls.Engines.Engine.throttleRev[1].setValue(pos + 0.15);
|
||||
# }
|
||||
#}
|
||||
#
|
||||
#if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Systems.Thrust.state[0].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[0].getValue() == 0) {
|
||||
# interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4);
|
||||
# pts.Controls.Engines.Engine.throttleRev[0].setValue(0.05);
|
||||
# pts.Controls.Engines.Engine.reverser[0].setValue(1);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(3.14);
|
||||
#}
|
||||
#if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Systems.Thrust.state[1].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[1].getValue() == 0) {
|
||||
# interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4);
|
||||
# pts.Controls.Engines.Engine.throttleRev[1].setValue(0.05);
|
||||
# pts.Controls.Engines.Engine.reverser[1].setValue(1);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(3.14);
|
||||
#}
|
||||
}
|
||||
|
||||
var unRevThrust = func {
|
||||
#if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Controls.Engines.Engine.reverser[0].getValue() == 1) {
|
||||
# var pos = pts.Controls.Engines.Engine.throttleRev[0].getValue();
|
||||
# if (pos > 0.051) {
|
||||
# pts.Controls.Engines.Engine.throttleRev[0].setValue(pos - 0.15);
|
||||
# } else {
|
||||
# interpolate("/engines/engine[0]/reverser-pos-norm", 0, 1.0);
|
||||
# pts.Controls.Engines.Engine.throttleRev[0].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverser[0].setValue(0);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(0);
|
||||
# }
|
||||
#}
|
||||
#if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Controls.Engines.Engine.reverser[1].getValue() == 1) {
|
||||
# var pos = pts.Controls.Engines.Engine.throttleRev[1].getValue();
|
||||
# if (pos > 0.051) {
|
||||
# pts.Controls.Engines.Engine.throttleRev[1].setValue(pos - 0.15);
|
||||
# } else {
|
||||
# interpolate("/engines/engine[1]/reverser-pos-norm", 0, 1.0);
|
||||
# pts.Controls.Engines.Engine.throttleRev[1].setValue(0);
|
||||
# pts.Controls.Engines.Engine.reverser[1].setValue(0);
|
||||
# pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(0);
|
||||
# }
|
||||
#}
|
||||
}
|
|
@ -1,439 +0,0 @@
|
|||
# A3XX FADEC/Throttle Control System
|
||||
# NOTE: Needs to be redone totally - so I will be breaking this file during the development of the new one
|
||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
||||
|
||||
if (getprop("options/eng") == "IAE") {
|
||||
io.include("fadec-iae.nas");
|
||||
} else {
|
||||
io.include("fadec-cfm.nas");
|
||||
}
|
||||
|
||||
var thr1 = 0;
|
||||
var thr2 = 0;
|
||||
var state1 = 0;
|
||||
var state2 = 0;
|
||||
var engstate1 = 0;
|
||||
var engstate2 = 0;
|
||||
var eprtoga = 0;
|
||||
var eprmct = 0;
|
||||
var eprflx = 0;
|
||||
var eprclb = 0;
|
||||
var n1toga = 0;
|
||||
var n1mct = 0;
|
||||
var n1flx = 0;
|
||||
var n1clb = 0;
|
||||
var alpha = 0;
|
||||
var flaps = 0;
|
||||
var alphaProt = 0;
|
||||
var togaLock = 0;
|
||||
var gs = 0;
|
||||
setprop("/systems/thrust/epr/toga-lim", 0.0);
|
||||
setprop("/systems/thrust/epr/mct-lim", 0.0);
|
||||
setprop("/systems/thrust/epr/flx-lim", 0.0);
|
||||
setprop("/systems/thrust/epr/clb-lim", 0.0);
|
||||
setprop("/systems/thrust/n1/toga-lim", 0.0);
|
||||
setprop("/systems/thrust/n1/mct-lim", 0.0);
|
||||
setprop("/systems/thrust/n1/flx-lim", 0.0);
|
||||
setprop("/systems/thrust/n1/clb-lim", 0.0);
|
||||
setprop("/systems/thrust/toga-lim", 0.0);
|
||||
setprop("/systems/thrust/mct-lim", 0.0);
|
||||
setprop("/systems/thrust/clb-lim", 0.0);
|
||||
setprop("/engines/flex-derate", 0);
|
||||
setprop("/engines/flx-thr", 0.0);
|
||||
|
||||
setlistener("/sim/signals/fdm-initialized", func {
|
||||
thrust_loop.start();
|
||||
thrust_flash.start();
|
||||
});
|
||||
|
||||
var Fadec = {
|
||||
n1Mode: [props.globals.getNode("/systems/fadec/n1mode1"), props.globals.getNode("/systems/fadec/n1mode2")],
|
||||
};
|
||||
|
||||
var Thrust = {
|
||||
alphaFloor: props.globals.getNode("/systems/thrust/alpha-floor"),
|
||||
clbReduc: props.globals.getNode("/systems/thrust/clbreduc-ft"),
|
||||
eprLimit: props.globals.getNode("/controls/engines/epr-limit"),
|
||||
n1Limit: props.globals.getNode("/controls/engines/n1-limit"),
|
||||
limFlex: props.globals.getNode("/systems/thrust/lim-flex"),
|
||||
lvrClb: props.globals.getNode("/systems/thrust/lvrclb"),
|
||||
togaLk: props.globals.getNode("/systems/thrust/toga-lk"),
|
||||
thrustLimit: props.globals.getNode("/controls/engines/thrust-limit"),
|
||||
Lock: {
|
||||
thrLockAlert: props.globals.getNode("/systems/thrust/thr-locked-alert"),
|
||||
thrLockCmd: props.globals.getNode("/systems/thrust/thr-locked"),
|
||||
thrLockCmdN1: [props.globals.getNode("/systems/thrust/thr-lock-cmd[0]"), props.globals.getNode("/systems/thrust/thr-lock-cmd[1]")],
|
||||
thrLockFlash: props.globals.getNode("/systems/thrust/thr-locked-flash"),
|
||||
thrLockTime: props.globals.getNode("/systems/thrust/thr-locked-time"),
|
||||
},
|
||||
};
|
||||
|
||||
setlistener("/controls/engines/engine[0]/throttle-pos", func {
|
||||
engstate1 = pts.Engines.Engine.state[0].getValue();
|
||||
engstate2 = pts.Engines.Engine.state[1].getValue();
|
||||
thr1 = pts.Controls.Engines.Engine.throttlePos[0].getValue();
|
||||
if (!Thrust.alphaFloor.getValue() and !Thrust.togaLk.getValue()) {
|
||||
if (thr1 < 0.01) {
|
||||
pts.Systems.Thrust.state[0].setValue("IDLE");
|
||||
unflex();
|
||||
atoff_request();
|
||||
} else if (thr1 >= 0.01 and thr1 < 0.60) {
|
||||
pts.Systems.Thrust.state[0].setValue("MAN");
|
||||
unflex();
|
||||
} else if (thr1 >= 0.60 and thr1 < 0.65) {
|
||||
pts.Systems.Thrust.state[0].setValue("CL");
|
||||
unflex();
|
||||
} else if (thr1 >= 0.65 and thr1 < 0.78) {
|
||||
pts.Systems.Thrust.state[0].setValue("MAN THR");
|
||||
unflex();
|
||||
} else if (thr1 >= 0.78 and thr1 < 0.83) {
|
||||
if (pts.Systems.Thrust.engOut.getValue() != 1) {
|
||||
if (Thrust.thrustLimit.getValue() == "FLX") {
|
||||
if (pts.Gear.wow[0].getValue() and (engstate1 == 3 or engstate2 == 3)) {
|
||||
fmgc.Input.athr.setValue(1);
|
||||
}
|
||||
} else {
|
||||
}
|
||||
}
|
||||
pts.Systems.Thrust.state[0].setValue("MCT");
|
||||
} else if (thr1 >= 0.83 and thr1 < 0.95) {
|
||||
pts.Systems.Thrust.state[0].setValue("MAN THR");
|
||||
unflex();
|
||||
} else if (thr1 >= 0.95) {
|
||||
if (pts.Gear.wow[0].getValue() and (engstate1 == 3 or engstate2 == 3)) {
|
||||
fmgc.Input.athr.setValue(1);
|
||||
}
|
||||
pts.Systems.Thrust.state[0].setValue("TOGA");
|
||||
unflex();
|
||||
}
|
||||
} else {
|
||||
if (thr1 < 0.01) {
|
||||
pts.Systems.Thrust.state[0].setValue("IDLE");
|
||||
} else if (thr1 >= 0.01 and thr1 < 0.60) {
|
||||
pts.Systems.Thrust.state[0].setValue("MAN");
|
||||
} else if (thr1 >= 0.60 and thr1 < 0.65) {
|
||||
pts.Systems.Thrust.state[0].setValue("CL");
|
||||
} else if (thr1 >= 0.65 and thr1 < 0.78) {
|
||||
pts.Systems.Thrust.state[0].setValue("MAN THR");
|
||||
} else if (thr1 >= 0.78 and thr1 < 0.83) {
|
||||
pts.Systems.Thrust.state[0].setValue("MCT");
|
||||
} else if (thr1 >= 0.83 and thr1 < 0.95) {
|
||||
pts.Systems.Thrust.state[0].setValue("MAN THR");
|
||||
} else if (thr1 >= 0.95) {
|
||||
pts.Systems.Thrust.state[0].setValue("TOGA");
|
||||
}
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
setlistener("/controls/engines/engine[1]/throttle-pos", func {
|
||||
engstate1 = pts.Engines.Engine.state[0].getValue();
|
||||
engstate2 = pts.Engines.Engine.state[1].getValue();
|
||||
thr2 = pts.Controls.Engines.Engine.throttlePos[1].getValue();
|
||||
if (!Thrust.alphaFloor.getValue() and !Thrust.togaLk.getValue()) {
|
||||
if (thr2 < 0.01) {
|
||||
pts.Systems.Thrust.state[1].setValue("IDLE");
|
||||
unflex();
|
||||
atoff_request();
|
||||
} else if (thr2 >= 0.01 and thr2 < 0.60) {
|
||||
pts.Systems.Thrust.state[1].setValue("MAN");
|
||||
unflex();
|
||||
} else if (thr2 >= 0.60 and thr2 < 0.65) {
|
||||
pts.Systems.Thrust.state[1].setValue("CL");
|
||||
unflex();
|
||||
} else if (thr2 >= 0.65 and thr2 < 0.78) {
|
||||
pts.Systems.Thrust.state[1].setValue("MAN THR");
|
||||
unflex();
|
||||
} else if (thr2 >= 0.78 and thr2 < 0.83) {
|
||||
if (pts.Systems.Thrust.engOut.getValue() != 1) {
|
||||
if (Thrust.thrustLimit.getValue() == "FLX") {
|
||||
if (pts.Gear.wow[0].getValue() and (engstate1 == 3 or engstate2 == 3)) {
|
||||
fmgc.Input.athr.setValue(1);
|
||||
}
|
||||
} else {
|
||||
}
|
||||
}
|
||||
pts.Systems.Thrust.state[1].setValue("MCT");
|
||||
} else if (thr2 >= 0.83 and thr2 < 0.95) {
|
||||
pts.Systems.Thrust.state[1].setValue("MAN THR");
|
||||
unflex();
|
||||
} else if (thr2 >= 0.95) {
|
||||
if (pts.Gear.wow[0].getValue() and (engstate1 == 3 or engstate2 == 3)) {
|
||||
fmgc.Input.athr.setValue(1);
|
||||
}
|
||||
pts.Systems.Thrust.state[1].setValue("TOGA");
|
||||
unflex();
|
||||
}
|
||||
} else {
|
||||
if (thr2 < 0.01) {
|
||||
pts.Systems.Thrust.state[1].setValue("IDLE");
|
||||
} else if (thr2 >= 0.01 and thr2 < 0.60) {
|
||||
pts.Systems.Thrust.state[1].setValue("MAN");
|
||||
} else if (thr2 >= 0.60 and thr2 < 0.65) {
|
||||
pts.Systems.Thrust.state[1].setValue("CL");
|
||||
} else if (thr2 >= 0.65 and thr2 < 0.78) {
|
||||
pts.Systems.Thrust.state[1].setValue("MAN THR");
|
||||
} else if (thr2 >= 0.78 and thr2 < 0.83) {
|
||||
pts.Systems.Thrust.state[1].setValue("MCT");
|
||||
} else if (thr2 >= 0.83 and thr2 < 0.95) {
|
||||
pts.Systems.Thrust.state[1].setValue("MAN THR");
|
||||
} else if (thr2 >= 0.95) {
|
||||
pts.Systems.Thrust.state[1].setValue("TOGA");
|
||||
}
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
# Alpha Floor and Toga Lock
|
||||
setlistener("/it-autoflight/input/athr", func {
|
||||
if (Thrust.alphaFloor.getValue()) {
|
||||
fmgc.Input.athr.setValue(1);
|
||||
} else {
|
||||
Thrust.togaLk.setValue(0);
|
||||
}
|
||||
});
|
||||
|
||||
# Checks if all throttles are in the IDLE position, before tuning off the A/THR.
|
||||
var atoff_request = func {
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
if (state1 == "IDLE" and state2 == "IDLE" and !Thrust.alphaFloor.getValue() and !Thrust.togaLk.getValue()) {
|
||||
if (fmgc.Input.athr.getValue() and pts.Position.gearAglFt.getValue() > 50) {
|
||||
fcu.athrOff("soft");
|
||||
} elsif (pts.Position.gearAglFt.getValue() < 50) {
|
||||
fcu.athrOff("none");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var thrust_loop = maketimer(0.04, func {
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
engstate1 = pts.Engines.Engine.state[0].getValue();
|
||||
engstate2 = pts.Engines.Engine.state[1].getValue();
|
||||
thr1 = pts.Controls.Engines.Engine.throttlePos[0].getValue();
|
||||
thr2 = pts.Controls.Engines.Engine.throttlePos[1].getValue();
|
||||
eprtoga = getprop("/systems/thrust/epr/toga-lim");
|
||||
eprmct = getprop("/systems/thrust/epr/mct-lim");
|
||||
eprflx = getprop("/systems/thrust/epr/flx-lim");
|
||||
eprclb = getprop("/systems/thrust/epr/clb-lim");
|
||||
n1toga = getprop("/systems/thrust/n1/toga-lim");
|
||||
n1mct = getprop("/systems/thrust/n1/mct-lim");
|
||||
n1flx = getprop("/systems/thrust/n1/flx-lim");
|
||||
n1clb = getprop("/systems/thrust/n1/clb-lim");
|
||||
gs = pts.Velocities.groundspeed.getValue();
|
||||
if (fmgc.FMGCNodes.flexSet.getValue() and !Fadec.n1Mode[0].getValue() and !Fadec.n1Mode[1].getValue() and pts.Gear.wow[1].getValue() and pts.Gear.wow[2].getValue() and gs < 40) {
|
||||
Thrust.limFlex.setValue(1);
|
||||
} else if (!fmgc.FMGCNodes.flexSet.getValue() or engstate1 != 3 or engstate2 != 3) {
|
||||
Thrust.limFlex.setValue(0);
|
||||
}
|
||||
if (pts.Controls.Engines.Engine.reverser[0].getValue() or pts.Controls.Engines.Engine.reverser[1].getValue()) {
|
||||
Thrust.thrustLimit.setValue("MREV");
|
||||
Thrust.eprLimit.setValue(1.0);
|
||||
Thrust.n1Limit.setValue(0.0);
|
||||
} else if (!pts.Gear.wow[1].getValue() or !pts.Gear.wow[2].getValue() 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 Thrust.alphaFloor.getValue() or Thrust.togaLk.getValue()) {
|
||||
Thrust.thrustLimit.setValue("TOGA");
|
||||
Thrust.eprLimit.setValue(eprtoga);
|
||||
Thrust.n1Limit.setValue(n1toga);
|
||||
} else if ((state1 == "MCT" or state2 == "MCT" or (state1 == "MAN THR" and thr1 < 0.83) or (state2 == "MAN THR" and thr2 < 0.83)) and !Thrust.limFlex.getValue()) {
|
||||
Thrust.thrustLimit.setValue("MCT");
|
||||
Thrust.eprLimit.setValue(eprmct);
|
||||
Thrust.n1Limit.setValue(n1mct);
|
||||
} else if ((state1 == "MCT" or state2 == "MCT" or (state1 == "MAN THR" and thr1 < 0.83) or (state2 == "MAN THR" and thr2 < 0.83)) and Thrust.limFlex.getValue()) {
|
||||
Thrust.thrustLimit.setValue("FLX");
|
||||
Thrust.eprLimit.setValue(eprflx);
|
||||
Thrust.n1Limit.setValue(n1flx);
|
||||
} else if (state1 == "CL" or state2 == "CL" or state1 == "MAN" or state2 == "MAN" or state1 == "IDLE" or state2 == "IDLE") {
|
||||
Thrust.thrustLimit.setValue("CLB");
|
||||
Thrust.eprLimit.setValue(eprclb);
|
||||
Thrust.n1Limit.setValue(n1clb);
|
||||
}
|
||||
} else if (fmgc.FMGCNodes.flexSet.getValue() and !Fadec.n1Mode[0].getValue() and !Fadec.n1Mode[1].getValue()) {
|
||||
if ((state1 == "TOGA" or state2 == "TOGA" or (state1 == "MAN THR" and thr1 >= 0.83) or (state2 == "MAN THR" and thr2 >= 0.83)) or Thrust.alphaFloor.getValue() or Thrust.togaLk.getValue()) {
|
||||
Thrust.thrustLimit.setValue("TOGA");
|
||||
Thrust.eprLimit.setValue(eprtoga);
|
||||
Thrust.n1Limit.setValue(n1toga);
|
||||
} else {
|
||||
Thrust.thrustLimit.setValue("FLX");
|
||||
Thrust.eprLimit.setValue(eprflx);
|
||||
Thrust.n1Limit.setValue(n1flx);
|
||||
}
|
||||
} else {
|
||||
Thrust.thrustLimit.setValue("TOGA");
|
||||
Thrust.eprLimit.setValue(eprtoga);
|
||||
Thrust.n1Limit.setValue(n1toga);
|
||||
}
|
||||
|
||||
alpha = pts.Fdm.JSBsim.Aero.alphaNorm.getValue();
|
||||
flaps = pts.Controls.Flight.flapsPos.getValue();
|
||||
if (flaps == 0) {
|
||||
alphaProt = 9.5;
|
||||
} else if (flaps == 1 or flaps == 2 or flaps == 3) {
|
||||
alphaProt = 15.0;
|
||||
} else if (flaps == 4) {
|
||||
alphaProt = 14.0;
|
||||
} else if (flaps == 5) {
|
||||
alphaProt = 13.0;
|
||||
}
|
||||
|
||||
togaLock = alphaProt - 1;
|
||||
if (!pts.Gear.wow[1].getValue() and !pts.Gear.wow[2].getValue() and fbw.FBW.activeLaw.getValue() == 0 and (!pts.Systems.Thrust.engOut.getValue() or (pts.Systems.Thrust.engOut.getValue() and flaps == 0)) and !Fadec.n1Mode[0].getValue()
|
||||
and !Fadec.n1Mode[1].getValue()) {
|
||||
if (alpha > alphaProt and pts.Position.gearAglFt.getValue() >= 100) {
|
||||
Thrust.alphaFloor.setValue(1);
|
||||
Thrust.togaLk.setValue(0);
|
||||
fmgc.Input.athr.setValue(1);
|
||||
} else if (Thrust.alphaFloor.getValue() and alpha < togaLock) {
|
||||
fmgc.Input.athr.setValue(1);
|
||||
Thrust.alphaFloor.setValue(0);
|
||||
Thrust.togaLk.setValue(1);
|
||||
}
|
||||
} else {
|
||||
Thrust.alphaFloor.setValue(0);
|
||||
Thrust.togaLk.setValue(0);
|
||||
}
|
||||
});
|
||||
|
||||
var unflex = func {
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
if (state1 != "MCT" and state2 != "MCT" and !pts.Gear.wow[1].getValue() and !pts.Gear.wow[2].getValue()) {
|
||||
Thrust.limFlex.setValue(0);
|
||||
}
|
||||
}
|
||||
|
||||
var thrust_flash = maketimer(0.5, func {
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
|
||||
if (!pts.Gear.wow[1].getValue() and !pts.Gear.wow[2].getValue() and (pts.Engines.Engine.state[0].getValue() != 3 or pts.Engines.Engine.state[1].getValue() != 3)) {
|
||||
pts.Systems.Thrust.engOut.setValue(1)
|
||||
} else {
|
||||
pts.Systems.Thrust.engOut.setValue(0)
|
||||
}
|
||||
|
||||
if (state1 == "CL" and state2 == "CL" and pts.Systems.Thrust.engOut.getValue() != 1) {
|
||||
Thrust.lvrClb.setValue(0);
|
||||
} else if (state1 == "MCT" and state2 == "MCT" and !Thrust.limFlex.getValue() and pts.Systems.Thrust.engOut.getValue()) {
|
||||
Thrust.lvrClb.setValue(0);
|
||||
} else {
|
||||
var status = Thrust.lvrClb.getValue();
|
||||
if (status == 0) {
|
||||
if (!pts.Gear.wow[0].getValue()) {
|
||||
if (pts.Systems.Thrust.state[0].getValue() == "MAN" or pts.Systems.Thrust.state[1].getValue() == "MAN") {
|
||||
Thrust.lvrClb.setValue(1);
|
||||
} else {
|
||||
if (pts.Instrumentation.Altimeter.indicatedFt.getValue() >= Thrust.clbReduc.getValue() and !pts.Gear.wow[1].getValue() and !pts.Gear.wow[2].getValue()) {
|
||||
Thrust.lvrClb.setValue(1);
|
||||
} else if ((state1 == "CL" and state2 != "CL") or (state1 != "CL" and state2 == "CL") and pts.Systems.Thrust.engOut.getValue() != 1) {
|
||||
Thrust.lvrClb.setValue(1);
|
||||
} else {
|
||||
Thrust.lvrClb.setValue(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (status == 1) {
|
||||
Thrust.lvrClb.setValue(0);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var lockThr = func() {
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
if ((state1 == "CL" and state2 == "CL" and !pts.Systems.Thrust.engOut.getValue()) or (state1 == "MCT" and state2 == "MCT" and pts.Systems.Thrust.engOut.getValue())) {
|
||||
Thrust.Lock.thrLockTime.setValue(pts.Sim.Time.elapsedSec.getValue());
|
||||
Thrust.Lock.thrLockCmd.setValue(1);
|
||||
lockTimer.start();
|
||||
}
|
||||
}
|
||||
|
||||
var checkLockThr = func() {
|
||||
if (Thrust.Lock.thrLockTime.getValue() + 5 > pts.Sim.Time.elapsedSec.getValue()) { return; }
|
||||
|
||||
if (fmgc.Output.athr.getBoolValue()) {
|
||||
lockTimer.stop();
|
||||
Thrust.Lock.thrLockCmd.setValue(0);
|
||||
Thrust.Lock.thrLockAlert.setValue(0);
|
||||
Thrust.Lock.thrLockTime.setValue(0);
|
||||
Thrust.Lock.thrLockFlash.setValue(0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Thrust.Lock.thrLockCmd.getValue()) {
|
||||
lockTimer.stop();
|
||||
Thrust.Lock.thrLockCmd.setValue(0);
|
||||
Thrust.Lock.thrLockAlert.setValue(0);
|
||||
Thrust.Lock.thrLockTime.setValue(0);
|
||||
Thrust.Lock.thrLockFlash.setValue(0);
|
||||
return;
|
||||
}
|
||||
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
|
||||
if ((state1 != "CL" and state2 != "CL" and !pts.Systems.Thrust.engOut.getValue()) or (state1 != "MCT" and state2 != "MCT" and pts.Systems.Thrust.engOut.getValue())) {
|
||||
lockTimer.stop();
|
||||
Thrust.Lock.thrLockCmd.setValue(0);
|
||||
Thrust.Lock.thrLockAlert.setValue(0);
|
||||
Thrust.Lock.thrLockTime.setValue(0);
|
||||
Thrust.Lock.thrLockFlash.setValue(0);
|
||||
} elsif ((state1 == "CL" and state2 == "CL" and !pts.Systems.Thrust.engOut.getValue()) or (state1 == "MCT" and state2 == "MCT" and pts.Systems.Thrust.engOut.getValue())) {
|
||||
Thrust.Lock.thrLockAlert.setValue(1);
|
||||
Thrust.Lock.thrLockTime.setValue(pts.Sim.Time.elapsedSec.getValue());
|
||||
Thrust.Lock.thrLockFlash.setValue(1);
|
||||
lockTimer.stop();
|
||||
lockTimer2.start();
|
||||
}
|
||||
}
|
||||
|
||||
var checkLockThr2 = func() {
|
||||
if (fmgc.Output.athr.getBoolValue()) {
|
||||
lockTimer2.stop();
|
||||
Thrust.Lock.thrLockCmd.setValue(0);
|
||||
Thrust.Lock.thrLockAlert.setValue(0);
|
||||
Thrust.Lock.thrLockTime.setValue(0);
|
||||
Thrust.Lock.thrLockFlash.setValue(0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Thrust.Lock.thrLockCmd.getValue()) {
|
||||
lockTimer2.stop();
|
||||
Thrust.Lock.thrLockCmd.setValue(0);
|
||||
Thrust.Lock.thrLockAlert.setValue(0);
|
||||
Thrust.Lock.thrLockTime.setValue(0);
|
||||
Thrust.Lock.thrLockFlash.setValue(0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Thrust.Lock.thrLockTime.getValue() + 5 < pts.Sim.Time.elapsedSec.getValue()) {
|
||||
Thrust.Lock.thrLockFlash.setValue(0);
|
||||
settimer(func() {
|
||||
Thrust.Lock.thrLockFlash.setValue(1);
|
||||
Thrust.Lock.thrLockTime.setValue(pts.Sim.Time.elapsedSec.getValue());
|
||||
ecam.athr_lock.noRepeat = 0;
|
||||
ecam.athr_lock.noRepeat2 = 0;
|
||||
}, 0.2);
|
||||
}
|
||||
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
|
||||
|
||||
if ((state1 != "CL" and state2 != "CL" and !pts.Systems.Thrust.engOut.getValue()) or (state1 != "MCT" and state2 != "MCT" and pts.Systems.Thrust.engOut.getValue())) {
|
||||
lockTimer2.stop();
|
||||
Thrust.Lock.thrLockCmd.setValue(0);
|
||||
Thrust.Lock.thrLockAlert.setValue(0);
|
||||
Thrust.Lock.thrLockFlash.setValue(0);
|
||||
Thrust.Lock.thrLockTime.setValue(0);
|
||||
}
|
||||
}
|
||||
|
||||
setlistener("/systems/thrust/thr-locked", func {
|
||||
if (Thrust.Lock.thrLockCmd.getValue()) {
|
||||
Thrust.Lock.thrLockCmdN1[0].setValue(pts.Controls.Engines.Engine.throttleOutput[0].getValue());
|
||||
Thrust.Lock.thrLockCmdN1[1].setValue(pts.Controls.Engines.Engine.throttleOutput[1].getValue());
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
var lockTimer = maketimer(0.1, checkLockThr);
|
||||
var lockTimer2 = maketimer(0.1, checkLockThr2);
|
|
@ -1,5 +1,4 @@
|
|||
# A3XX CFM FADEC by Joshua Davidson (Octal450)
|
||||
|
||||
# A3XX CFM FADEC
|
||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
||||
|
||||
var powerAvailTemp = nil;
|
||||
|
@ -16,7 +15,7 @@ var N12 = nil;
|
|||
var N21 = nil;
|
||||
var N22 = nil;
|
||||
|
||||
var FADEC = {
|
||||
var FADEC_S = {
|
||||
Power: {
|
||||
powered1: props.globals.initNode("/systems/fadec/powered1", 0, "BOOL"),
|
||||
powered2: props.globals.initNode("/systems/fadec/powered2", 0, "BOOL"),
|
||||
|
@ -49,8 +48,8 @@ var FADEC = {
|
|||
n1ModeSwitch2: props.globals.initNode("/controls/fadec/n1mode2", 0, "BOOL"),
|
||||
},
|
||||
Modes: {
|
||||
n1Mode1: props.globals.initNode("/systems/fadec/n1mode1", 0, "BOOL"), # 0 == EPR, 1 == N1 Rated, 2 == N1 Unrated #
|
||||
n1Mode2: props.globals.initNode("/systems/fadec/n1mode2", 0, "BOOL"),
|
||||
n1Mode1: props.globals.initNode("/fdm/jsbsim/fadec/control-1/n1-mode", 0, "BOOL"), # 0 == EPR, 1 == N1 Rated, 2 == N1 Unrated #
|
||||
n1Mode2: props.globals.initNode("/fdm/jsbsim/fadec/control-2/n1-mode", 0, "BOOL"),
|
||||
},
|
||||
init: func() {
|
||||
me.Power.poweredTime.setValue(-300);
|
155
Nasal/Systems/fadec-common.nas
Normal file
155
Nasal/Systems/fadec-common.nas
Normal file
|
@ -0,0 +1,155 @@
|
|||
# A3XX FADEC/Throttle Control System
|
||||
# Copyright (c) 2021 Josh Davidson (Octal450)
|
||||
|
||||
if (pts.Options.eng.getValue() == "IAE") {
|
||||
io.include("fadec-iae.nas");
|
||||
} else {
|
||||
io.include("fadec-cfm.nas");
|
||||
}
|
||||
|
||||
var FADEC = {
|
||||
alphaFloor: props.globals.getNode("/fdm/jsbsim/fadec/alpha-floor"),
|
||||
clbReduc: props.globals.getNode("/fdm/jsbsim/fadec/clbreduc-ft"),
|
||||
detentOut: [props.globals.getNode("/fdm/jsbsim/fadec/control-1/detent-out", 1), props.globals.getNode("/fdm/jsbsim/fadec/control-2/detent-out", 1)],
|
||||
detentOutTemp: [0, 0],
|
||||
detentText: [props.globals.getNode("/fdm/jsbsim/fadec/control-1/detent-text"), props.globals.getNode("/fdm/jsbsim/fadec/control-2/detent-text")],
|
||||
detentTextTemp: [0, 0],
|
||||
engOut: props.globals.getNode("/fdm/jsbsim/fadec/eng-out"),
|
||||
Limit: {
|
||||
activeEpr: props.globals.getNode("/fdm/jsbsim/fadec/limit/active-epr"),
|
||||
activeMode: props.globals.getNode("/fdm/jsbsim/fadec/limit/active-mode"),
|
||||
activeN1: props.globals.getNode("/fdm/jsbsim/fadec/limit/active-n1"),
|
||||
flexActive: props.globals.getNode("/fdm/jsbsim/fadec/limit/flex-active"),
|
||||
flexActiveCmd: props.globals.getNode("/fdm/jsbsim/fadec/limit/flex-active-cmd"),
|
||||
flexTemp: props.globals.getNode("/fdm/jsbsim/fadec/limit/flex-temp"),
|
||||
},
|
||||
lvrClb: props.globals.getNode("/fdm/jsbsim/fadec/lvrclb"),
|
||||
lvrClbStatus: 0,
|
||||
togaLk: props.globals.getNode("/fdm/jsbsim/fadec/toga-lk"),
|
||||
thrustLimit: props.globals.getNode("/controls/engines/thrust-limit"),
|
||||
Lock: {
|
||||
thrLockAlert: props.globals.getNode("/fdm/jsbsim/fadec/thr-locked-alert"),
|
||||
thrLockCmd: props.globals.getNode("/fdm/jsbsim/fadec/thr-locked"),
|
||||
thrLockCmdN1: [props.globals.getNode("/fdm/jsbsim/fadec/thr-lock-cmd[0]"), props.globals.getNode("/fdm/jsbsim/fadec/thr-lock-cmd[1]")],
|
||||
thrLockFlash: props.globals.getNode("/fdm/jsbsim/fadec/thr-locked-flash"),
|
||||
thrLockTime: props.globals.getNode("/fdm/jsbsim/fadec/thr-locked-time"),
|
||||
},
|
||||
manThrAboveMct: [0, 0],
|
||||
n1Mode: [props.globals.getNode("/fdm/jsbsim/fadec/control-1/n1-mode"), props.globals.getNode("/fdm/jsbsim/fadec/control-2/n1-mode")],
|
||||
init: func() {
|
||||
me.engOut.setBoolValue(0);
|
||||
me.Limit.activeMode.setBoolValue("TOGA");
|
||||
me.Limit.flexActive.setBoolValue(0);
|
||||
me.Limit.flexActiveCmd.setBoolValue(0);
|
||||
systems.FADEC_S.init();
|
||||
thrustFlashT.start();
|
||||
},
|
||||
canEngageAthr: func() {
|
||||
if (pts.Gear.wow[0].getValue() and (pts.Engines.Engine.state[0].getValue() == 3 or pts.Engines.Engine.state[1].getValue() == 3)) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
},
|
||||
cancelFlex: func() {
|
||||
if (me.detentOut[0].getValue() != 4 and me.detentOut[1].getValue() != 4 and !pts.Gear.wow[1].getValue() and !pts.Gear.wow[2].getValue()) {
|
||||
me.Limit.flexActive.setBoolValue(0);
|
||||
}
|
||||
},
|
||||
idleAthrOff: func() {
|
||||
if (me.detentOut[0].getValue() == 0 and me.detentOut[1].getValue() == 0) { # And not in TOGA LK and not in ALPHA FLOOR
|
||||
if (fmgc.Input.athr.getValue() and pts.Position.gearAglFt.getValue() > 50) {
|
||||
fcu.athrOff("soft");
|
||||
} else {
|
||||
fcu.athrOff("none");
|
||||
}
|
||||
}
|
||||
},
|
||||
updateDetent: func(n) {
|
||||
me.detentOutTemp[n] = me.detentOut[n].getValue();
|
||||
if (me.detentOutTemp[n] == 6) {
|
||||
me.manThrAboveMct[n] = 1;
|
||||
me.detentText[n].setValue("TOGA");
|
||||
if (!fmgc.Output.athr.getBoolValue() and me.canEngageAthr()) {
|
||||
fmgc.Input.athr.setValue(1);
|
||||
}
|
||||
} else if (me.detentOutTemp[n] == 5) {
|
||||
me.manThrAboveMct[n] = 1;
|
||||
me.detentText[n].setValue("MAN THR");
|
||||
} else if (me.detentOutTemp[n] == 4) {
|
||||
me.manThrAboveMct[n] = 0;
|
||||
me.detentText[n].setValue("MCT");
|
||||
if (me.engOut.getValue() != 1 and me.Limit.flexActive.getBoolValue()) {
|
||||
if (!fmgc.Output.athr.getBoolValue() and me.canEngageAthr()) {
|
||||
fmgc.Input.athr.setValue(1);
|
||||
}
|
||||
}
|
||||
} else if (me.detentOutTemp[n] == 3) {
|
||||
me.manThrAboveMct[n] = 0;
|
||||
me.detentText[n].setValue("MAN THR");
|
||||
} else if (me.detentOutTemp[n] == 2) {
|
||||
me.manThrAboveMct[n] = 0;
|
||||
me.detentText[n].setValue("CL");
|
||||
} else if (me.detentOutTemp[n] == 1) {
|
||||
me.manThrAboveMct[n] = 0;
|
||||
me.detentText[n].setValue("MAN");
|
||||
} else if (me.detentOutTemp[n] == 0) {
|
||||
me.manThrAboveMct[n] = 0;
|
||||
me.detentText[n].setValue("IDLE");
|
||||
me.idleAthrOff();
|
||||
}
|
||||
|
||||
if (me.detentOutTemp[n] != 4) {
|
||||
if (me.Limit.flexActiveCmd.getBoolValue()) {
|
||||
me.cancelFlex();
|
||||
}
|
||||
}
|
||||
},
|
||||
loop: func() {
|
||||
FADEC_S.loop();
|
||||
},
|
||||
thrustFlash: func() {
|
||||
me.detentTextTemp[0] = systems.FADEC.detentText[0].getValue();
|
||||
me.detentTextTemp[1] = systems.FADEC.detentText[1].getValue();
|
||||
|
||||
if (!pts.Gear.wow[1].getValue() and !pts.Gear.wow[2].getValue() and (pts.Engines.Engine.state[0].getValue() != 3 or pts.Engines.Engine.state[1].getValue() != 3)) {
|
||||
systems.FADEC.engOut.setValue(1)
|
||||
} else {
|
||||
systems.FADEC.engOut.setValue(0)
|
||||
}
|
||||
|
||||
if (me.detentTextTemp[0] == "CL" and me.detentTextTemp[1] == "CL" and me.engOut.getValue() != 1) {
|
||||
me.lvrClb.setValue(0);
|
||||
} else if (me.detentTextTemp[0] == "MCT" and me.detentTextTemp[1] == "MCT" and !me.Limit.flexActive.getBoolValue() and me.engOut.getValue()) {
|
||||
me.lvrClb.setValue(0);
|
||||
} else {
|
||||
me.lvrClbStatus = me.lvrClb.getValue();
|
||||
if (me.lvrClbStatus == 0) {
|
||||
if (!pts.Gear.wow[0].getValue()) {
|
||||
if (systems.FADEC.detentText[0].getValue() == "MAN" or systems.FADEC.detentText[1].getValue() == "MAN") {
|
||||
me.lvrClb.setValue(1);
|
||||
} else {
|
||||
if (pts.Instrumentation.Altimeter.indicatedFt.getValue() >= me.clbReduc.getValue() and !pts.Gear.wow[1].getValue() and !pts.Gear.wow[2].getValue()) {
|
||||
me.lvrClb.setValue(1);
|
||||
} else if ((me.detentTextTemp[0] == "CL" and me.detentTextTemp[1] != "CL") or (me.detentTextTemp[0] != "CL" and me.detentTextTemp[1] == "CL") and me.engOut.getValue() != 1) {
|
||||
me.lvrClb.setValue(1);
|
||||
} else {
|
||||
me.lvrClb.setValue(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (me.lvrClbStatus == 1) {
|
||||
me.lvrClb.setValue(0);
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
var thrustFlashT = maketimer(0.5, FADEC, FADEC.thrustFlash);
|
||||
|
||||
setlistener("/fdm/jsbsim/fadec/control-1/detent-out", func {
|
||||
FADEC.updateDetent(0);
|
||||
}, 0, 0);
|
||||
setlistener("/fdm/jsbsim/fadec/control-2/detent-out", func {
|
||||
FADEC.updateDetent(1);
|
||||
}, 0, 0);
|
|
@ -1,4 +1,6 @@
|
|||
# A3XX IAE FADEC by Joshua Davidson (Octal450)
|
||||
# A3XX IAE FADEC
|
||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
||||
|
||||
var powerAvailTemp = nil;
|
||||
var master1 = nil;
|
||||
var master2 = nil;
|
||||
|
@ -13,7 +15,7 @@ var N12 = nil;
|
|||
var N21 = nil;
|
||||
var N22 = nil;
|
||||
|
||||
var FADEC = {
|
||||
var FADEC_S = {
|
||||
Power: {
|
||||
powered1: props.globals.initNode("/systems/fadec/powered1", 0, "BOOL"),
|
||||
powered2: props.globals.initNode("/systems/fadec/powered2", 0, "BOOL"),
|
||||
|
@ -46,12 +48,9 @@ var FADEC = {
|
|||
n1ModeSwitch2: props.globals.initNode("/controls/fadec/n1mode2", 0, "BOOL"),
|
||||
},
|
||||
Modes: {
|
||||
n1Mode1: props.globals.initNode("/systems/fadec/n1mode1", 0, "BOOL"), # 0 == EPR, 1 == N1 Rated, 2 == N1 Unrated #
|
||||
n1Mode2: props.globals.initNode("/systems/fadec/n1mode2", 0, "BOOL"),
|
||||
n1Mode1: props.globals.initNode("/fdm/jsbsim/fadec/control-1/n1-mode", 0, "BOOL"), # 0 == EPR, 1 == N1 Rated, 2 == N1 Unrated #
|
||||
n1Mode2: props.globals.initNode("/fdm/jsbsim/fadec/control-2/n1-mode", 0, "BOOL"),
|
||||
},
|
||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
||||
|
||||
|
||||
init: func() {
|
||||
me.Power.poweredTime.setValue(-300);
|
||||
me.Eng1.eng1Time.setValue(-300);
|
|
@ -170,8 +170,8 @@ var PNEU = {
|
|||
targetalt = getprop("/systems/pressurization/targetalt");
|
||||
ambient = getprop("/systems/pressurization/ambientpsi");
|
||||
cabinpsi = getprop("/systems/pressurization/cabinpsi");
|
||||
state1 = pts.Systems.Thrust.state[0].getValue();
|
||||
state2 = pts.Systems.Thrust.state[1].getValue();
|
||||
state1 = systems.FADEC.detentText[0].getValue();
|
||||
state2 = systems.FADEC.detentText[1].getValue();
|
||||
pressmode = getprop("/systems/pressurization/mode");
|
||||
vs = getprop("/systems/pressurization/vs-norm");
|
||||
manvs = getprop("/systems/pressurization/manvs-cmd");
|
||||
|
|
|
@ -1195,7 +1195,7 @@
|
|||
<path>Cockpit/detenta.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1210,7 +1210,7 @@
|
|||
<path>Cockpit/detentb.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1225,7 +1225,7 @@
|
|||
<path>Cockpit/detenta.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1240,7 +1240,7 @@
|
|||
<path>Cockpit/detentb.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1255,7 +1255,7 @@
|
|||
<path>Cockpit/detenta.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1270,7 +1270,7 @@
|
|||
<path>Cockpit/detentb.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1285,7 +1285,7 @@
|
|||
<path>Cockpit/detenta.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1300,7 +1300,7 @@
|
|||
<path>Cockpit/detentb.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1315,7 +1315,7 @@
|
|||
<path>Cockpit/detenta.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1330,7 +1330,7 @@
|
|||
<path>Cockpit/detentb.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1345,7 +1345,7 @@
|
|||
<path>Cockpit/detenta.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>TOGA</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1360,7 +1360,7 @@
|
|||
<path>Cockpit/detentb.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>TOGA</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1375,7 +1375,7 @@
|
|||
<path>Cockpit/detenta.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/controls/engines/engine[0]/reverser</property>
|
||||
<property>/controls/engines/engine[0]/reverse-cmd</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1390,7 +1390,7 @@
|
|||
<path>Cockpit/detentb.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/controls/engines/engine[1]/reverser</property>
|
||||
<property>/controls/engines/engine[1]/reverse-cmd</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1405,7 +1405,7 @@
|
|||
<path>Cockpit/detenta.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/controls/engines/engine[0]/reverser</property>
|
||||
<property>/controls/engines/engine[0]/reverse-cmd</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1420,7 +1420,7 @@
|
|||
<path>Cockpit/detentb.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/controls/engines/engine[1]/reverser</property>
|
||||
<property>/controls/engines/engine[1]/reverse-cmd</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<system name="A320: CFM56 Engine">
|
||||
|
||||
<property value="45">fadec/limit/rated-temp</property>
|
||||
<property value="0">fadec/limit/flex-active</property>
|
||||
<property value="30">fadec/limit/flex-rated-temp</property>
|
||||
<property value="27000">fadec/limit/rated-thrust</property>
|
||||
<property value="18.9">fadec/limit/min-n1</property>
|
||||
|
@ -17,7 +16,7 @@
|
|||
<property value="0">/controls/engines/engine[0]/throttle-pos</property>
|
||||
<property value="0">/controls/engines/engine[1]/throttle-lever</property>
|
||||
<property value="0">/controls/engines/engine[1]/throttle-pos</property>
|
||||
<property value="0">/fdm/jsbsim/fadec/control-2/lever-n1</property>
|
||||
<property value="20">fadec/limit/idle</property>
|
||||
|
||||
<channel name="Thrust Limits">
|
||||
|
||||
|
@ -186,7 +185,7 @@
|
|||
|
||||
<summer name="fadec/limit/flex-temp-input"> <!-- (Rated - Flex) + TAT -->
|
||||
<input>fadec/limit/flex-rated-temp</input> <!-- Fix the calculations -->
|
||||
<input>-/FMGC/internal/flex</input>
|
||||
<input>-fadec/limit/flex-temp</input>
|
||||
<input>propulsion/tat-c</input>
|
||||
</summer>
|
||||
|
||||
|
@ -440,6 +439,200 @@
|
|||
<c1>0.75</c1>
|
||||
<output>fcs/throttle-pos-norm[0]</output>
|
||||
</lag_filter>
|
||||
|
||||
<switch name="fadec/control-1/detent">
|
||||
<default value="0"/>
|
||||
<test value="6"> <!-- TOGA -->
|
||||
fadec/control-1/throttle-pos ge /systems/acconfig/options/fadec/toga-b
|
||||
</test>
|
||||
<test value="5"> <!-- MAN THR -->
|
||||
fadec/control-1/throttle-pos gt /systems/acconfig/options/fadec/mct-t
|
||||
</test>
|
||||
<test value="4"> <!-- MCT/FLX -->
|
||||
fadec/control-1/throttle-pos ge /systems/acconfig/options/fadec/mct-b
|
||||
</test>
|
||||
<test value="3"> <!-- MAN THR -->
|
||||
fadec/control-1/throttle-pos gt /systems/acconfig/options/fadec/climb-t
|
||||
</test>
|
||||
<test value="2"> <!-- CL -->
|
||||
fadec/control-1/throttle-pos ge /systems/acconfig/options/fadec/climb-b
|
||||
</test>
|
||||
<test value="1"> <!-- MAN -->
|
||||
fadec/control-1/throttle-pos gt /systems/acconfig/options/fadec/idle-t
|
||||
</test>
|
||||
<output>fadec/control-1/detent-out</output>
|
||||
</switch>
|
||||
|
||||
<!-- Engine 2 -->
|
||||
<switch name="fadec/control-2/throttle-pos">
|
||||
<default value="/controls/engines/engine[1]/throttle"/>
|
||||
<!--test value="0">
|
||||
fadec/reverse-2/position-norm ne 0
|
||||
</test-->
|
||||
<!--test logic="AND" value="fadec/athr-cmd-2">
|
||||
</test-->
|
||||
</switch>
|
||||
|
||||
<fcs_function name="fadec/control-2/idle-climb-n1">
|
||||
<function>
|
||||
<sum>
|
||||
<property>fadec/limit/min-n1</property>
|
||||
<product>
|
||||
<difference>
|
||||
<property>fadec/control-2/throttle-pos</property>
|
||||
<property>/systems/acconfig/options/fadec/idle-t</property>
|
||||
</difference>
|
||||
<quotient>
|
||||
<difference>
|
||||
<property>fadec/limit/climb</property>
|
||||
<property>fadec/limit/min-n1</property>
|
||||
</difference>
|
||||
<difference>
|
||||
<property>/systems/acconfig/options/fadec/climb-b</property>
|
||||
<property>/systems/acconfig/options/fadec/idle-t</property>
|
||||
</difference>
|
||||
</quotient>
|
||||
</product>
|
||||
</sum>
|
||||
</function>
|
||||
<clipto>
|
||||
<min>fadec/limit/min-n1</min>
|
||||
<max>fadec/limit/climb</max>
|
||||
</clipto>
|
||||
</fcs_function>
|
||||
|
||||
<fcs_function name="fadec/control-2/climb-mct-n1">
|
||||
<function>
|
||||
<sum>
|
||||
<property>fadec/limit/climb</property>
|
||||
<product>
|
||||
<difference>
|
||||
<property>fadec/control-2/throttle-pos</property>
|
||||
<property>/systems/acconfig/options/fadec/climb-t</property>
|
||||
</difference>
|
||||
<quotient>
|
||||
<difference>
|
||||
<property>fadec/limit/mct</property>
|
||||
<property>fadec/limit/climb</property>
|
||||
</difference>
|
||||
<difference>
|
||||
<property>/systems/acconfig/options/fadec/mct-b</property>
|
||||
<property>/systems/acconfig/options/fadec/climb-t</property>
|
||||
</difference>
|
||||
</quotient>
|
||||
</product>
|
||||
</sum>
|
||||
</function>
|
||||
<clipto>
|
||||
<min>fadec/limit/climb</min>
|
||||
<max>fadec/limit/mct</max>
|
||||
</clipto>
|
||||
</fcs_function>
|
||||
|
||||
<fcs_function name="fadec/control-2/mct-toga-n1">
|
||||
<function>
|
||||
<sum>
|
||||
<property>fadec/limit/mct</property>
|
||||
<product>
|
||||
<difference>
|
||||
<property>fadec/control-2/throttle-pos</property>
|
||||
<property>/systems/acconfig/options/fadec/mct-t</property>
|
||||
</difference>
|
||||
<quotient>
|
||||
<difference>
|
||||
<property>fadec/limit/toga</property>
|
||||
<property>fadec/limit/mct</property>
|
||||
</difference>
|
||||
<difference>
|
||||
<property>/systems/acconfig/options/fadec/toga-b</property>
|
||||
<property>/systems/acconfig/options/fadec/mct-t</property>
|
||||
</difference>
|
||||
</quotient>
|
||||
</product>
|
||||
</sum>
|
||||
</function>
|
||||
<clipto>
|
||||
<min>fadec/limit/mct</min>
|
||||
<max>fadec/limit/toga</max>
|
||||
</clipto>
|
||||
</fcs_function>
|
||||
|
||||
<switch name="fadec/control-2/lever-n1">
|
||||
<default value="fadec/control-2/idle-climb-n1"/>
|
||||
<test value="fadec/control-2/mct-toga-n1">
|
||||
fadec/control-2/throttle-pos gt /systems/acconfig/options/fadec/mct-t
|
||||
</test>
|
||||
<test value="fadec/control-2/climb-mct-n1">
|
||||
fadec/control-2/throttle-pos gt /systems/acconfig/options/fadec/climb-t
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<fcs_function name="fadec/control-2/lever-norm">
|
||||
<function>
|
||||
<table>
|
||||
<independentVar lookup="row">fadec/control-2/lever-n1</independentVar>
|
||||
<tableData>
|
||||
18.9 0
|
||||
104.0 1
|
||||
</tableData>
|
||||
</table>
|
||||
</function>
|
||||
</fcs_function>
|
||||
|
||||
<switch name="fadec/control-2/throttle-output">
|
||||
<default value="fadec/control-2/lever-norm"/> <!-- CHANGE THE -->
|
||||
<!--test value="fadec/reverse-2/throttle-rev-cmd">
|
||||
/controls/engines/engine[1]/reverse-lever gt 0
|
||||
</test-->
|
||||
</switch>
|
||||
|
||||
<lag_filter name="fadec/control-2/throttle-fdm">
|
||||
<input>fadec/control-2/throttle-output</input>
|
||||
<c1>0.75</c1>
|
||||
<output>fcs/throttle-pos-norm[1]</output>
|
||||
</lag_filter>
|
||||
|
||||
<switch name="fadec/control-2/detent">
|
||||
<default value="0"/>
|
||||
<test value="6"> <!-- TOGA -->
|
||||
fadec/control-2/throttle-pos ge /systems/acconfig/options/fadec/toga-b
|
||||
</test>
|
||||
<test value="5"> <!-- MAN THR -->
|
||||
fadec/control-2/throttle-pos gt /systems/acconfig/options/fadec/mct-t
|
||||
</test>
|
||||
<test value="4"> <!-- MCT/FLX -->
|
||||
fadec/control-2/throttle-pos ge /systems/acconfig/options/fadec/mct-b
|
||||
</test>
|
||||
<test value="3"> <!-- MAN THR -->
|
||||
fadec/control-2/throttle-pos gt /systems/acconfig/options/fadec/climb-t
|
||||
</test>
|
||||
<test value="2"> <!-- CL -->
|
||||
fadec/control-2/throttle-pos ge /systems/acconfig/options/fadec/climb-b
|
||||
</test>
|
||||
<test value="1"> <!-- MAN -->
|
||||
fadec/control-2/throttle-pos gt /systems/acconfig/options/fadec/idle-t
|
||||
</test>
|
||||
<output>fadec/control-2/detent-out</output>
|
||||
</switch>
|
||||
|
||||
<fcs_function name="fadec/both-at-idle">
|
||||
<function>
|
||||
<ifthen>
|
||||
<le>
|
||||
<difference>
|
||||
<max>
|
||||
<property>/engines/engine[0]/n1-actual</property>
|
||||
<property>/engines/engine[1]/n1-actual</property>
|
||||
</max>
|
||||
<value>0.005</value>
|
||||
</difference>
|
||||
<property>fadec/limit/idle</property>
|
||||
</le>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
</ifthen>
|
||||
</function>
|
||||
</fcs_function>
|
||||
|
||||
</channel>
|
||||
|
||||
|
|
|
@ -652,22 +652,22 @@
|
|||
</lag_filter>
|
||||
|
||||
<lag_filter name="fcs/reverse-lever[0]">
|
||||
<input>/controls/engines/engine[0]/reverser</input>
|
||||
<input>/controls/engines/engine[0]/reverse-cmd</input>
|
||||
<c1>20</c1>
|
||||
</lag_filter>
|
||||
|
||||
<lag_filter name="fcs/reverse-lever[1]">
|
||||
<input>/controls/engines/engine[1]/reverser</input>
|
||||
<input>/controls/engines/engine[1]/reverse-cmd</input>
|
||||
<c1>20</c1>
|
||||
</lag_filter>
|
||||
|
||||
<lag_filter name="fcs/reverse-thr-lever[0]">
|
||||
<input>/controls/engines/engine[0]/throttle-rev</input>
|
||||
<input>/controls/engines/engine[0]/reverse-lever</input>
|
||||
<c1>20</c1>
|
||||
</lag_filter>
|
||||
|
||||
<lag_filter name="fcs/reverse-thr-lever[1]">
|
||||
<input>/controls/engines/engine[1]/throttle-rev</input>
|
||||
<input>/controls/engines/engine[1]/reverse-lever</input>
|
||||
<c1>20</c1>
|
||||
</lag_filter>
|
||||
|
||||
|
|
|
@ -191,21 +191,21 @@
|
|||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/controls/engines/engine[0]/throttle ge 0.779
|
||||
/systems/thrust/lim-flex eq 1
|
||||
fadec/flex-active eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/controls/engines/engine[0]/throttle ge 0.99
|
||||
/systems/thrust/lim-flex eq 0
|
||||
fadec/flex-active eq 0
|
||||
</test>
|
||||
</test>
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/controls/engines/engine[1]/throttle ge 0.779
|
||||
/systems/thrust/lim-flex eq 1
|
||||
fadec/flex-active eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/controls/engines/engine[1]/throttle ge 0.99
|
||||
/systems/thrust/lim-flex eq 0
|
||||
fadec/flex-active eq 0
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
|
|
|
@ -2219,7 +2219,7 @@
|
|||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/it-fbw/law eq 0
|
||||
/fdm/jsbsim/fcs/slat-pos-deg lt 15
|
||||
fcs/slat-pos-deg lt 15
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/systems/navigation/adr/output/aoa-1 ge 13.5
|
||||
|
@ -2237,7 +2237,7 @@
|
|||
</test>
|
||||
<test logic="AND">
|
||||
/it-fbw/law eq 0
|
||||
/fdm/jsbsim/fcs/slat-pos-deg ge 15
|
||||
fcs/slat-pos-deg ge 15
|
||||
<test logic="AND">
|
||||
/systems/navigation/adr/output/aoa-1 ge 22
|
||||
/systems/navigation/adr/operating-1 eq 1
|
||||
|
@ -2253,7 +2253,7 @@
|
|||
</test>
|
||||
<test logic="AND">
|
||||
/it-fbw/law ne 0
|
||||
/fdm/jsbsim/fcs/slat-pos-deg lt 15
|
||||
fcs/slat-pos-deg lt 15
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/systems/navigation/adr/output/aoa-1 ge 8
|
||||
|
@ -2271,7 +2271,7 @@
|
|||
</test>
|
||||
<test logic="AND">
|
||||
/it-fbw/law ne 0
|
||||
/fdm/jsbsim/fcs/slat-pos-deg ge 15
|
||||
fcs/slat-pos-deg ge 15
|
||||
<test logic="AND">
|
||||
/systems/navigation/adr/output/aoa-1 ge 14
|
||||
/systems/navigation/adr/operating-1 eq 1
|
||||
|
@ -2309,8 +2309,8 @@
|
|||
<switch name="/ECAM/warnings/logic/eng/ground-spoilers">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/fdm/jsbsim/spoilers/max-spoiler eq 1
|
||||
/fdm/jsbsim/spoilers/main-cmd gt 0
|
||||
spoilers/max-spoiler eq 1
|
||||
spoilers/main-cmd gt 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -2640,25 +2640,25 @@
|
|||
/ECAM/warnings/logic/eng/new-retard-logic ne 1
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/systems/thrust/lim-flex eq 0
|
||||
fadec/flex-active eq 0
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/logic/eng/thr-lever-2-mct-output eq 1
|
||||
/ECAM/warnings/logic/eng/thr-lever-2-mcl-mct-output eq 1
|
||||
</test>
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/systems/thrust/lim-flex eq 1
|
||||
fadec/flex-active eq 1
|
||||
/ECAM/warnings/logic/eng/thr-lever-2-mcl-mct-output eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/systems/thrust/lim-flex eq 0
|
||||
fadec/flex-active eq 0
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/logic/eng/thr-lever-1-mct-output eq 1
|
||||
/ECAM/warnings/logic/eng/thr-lever-1-mcl-mct-output eq 1
|
||||
</test>
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/systems/thrust/lim-flex eq 1
|
||||
fadec/flex-active eq 1
|
||||
/ECAM/warnings/logic/eng/thr-lever-1-mcl-mct-output eq 1
|
||||
</test>
|
||||
</test>
|
||||
|
@ -2674,8 +2674,8 @@
|
|||
/ECAM/warning-phase ne 7
|
||||
</test>
|
||||
<test logic="OR">
|
||||
/controls/engines/engine[0]/throttle-rev gt 0.0
|
||||
/controls/engines/engine[1]/throttle-rev gt 0.0
|
||||
/controls/engines/engine[0]/reverse-lever gt 0.0
|
||||
/controls/engines/engine[1]/reverse-lever gt 0.0
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
@ -3305,7 +3305,7 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/fctl/spd-brk-still-out-50-seconds eq 1
|
||||
/engines/both-at-idle eq 1
|
||||
fadec/both-at-idle eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -3643,7 +3643,7 @@
|
|||
</test>
|
||||
<test logic="AND">
|
||||
/controls/gear/gear-down eq 1
|
||||
/fdm/jsbsim/fcs/slat-pos-deg ge 4
|
||||
fcs/slat-pos-deg ge 4
|
||||
</test>
|
||||
</test>
|
||||
/it-autoflight/output/lat eq 4
|
||||
|
|
|
@ -28,14 +28,14 @@
|
|||
<switch name="spoilers/throttle[0]">
|
||||
<default value="/controls/engines/engine[0]/throttle"/>
|
||||
<test logic="OR" value="0">
|
||||
/controls/engines/engine[0]/reverser eq 1
|
||||
/controls/engines/engine[0]/reverse-cmd eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="spoilers/throttle[1]">
|
||||
<default value="/controls/engines/engine[1]/throttle"/>
|
||||
<test logic="OR" value="0">
|
||||
/controls/engines/engine[1]/reverser eq 1
|
||||
/controls/engines/engine[1]/reverse-cmd eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
|
|
@ -220,7 +220,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -261,7 +261,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -299,7 +299,7 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -307,7 +307,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -317,7 +317,7 @@
|
|||
<value>0.83</value>
|
||||
</greater-than-equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -329,38 +329,38 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -379,21 +379,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -401,16 +401,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -438,21 +438,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -460,16 +460,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -517,7 +517,7 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -525,7 +525,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -535,7 +535,7 @@
|
|||
<value>0.83</value>
|
||||
</greater-than-equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -547,38 +547,38 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -597,21 +597,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -619,16 +619,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -656,21 +656,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -678,16 +678,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -734,42 +734,42 @@
|
|||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/alpha-floor</property>
|
||||
<property>/fdm/jsbsim/fadec/alpha-floor</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/toga-lk</property>
|
||||
<property>/fdm/jsbsim/fadec/toga-lk</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -781,7 +781,7 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -789,7 +789,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -799,7 +799,7 @@
|
|||
<value>0.83</value>
|
||||
</greater-than-equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -811,38 +811,38 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -861,21 +861,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -883,16 +883,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -914,42 +914,42 @@
|
|||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/alpha-floor</property>
|
||||
<property>/fdm/jsbsim/fadec/alpha-floor</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/toga-lk</property>
|
||||
<property>/fdm/jsbsim/fadec/toga-lk</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -961,7 +961,7 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -969,7 +969,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -979,7 +979,7 @@
|
|||
<value>0.83</value>
|
||||
</greater-than-equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -991,38 +991,38 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1041,21 +1041,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -1063,16 +1063,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1091,7 +1091,7 @@
|
|||
<gain>1.0</gain>
|
||||
<update-interval-secs>0.05</update-interval-secs>
|
||||
<input>/fdm/jsbsim/fadec/limit/toga</input>
|
||||
<output>/systems/thrust/n1/toga-lim</output>
|
||||
<output>/fdm/jsbsim/fadec/n1/toga-lim</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1111,7 +1111,7 @@
|
|||
</table>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/systems/thrust/n1/mct-lim</output>
|
||||
<output>/fdm/jsbsim/fadec/n1/mct-lim</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1120,7 +1120,7 @@
|
|||
<gain>1.0</gain>
|
||||
<update-interval-secs>0.05</update-interval-secs>
|
||||
<input>/fdm/jsbsim/fadec/limit/flex</input>
|
||||
<output>/systems/thrust/n1/flx-lim</output>
|
||||
<output>/fdm/jsbsim/fadec/n1/flx-lim</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1140,7 +1140,7 @@
|
|||
</table>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/systems/thrust/n1/clb-lim</output>
|
||||
<output>/fdm/jsbsim/fadec/n1/clb-lim</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1150,20 +1150,20 @@
|
|||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/controls/engines/engine[0]/reverser</property>
|
||||
<property>/controls/engines/engine[0]/reverse-cmd</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/controls/engines/engine[0]/throttle-rev</property>
|
||||
<property>/controls/engines/engine[0]/reverse-lever</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/systems/thrust/thr-lock-cmd[0]</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-lock-cmd[0]</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
|
@ -1173,7 +1173,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -1207,20 +1207,20 @@
|
|||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/controls/engines/engine[1]/reverser</property>
|
||||
<property>/controls/engines/engine[1]/reverse-cmd</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/controls/engines/engine[1]/throttle-rev</property>
|
||||
<property>/controls/engines/engine[1]/reverse-lever</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/systems/thrust/thr-lock-cmd[1]</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-lock-cmd[1]</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
|
@ -1230,7 +1230,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<input>
|
||||
<expression>
|
||||
<table>
|
||||
<property>/FMGC/internal/flex</property>
|
||||
<property>/fdm/jsbsim/fadec/limit/flex-temp</property>
|
||||
<entry><ind> 70</ind><dep>0.797</dep></entry>
|
||||
<entry><ind> 40</ind><dep>0.822</dep></entry>
|
||||
<entry><ind>-60</ind><dep>1.000</dep></entry>
|
||||
|
@ -315,7 +315,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -422,7 +422,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -493,7 +493,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -533,7 +533,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -571,7 +571,7 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -579,7 +579,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -589,7 +589,7 @@
|
|||
<value>0.83</value>
|
||||
</greater-than-equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -601,38 +601,38 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -651,21 +651,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -673,16 +673,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -710,21 +710,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -732,16 +732,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -789,7 +789,7 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -797,7 +797,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -807,7 +807,7 @@
|
|||
<value>0.83</value>
|
||||
</greater-than-equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -819,38 +819,38 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -869,21 +869,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -891,16 +891,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -928,21 +928,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -950,16 +950,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1006,42 +1006,42 @@
|
|||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/alpha-floor</property>
|
||||
<property>/fdm/jsbsim/fadec/alpha-floor</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/toga-lk</property>
|
||||
<property>/fdm/jsbsim/fadec/toga-lk</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1053,7 +1053,7 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -1061,7 +1061,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -1071,7 +1071,7 @@
|
|||
<value>0.83</value>
|
||||
</greater-than-equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -1083,38 +1083,38 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1133,21 +1133,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -1155,16 +1155,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1186,42 +1186,42 @@
|
|||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/alpha-floor</property>
|
||||
<property>/fdm/jsbsim/fadec/alpha-floor</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/toga-lk</property>
|
||||
<property>/fdm/jsbsim/fadec/toga-lk</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1233,7 +1233,7 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -1241,7 +1241,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -1251,7 +1251,7 @@
|
|||
<value>0.83</value>
|
||||
</greater-than-equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -1263,38 +1263,38 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1313,21 +1313,21 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
|
@ -1335,16 +1335,16 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -1382,7 +1382,7 @@
|
|||
</expression>
|
||||
<scale>/engines/epr-scale</scale>
|
||||
</input>
|
||||
<output>/systems/thrust/epr/toga-lim-cmd</output>
|
||||
<output>/fdm/jsbsim/fadec/epr/toga-lim-cmd</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1393,12 +1393,12 @@
|
|||
<input>
|
||||
<expression>
|
||||
<sum>
|
||||
<property>/systems/thrust/epr/toga-lim-cmd</property>
|
||||
<property>/fdm/jsbsim/fadec/epr/toga-lim-cmd</property>
|
||||
<property>/engines/epr-scale-b</property>
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/systems/thrust/epr/toga-lim</output>
|
||||
<output>/fdm/jsbsim/fadec/epr/toga-lim</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1426,7 +1426,7 @@
|
|||
</expression>
|
||||
<scale>/engines/epr-scale</scale>
|
||||
</input>
|
||||
<output>/systems/thrust/epr/mct-lim-cmd</output>
|
||||
<output>/fdm/jsbsim/fadec/epr/mct-lim-cmd</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1437,12 +1437,12 @@
|
|||
<input>
|
||||
<expression>
|
||||
<sum>
|
||||
<property>/systems/thrust/epr/mct-lim-cmd</property>
|
||||
<property>/fdm/jsbsim/fadec/epr/mct-lim-cmd</property>
|
||||
<property>/engines/epr-scale-b</property>
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/systems/thrust/epr/mct-lim</output>
|
||||
<output>/fdm/jsbsim/fadec/epr/mct-lim</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1470,7 +1470,7 @@
|
|||
</expression>
|
||||
<scale>/engines/epr-scale</scale>
|
||||
</input>
|
||||
<output>/systems/thrust/epr/flx-lim-cmd</output>
|
||||
<output>/fdm/jsbsim/fadec/epr/flx-lim-cmd</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1481,12 +1481,12 @@
|
|||
<input>
|
||||
<expression>
|
||||
<sum>
|
||||
<property>/systems/thrust/epr/flx-lim-cmd</property>
|
||||
<property>/fdm/jsbsim/fadec/epr/flx-lim-cmd</property>
|
||||
<property>/engines/epr-scale-b</property>
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/systems/thrust/epr/flx-lim</output>
|
||||
<output>/fdm/jsbsim/fadec/epr/flx-lim</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1514,7 +1514,7 @@
|
|||
</expression>
|
||||
<scale>/engines/epr-scale</scale>
|
||||
</input>
|
||||
<output>/systems/thrust/epr/clb-lim-cmd</output>
|
||||
<output>/fdm/jsbsim/fadec/epr/clb-lim-cmd</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1525,12 +1525,12 @@
|
|||
<input>
|
||||
<expression>
|
||||
<sum>
|
||||
<property>/systems/thrust/epr/clb-lim-cmd</property>
|
||||
<property>/fdm/jsbsim/fadec/epr/clb-lim-cmd</property>
|
||||
<property>/engines/epr-scale-b</property>
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/systems/thrust/epr/clb-lim</output>
|
||||
<output>/fdm/jsbsim/fadec/epr/clb-lim</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -1540,20 +1540,20 @@
|
|||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/controls/engines/engine[0]/reverser</property>
|
||||
<property>/controls/engines/engine[0]/reverse-cmd</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/controls/engines/engine[0]/throttle-rev</property>
|
||||
<property>/controls/engines/engine[0]/reverse-lever</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/systems/thrust/thr-lock-cmd[0]</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-lock-cmd[0]</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
|
@ -1563,7 +1563,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -1597,20 +1597,20 @@
|
|||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/controls/engines/engine[1]/reverser</property>
|
||||
<property>/controls/engines/engine[1]/reverse-cmd</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/controls/engines/engine[1]/throttle-rev</property>
|
||||
<property>/controls/engines/engine[1]/reverse-lever</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/systems/thrust/thr-lock-cmd[1]</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-lock-cmd[1]</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
|
@ -1620,7 +1620,7 @@
|
|||
<value>FLX</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
|
@ -111,7 +111,7 @@
|
|||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
|
@ -151,7 +151,7 @@
|
|||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
<or>
|
||||
|
@ -181,27 +181,27 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<or>
|
||||
|
@ -211,7 +211,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -221,26 +221,26 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
</or>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -274,7 +274,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
<or>
|
||||
|
@ -304,27 +304,27 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<or>
|
||||
|
@ -334,7 +334,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -344,26 +344,26 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
</or>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -401,7 +401,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
<or>
|
||||
|
@ -429,27 +429,27 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<or>
|
||||
|
@ -459,7 +459,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -469,26 +469,26 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
</or>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -512,7 +512,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
<or>
|
||||
|
@ -540,27 +540,27 @@
|
|||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<or>
|
||||
|
@ -570,7 +570,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -580,26 +580,26 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
</or>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</equals>
|
||||
</or>
|
||||
|
@ -623,33 +623,33 @@
|
|||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<and>
|
||||
<not>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/lim-flex</property>
|
||||
<property>/fdm/jsbsim/fadec/flex-active</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MCT</value>
|
||||
</equals>
|
||||
</or>
|
||||
</not>
|
||||
<not>
|
||||
<equals>
|
||||
<property>/systems/thrust/eng-out</property>
|
||||
<property>/fdm/jsbsim/fadec/eng-out</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<or>
|
||||
|
@ -659,7 +659,7 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -669,26 +669,26 @@
|
|||
<value>0.83</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN THR</value>
|
||||
</equals>
|
||||
</and>
|
||||
</or>
|
||||
</not>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>CL</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>MAN</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>CL</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
|
@ -698,15 +698,15 @@
|
|||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/thrust/thr-locked</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-locked</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<expression>
|
||||
<div>
|
||||
<max>
|
||||
<property>/systems/thrust/thr-lock-cmd[0]</property>
|
||||
<property>/systems/thrust/thr-lock-cmd[1]</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-lock-cmd[0]</property>
|
||||
<property>/fdm/jsbsim/fadec/thr-lock-cmd[1]</property>
|
||||
</max>
|
||||
<table>
|
||||
<property>/environment/temperature-degc</property>
|
||||
|
@ -721,11 +721,11 @@
|
|||
<condition>
|
||||
<and>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/state1</property>
|
||||
<property>/fdm/jsbsim/fadec/control-1/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/systems/thrust/state2</property>
|
||||
<property>/fdm/jsbsim/fadec/control-2/detent-text</property>
|
||||
<value>IDLE</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
</condition>
|
||||
<expression>
|
||||
<table>
|
||||
<property>/systems/thrust/epr/toga-lim</property>
|
||||
<property>/fdm/jsbsim/fadec/epr/toga-lim</property>
|
||||
<entry><ind>0.970</ind><dep>-139</dep></entry>
|
||||
<entry><ind>1.000</ind><dep>-125</dep></entry>
|
||||
<entry><ind>1.200</ind><dep> -55</dep></entry>
|
||||
|
@ -388,7 +388,7 @@
|
|||
<input>
|
||||
<expression>
|
||||
<table>
|
||||
<property>/systems/thrust/n1/toga-lim</property>
|
||||
<property>/fdm/jsbsim/fadec/n1/toga-lim</property>
|
||||
<entry><ind> 20.0</ind><dep>-131</dep></entry>
|
||||
<entry><ind> 50.0</ind><dep> -64</dep></entry>
|
||||
<entry><ind>100.0</ind><dep> 48</dep></entry>
|
||||
|
|
Loading…
Reference in a new issue