A3XX: Major AP Bugfix, Major Improve AP, Improve FBW

This commit is contained in:
Joshua Davidson 2017-06-07 20:14:22 -04:00
parent 85bc704040
commit cfc83ea07d
15 changed files with 577 additions and 2180 deletions

View file

@ -559,346 +559,9 @@ YAW MOI_________3950000______23089847_______24848934
<system file="glass-effect1" />
<system file="it-fbw" />
<system file="fmgc" />
<system file="fcs" />
<flight_control name="FCS: A320">
<channel name="Pitch">
<summer name="Pitch Trim Sum">
<input>/controls/flight/elevator-sum</input>
<input>/controls/flight/elevator-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Elevator Control">
<input>fcs/pitch-trim-sum</input>
<gain>0.015</gain>
<range>
<min>-20</min>
<max>20</max>
</range>
<output>fcs/elevator-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Elevator Position Normalizer">
<input>fcs/pitch-trim-sum</input>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/elevator-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Roll">
<summer name="Roll Trim Sum">
<input>/controls/flight/aileron-sum</input>
<input>/controls/flight/aileron-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Control">
<input>-fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/right-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Left Aileron position normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron position normalized">
<input>fcs/right-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/right-aileron-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Throttle">
<pure_gain name="fcs/throttle1">
<input>/controls/engines/engine[0]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm</output>
<output>fcs/throttle-pos-norm</output>
</pure_gain>
<pure_gain name="fcs/throttle2">
<input>/controls/engines/engine[1]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm[1]</output>
<output>fcs/throttle-pos-norm[1]</output>
</pure_gain>
</channel>
<channel name="Yaw">
<pure_gain name="fcs/rudder-cmd">
<input>/controls/flight/rudder-fdm</input>
<gain>-1</gain>
<output>fcs/rudder-cmd-norm</output>
</pure_gain>
<summer name="Rudder Command Sum">
<input>fcs/rudder-cmd-norm</input>
<input>fcs/yaw-trim-cmd-norm</input>
<clipto>
<min> -0.35 </min>
<max> 0.35 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Rate">
<input>velocities/r-aero-rad_sec</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 2.00
</tableData>
</table>
</scheduled_gain>
<scheduled_gain name="Yaw Damper Beta">
<input>aero/beta-rad</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 0.00
</tableData>
</table>
</scheduled_gain>
<summer name="Yaw Damper Sum">
<input>fcs/yaw-damper-beta</input>
<input>fcs/yaw-damper-rate</input>
<clipto>
<min> -0.1 </min>
<max> 0.1 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Final">
<input>fcs/yaw-damper-sum</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.0
31 1.0
</tableData>
</table>
</scheduled_gain>
<summer name="Rudder Sum">
<input>fcs/rudder-command-sum</input>
<input>fcs/yaw-damper-final</input>
<clipto>
<min> -1 </min>
<max> 1 </max>
</clipto>
</summer>
<aerosurface_scale name="Rudder Control">
<input>fcs/rudder-sum</input>
<range>
<min> -0.35 </min>
<max> 0.35 </max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="rudder normalization">
<input>fcs/rudder-pos-rad</input>
<domain>
<min> -0.35 </min>
<max> 0.35 </max>
</domain>
<range>
<min> -1 </min>
<max> 1 </max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Flaps">
<kinematic name="Flaps Control">
<input>/controls/flight/flaps</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>35</position>
<time>40</time>
</setting>
</traverse>
<output>fcs/flap-pos-deg</output>
</kinematic>
<aerosurface_scale name="Flap position normalized">
<input>fcs/flap-pos-deg</input>
<domain>
<min>0</min>
<max>35</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/flap-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Slats">
<kinematic name="Slats Control">
<input>/controls/flight/slats</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>27</position>
<time>30</time>
</setting>
</traverse>
<output>fcs/slat-pos-deg</output>
</kinematic>
<aerosurface_scale name="Slat position normalized">
<input>fcs/slat-pos-deg</input>
<domain>
<min>0</min>
<max>27</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/slat-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Landing Gear">
<kinematic name="Gear Control">
<input>gear/gear-cmd-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>10</time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
</channel>
<channel name="Speedbrake">
<kinematic name="Speedbrake">
<input>/controls/flight/spoiler-output</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
</kinematic>
</channel>
<channel name="Tiller">
<switch name="/controls/gear/tiller-disabled">
<default value="0"/>
<test logic="AND" value="1">
/controls/gear/tiller-enabled == 0
</test>
</switch>
<fcs_function name="Nose Wheel Steering 0">
<function name="fcs/steer-nose-deg[0]">
<description>Steering command for nose gear</description>
<sum>
<product>
<table>
<independentVar lookup="row">/controls/gear/tiller-cmd-norm</independentVar>
<independentVar lookup="column">/controls/flight/rudder</independentVar>
<tableData>
-1 0 1
-1 -70 -70 -70
0 -7 0 7
1 70 70 70
</tableData>
</table>
<property>/controls/gear/tiller-enabled</property>
</product>
<product>
<product>
<property>/controls/flight/rudder</property>
<value>70</value>
</product>
<property>/controls/gear/tiller-disabled</property>
</product>
</sum>
</function>
</fcs_function>
<!-- simulate rotational friction -->
<actuator name="Gear Nose Actuator">
<input>fcs/steer-nose-deg[0]</input>
<rate_limit>70</rate_limit>
<output>fcs/steer-pos-deg[0]</output>
</actuator>
</channel>
</flight_control>
<flight_control name="none"/>
<aerodynamics>

View file

