A3XX: Formatting

This commit is contained in:
Joshua Davidson 2017-07-22 21:34:55 -04:00
parent c435af34ea
commit 99f0a36ac5

View file

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