A3XX: Fix FBW bug where aircraft can get stuck in excessive bank, fix rollback lag
This commit is contained in:
parent
12aa8b761a
commit
7ef432b5ed
3 changed files with 119 additions and 129 deletions
|
@ -14,39 +14,39 @@
|
||||||
<!-- Surface Droop -->
|
<!-- Surface Droop -->
|
||||||
<!-- =============================================================== -->
|
<!-- =============================================================== -->
|
||||||
|
|
||||||
<filter>
|
<filter>
|
||||||
<name>Aileron Droop</name>
|
<name>Aileron Droop</name>
|
||||||
<type>gain</type>
|
<type>gain</type>
|
||||||
<gain>1</gain>
|
<gain>1</gain>
|
||||||
<update-interval-secs type="double">0.05</update-interval-secs>
|
<update-interval-secs type="double">0.05</update-interval-secs>
|
||||||
<input>
|
<input>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/velocities/airspeed-kt</property>
|
<property>/velocities/airspeed-kt</property>
|
||||||
<entry><ind> 62</ind><dep>0.5</dep></entry>
|
<entry><ind> 62</ind><dep>0.5</dep></entry>
|
||||||
<entry><ind>116</ind><dep>0.0</dep></entry>
|
<entry><ind>116</ind><dep>0.0</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/systems/hydraulic/aileron-droop</output>
|
<output>/systems/hydraulic/aileron-droop</output>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
<filter>
|
<filter>
|
||||||
<name>Elevator Droop</name>
|
<name>Elevator Droop</name>
|
||||||
<type>gain</type>
|
<type>gain</type>
|
||||||
<gain>1</gain>
|
<gain>1</gain>
|
||||||
<update-interval-secs type="double">0.05</update-interval-secs>
|
<update-interval-secs type="double">0.05</update-interval-secs>
|
||||||
<input>
|
<input>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/velocities/airspeed-kt</property>
|
<property>/velocities/airspeed-kt</property>
|
||||||
<entry><ind> 72</ind><dep>0.5</dep></entry>
|
<entry><ind> 72</ind><dep>0.5</dep></entry>
|
||||||
<entry><ind>121</ind><dep>0.0</dep></entry>
|
<entry><ind>121</ind><dep>0.0</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/systems/hydraulic/elevator-droop</output>
|
<output>/systems/hydraulic/elevator-droop</output>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
<!-- =============================================================== -->
|
<!-- =============================================================== -->
|
||||||
<!-- Aileron Control -->
|
<!-- Aileron Control -->
|
||||||
|
@ -141,7 +141,7 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<sum>
|
<sum>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/roll-fbw</property>
|
<property>/controls/flight/roll-fbw</property>
|
||||||
|
@ -155,7 +155,7 @@
|
||||||
<entry><ind>5</ind><dep>0.13</dep></entry>
|
<entry><ind>5</ind><dep>0.13</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</sum>
|
</sum>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/aileron-left-cmd</output>
|
<output>/controls/flight/aileron-left-cmd</output>
|
||||||
<min>-0.5</min>
|
<min>-0.5</min>
|
||||||
|
@ -260,7 +260,7 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<sum>
|
<sum>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/roll-fbw</property>
|
<property>/controls/flight/roll-fbw</property>
|
||||||
|
@ -274,7 +274,7 @@
|
||||||
<entry><ind>5</ind><dep>-0.13</dep></entry>
|
<entry><ind>5</ind><dep>-0.13</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</sum>
|
</sum>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/aileron-right-cmd</output>
|
<output>/controls/flight/aileron-right-cmd</output>
|
||||||
<min>-0.5</min>
|
<min>-0.5</min>
|
||||||
|
@ -474,13 +474,13 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
||||||
<entry><ind>-0.1</ind><dep> 0</dep></entry>
|
<entry><ind>-0.1</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-l2-cmd</output>
|
<output>/controls/flight/spoiler-l2-cmd</output>
|
||||||
<min>0.0</min>
|
<min>0.0</min>
|
||||||
|
@ -603,13 +603,13 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
||||||
<entry><ind>-0.0</ind><dep> 0</dep></entry>
|
<entry><ind>-0.0</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-l3-cmd</output>
|
<output>/controls/flight/spoiler-l3-cmd</output>
|
||||||
<min>0.0</min>
|
<min>0.0</min>
|
||||||
|
@ -732,13 +732,13 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
||||||
<entry><ind>-0.0</ind><dep> 0</dep></entry>
|
<entry><ind>-0.0</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-l4-cmd</output>
|
<output>/controls/flight/spoiler-l4-cmd</output>
|
||||||
<min>0.0</min>
|
<min>0.0</min>
|
||||||
|
@ -825,13 +825,13 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
<property>/controls/flight/spoiler-left-fbw-cmd</property>
|
||||||
<entry><ind>-0.0</ind><dep> 0</dep></entry>
|
<entry><ind>-0.0</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-l5-cmd</output>
|
<output>/controls/flight/spoiler-l5-cmd</output>
|
||||||
<min>0.0</min>
|
<min>0.0</min>
|
||||||
|
@ -853,7 +853,7 @@
|
||||||
<type>gain</type>
|
<type>gain</type>
|
||||||
<gain>1.0</gain>
|
<gain>1.0</gain>
|
||||||
<input>
|
<input>
|
||||||
<expression>
|
<expression>
|
||||||
<sum>
|
<sum>
|
||||||
<property>/controls/flight/spoiler-l1</property>
|
<property>/controls/flight/spoiler-l1</property>
|
||||||
<property>/controls/flight/spoiler-l2</property>
|
<property>/controls/flight/spoiler-l2</property>
|
||||||
|
@ -861,7 +861,7 @@
|
||||||
<property>/controls/flight/spoiler-l4</property>
|
<property>/controls/flight/spoiler-l4</property>
|
||||||
<property>/controls/flight/spoiler-l5</property>
|
<property>/controls/flight/spoiler-l5</property>
|
||||||
</sum>
|
</sum>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-l-sum</output>
|
<output>/controls/flight/spoiler-l-sum</output>
|
||||||
</filter>
|
</filter>
|
||||||
|
@ -1047,13 +1047,13 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
||||||
<entry><ind>0.1</ind><dep> 0</dep></entry>
|
<entry><ind>0.1</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-r2-cmd</output>
|
<output>/controls/flight/spoiler-r2-cmd</output>
|
||||||
<min>0.0</min>
|
<min>0.0</min>
|
||||||
|
@ -1176,13 +1176,13 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
||||||
<entry><ind>0.0</ind><dep> 0</dep></entry>
|
<entry><ind>0.0</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-r3-cmd</output>
|
<output>/controls/flight/spoiler-r3-cmd</output>
|
||||||
<min>0.0</min>
|
<min>0.0</min>
|
||||||
|
@ -1305,13 +1305,13 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
||||||
<entry><ind>0.0</ind><dep> 0</dep></entry>
|
<entry><ind>0.0</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-r4-cmd</output>
|
<output>/controls/flight/spoiler-r4-cmd</output>
|
||||||
<min>0.0</min>
|
<min>0.0</min>
|
||||||
|
@ -1398,13 +1398,13 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
<property>/controls/flight/spoiler-right-fbw-cmd</property>
|
||||||
<entry><ind>0.0</ind><dep> 0</dep></entry>
|
<entry><ind>0.0</ind><dep> 0</dep></entry>
|
||||||
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
<entry><ind>1.0</ind><dep>0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-r5-cmd</output>
|
<output>/controls/flight/spoiler-r5-cmd</output>
|
||||||
<min>0.0</min>
|
<min>0.0</min>
|
||||||
|
@ -1426,7 +1426,7 @@
|
||||||
<type>gain</type>
|
<type>gain</type>
|
||||||
<gain>1.0</gain>
|
<gain>1.0</gain>
|
||||||
<input>
|
<input>
|
||||||
<expression>
|
<expression>
|
||||||
<sum>
|
<sum>
|
||||||
<property>/controls/flight/spoiler-r1</property>
|
<property>/controls/flight/spoiler-r1</property>
|
||||||
<property>/controls/flight/spoiler-r2</property>
|
<property>/controls/flight/spoiler-r2</property>
|
||||||
|
@ -1434,7 +1434,7 @@
|
||||||
<property>/controls/flight/spoiler-r4</property>
|
<property>/controls/flight/spoiler-r4</property>
|
||||||
<property>/controls/flight/spoiler-r5</property>
|
<property>/controls/flight/spoiler-r5</property>
|
||||||
</sum>
|
</sum>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/spoiler-r-sum</output>
|
<output>/controls/flight/spoiler-r-sum</output>
|
||||||
</filter>
|
</filter>
|
||||||
|
@ -1448,7 +1448,7 @@
|
||||||
<type>gain</type>
|
<type>gain</type>
|
||||||
<gain>1.0</gain>
|
<gain>1.0</gain>
|
||||||
<input>
|
<input>
|
||||||
<expression>
|
<expression>
|
||||||
<product>
|
<product>
|
||||||
<sum>
|
<sum>
|
||||||
<product>
|
<product>
|
||||||
|
@ -1471,7 +1471,7 @@
|
||||||
</sum>
|
</sum>
|
||||||
<value>0.444444</value>
|
<value>0.444444</value>
|
||||||
</product>
|
</product>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/aileron-sum</output>
|
<output>/controls/flight/aileron-sum</output>
|
||||||
<min>-1.0</min>
|
<min>-1.0</min>
|
||||||
|
@ -1526,14 +1526,14 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/elevator-fbw</property>
|
<property>/controls/flight/elevator-fbw</property>
|
||||||
<entry><ind>-1</ind><dep>-0.5</dep></entry>
|
<entry><ind>-1</ind><dep>-0.5</dep></entry>
|
||||||
<entry><ind> 0</ind><dep> 0.0</dep></entry>
|
<entry><ind> 0</ind><dep> 0.0</dep></entry>
|
||||||
<entry><ind> 1</ind><dep> 0.5</dep></entry>
|
<entry><ind> 1</ind><dep> 0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/elevator-left-cmd</output>
|
<output>/controls/flight/elevator-left-cmd</output>
|
||||||
<min>-0.5</min>
|
<min>-0.5</min>
|
||||||
|
@ -1592,14 +1592,14 @@
|
||||||
</equals>
|
</equals>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
<property>/controls/flight/elevator-fbw</property>
|
<property>/controls/flight/elevator-fbw</property>
|
||||||
<entry><ind>-1</ind><dep>-0.5</dep></entry>
|
<entry><ind>-1</ind><dep>-0.5</dep></entry>
|
||||||
<entry><ind> 0</ind><dep> 0.0</dep></entry>
|
<entry><ind> 0</ind><dep> 0.0</dep></entry>
|
||||||
<entry><ind> 1</ind><dep> 0.5</dep></entry>
|
<entry><ind> 1</ind><dep> 0.5</dep></entry>
|
||||||
</table>
|
</table>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/elevator-right-cmd</output>
|
<output>/controls/flight/elevator-right-cmd</output>
|
||||||
<min>-0.5</min>
|
<min>-0.5</min>
|
||||||
|
@ -1619,12 +1619,12 @@
|
||||||
<type>gain</type>
|
<type>gain</type>
|
||||||
<gain>1.0</gain>
|
<gain>1.0</gain>
|
||||||
<input>
|
<input>
|
||||||
<expression>
|
<expression>
|
||||||
<sum>
|
<sum>
|
||||||
<property>/controls/flight/elevator-left</property>
|
<property>/controls/flight/elevator-left</property>
|
||||||
<property>/controls/flight/elevator-right</property>
|
<property>/controls/flight/elevator-right</property>
|
||||||
</sum>
|
</sum>
|
||||||
</expression>
|
</expression>
|
||||||
</input>
|
</input>
|
||||||
<output>/controls/flight/elevator-sum</output>
|
<output>/controls/flight/elevator-sum</output>
|
||||||
<min>-1.0</min>
|
<min>-1.0</min>
|
||||||
|
|
|
@ -351,20 +351,10 @@
|
||||||
</input>
|
</input>
|
||||||
<input>
|
<input>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<equals>
|
||||||
<equals>
|
<property>/it-fbw/roll-back</property>
|
||||||
<property>/it-fbw/roll-back</property>
|
<value>1</value>
|
||||||
<value>1</value>
|
</equals>
|
||||||
</equals>
|
|
||||||
<less-than>
|
|
||||||
<property>/controls/flight/aileron-input</property>
|
|
||||||
<value>0.05</value>
|
|
||||||
</less-than>
|
|
||||||
<greater-than>
|
|
||||||
<property>/controls/flight/aileron-input</property>
|
|
||||||
<value>-0.05</value>
|
|
||||||
</greater-than>
|
|
||||||
</and>
|
|
||||||
</condition>
|
</condition>
|
||||||
<expression>
|
<expression>
|
||||||
<table>
|
<table>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
2109
|
2110
|
Reference in a new issue