@ -559,346 +559,9 @@ YAW MOI_________3950000______23089847_______24848934
<system file="glass-effect1" />
<system file="it-fbw" />
<system file="fmgc" />
<system file="fcs" />
<flight_control name="FCS: A320">
<channel name="Pitch">
<summer name="Pitch Trim Sum">
<input>/controls/flight/elevator-sum</input>
<input>/controls/flight/elevator-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Elevator Control">
<input>fcs/pitch-trim-sum</input>
<gain>0.015</gain>
<range>
<min>-20</min>
<max>20</max>
</range>
<output>fcs/elevator-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Elevator Position Normalizer">
<input>fcs/pitch-trim-sum</input>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/elevator-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Roll">
<summer name="Roll Trim Sum">
<input>/controls/flight/aileron-sum</input>
<input>/controls/flight/aileron-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Control">
<input>-fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/right-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Left Aileron position normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron position normalized">
<input>fcs/right-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/right-aileron-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Throttle">
<pure_gain name="fcs/throttle1">
<input>/controls/engines/engine[0]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm</output>
<output>fcs/throttle-pos-norm</output>
</pure_gain>
<pure_gain name="fcs/throttle2">
<input>/controls/engines/engine[1]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm[1]</output>
<output>fcs/throttle-pos-norm[1]</output>
</pure_gain>
</channel>
<channel name="Yaw">
<pure_gain name="fcs/rudder-cmd">
<input>/controls/flight/rudder-fdm</input>
<gain>-1</gain>
<output>fcs/rudder-cmd-norm</output>
</pure_gain>
<summer name="Rudder Command Sum">
<input>fcs/rudder-cmd-norm</input>
<input>fcs/yaw-trim-cmd-norm</input>
<clipto>
<min> -0.35 </min>
<max> 0.35 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Rate">
<input>velocities/r-aero-rad_sec</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 2.00
</tableData>
</table>
</scheduled_gain>
<scheduled_gain name="Yaw Damper Beta">
<input>aero/beta-rad</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 0.00
</tableData>
</table>
</scheduled_gain>
<summer name="Yaw Damper Sum">
<input>fcs/yaw-damper-beta</input>
<input>fcs/yaw-damper-rate</input>
<clipto>
<min> -0.1 </min>
<max> 0.1 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Final">
<input>fcs/yaw-damper-sum</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.0
31 1.0
</tableData>
</table>
</scheduled_gain>
<summer name="Rudder Sum">
<input>fcs/rudder-command-sum</input>
<input>fcs/yaw-damper-final</input>
<clipto>
<min> -1 </min>
<max> 1 </max>
</clipto>
</summer>
<aerosurface_scale name="Rudder Control">
<input>fcs/rudder-sum</input>
<range>
<min> -0.35 </min>
<max> 0.35 </max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="rudder normalization">
<input>fcs/rudder-pos-rad</input>
<domain>
<min> -0.35 </min>
<max> 0.35 </max>
</domain>
<range>
<min> -1 </min>
<max> 1 </max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Flaps">
<kinematic name="Flaps Control">
<input>/controls/flight/flaps</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>35</position>
<time>40</time>
</setting>
</traverse>
<output>fcs/flap-pos-deg</output>
</kinematic>
<aerosurface_scale name="Flap position normalized">
<input>fcs/flap-pos-deg</input>
<domain>
<min>0</min>
<max>35</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/flap-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Slats">
<kinematic name="Slats Control">
<input>/controls/flight/slats</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>27</position>
<time>30</time>
</setting>
</traverse>
<output>fcs/slat-pos-deg</output>
</kinematic>
<aerosurface_scale name="Slat position normalized">
<input>fcs/slat-pos-deg</input>
<domain>
<min>0</min>
<max>27</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/slat-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Landing Gear">
<kinematic name="Gear Control">
<input>gear/gear-cmd-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>10</time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
</channel>
<channel name="Speedbrake">
<kinematic name="Speedbrake">
<input>/controls/flight/spoiler-output</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
</kinematic>
</channel>
<channel name="Tiller">
<switch name="/controls/gear/tiller-disabled">
<default value="0"/>
<test logic="AND" value="1">
/controls/gear/tiller-enabled == 0
</test>
</switch>
<fcs_function name="Nose Wheel Steering 0">
<function name="fcs/steer-nose-deg[0]">
<description>Steering command for nose gear</description>
<sum>
<product>
<table>
<independentVar lookup="row">/controls/gear/tiller-cmd-norm</independentVar>
<independentVar lookup="column">/controls/flight/rudder</independentVar>
<tableData>
-1 0 1
-1 -70 -70 -70
0 -7 0 7
1 70 70 70
</tableData>
</table>
<property>/controls/gear/tiller-enabled</property>
</product>
<product>
<product>
<property>/controls/flight/rudder</property>
<value>70</value>
</product>
<property>/controls/gear/tiller-disabled</property>
</product>
</sum>
</function>
</fcs_function>
<!-- simulate rotational friction -->
<actuator name="Gear Nose Actuator">
<input>fcs/steer-nose-deg[0]</input>
<rate_limit>70</rate_limit>
<output>fcs/steer-pos-deg[0]</output>
</actuator>
</channel>
</flight_control>
<flight_control name="none"/>
<aerodynamics>

View file

@ -559,346 +559,9 @@ YAW MOI_________3950000______23089847_______24848934
<system file="glass-effect1" />
<system file="it-fbw" />
<system file="fmgc" />
<system file="fcs" />
<flight_control name="FCS: A320">
<channel name="Pitch">
<summer name="Pitch Trim Sum">
<input>/controls/flight/elevator-sum</input>
<input>/controls/flight/elevator-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Elevator Control">
<input>fcs/pitch-trim-sum</input>
<gain>0.015</gain>
<range>
<min>-20</min>
<max>20</max>
</range>
<output>fcs/elevator-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Elevator Position Normalizer">
<input>fcs/pitch-trim-sum</input>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/elevator-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Roll">
<summer name="Roll Trim Sum">
<input>/controls/flight/aileron-sum</input>
<input>/controls/flight/aileron-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Control">
<input>-fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/right-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Left Aileron position normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron position normalized">
<input>fcs/right-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/right-aileron-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Throttle">
<pure_gain name="fcs/throttle1">
<input>/controls/engines/engine[0]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm</output>
<output>fcs/throttle-pos-norm</output>
</pure_gain>
<pure_gain name="fcs/throttle2">
<input>/controls/engines/engine[1]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm[1]</output>
<output>fcs/throttle-pos-norm[1]</output>
</pure_gain>
</channel>
<channel name="Yaw">
<pure_gain name="fcs/rudder-cmd">
<input>/controls/flight/rudder-fdm</input>
<gain>-1</gain>
<output>fcs/rudder-cmd-norm</output>
</pure_gain>
<summer name="Rudder Command Sum">
<input>fcs/rudder-cmd-norm</input>
<input>fcs/yaw-trim-cmd-norm</input>
<clipto>
<min> -0.35 </min>
<max> 0.35 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Rate">
<input>velocities/r-aero-rad_sec</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 2.00
</tableData>
</table>
</scheduled_gain>
<scheduled_gain name="Yaw Damper Beta">
<input>aero/beta-rad</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 0.00
</tableData>
</table>
</scheduled_gain>
<summer name="Yaw Damper Sum">
<input>fcs/yaw-damper-beta</input>
<input>fcs/yaw-damper-rate</input>
<clipto>
<min> -0.1 </min>
<max> 0.1 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Final">
<input>fcs/yaw-damper-sum</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.0
31 1.0
</tableData>
</table>
</scheduled_gain>
<summer name="Rudder Sum">
<input>fcs/rudder-command-sum</input>
<input>fcs/yaw-damper-final</input>
<clipto>
<min> -1 </min>
<max> 1 </max>
</clipto>
</summer>
<aerosurface_scale name="Rudder Control">
<input>fcs/rudder-sum</input>
<range>
<min> -0.35 </min>
<max> 0.35 </max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="rudder normalization">
<input>fcs/rudder-pos-rad</input>
<domain>
<min> -0.35 </min>
<max> 0.35 </max>
</domain>
<range>
<min> -1 </min>
<max> 1 </max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Flaps">
<kinematic name="Flaps Control">
<input>/controls/flight/flaps</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>35</position>
<time>40</time>
</setting>
</traverse>
<output>fcs/flap-pos-deg</output>
</kinematic>
<aerosurface_scale name="Flap position normalized">
<input>fcs/flap-pos-deg</input>
<domain>
<min>0</min>
<max>35</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/flap-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Slats">
<kinematic name="Slats Control">
<input>/controls/flight/slats</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>27</position>
<time>30</time>
</setting>
</traverse>
<output>fcs/slat-pos-deg</output>
</kinematic>
<aerosurface_scale name="Slat position normalized">
<input>fcs/slat-pos-deg</input>
<domain>
<min>0</min>
<max>27</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/slat-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Landing Gear">
<kinematic name="Gear Control">
<input>gear/gear-cmd-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>10</time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
</channel>
<channel name="Speedbrake">
<kinematic name="Speedbrake">
<input>/controls/flight/spoiler-output</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
</kinematic>
</channel>
<channel name="Tiller">
<switch name="/controls/gear/tiller-disabled">
<default value="0"/>
<test logic="AND" value="1">
/controls/gear/tiller-enabled == 0
</test>
</switch>
<fcs_function name="Nose Wheel Steering 0">
<function name="fcs/steer-nose-deg[0]">
<description>Steering command for nose gear</description>
<sum>
<product>
<table>
<independentVar lookup="row">/controls/gear/tiller-cmd-norm</independentVar>
<independentVar lookup="column">/controls/flight/rudder</independentVar>
<tableData>
-1 0 1
-1 -70 -70 -70
0 -7 0 7
1 70 70 70
</tableData>
</table>
<property>/controls/gear/tiller-enabled</property>
</product>
<product>
<product>
<property>/controls/flight/rudder</property>
<value>70</value>
</product>
<property>/controls/gear/tiller-disabled</property>
</product>
</sum>
</function>
</fcs_function>
<!-- simulate rotational friction -->
<actuator name="Gear Nose Actuator">
<input>fcs/steer-nose-deg[0]</input>
<rate_limit>70</rate_limit>
<output>fcs/steer-pos-deg[0]</output>
</actuator>
</channel>
</flight_control>
<flight_control name="none"/>
<aerodynamics>

