<!-- Airbus A3XX FCS by Joshua Davidson (it0uchpods) --> <!-- ######################################### # Copyright (c) it0uchpods Design Group # ######################################### --> <system name="A3XX: FCS"> <property value="2">fcs/internal-fbw-law</property> <channel name="FBW"> <switch name="Internal FBW Law"> <default value="/it-fbw/law"/> <test logic="OR" value="2"> /gear/gear[1]/wow == 1 /gear/gear[2]/wow == 1 </test> </switch> </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="Roll Control"> <input>fcs/roll-trim-sum</input> <range> <min>-0.523599</min> <max>0.523599</max> </range> <output>fcs/roll-pos-rad</output> </aerosurface_scale> <aerosurface_scale name="Roll Control Normalized"> <input>fcs/roll-pos-rad</input> <domain> <min>-0.523599</min> <max>0.523599</max> </domain> <range> <min>-1</min> <max>1</max> </range> <output>fcs/roll-pos-norm</output> </aerosurface_scale> </channel> <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="Pitch Control"> <input>fcs/pitch-trim-sum</input> <range> <min>-0.523599</min> <max>0.523599</max> </range> <output>fcs/pitch-pos-rad</output> </aerosurface_scale> <aerosurface_scale name="Pitch Control Normalized"> <input>fcs/pitch-trim-sum</input> <domain> <min>-0.523599</min> <max>0.523599</max> </domain> <range> <min>-1</min> <max>1</max> </range> <output>fcs/pitch-pos-norm</output> </aerosurface_scale> </channel> <channel name="Throttle"> <pure_gain name="fcs/throttle1"> <input>/controls/engines/engine[0]/throttle-output</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-output</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>30</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>20</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/speedbrake-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"> <fcs_function name="Nose Wheel Steering 0"> <function name="fcs/steer-nose-deg[0]"> <description>Steering command for nose gear</description> <product> <table> <independentVar lookup="row">/velocities/groundspeed-kt</independentVar> <independentVar lookup="column">/controls/flight/rudder</independentVar> <tableData> -1 0 1 30.000 -70 0 70 30.001 -10 0 10 </tableData> </table> </product> </function> </fcs_function> <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>