Реалистичное управление реверсом.

parent 6a25b9eb
...@@ -72,13 +72,13 @@ SIMULATOR-DEPENDENT CODE ...@@ -72,13 +72,13 @@ SIMULATOR-DEPENDENT CODE
1. Containing shims for generic instruments. 1. Containing shims for generic instruments.
Tu-144-jsbsim/systems/KURS-MP/SOM.xml Tu-144-jsbsim/NPK/KURS-MP/ARK.xml
Tu-144-jsbsim/systems/KURS-MP/ARK.xml Tu-144-jsbsim/NPK/KURS-MP/MRP.xml
Tu-144-jsbsim/systems/KURS-MP/MRP.xml Tu-144-jsbsim/NPK/KURS-MP/RSBN.xml
Tu-144-jsbsim/systems/KURS-MP/RSBN.xml Tu-144-jsbsim/NPK/KURS-MP/SDK_*.xml
Tu-144-jsbsim/systems/KURS-MP/SDK_*.xml Tu-144-jsbsim/comm/Landysh_*.xml
Tu-144-jsbsim/systems/Landysh_*.xml Tu-144-jsbsim/comm/Micron.xml
Tu-144-jsbsim/systems/Micron.xml Tu-144-jsbsim/comm/SOM.xml
2. Property aliases under /fdm/jsbsim and /instrumentation bring the 2. Property aliases under /fdm/jsbsim and /instrumentation bring the
data missing in JSBSim to the systems and communicate with generic data missing in JSBSim to the systems and communicate with generic
......
...@@ -28,10 +28,10 @@ f, F Отклоняемый носок фюзеляжа, ...@@ -28,10 +28,10 @@ f, F Отклоняемый носок фюзеляжа,
положения: Уборка, Нейтрально, Выпуск. положения: Уборка, Нейтрально, Выпуск.
Control-B Стартовый тормоз вкл/выкл Control-B Стартовый тормоз вкл/выкл
n Аварийный тормоз n Аварийный тормоз
Delete Реверс двиг. 1, 4. Delete Увеличить \ Реверс двиг. 1, 4.
(РУД должны быть на 0 град.) Insert Уменьшить / (РУД должны быть на 0 град.)
Shift-Delete Выпуск \ Тормозной парашют Control-Delete Выпуск \ Тормозной парашют
Control-Delete Сброс / Control-Insert Сброс /
АБСУ АБСУ
......
This diff is collapsed.
...@@ -313,9 +313,9 @@ ...@@ -313,9 +313,9 @@
<enable-pointer>true</enable-pointer> <enable-pointer>true</enable-pointer>
<pointer-type>fixed</pointer-type> <pointer-type>fixed</pointer-type>
<input> <input>
<property>/instrumentation/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-norm</property> <property>/instrumentation/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-deg</property>
<min>0.0</min> <min>0.0</min>
<max>1.0</max> <max>30.0</max>
</input> </input>
</gauge> </gauge>
...@@ -334,9 +334,9 @@ ...@@ -334,9 +334,9 @@
<enable-pointer>true</enable-pointer> <enable-pointer>true</enable-pointer>
<pointer-type>fixed</pointer-type> <pointer-type>fixed</pointer-type>
<input> <input>
<property>/instrumentation/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-norm</property> <property>/instrumentation/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-deg</property>
<min>0.0</min> <min>0.0</min>
<max>1.0</max> <max>30.0</max>
</input> </input>
</gauge> </gauge>
......
...@@ -144,7 +144,10 @@ var _loop = func { ...@@ -144,7 +144,10 @@ var _loop = func {
var chute = (getprop("/fdm/jsbsim/fcs/chute/pos-norm") > 0.01); var chute = (getprop("/fdm/jsbsim/fcs/chute/pos-norm") > 0.01);
var reversers = 0; var reversers = 0;
for(var ii = 0; ii < 4; ii += 3){ for(var ii = 0; ii < 4; ii += 3){
if(getprop("/fdm/jsbsim/propulsion/engine[" ~ ii ~ "]/panel/lever/reverser/pos-norm") > 0.1){ if(
(getprop("/fdm/jsbsim/propulsion/engine[" ~ ii ~ "]/panel/lever/throttle/pos-deg") < 0.1) and
((getprop("/fdm/jsbsim/propulsion/engine[" ~ ii ~ "]/panel/lever/reverser/pos-deg") or 0.0) > 5.0)
){
reversers = 1; reversers = 1;
break; break;
} }
......
...@@ -168,11 +168,11 @@ ThrottleReleaseAll = func () { ...@@ -168,11 +168,11 @@ ThrottleReleaseAll = func () {
} }
} }
# @brief Toggle reverse. # @brief Set reverse.
# Toggle reverse. Works only when reverse lever is unlocked. # @param angle Reverse lever angle 0..30 deg.
ReversersAll = func (on) { ReversersAll = func (angle) {
for(var ii = 0; ii < 4; ii += 3){ for(var ii = 0; ii < 4; ii += 3){
setprop("/fdm/jsbsim/propulsion/engine[" ~ ii ~ "]/panel/lever/reverser/cmd-norm", on); setprop("/fdm/jsbsim/propulsion/engine[" ~ ii ~ "]/panel/lever/reverser/pos-deg", angle);
} }
} }
......
...@@ -32,17 +32,17 @@ ...@@ -32,17 +32,17 @@
<filter> <filter>
<type>exponential</type> <type>gain</type>
<filter-time>0.04</filter-time> <gain>1.0</gain>
<input>/fdm/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-norm</input> <input>/fdm/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-deg</input>
<output>/instrumentation/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-norm</output> <output>/instrumentation/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-deg</output>
</filter> </filter>
<filter> <filter>
<type>exponential</type> <type>gain</type>
<filter-time>0.04</filter-time> <gain>1.0</gain>
<input>/fdm/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-norm</input> <input>/fdm/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-deg</input>
<output>/instrumentation/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-norm</output> <output>/instrumentation/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-deg</output>
</filter> </filter>
......
...@@ -1038,15 +1038,21 @@ ...@@ -1038,15 +1038,21 @@
<key n="127"> <key n="127">
<name>Delete</name> <name>Delete</name>
<repeatable type="bool">false</repeatable> <repeatable type="bool">true</repeatable>
<desc>Toggle reverser</desc> <desc>Increase reverse</desc>
<binding> <binding>
<command>property-toggle</command> <command>property-adjust</command>
<property>/fdm/jsbsim/propulsion/engine[0]/panel/lever/reverser/cmd-norm</property> <property>/fdm/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-deg</property>
<step type="float">0.5</step>
<min type="float">0.0</min>
<max type="float">30.0</max>
</binding> </binding>
<binding> <binding>
<command>property-toggle</command> <command>property-adjust</command>
<property>/fdm/jsbsim/propulsion/engine[3]/panel/lever/reverser/cmd-norm</property> <property>/fdm/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-deg</property>
<step type="float">0.5</step>
<min type="float">0.0</min>
<max type="float">30.0</max>
</binding> </binding>
<mod-up> <mod-up>
<binding> <binding>
...@@ -1054,13 +1060,8 @@ ...@@ -1054,13 +1060,8 @@
<property>/fdm/jsbsim/fcs/panel/button/chute-deploy</property> <property>/fdm/jsbsim/fcs/panel/button/chute-deploy</property>
<value>0</value> <value>0</value>
</binding> </binding>
<binding>
<command>property-assign</command>
<property>/fdm/jsbsim/fcs/panel/button/chute-drop</property>
<value>0</value>
</binding>
</mod-up> </mod-up>
<mod-shift> <mod-ctrl>
<desc>Deploy parachute</desc> <desc>Deploy parachute</desc>
<binding> <binding>
<command>property-assign</command> <command>property-assign</command>
...@@ -1074,7 +1075,34 @@ ...@@ -1074,7 +1075,34 @@
<value>0</value> <value>0</value>
</binding> </binding>
</mod-up> </mod-up>
</mod-shift> </mod-ctrl>
</key>
<key n="364">
<name>Insert</name>
<repeatable type="bool">true</repeatable>
<desc>Decrease reverse</desc>
<binding>
<command>property-adjust</command>
<property>/fdm/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-deg</property>
<step type="float">-0.5</step>
<min type="float">0.0</min>
<max type="float">30.0</max>
</binding>
<binding>
<command>property-adjust</command>
<property>/fdm/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-deg</property>
<step type="float">-0.5</step>
<min type="float">0.0</min>
<max type="float">30.0</max>
</binding>
<mod-up>
<binding>
<command>property-assign</command>
<property>/fdm/jsbsim/fcs/panel/button/chute-drop</property>
<value>0</value>
</binding>
</mod-up>
<mod-ctrl> <mod-ctrl>
<desc>Drop parachute</desc> <desc>Drop parachute</desc>
<binding> <binding>
......
...@@ -79,11 +79,11 @@ ...@@ -79,11 +79,11 @@
</signal> </signal>
<signal> <signal>
<property type="string">/instrumentation/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-norm</property> <property type="string">/instrumentation/jsbsim/propulsion/engine[0]/panel/lever/reverser/pos-deg</property>
<type>float</type> <type>float</type>
</signal> </signal>
<signal> <signal>
<property type="string">/instrumentation/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-norm</property> <property type="string">/instrumentation/jsbsim/propulsion/engine[3]/panel/lever/reverser/pos-deg</property>
<type>float</type> <type>float</type>
</signal> </signal>
......
...@@ -76,8 +76,6 @@ ...@@ -76,8 +76,6 @@
<property>propulsion/engine[1]/panel/lever/throttle/force-kgf</property> <property>propulsion/engine[1]/panel/lever/throttle/force-kgf</property>
<property>propulsion/engine[2]/panel/lever/throttle/force-kgf</property> <property>propulsion/engine[2]/panel/lever/throttle/force-kgf</property>
<property>propulsion/engine[3]/panel/lever/throttle/force-kgf</property> <property>propulsion/engine[3]/panel/lever/throttle/force-kgf</property>
<property>propulsion/engine[0]/panel/lever/reverser/pos-norm</property>
<property>propulsion/engine[3]/panel/lever/reverser/pos-norm</property>
<property>propulsion/panel/lever/throttle-lock</property> <property>propulsion/panel/lever/throttle-lock</property>
<property>&ABSU;/status/test-lights</property> <property>&ABSU;/status/test-lights</property>
...@@ -144,6 +142,17 @@ ...@@ -144,6 +142,17 @@
</test> </test>
</switch> </switch>
<switch name="&U;/status/force-disengage-up">
<default value="0"/>
<test logic="OR" value="1">
<!-- = 6.0 kg / 3 -->
propulsion/engine[0]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[1]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[2]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[3]/panel/lever/throttle/force-kgf GT 2.0
</test>
</switch>
<switch name="&U;/status/force-disengage"> <switch name="&U;/status/force-disengage">
<default value="0"/> <default value="0"/>
<test logic="OR" value="1"> <test logic="OR" value="1">
...@@ -153,15 +162,9 @@ ...@@ -153,15 +162,9 @@
propulsion/engine[2]/panel/lever/throttle/force-kgf LT -2.0 propulsion/engine[2]/panel/lever/throttle/force-kgf LT -2.0
propulsion/engine[3]/panel/lever/throttle/force-kgf LT -2.0 propulsion/engine[3]/panel/lever/throttle/force-kgf LT -2.0
</test> </test>
<test logic="OR" value="0"> <test logic="AND" value="1">
&ABSU;/SAU/status/mode/pitch-TOGA NE 0 &ABSU;/SAU/status/mode/pitch-TOGA EQ 0
</test> &U;/status/force-disengage-up NE 0
<test logic="OR" value="1">
<!-- = 6.0 kg / 3 -->
propulsion/engine[0]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[1]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[2]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[3]/panel/lever/throttle/force-kgf GT 2.0
</test> </test>
</switch> </switch>
...@@ -209,10 +212,8 @@ ...@@ -209,10 +212,8 @@
<switch name="&U;/status/throttle-locked"> <switch name="&U;/status/throttle-locked">
<default value="0"/> <default value="0"/>
<test logic="OR" value="&ABSU;/status/on"> <test value="&ABSU;/status/on">
propulsion/panel/lever/throttle-lock NE 0 propulsion/panel/lever/throttle-lock NE 0
propulsion/engine[0]/panel/lever/reverser/pos-norm GT 0.5
propulsion/engine[3]/panel/lever/reverser/pos-norm GT 0.5
</test> </test>
</switch> </switch>
......
...@@ -200,11 +200,7 @@ XXX K_PU most likely not meant literally! Such a large value would get clipped l ...@@ -200,11 +200,7 @@ XXX K_PU most likely not meant literally! Such a large value would get clipped l
<property>&U;/pitch/force-disengage</property> <property>&U;/pitch/force-disengage</property>
<property>&U;/roll/force-disengage</property> <property>&U;/roll/force-disengage</property>
<property>&ABSU;/AT/status/force-disengage-up</property>
<property>propulsion/engine[0]/panel/lever/throttle/force-kgf</property>
<property>propulsion/engine[1]/panel/lever/throttle/force-kgf</property>
<property>propulsion/engine[2]/panel/lever/throttle/force-kgf</property>
<property>propulsion/engine[3]/panel/lever/throttle/force-kgf</property>
<property>&ABSU;/AT/status/hold</property> <property>&ABSU;/AT/status/hold</property>
<property>&ABSU;/AT/status/force-disengage</property> <property>&ABSU;/AT/status/force-disengage</property>
...@@ -467,12 +463,8 @@ XXX K_PU most likely not meant literally! Such a large value would get clipped l ...@@ -467,12 +463,8 @@ XXX K_PU most likely not meant literally! Such a large value would get clipped l
&ABSU;/STU/status/VU-fault NE 0 &ABSU;/STU/status/VU-fault NE 0
&ABSU;/STU/status/landing EQ 0 &ABSU;/STU/status/landing EQ 0
</test> </test>
<test logic="OR" value="1"> <test value="1">
<!-- = 6.0 kg / 3 --> &ABSU;/AT/status/force-disengage-up NE 0
propulsion/engine[0]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[1]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[2]/panel/lever/throttle/force-kgf GT 2.0
propulsion/engine[3]/panel/lever/throttle/force-kgf GT 2.0
</test> </test>
</switch> </switch>
......
...@@ -58,9 +58,6 @@ ...@@ -58,9 +58,6 @@
<property>propulsion/engine[1]/panel/lever/throttle/pos-deg</property> <property>propulsion/engine[1]/panel/lever/throttle/pos-deg</property>
<property>propulsion/engine[2]/panel/lever/throttle/pos-deg</property> <property>propulsion/engine[2]/panel/lever/throttle/pos-deg</property>
<property>propulsion/engine[3]/panel/lever/throttle/pos-deg</property> <property>propulsion/engine[3]/panel/lever/throttle/pos-deg</property>
<property>propulsion/engine[0]/panel/lever/reverser/pos-norm</property>
<property>propulsion/engine[0]/panel/lever/reverser/pos-norm</property>
<property>propulsion/engine[3]/panel/lever/reverser/pos-norm</property>
<property>fcs/NPK/ABSU/status/test-lights</property> <property>fcs/NPK/ABSU/status/test-lights</property>
<property>fcs/NPK/ABSU/SAU/status/mode/pitch-TOGA</property> <property>fcs/NPK/ABSU/SAU/status/mode/pitch-TOGA</property>
...@@ -345,10 +342,8 @@ ...@@ -345,10 +342,8 @@
<switch name="fcs/NPK/status/takeoff-notready-sound"> <switch name="fcs/NPK/status/takeoff-notready-sound">
<default value="0"/> <default value="0"/>
<test logic="OR" value="0"> <test value="0">
fcs/NPK/status/takeoff-notready EQ 0 fcs/NPK/status/takeoff-notready EQ 0
propulsion/engine[0]/panel/lever/reverser/pos-norm GT 0.5
propulsion/engine[3]/panel/lever/reverser/pos-norm GT 0.5
</test> </test>
<test logic="OR" value="1"> <test logic="OR" value="1">
propulsion/engine[0]/panel/lever/throttle/pos-deg GT 60.0 propulsion/engine[0]/panel/lever/throttle/pos-deg GT 60.0
......
...@@ -18,33 +18,12 @@ ...@@ -18,33 +18,12 @@
<!-- XXX If moved to other file, the output is overwritten by something else. --> <!-- XXX If moved to other file, the output is overwritten by something else. -->
<fcs_function name="propulsion/engine[0]/throttle/throttle-norm"> <aerosurface_scale name="propulsion/engine[0]/throttle/throttle-norm">
<output>fcs/throttle-pos-norm[0]</output> <output>fcs/throttle-pos-norm[0]</output>
<function> <input>propulsion/engine[0]/throttle/throttle-deg</input>
<table> <domain><min>0.0</min><max>90.0</max></domain>
<independentVar lookup="row">propulsion/engine[0]/throttle/throttle-deg</independentVar> <range><min>0.0</min><max>1.0</max></range>
<tableData> </aerosurface_scale>
-90.0 1.0
0.0 0.0
90.0 1.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="propulsion/engine[3]/throttle/throttle-norm">
<output>fcs/throttle-pos-norm[3]</output>
<function>
<table>
<independentVar lookup="row">propulsion/engine[3]/throttle/throttle-deg</independentVar>
<tableData>
-90.0 1.0
0.0 0.0
90.0 1.0
</tableData>
</table>
</function>
</fcs_function>
<aerosurface_scale name="propulsion/engine[1]/throttle/throttle-norm"> <aerosurface_scale name="propulsion/engine[1]/throttle/throttle-norm">
<output>fcs/throttle-pos-norm[1]</output> <output>fcs/throttle-pos-norm[1]</output>
...@@ -60,6 +39,13 @@ ...@@ -60,6 +39,13 @@
<range><min>0.0</min><max>1.0</max></range> <range><min>0.0</min><max>1.0</max></range>
</aerosurface_scale> </aerosurface_scale>
<aerosurface_scale name="propulsion/engine[3]/throttle/throttle-norm">
<output>fcs/throttle-pos-norm[3]</output>
<input>propulsion/engine[3]/throttle/throttle-deg</input>
<domain><min>0.0</min><max>90.0</max></domain>
<range><min>0.0</min><max>1.0</max></range>
</aerosurface_scale>
<switch name="propulsion/engine[4]/throttle/throttle-norm"> <switch name="propulsion/engine[4]/throttle/throttle-norm">
<output>fcs/throttle-pos-norm[4]</output> <output>fcs/throttle-pos-norm[4]</output>
<default value="0.0"/> <default value="0.0"/>
......
...@@ -45,9 +45,6 @@ ...@@ -45,9 +45,6 @@
<property>propulsion/engine[2]/thrust-relative-norm</property> <property>propulsion/engine[2]/thrust-relative-norm</property>
<property>propulsion/engine[3]/thrust-relative-norm</property> <property>propulsion/engine[3]/thrust-relative-norm</property>
<property>propulsion/engine[0]/reverser/pos-deg</property>
<property>propulsion/engine[3]/reverser/pos-deg</property>
<channel name="Simulation status" execrate="16" active="simulation/init-active"> <channel name="Simulation status" execrate="16" active="simulation/init-active">
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
<!DOCTYPE system [ <!DOCTYPE system [
<!ENTITY IND "0"> <!ENTITY IND "0">
<!ENTITY NOREVIND "1">
<!ENTITY U "propulsion/engine[&IND;]"> <!ENTITY U "propulsion/engine[&IND;]">
]> ]>
<system name="RD-36-51A reverser"> <system name="RD-36-51A reverser">
<property>&U;/panel/lever/throttle/pos-deg</property> <property>&U;/panel/lever/throttle/pos-deg</property>
<property>&U;/panel/lever/reverser/cmd-norm</property> <property>&U;/panel/lever/reverser/pos-deg</property>
<property>&U;/set-running</property> <property>&U;/set-running</property>
<property>&U;/status/standby</property> <property>&U;/status/standby</property>
...@@ -18,31 +18,31 @@ ...@@ -18,31 +18,31 @@
<channel name="Throttle" execrate="4"> <channel name="Throttle" execrate="4">
<switch name="&U;/panel/lever/reverser/pos-norm"> <fcs_function name="&U;/throttle/reverser-deg">
<default value="&U;/panel/lever/reverser/cmd-norm"/>
<test logic="OR" value="&U;/panel/lever/reverser/pos-norm">
&U;/panel/lever/throttle/pos-deg GT 1.0
propulsion/engine[&NOREVIND;]/panel/lever/throttle/pos-deg GT 1.0
</test>
</switch>
</channel>
<channel name="Reverser" execrate="4">
<fcs_function name="&U;/reverser/cmd-deg">
<function> <function>
<table> <table>
<independentVar lookup="row">&U;/panel/lever/reverser/pos-norm</independentVar> <independentVar lookup="row">&U;/panel/lever/reverser/pos-deg</independentVar>
<tableData> <tableData>
0.5 0.0 10.0 0.0
1.0 135.0 30.0 90.0
</tableData> </tableData>
</table> </table>
</function> </function>
</fcs_function> </fcs_function>
</channel>
<channel name="Reverser" execrate="4">
<switch name="&U;/reverser/cmd-deg">
<default value="0.0"/>
<test logic="AND" value="135.0">
&U;/panel/lever/throttle/pos-deg LT 0.1
&U;/panel/lever/reverser/pos-deg GT 5.0
</test>
</switch>
<switch name="&U;/reverser/c1"> <switch name="&U;/reverser/c1">
<default value="2.5"/> <default value="2.5"/>
<test value="1.5"> <test value="1.5">
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
<!DOCTYPE system [ <!DOCTYPE system [
<!ENTITY IND "3"> <!ENTITY IND "3">
<!ENTITY NOREVIND "2">
<!ENTITY U "propulsion/engine[&IND;]"> <!ENTITY U "propulsion/engine[&IND;]">
]> ]>
<system name="RD-36-51A reverser"> <system name="RD-36-51A reverser">
<property>&U;/panel/lever/throttle/pos-deg</property> <property>&U;/panel/lever/throttle/pos-deg</property>
<property>&U;/panel/lever/reverser/cmd-norm</property> <property>&U;/panel/lever/reverser/pos-deg</property>
<property>&U;/set-running</property> <property>&U;/set-running</property>
<property>&U;/status/standby</property> <property>&U;/status/standby</property>
...@@ -18,31 +18,31 @@ ...@@ -18,31 +18,31 @@
<channel name="Throttle" execrate="4"> <channel name="Throttle" execrate="4">
<switch name="&U;/panel/lever/reverser/pos-norm"> <fcs_function name="&U;/throttle/reverser-deg">
<default value="&U;/panel/lever/reverser/cmd-norm"/>
<test logic="OR" value="&U;/panel/lever/reverser/pos-norm">
&U;/panel/lever/throttle/pos-deg GT 1.0
propulsion/engine[&NOREVIND;]/panel/lever/throttle/pos-deg GT 1.0
</test>
</switch>
</channel>
<channel name="Reverser" execrate="4">
<fcs_function name="&U;/reverser/cmd-deg">
<function> <function>
<table> <table>
<independentVar lookup="row">&U;/panel/lever/reverser/pos-norm</independentVar> <independentVar lookup="row">&U;/panel/lever/reverser/pos-deg</independentVar>
<tableData> <tableData>
0.5 0.0 10.0 0.0
1.0 135.0 30.0 90.0
</tableData> </tableData>
</table> </table>
</function> </function>
</fcs_function> </fcs_function>
</channel>
<channel name="Reverser" execrate="4">
<switch name="&U;/reverser/cmd-deg">
<default value="0.0"/>
<test logic="AND" value="135.0">
&U;/panel/lever/throttle/pos-deg LT 0.1
&U;/panel/lever/reverser/pos-deg GT 5.0
</test>
</switch>
<switch name="&U;/reverser/c1"> <switch name="&U;/reverser/c1">
<default value="2.5"/> <default value="2.5"/>
<test value="1.5"> <test value="1.5">
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
<!DOCTYPE system [ <!DOCTYPE system [
<!ENTITY IND "0"> <!ENTITY IND "0">
<!ENTITY REVIND "0">
<!ENTITY CONTACT_IND "24"> <!ENTITY CONTACT_IND "24">
<!ENTITY U "propulsion/engine[&IND;]"> <!ENTITY U "propulsion/engine[&IND;]">
<!ENTITY CONTACT "gear/unit[&CONTACT_IND;]"> <!ENTITY CONTACT "gear/unit[&CONTACT_IND;]">
...@@ -23,7 +22,6 @@ ...@@ -23,7 +22,6 @@
<property>&U;/panel/lever/throttle/force-kgf</property> <property>&U;/panel/lever/throttle/force-kgf</property>
<property>&U;/panel/lever/throttle/IMAT-deg_sec</property> <property>&U;/panel/lever/throttle/IMAT-deg_sec</property>
<property>propulsion/engine[&REVIND;]/panel/lever/reverser/pos-norm</property>
<property>propulsion/panel/lever/throttle-lock</property> <property>propulsion/panel/lever/throttle-lock</property>
<property>&U;/inlet-efficiency-norm</property> <property>&U;/inlet-efficiency-norm</property>
...@@ -47,9 +45,12 @@ ...@@ -47,9 +45,12 @@
<property>&U;/startup/abort</property> <property>&U;/startup/abort</property>
<property>&U;/startup/ignition</property> <property>&U;/startup/ignition</property>
<property>&U;/fuel/pressure-kgf_cm2</property> <property>&U;/fuel/pressure-kgf_cm2</property>
<property>&U;/reverser/pos-deg</property>
<property>&U;/fuel-flow-rate-t_h</property> <property>&U;/fuel-flow-rate-t_h</property>
<property>&U;/panel/lever/reverser/pos-deg</property>
<property>&U;/throttle/reverser-deg</property>
<property>&U;/reverser/pos-deg</property>
<property value="22.0">&U;/oil/fill-kg</property> <property value="22.0">&U;/oil/fill-kg</property>
<property>&U;/fire/valve</property> <property>&U;/fire/valve</property>
...@@ -148,12 +149,6 @@ ...@@ -148,12 +149,6 @@
<test value="0.0"> <test value="0.0">
propulsion/panel/lever/throttle-lock NE 0 propulsion/panel/lever/throttle-lock NE 0
</test> </test>
<!-- Lock the throttle if the engine is not reversible and reverser is engaged. -->
<test logic="AND" value="0.0">
<!-- FIXME Move this check out of the runtime! -->
&U;/index NE &REVIND;
propulsion/engine[&REVIND;]/panel/lever/reverser/pos-norm GT 0.5
</test>
<test value="&U;/panel/lever/throttle/pos-deg"> <test value="&U;/panel/lever/throttle/pos-deg">
&U;/throttle/input-deg_sec LT 0.0 &U;/throttle/input-deg_sec LT 0.0
</test> </test>
...@@ -174,8 +169,8 @@ ...@@ -174,8 +169,8 @@
<switch name="&U;/throttle/throttle-deg"> <switch name="&U;/throttle/throttle-deg">
<default value="&U;/panel/lever/throttle/pos-deg"/> <default value="&U;/panel/lever/throttle/pos-deg"/>
<test value="-&U;/panel/lever/throttle/pos-deg"> <test value="&U;/throttle/reverser-deg">
propulsion/engine[&REVIND;]/panel/lever/reverser/pos-norm GT 0.5 &U;/panel/lever/throttle/pos-deg LT 0.1
</test> </test>
</switch> </switch>
...@@ -900,24 +895,14 @@ ...@@ -900,24 +895,14 @@
</test> </test>
</switch> </switch>
<fcs_function name="&U;/panel/gauge/func/throttle-pos-deg">
<function>
<table>
<independentVar lookup="row">&U;/throttle/throttle-deg</independentVar>
<tableData>
-90.0 -30.0
0.0 0.0