View file

@ -559,346 +559,9 @@ YAW MOI_________3950000______23089847_______24848934
<system file="glass-effect1" />
<system file="it-fbw" />
<system file="fmgc" />
<system file="fcs" />
<flight_control name="FCS: A320">
<channel name="Pitch">
<summer name="Pitch Trim Sum">
<input>/controls/flight/elevator-sum</input>
<input>/controls/flight/elevator-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Elevator Control">
<input>fcs/pitch-trim-sum</input>
<gain>0.015</gain>
<range>
<min>-20</min>
<max>20</max>
</range>
<output>fcs/elevator-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Elevator Position Normalizer">
<input>fcs/pitch-trim-sum</input>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/elevator-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Roll">
<summer name="Roll Trim Sum">
<input>/controls/flight/aileron-sum</input>
<input>/controls/flight/aileron-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Control">
<input>-fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/right-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Left Aileron position normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron position normalized">
<input>fcs/right-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/right-aileron-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Throttle">
<pure_gain name="fcs/throttle1">
<input>/controls/engines/engine[0]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm</output>
<output>fcs/throttle-pos-norm</output>
</pure_gain>
<pure_gain name="fcs/throttle2">
<input>/controls/engines/engine[1]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm[1]</output>
<output>fcs/throttle-pos-norm[1]</output>
</pure_gain>
</channel>
<channel name="Yaw">
<pure_gain name="fcs/rudder-cmd">
<input>/controls/flight/rudder-fdm</input>
<gain>-1</gain>
<output>fcs/rudder-cmd-norm</output>
</pure_gain>
<summer name="Rudder Command Sum">
<input>fcs/rudder-cmd-norm</input>
<input>fcs/yaw-trim-cmd-norm</input>
<clipto>
<min> -0.35 </min>
<max> 0.35 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Rate">
<input>velocities/r-aero-rad_sec</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 2.00
</tableData>
</table>
</scheduled_gain>
<scheduled_gain name="Yaw Damper Beta">
<input>aero/beta-rad</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 0.00
</tableData>
</table>
</scheduled_gain>
<summer name="Yaw Damper Sum">
<input>fcs/yaw-damper-beta</input>
<input>fcs/yaw-damper-rate</input>
<clipto>
<min> -0.1 </min>
<max> 0.1 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Final">
<input>fcs/yaw-damper-sum</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.0
31 1.0
</tableData>
</table>
</scheduled_gain>
<summer name="Rudder Sum">
<input>fcs/rudder-command-sum</input>
<input>fcs/yaw-damper-final</input>
<clipto>
<min> -1 </min>
<max> 1 </max>
</clipto>
</summer>
<aerosurface_scale name="Rudder Control">
<input>fcs/rudder-sum</input>
<range>
<min> -0.35 </min>
<max> 0.35 </max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="rudder normalization">
<input>fcs/rudder-pos-rad</input>
<domain>
<min> -0.35 </min>
<max> 0.35 </max>
</domain>
<range>
<min> -1 </min>
<max> 1 </max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Flaps">
<kinematic name="Flaps Control">
<input>/controls/flight/flaps</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>35</position>
<time>40</time>
</setting>
</traverse>
<output>fcs/flap-pos-deg</output>
</kinematic>
<aerosurface_scale name="Flap position normalized">
<input>fcs/flap-pos-deg</input>
<domain>
<min>0</min>
<max>35</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/flap-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Slats">
<kinematic name="Slats Control">
<input>/controls/flight/slats</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>27</position>
<time>30</time>
</setting>
</traverse>
<output>fcs/slat-pos-deg</output>
</kinematic>
<aerosurface_scale name="Slat position normalized">
<input>fcs/slat-pos-deg</input>
<domain>
<min>0</min>
<max>27</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/slat-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Landing Gear">
<kinematic name="Gear Control">
<input>gear/gear-cmd-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>10</time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
</channel>
<channel name="Speedbrake">
<kinematic name="Speedbrake">
<input>/controls/flight/spoiler-output</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
</kinematic>
</channel>
<channel name="Tiller">
<switch name="/controls/gear/tiller-disabled">
<default value="0"/>
<test logic="AND" value="1">
/controls/gear/tiller-enabled == 0
</test>
</switch>
<fcs_function name="Nose Wheel Steering 0">
<function name="fcs/steer-nose-deg[0]">
<description>Steering command for nose gear</description>
<sum>
<product>
<table>
<independentVar lookup="row">/controls/gear/tiller-cmd-norm</independentVar>
<independentVar lookup="column">/controls/flight/rudder</independentVar>
<tableData>
-1 0 1
-1 -70 -70 -70
0 -7 0 7
1 70 70 70
</tableData>
</table>
<property>/controls/gear/tiller-enabled</property>
</product>
<product>
<product>
<property>/controls/flight/rudder</property>
<value>70</value>
</product>
<property>/controls/gear/tiller-disabled</property>
</product>
</sum>
</function>
</fcs_function>
<!-- simulate rotational friction -->
<actuator name="Gear Nose Actuator">
<input>fcs/steer-nose-deg[0]</input>
<rate_limit>70</rate_limit>
<output>fcs/steer-pos-deg[0]</output>
</actuator>
</channel>
</flight_control>
<flight_control name="none"/>
<aerodynamics>

View file

@ -304,21 +304,19 @@
<config>
<altitude-dial-mode>0</altitude-dial-mode>
<roll>
<umin>-0.55</umin>
<umax>0.55</umax>
<kp>0.05</kp>
<umin>-0.45</umin>
<umax>0.45</umax>
<kp>0.045</kp>
<kp-vloc>0.07</kp-vloc>
<ti>10.0</ti>
<td>0.00001</td>
<kp-cws>0.05</kp-cws>
</roll>
<pitch>
<umin>-0.60</umin>
<umax>0.60</umax>
<kp>-0.08</kp>
<ti>5.0</ti>
<td>0.0001</td>
<kp-cws>-0.08</kp-cws>
<umin>-0.20</umin>
<umax>0.20</umax>
<kp>-0.06</kp>
<ti>10.0</ti>
<td>0.00001</td>
</pitch>
<cmd>
<roll-kp>-0.9</roll-kp>
@ -328,7 +326,7 @@
<fpa>0.30</fpa>
</cmd>
<autoland>
<kp-pitch>0.03</kp-pitch>
<kp-pitch>0.035</kp-pitch>
<kp-rudder>-0.25</kp-rudder>
</autoland>
</config>

View file

@ -559,346 +559,9 @@ YAW MOI_________3950000______23089847_______24848934
<system file="glass-effect1" />
<system file="it-fbw" />
<system file="fmgc" />
<system file="fcs" />
<flight_control name="FCS: A320">
<channel name="Pitch">
<summer name="Pitch Trim Sum">
<input>/controls/flight/elevator-sum</input>
<input>/controls/flight/elevator-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Elevator Control">
<input>fcs/pitch-trim-sum</input>
<gain>0.015</gain>
<range>
<min>-20</min>
<max>20</max>
</range>
<output>fcs/elevator-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Elevator Position Normalizer">
<input>fcs/pitch-trim-sum</input>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/elevator-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Roll">
<summer name="Roll Trim Sum">
<input>/controls/flight/aileron-sum</input>
<input>/controls/flight/aileron-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Control">
<input>-fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/right-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Left Aileron position normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron position normalized">
<input>fcs/right-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/right-aileron-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Throttle">
<pure_gain name="fcs/throttle1">
<input>/controls/engines/engine[0]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm</output>
<output>fcs/throttle-pos-norm</output>
</pure_gain>
<pure_gain name="fcs/throttle2">
<input>/controls/engines/engine[1]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm[1]</output>
<output>fcs/throttle-pos-norm[1]</output>
</pure_gain>
</channel>
<channel name="Yaw">
<pure_gain name="fcs/rudder-cmd">
<input>/controls/flight/rudder-fdm</input>
<gain>-1</gain>
<output>fcs/rudder-cmd-norm</output>
</pure_gain>
<summer name="Rudder Command Sum">
<input>fcs/rudder-cmd-norm</input>
<input>fcs/yaw-trim-cmd-norm</input>
<clipto>
<min> -0.35 </min>
<max> 0.35 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Rate">
<input>velocities/r-aero-rad_sec</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 2.00
</tableData>
</table>
</scheduled_gain>
<scheduled_gain name="Yaw Damper Beta">
<input>aero/beta-rad</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 0.00
</tableData>
</table>
</scheduled_gain>
<summer name="Yaw Damper Sum">
<input>fcs/yaw-damper-beta</input>
<input>fcs/yaw-damper-rate</input>
<clipto>
<min> -0.1 </min>
<max> 0.1 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Final">
<input>fcs/yaw-damper-sum</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.0
31 1.0
</tableData>
</table>
</scheduled_gain>
<summer name="Rudder Sum">
<input>fcs/rudder-command-sum</input>
<input>fcs/yaw-damper-final</input>
<clipto>
<min> -1 </min>
<max> 1 </max>
</clipto>
</summer>
<aerosurface_scale name="Rudder Control">
<input>fcs/rudder-sum</input>
<range>
<min> -0.35 </min>
<max> 0.35 </max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="rudder normalization">
<input>fcs/rudder-pos-rad</input>
<domain>
<min> -0.35 </min>
<max> 0.35 </max>
</domain>
<range>
<min> -1 </min>
<max> 1 </max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Flaps">
<kinematic name="Flaps Control">
<input>/controls/flight/flaps</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>35</position>
<time>40</time>
</setting>
</traverse>
<output>fcs/flap-pos-deg</output>
</kinematic>
<aerosurface_scale name="Flap position normalized">
<input>fcs/flap-pos-deg</input>
<domain>
<min>0</min>
<max>35</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/flap-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Slats">
<kinematic name="Slats Control">
<input>/controls/flight/slats</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>27</position>
<time>30</time>
</setting>
</traverse>
<output>fcs/slat-pos-deg</output>
</kinematic>
<aerosurface_scale name="Slat position normalized">
<input>fcs/slat-pos-deg</input>
<domain>
<min>0</min>
<max>27</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/slat-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Landing Gear">
<kinematic name="Gear Control">
<input>gear/gear-cmd-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>10</time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
</channel>
<channel name="Speedbrake">
<kinematic name="Speedbrake">
<input>/controls/flight/spoiler-output</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
</kinematic>
</channel>
<channel name="Tiller">
<switch name="/controls/gear/tiller-disabled">
<default value="0"/>
<test logic="AND" value="1">
/controls/gear/tiller-enabled == 0
</test>
</switch>
<fcs_function name="Nose Wheel Steering 0">
<function name="fcs/steer-nose-deg[0]">
<description>Steering command for nose gear</description>
<sum>
<product>
<table>
<independentVar lookup="row">/controls/gear/tiller-cmd-norm</independentVar>
<independentVar lookup="column">/controls/flight/rudder</independentVar>
<tableData>
-1 0 1
-1 -70 -70 -70
0 -7 0 7
1 70 70 70
</tableData>
</table>
<property>/controls/gear/tiller-enabled</property>
</product>
<product>
<product>
<property>/controls/flight/rudder</property>
<value>70</value>
</product>
<property>/controls/gear/tiller-disabled</property>
</product>
</sum>
</function>
</fcs_function>
<!-- simulate rotational friction -->
<actuator name="Gear Nose Actuator">
<input>fcs/steer-nose-deg[0]</input>
<rate_limit>70</rate_limit>
<output>fcs/steer-pos-deg[0]</output>
</actuator>
</channel>
</flight_control>
<flight_control name="none"/>
<aerodynamics>

View file

@ -559,346 +559,9 @@ YAW MOI_________3950000______23089847_______24848934
<system file="glass-effect1" />
<system file="it-fbw" />
<system file="fmgc" />
<system file="fcs" />
<flight_control name="FCS: A320">
<channel name="Pitch">
<summer name="Pitch Trim Sum">
<input>/controls/flight/elevator-sum</input>
<input>/controls/flight/elevator-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Elevator Control">
<input>fcs/pitch-trim-sum</input>
<gain>0.015</gain>
<range>
<min>-20</min>
<max>20</max>
</range>
<output>fcs/elevator-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Elevator Position Normalizer">
<input>fcs/pitch-trim-sum</input>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/elevator-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Roll">
<summer name="Roll Trim Sum">
<input>/controls/flight/aileron-sum</input>
<input>/controls/flight/aileron-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Control">
<input>-fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/right-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Left Aileron position normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron position normalized">
<input>fcs/right-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/right-aileron-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Throttle">
<pure_gain name="fcs/throttle1">
<input>/controls/engines/engine[0]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm</output>
<output>fcs/throttle-pos-norm</output>
</pure_gain>
<pure_gain name="fcs/throttle2">
<input>/controls/engines/engine[1]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm[1]</output>
<output>fcs/throttle-pos-norm[1]</output>
</pure_gain>
</channel>
<channel name="Yaw">
<pure_gain name="fcs/rudder-cmd">
<input>/controls/flight/rudder-fdm</input>
<gain>-1</gain>
<output>fcs/rudder-cmd-norm</output>
</pure_gain>
<summer name="Rudder Command Sum">
<input>fcs/rudder-cmd-norm</input>
<input>fcs/yaw-trim-cmd-norm</input>
<clipto>
<min> -0.35 </min>
<max> 0.35 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Rate">
<input>velocities/r-aero-rad_sec</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 2.00
</tableData>
</table>
</scheduled_gain>
<scheduled_gain name="Yaw Damper Beta">
<input>aero/beta-rad</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 0.00
</tableData>
</table>
</scheduled_gain>
<summer name="Yaw Damper Sum">
<input>fcs/yaw-damper-beta</input>
<input>fcs/yaw-damper-rate</input>
<clipto>
<min> -0.1 </min>
<max> 0.1 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Final">
<input>fcs/yaw-damper-sum</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.0
31 1.0
</tableData>
</table>
</scheduled_gain>
<summer name="Rudder Sum">
<input>fcs/rudder-command-sum</input>
<input>fcs/yaw-damper-final</input>
<clipto>
<min> -1 </min>
<max> 1 </max>
</clipto>
</summer>
<aerosurface_scale name="Rudder Control">
<input>fcs/rudder-sum</input>
<range>
<min> -0.35 </min>
<max> 0.35 </max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="rudder normalization">
<input>fcs/rudder-pos-rad</input>
<domain>
<min> -0.35 </min>
<max> 0.35 </max>
</domain>
<range>
<min> -1 </min>
<max> 1 </max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Flaps">
<kinematic name="Flaps Control">
<input>/controls/flight/flaps</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>35</position>
<time>40</time>
</setting>
</traverse>
<output>fcs/flap-pos-deg</output>
</kinematic>
<aerosurface_scale name="Flap position normalized">
<input>fcs/flap-pos-deg</input>
<domain>
<min>0</min>
<max>35</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/flap-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Slats">
<kinematic name="Slats Control">
<input>/controls/flight/slats</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>27</position>
<time>30</time>
</setting>
</traverse>
<output>fcs/slat-pos-deg</output>
</kinematic>
<aerosurface_scale name="Slat position normalized">
<input>fcs/slat-pos-deg</input>
<domain>
<min>0</min>
<max>27</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/slat-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Landing Gear">
<kinematic name="Gear Control">
<input>gear/gear-cmd-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>10</time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
</channel>
<channel name="Speedbrake">
<kinematic name="Speedbrake">
<input>/controls/flight/spoiler-output</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
</kinematic>
</channel>
<channel name="Tiller">
<switch name="/controls/gear/tiller-disabled">
<default value="0"/>
<test logic="AND" value="1">
/controls/gear/tiller-enabled == 0
</test>
</switch>
<fcs_function name="Nose Wheel Steering 0">
<function name="fcs/steer-nose-deg[0]">
<description>Steering command for nose gear</description>
<sum>
<product>
<table>
<independentVar lookup="row">/controls/gear/tiller-cmd-norm</independentVar>
<independentVar lookup="column">/controls/flight/rudder</independentVar>
<tableData>
-1 0 1
-1 -70 -70 -70
0 -7 0 7
1 70 70 70
</tableData>
</table>
<property>/controls/gear/tiller-enabled</property>
</product>
<product>
<product>
<property>/controls/flight/rudder</property>
<value>70</value>
</product>
<property>/controls/gear/tiller-disabled</property>
</product>
</sum>
</function>
</fcs_function>
<!-- simulate rotational friction -->
<actuator name="Gear Nose Actuator">
<input>fcs/steer-nose-deg[0]</input>
<rate_limit>70</rate_limit>
<output>fcs/steer-pos-deg[0]</output>
</actuator>
</channel>
</flight_control>
<flight_control name="none"/>
<aerodynamics>

View file

@ -849,7 +849,7 @@
<object-name>n11</object-name>
<property>/engines/engine/n1</property>
<interpolation>
<entry><ind> 23</ind><dep>-13</dep></entry>
<entry><ind> 22</ind><dep>-13</dep></entry>
<entry><ind> 50</ind><dep> 53</dep></entry>
<entry><ind>100</ind><dep>152</dep></entry>
<entry><ind>110</ind><dep>170</dep></entry>
@ -871,7 +871,7 @@
<object-name>n12</object-name>
<property>/engines/engine[1]/n1</property>
<interpolation>
<entry><ind> 23</ind><dep>-13</dep></entry>
<entry><ind> 22</ind><dep>-13</dep></entry>
<entry><ind> 50</ind><dep> 53</dep></entry>
<entry><ind>100</ind><dep>152</dep></entry>
<entry><ind>110</ind><dep>170</dep></entry>
@ -893,7 +893,7 @@
<object-name>n1limy1</object-name>
<property>/controls/engines/n1-limit</property>
<interpolation>
<entry><ind> 23</ind><dep>-13</dep></entry>
<entry><ind> 22</ind><dep>-13</dep></entry>
<entry><ind> 50</ind><dep> 53</dep></entry>
<entry><ind>100</ind><dep>152</dep></entry>
<entry><ind>110</ind><dep>170</dep></entry>
@ -915,7 +915,7 @@
<object-name>n1limy2</object-name>
<property>/controls/engines/n1-limit</property>
<interpolation>
<entry><ind> 23</ind><dep>-13</dep></entry>
<entry><ind> 22</ind><dep>-13</dep></entry>
<entry><ind> 50</ind><dep> 53</dep></entry>
<entry><ind>100</ind><dep>152</dep></entry>
<entry><ind>110</ind><dep>170</dep></entry>
@ -937,7 +937,7 @@
<object-name>thrpos1</object-name>
<property>/engines/engine[0]/n1-cmd</property>
<interpolation>
<entry><ind> 23</ind><dep>-13</dep></entry>
<entry><ind> 22</ind><dep>-13</dep></entry>
<entry><ind> 50</ind><dep> 53</dep></entry>
<entry><ind>100</ind><dep>152</dep></entry>
<entry><ind>110</ind><dep>170</dep></entry>
@ -959,7 +959,7 @@
<object-name>thrpos2</object-name>
<property>/engines/engine[1]/n1-cmd</property>
<interpolation>
<entry><ind> 23</ind><dep>-13</dep></entry>
<entry><ind> 22</ind><dep>-13</dep></entry>
<entry><ind> 50</ind><dep> 53</dep></entry>
<entry><ind>100</ind><dep>152</dep></entry>
<entry><ind>110</ind><dep>170</dep></entry>

View file

@ -1244,7 +1244,7 @@
<property>/engines/engine/n1</property>
<property>octal</property>
<interpolation>
<entry><ind> 23</ind><dep> 0</dep></entry>
<entry><ind> 22</ind><dep> 0</dep></entry>
<entry><ind> 40</ind><dep> 47</dep></entry>
<entry><ind>100</ind><dep>174</dep></entry>
<entry><ind>110</ind><dep>195</dep></entry>
@ -1266,7 +1266,7 @@
<object-name>n12</object-name>
<property>/engines/engine[1]/n1</property>
<interpolation>
<entry><ind> 23</ind><dep> 0</dep></entry>
<entry><ind> 22</ind><dep> 0</dep></entry>
<entry><ind> 40</ind><dep> 47</dep></entry>
<entry><ind>100</ind><dep>174</dep></entry>
<entry><ind>110</ind><dep>195</dep></entry>

View file

@ -850,7 +850,7 @@
<property>/engines/engine/n1</property>
<interpolation>
<entry><ind> 0</ind><dep> -3</dep></entry>
<entry><ind> 23</ind><dep> -3</dep></entry>
<entry><ind> 22</ind><dep> -3</dep></entry>
<entry><ind> 50</ind><dep> 72</dep></entry>
<entry><ind>100</ind><dep>178</dep></entry>
<entry><ind>110</ind><dep>195</dep></entry>
@ -873,7 +873,7 @@
<property>/engines/engine[1]/n1</property>
<interpolation>
<entry><ind> 0</ind><dep> -3</dep></entry>
<entry><ind> 23</ind><dep> -3</dep></entry>
<entry><ind> 22</ind><dep> -3</dep></entry>
<entry><ind> 50</ind><dep> 72</dep></entry>
<entry><ind>100</ind><dep>178</dep></entry>
<entry><ind>110</ind><dep>195</dep></entry>
@ -896,7 +896,7 @@
<property>/controls/engines/n1-limit</property>
<interpolation>
<entry><ind> 0</ind><dep> -3</dep></entry>
<entry><ind> 23</ind><dep> -3</dep></entry>
<entry><ind> 22</ind><dep> -3</dep></entry>
<entry><ind> 50</ind><dep> 72</dep></entry>
<entry><ind>100</ind><dep>178</dep></entry>
<entry><ind>110</ind><dep>195</dep></entry>
@ -919,7 +919,7 @@
<property>/controls/engines/n1-limit</property>
<interpolation>
<entry><ind> 0</ind><dep> -3</dep></entry>
<entry><ind> 23</ind><dep> -3</dep></entry>
<entry><ind> 22</ind><dep> -3</dep></entry>
<entry><ind> 50</ind><dep> 72</dep></entry>
<entry><ind>100</ind><dep>178</dep></entry>
<entry><ind>110</ind><dep>195</dep></entry>
@ -942,7 +942,7 @@
<property>/engines/engine[0]/n1-cmd</property>
<interpolation>
<entry><ind> 0</ind><dep> -3</dep></entry>
<entry><ind> 23</ind><dep> -3</dep></entry>
<entry><ind> 22</ind><dep> -3</dep></entry>
<entry><ind> 50</ind><dep> 72</dep></entry>
<entry><ind>100</ind><dep>178</dep></entry>
<entry><ind>110</ind><dep>195</dep></entry>
@ -965,7 +965,7 @@
<property>/engines/engine[1]/n1-cmd</property>
<interpolation>
<entry><ind> 0</ind><dep> -3</dep></entry>
<entry><ind> 23</ind><dep> -3</dep></entry>
<entry><ind> 22</ind><dep> -3</dep></entry>
<entry><ind> 50</ind><dep> 72</dep></entry>
<entry><ind>100</ind><dep>178</dep></entry>
<entry><ind>110</ind><dep>195</dep></entry>

View file

@ -1243,7 +1243,7 @@
<object-name>n11</object-name>
<property>/engines/engine/n1</property>
<interpolation>
<entry><ind> 23</ind><dep> 0</dep></entry>
<entry><ind> 22</ind><dep> 0</dep></entry>
<entry><ind> 40</ind><dep> 47</dep></entry>
<entry><ind>100</ind><dep>159</dep></entry>
<entry><ind>110</ind><dep>170</dep></entry>
@ -1265,7 +1265,7 @@
<object-name>n12</object-name>
<property>/engines/engine[1]/n1</property>
<interpolation>
<entry><ind> 23</ind><dep> 0</dep></entry>
<entry><ind> 22</ind><dep> 0</dep></entry>
<entry><ind> 40</ind><dep> 47</dep></entry>
<entry><ind>100</ind><dep>159</dep></entry>
<entry><ind>110</ind><dep>170</dep></entry>

View file

@ -89,8 +89,8 @@ setlistener("/it-autoflight/mode/vert", func {
setprop("/modes/pfd/fma/pitch-mode2-armed", " ");
}
} else if (vert == "ALT CAP") {
if (newvert != "ALT") {
setprop("/modes/pfd/fma/pitch-mode", "ALT");
if (newvert != "ALT *") {
setprop("/modes/pfd/fma/pitch-mode", "ALT *");
}
if (newvertarm != " ") {
setprop("/modes/pfd/fma/pitch-mode2-armed", " ");

340
Systems/fcs.xml Normal file
View file

@ -0,0 +1,340 @@
<!-- Airbus A3XX FCS by Joshua Davidson (it0uchpods) -->
<system name="A3XX: FCS">
<channel name="Pitch">
<summer name="Pitch Trim Sum">
<input>/controls/flight/elevator-sum</input>
<input>/controls/flight/elevator-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Elevator Control">
<input>fcs/pitch-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-20</min>
<max>20</max>
</range>
<output>fcs/elevator-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Elevator Position Normalizer">
<input>fcs/pitch-trim-sum</input>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/elevator-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Roll">
<summer name="Roll Trim Sum">
<input>/controls/flight/aileron-sum</input>
<input>/controls/flight/aileron-trim</input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron Control">
<input>-fcs/roll-trim-sum</input>
<gain>0.02</gain>
<range>
<min>-15</min>
<max>15</max>
</range>
<output>fcs/right-aileron-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Left Aileron position normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
<aerosurface_scale name="Right Aileron position normalized">
<input>fcs/right-aileron-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/right-aileron-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Throttle">
<pure_gain name="fcs/throttle1">
<input>/controls/engines/engine[0]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm</output>
<output>fcs/throttle-pos-norm</output>
</pure_gain>
<pure_gain name="fcs/throttle2">
<input>/controls/engines/engine[1]/throttle-fdm</input>
<gain>1</gain>
<output>fcs/throttle-cmd-norm[1]</output>
<output>fcs/throttle-pos-norm[1]</output>
</pure_gain>
</channel>
<channel name="Yaw">
<pure_gain name="fcs/rudder-cmd">
<input>/controls/flight/rudder-fdm</input>
<gain>-1</gain>
<output>fcs/rudder-cmd-norm</output>
</pure_gain>
<summer name="Rudder Command Sum">
<input>fcs/rudder-cmd-norm</input>
<input>fcs/yaw-trim-cmd-norm</input>
<clipto>
<min> -0.35 </min>
<max> 0.35 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Rate">
<input>velocities/r-aero-rad_sec</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 2.00
</tableData>
</table>
</scheduled_gain>
<scheduled_gain name="Yaw Damper Beta">
<input>aero/beta-rad</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.00
60 0.00
</tableData>
</table>
</scheduled_gain>
<summer name="Yaw Damper Sum">
<input>fcs/yaw-damper-beta</input>
<input>fcs/yaw-damper-rate</input>
<clipto>
<min> -0.1 </min>
<max> 0.1 </max>
</clipto>
</summer>
<scheduled_gain name="Yaw Damper Final">
<input>fcs/yaw-damper-sum</input>
<table>
<independentVar lookup="row">velocities/ve-kts</independentVar>
<tableData>
30 0.0
31 1.0
</tableData>
</table>
</scheduled_gain>
<summer name="Rudder Sum">
<input>fcs/rudder-command-sum</input>
<input>fcs/yaw-damper-final</input>
<clipto>
<min> -1 </min>
<max> 1 </max>
</clipto>
</summer>
<aerosurface_scale name="Rudder Control">
<input>fcs/rudder-sum</input>
<range>
<min> -0.35 </min>
<max> 0.35 </max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="rudder normalization">
<input>fcs/rudder-pos-rad</input>
<domain>
<min> -0.35 </min>
<max> 0.35 </max>
</domain>
<range>
<min> -1 </min>
<max> 1 </max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Flaps">
<kinematic name="Flaps Control">
<input>/controls/flight/flaps</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>35</position>
<time>40</time>
</setting>
</traverse>
<output>fcs/flap-pos-deg</output>
</kinematic>
<aerosurface_scale name="Flap position normalized">
<input>fcs/flap-pos-deg</input>
<domain>
<min>0</min>
<max>35</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/flap-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Slats">
<kinematic name="Slats Control">
<input>/controls/flight/slats</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>27</position>
<time>30</time>
</setting>
</traverse>
<output>fcs/slat-pos-deg</output>
</kinematic>
<aerosurface_scale name="Slat position normalized">
<input>fcs/slat-pos-deg</input>
<domain>
<min>0</min>
<max>27</max>
</domain>
<range>
<min>0</min>
<max>1</max>
</range>
<output>fcs/slat-pos-norm</output>
</aerosurface_scale>
</channel>
<channel name="Landing Gear">
<kinematic name="Gear Control">
<input>gear/gear-cmd-norm</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>10</time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
</channel>
<channel name="Speedbrake">
<kinematic name="Speedbrake">
<input>/controls/flight/spoiler-output</input>
<traverse>
<setting>
<position>0</position>
<time>0</time>
</setting>
<setting>
<position>1</position>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
</kinematic>
</channel>
<channel name="Tiller">
<switch name="/controls/gear/tiller-disabled">
<default value="0"/>
<test logic="AND" value="1">
/controls/gear/tiller-enabled == 0
</test>
</switch>
<fcs_function name="Nose Wheel Steering 0">
<function name="fcs/steer-nose-deg[0]">
<description>Steering command for nose gear</description>
<sum>
<product>
<table>
<independentVar lookup="row">/controls/gear/tiller-cmd-norm</independentVar>
<independentVar lookup="column">/controls/flight/rudder</independentVar>
<tableData>
-1 0 1
-1 -70 -70 -70
0 -7 0 7
1 70 70 70
</tableData>
</table>
<property>/controls/gear/tiller-enabled</property>
</product>
<product>
<product>
<property>/controls/flight/rudder</property>
<value>70</value>
</product>
<property>/controls/gear/tiller-disabled</property>
</product>
</sum>
</function>
</fcs_function>
<!-- simulate rotational friction -->
<actuator name="Gear Nose Actuator">
<input>fcs/steer-nose-deg[0]</input>
<rate_limit>70</rate_limit>
<output>fcs/steer-pos-deg[0]</output>
</actuator>
</channel>
</system>

View file

@ -333,31 +333,12 @@
<debug>false</debug>
<type>gain</type>
<input>
<condition>
<equals>
<property>/it-autoflight/settings/use-nav2-radio</property>
<value>0</value>
</equals>
</condition>
<property>/instrumentation/nav[0]/radials/target-auto-hdg-deg</property>
<offset>
<property>/orientation/heading-deg</property>
<scale>-1.0</scale>
</offset>
</input>
<input>
<condition>
<equals>
<property>/it-autoflight/settings/use-nav2-radio</property>
<value>1</value>
</equals>
</condition>
<property>/instrumentation/nav[1]/radials/target-auto-hdg-deg</property>
<offset>
<property>/orientation/heading-deg</property>
<scale>-1.0</scale>
</offset>
</input>
<output>/it-autoflight/internal/nav-heading-error-deg</output>
<period>
<min>-180</min>
@ -409,17 +390,6 @@
<max>0</max>
</filter>
<filter>
<name>NAV2 G/S FPM Calc</name>
<debug>false</debug>
<type>gain</type>
<input>/instrumentation/nav[1]/gs-rate-of-climb-fpm</input>
<output>/it-autoflight/internal/nav2-rate-of-climb-fpm</output>
<gain>1.0</gain>
<min>-1500</min>
<max>0</max>
</filter>
<!-- =============================================================== -->
<!-- Lateral Modes -->
<!-- =============================================================== -->
@ -429,6 +399,7 @@
<debug>false</debug>
<enable>
<condition>
<and>
<or>
<equals>
<property>/it-autoflight/output/lat</property>
@ -439,6 +410,25 @@
<value>1</value>
</equals>
</or>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/fd1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/fd2</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
</enable>
<input>
@ -503,10 +493,30 @@
<debug>false</debug>
<enable>
<condition>
<and>
<equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
</equals>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/fd1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/fd2</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
</enable>
<input>
@ -547,6 +557,39 @@
</config>
</pid-controller>
<filter>
<name>ROLL DEG SYNC</name>
<debug>false</debug>
<type>gain</type>
<gain>1</gain>
<enable>
<condition>
<and>
<not-equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</not-equals>
<not-equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</not-equals>
<not-equals>
<property>/it-autoflight/output/fd1</property>
<value>1</value>
</not-equals>
<not-equals>
<property>/it-autoflight/output/fd2</property>
<value>1</value>
</not-equals>
</and>
</condition>
</enable>
<input>/orientation/roll-deg</input>
<output>/it-autoflight/internal/target-roll-deg</output>
<min>-25</min>
<max>25</max>
</filter>
<filter>
<name>IT-CONTROLLER: TARGET ROLL CMD</name>
<debug>false</debug>
@ -674,7 +717,7 @@
</input>
<output>/controls/flight/aileron</output>
<type>noise-spike</type>
<max-rate-of-change>0.8</max-rate-of-change>
<max-rate-of-change>0.5</max-rate-of-change>
</filter>
<!-- =============================================================== -->
@ -708,10 +751,30 @@
<debug>false</debug>
<enable>
<condition>
<and>
<equals>
<property>/it-autoflight/output/vert</property>
<value>5</value>
</equals>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/fd1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/fd2</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
</enable>
<input>
@ -922,6 +985,7 @@
<debug>false</debug>
<enable>
<condition>
<and>
<or>
<equals>
<property>/it-autoflight/output/vert</property>
@ -948,6 +1012,25 @@
<value>7</value>
</equals>
</or>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/fd1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/fd2</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
</enable>
<input>
@ -1002,36 +1085,14 @@
</reference>
<reference>
<condition>
<and>
<equals>
<property>/it-autoflight/output/vert</property>
<value>2</value>
</equals>
<equals>
<property>/it-autoflight/settings/use-nav2-radio</property>
<value>0</value>
</equals>
</and>
</condition>
<property>/it-autoflight/internal/nav1-rate-of-climb-fpm</property>
<scale>0.16667</scale>
</reference>
<reference>
<condition>
<and>
<equals>
<property>/it-autoflight/output/vert</property>
<value>2</value>
</equals>
<equals>
<property>/it-autoflight/settings/use-nav2-radio</property>
<value>1</value>
</equals>
</and>
</condition>
<property>/it-autoflight/internal/nav2-rate-of-climb-fpm</property>
<scale>0.16667</scale>
</reference>
<output>
<property>/it-autoflight/internal/target-pitch-deg</property>
</output>
@ -1054,8 +1115,8 @@
</condition>
<property>/it-autoflight/config/autoland/kp-pitch</property>
</Kp>
<Ti>5.0</Ti>
<Td>0.003</Td>
<Ti>7.0</Ti>
<Td>0.0001</Td>
<u_min>
<condition>
<not-equals>
@ -1108,16 +1169,36 @@
</pid-controller>
<filter>
<name>IT-CONTROLLER: TARGET PITCH CMD</name>
<name>PITCH DEG SYNC</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
<input>
<property>/it-autoflight/internal/target-pitch-deg</property>
</input>
<output>/it-autoflight/internal/target-pitch</output>
<type>noise-spike</type>
<max-rate-of-change>3.5</max-rate-of-change>
<type>gain</type>
<gain>1</gain>
<enable>
<condition>
<and>
<not-equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</not-equals>
<not-equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</not-equals>
<not-equals>
<property>/it-autoflight/output/fd1</property>
<value>1</value>
</not-equals>
<not-equals>
<property>/it-autoflight/output/fd2</property>
<value>1</value>
</not-equals>
</and>
</condition>
</enable>
<input>/orientation/pitch-deg</input>
<output>/it-autoflight/internal/target-pitch-deg</output>
<min>-15</min>
<max>30</max>
</filter>
<pid-controller>
@ -1141,7 +1222,7 @@
<property>/orientation/pitch-deg</property>
</input>
<reference>
<property>/it-autoflight/internal/target-pitch</property>
<property>/it-autoflight/internal/target-pitch-deg</property>
</reference>
<output>
<property>/it-autoflight/internal/elevator-cmd</property>
@ -1192,7 +1273,7 @@
</input>
<output>/controls/flight/elevator</output>
<type>noise-spike</type>
<max-rate-of-change>0.3</max-rate-of-change>
<max-rate-of-change>0.4</max-rate-of-change>
</filter>
<!-- =============================================================== -->
@ -1462,7 +1543,7 @@
<input>
<expression>
<dif>
<property>/it-autoflight/internal/target-pitch</property>
<property>/it-autoflight/internal/target-pitch-deg</property>
<property>/orientation/pitch-deg</property>
</dif>
</expression>

View file

@ -288,12 +288,12 @@
<property>/controls/flight/elevator-fbw-cmd</property>
</output>
<config>
<Kp>-0.12</Kp>
<Kp>-0.10</Kp>
<beta>1</beta>
<alpha>0.1</alpha>
<gamma>0</gamma>
<Ti>5</Ti>
<Td>0.005</Td>
<Td>0.002</Td>
<u_min>-0.5</u_min>
<u_max>0.5</u_max>
</config>