<?xml version="1.0"?>
 
<!-- Boeing 777-200 Autopilot Configuration - hacked for B-2 Spirit-->

<!-- Each component is evaluated in the order specified.  You can make up -->
<!-- property names to pass the result of one component on to a subsequent -->
<!-- component. -->


<PropertyList>

  <!-- =============================================================== -->
  <!-- Prediction filters                                              -->
  <!-- =============================================================== -->

  <predict-simple>
     <input>/autopilot/internal/nav1-track-error-deg</input>
     <output>/autopilot/internal/nav1-track-error-lookahead-deg</output>
     <seconds>8.0</seconds>
     <filter-gain>0.0</filter-gain>
  </predict-simple>

  <!-- =============================================================== -->
  <!-- Roll Axis Modes                                                 -->
  <!-- =============================================================== -->

  <!-- NO Wing leveler > compensation for sideslip / stabilisation of aircraft  -->
  
  <pid-controller>
	  <name>Heading Hold (DG based) Stage 1</name>
	  <debug>false</debug>
	  <enable>
		  <prop>/autopilot/locks/heading</prop>
		  <value>wing-leveler</value>
	  </enable>
	  <input>
		  <prop>/orientation/side-slip-deg</prop>
		  <scale>-1.0</scale> <!-- change in side-slip sign as reported by yasim, see bug #901 -->
	  </input>
	  <reference>
		  <prop>/autopilot/internal/target-side-slip-deg</prop>
		  <value>0.0</value>
	  </reference>
	  <output>
		  <prop>/controls/flight/rudder-trim</prop><!--<prop>/autopilot/internal/addrudder</prop>-->
	  </output>
	  <config>
		  <Kp>9.0</Kp>        <!-- proportional gain -->
		  <beta>1.0</beta>    <!-- input value weighing factor -->
		  <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
		  <gamma>0.0</gamma>  <!-- input value weighing factor for -->
		  <!-- unfiltered derivative error -->
		  <Ti>100.0</Ti>       <!-- integrator time -->
		  <Td>0.00000000000007</Td>    <!-- derivator time -->
		  <u_min>-0.20</u_min> <!-- minimum output clamp -->
		  <u_max>0.20</u_max>  <!-- maximum output clamp -->
	  </config>
  </pid-controller>



  <!-- Heading Bug Hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target roll based on diff between current heading -->
  <!-- and heading bug. -->
  <pid-controller>
    <name>Heading Bug Hold (FDM mag heading based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>dg-heading-hold</value>
    </enable>
    <input>
      <prop>/autopilot/internal/fdm-heading-bug-error-deg</prop>
    </input>
    <reference>
      <value>0.0</value>
    </reference>
    <output>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </output>
    <config>
      <Kp>-1.5</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>     <!-- input value weighing factor -->
      <alpha>0.1</alpha>   <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>   <!-- input value weighing factor for -->
                           <!-- unfiltered derivative error -->
      <Ti>20.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>     <!-- derivator time -->
      <u_min>-30.0</u_min> <!-- minimum output clamp -->
      <u_max>30.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  <pid-controller>
    <name>Heading Bug Hold (DG based) Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>dg-heading-hold</value>
    </enable>
    <input>
      <prop>/orientation/roll-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/aileron</prop>
    </output>
    <config>
      <Kp>0.25</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>20.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-0.5</u_min> <!-- minimum output clamp -->
      <u_max>0.5</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>
  
  <!-- Second Stage #2 drives the rudder - compensates for sideslip (should be 0) -->
  <pid-controller>
	  <name>Heading Bug Hold (DG based) Stage 2</name>
	  <debug>false</debug>
	  <enable>
		  <prop>/autopilot/locks/heading</prop>
		  <value>dg-heading-hold</value>
	  </enable>
	  <input>
		  <prop>/orientation/side-slip-deg</prop>
		  <scale>-1.0</scale> <!-- change in side-slip sign as reported by yasim, see bug #901 -->
	  </input>
	  <reference>
		  <prop>/autopilot/internal/target-side-slip-deg</prop>
		  <value>0.0</value>
	  </reference>
	  <output>
		  <prop>/controls/flight/rudder</prop>
	  </output>
	  <config>
		  <Kp>0.60</Kp>        <!-- proportional gain -->
		  <beta>1.0</beta>    <!-- input value weighing factor -->
		  <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
		  <gamma>0.0</gamma>  <!-- input value weighing factor for -->
		  <!-- unfiltered derivative error -->
		  <Ti>5.0</Ti>       <!-- integrator time -->
		  <Td>0.04</Td>    <!-- derivator time -->
		  <u_min>-0.25</u_min> <!-- minimum output clamp -->
		  <u_max>0.25</u_max>  <!-- maximum output clamp -->
	  </config>
  </pid-controller>


  <!-- True Heading hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target roll based on diff between current heading XXXXXXXXXXXXXXXXXXXXX-->
  <!-- and target heading. -->
  <pid-controller>
    <name>True Heading Hold (DG based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>true-heading-hold</value>
    </enable>
    <input>
      <prop>/autopilot/internal/true-heading-error-deg</prop>
    </input>
    <target>
      <prop>0.0</prop>
    </target>
    <output>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </output>
    <config>
      <Kp>-1.0</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>     <!-- input value weighing factor -->
      <alpha>0.1</alpha>   <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>   <!-- input value weighing factor for -->
                           <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>     <!-- derivator time -->
      <u_min>-20.0</u_min> <!-- minimum output clamp -->
      <u_max>20.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  <pid-controller>
    <name>True Heading Hold (DG based) Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>true-heading-hold</value>
    </enable>
    <input>
      <prop>/orientation/roll-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/aileron</prop>
    </output>
    <config>
      <Kp>0.1</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>
  
  <!-- Second Stage #2 drives the rudder - compensates for sideslip (should be 0) XXXXXXXXXXXXX-->
  <pid-controller>
	  <name>True Heading Hold (DG based) Stage 2</name>
	  <debug>false</debug>
	  <enable>
		  <prop>/autopilot/locks/heading</prop>
		  <value>true-heading-hold</value>
	  </enable>
	  <input>
		  <prop>/orientation/side-slip-deg</prop>
		  <scale>-1.0</scale> <!-- change in side-slip sign as reported by yasim, see bug #901 -->
	  </input>
	  <reference>
		  <prop>/autopilot/internal/target-side-slip-deg</prop>
		  <value>0.0</value>
	  </reference>
	  <output>
		  <prop>/controls/flight/rudder</prop>
	  </output>
	  <config>
		  <Kp>9.0</Kp>        <!-- proportional gain -->
		  <beta>1.0</beta>    <!-- input value weighing factor -->
		  <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
		  <gamma>0.0</gamma>  <!-- input value weighing factor for -->
		  <!-- unfiltered derivative error -->
		  <Ti>100.0</Ti>       <!-- integrator time -->
		  <Td>0.00000000000007</Td>    <!-- derivator time -->
		  <u_min>-0.15</u_min> <!-- minimum output clamp -->
		  <u_max>0.15</u_max>  <!-- maximum output clamp -->
	  </config>
  </pid-controller>

  <!-- Nav1 hold.  2 stage cascade controller. -->
  
  <!-- Stage #1 sets target roll based on diff between current heading -->
  <!-- and target heading.--> 
  <pi-simple-controller>
	  <name>Nav1 Hold Stage 1</name>
	  <debug>false</debug>
	  <enable>
		  <prop>/autopilot/locks/heading</prop>
		  <value>nav1-hold</value>
	  </enable>
	  <input>
		  <prop>/autopilot/internal/nav1-track-error-deg</prop>
	  </input>
	  <reference>
		  <value>0.0</value>
	  </reference>
	  <output>
		  <prop>/autopilot/internal/target-roll-deg</prop>
	  </output>
	  <config>
		  <Kp>-1.0</Kp>        <!-- proportional gain -->
		  <beta>1.0</beta>     <!-- input value weighing factor -->
		  <alpha>0.1</alpha>   <!-- low pass filter weighing factor -->
		  <gamma>0.0</gamma>   <!-- input value weighing factor for -->
		  <!-- unfiltered derivative error -->
		  <Ti>15.0</Ti>        <!-- integrator time -->
		  <u_min>-30.0</u_min> <!-- minimum output clamp -->
		  <u_max>30.0</u_max>  <!-- maximum output clamp -->
	  </config>
  </pi-simple-controller>
  
  <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  <pid-controller>
	  <name>Nav1 Hold Stage 2</name>
	  <debug>false</debug>
	  <enable>
		  <prop>/autopilot/locks/heading</prop>
		  <value>nav1-hold</value>
	  </enable>
	  <input>
		  <prop>/orientation/roll-deg</prop>
	  </input>
	  <reference>
		  <prop>/autopilot/internal/target-roll-deg</prop>
	  </reference>
	  <output>
		  <prop>/controls/flight/aileron</prop>
	  </output>
	  <config>
		  <Kp>1.0</Kp>        <!-- proportional gain -->
		  <beta>1.0</beta>    <!-- input value weighing factor -->
		  <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
		  <gamma>0.0</gamma>  <!-- input value weighing factor for -->
		  <!-- unfiltered derivative error -->
		  <Ti>10.0</Ti>       <!-- integrator time -->
		  <Td>0.000000001</Td>    <!-- derivator time -->
		  <u_min>-0.8</u_min> <!-- minimum output clamp -->
		  <u_max>0.8</u_max>  <!-- maximum output clamp -->
	  </config>
  </pid-controller>
  
  <!-- Second Stage #2 drives the rudder - compensates for sideslip (should be 0) -->
  
  <pid-controller>
	  <name>Heading Hold (DG based) Stage 1</name>
	  <debug>false</debug>
	  <enable>
		  <prop>/autopilot/locks/heading</prop>
		  <value>nav1-hold</value>
	  </enable>
	  <input>
		  <prop>/orientation/side-slip-deg</prop>
		  <scale>-1.0</scale> <!-- change in side-slip sign as reported by yasim, see bug #901 -->
	  </input>
	  <reference>
		  <prop>/autopilot/internal/target-side-slip-deg</prop>
		  <value>0.0</value>
	  </reference>
	  <output>
		  <prop>/controls/flight/rudder</prop><!--<prop>/autopilot/internal/addrudder</prop>-->
	  </output>
	  <config>
		  <Kp>9.0</Kp>        <!-- proportional gain -->
		  <beta>1.0</beta>    <!-- input value weighing factor -->
		  <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
		  <gamma>0.0</gamma>  <!-- input value weighing factor for -->
		  <!-- unfiltered derivative error -->
		  <Ti>100.0</Ti>       <!-- integrator time -->
		  <Td>0.00000000000007</Td>    <!-- derivator time -->
		  <u_min>-0.20</u_min> <!-- minimum output clamp -->
		  <u_max>0.20</u_max>  <!-- maximum output clamp -->
	  </config>
  </pid-controller>






 <!-- =============================================================== -->
 <!-- Pitch Axis Modes                                                -->
 <!-- =============================================================== -->

 <!-- Simple pitch hold --> 
 <pid-controller>
    <name>Pitch hold</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>pitch-hold</value>
    </enable>
    <input>
      <prop>/orientation/pitch-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-pitch-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.05</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>1.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
   </pid-controller>

 <!-- Simple angle of attack hold --> 
 <pid-controller>
    <name>AOA hold</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>aoa-hold</value>
    </enable>
    <input>
      <prop>/orientation/alpha-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-aoa-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.05</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>0.5</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Altitude hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target rate of climb based on diff between current alt -->
  <!-- and target altitude. -->
  <pi-simple-controller>
    <name>Altitude Hold (Altimeter based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>altitude-hold</value>
    </enable>
    <input>
      <prop>/position/altitude-ft</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-altitude-ft</prop>
    </reference>
    <output>
      <prop>/autopilot/internal/target-climb-rate-fps</prop>
    </output>
    <config>
      <Kp>0.25</Kp>          <!-- proportional gain -->
      <Ki>0.0</Ki>          <!-- integral gain -->
      <u_min>-16.67</u_min> <!-- minimum output clamp -->
      <u_max>40.0</u_max>   <!-- maximum output clamp -->
    </config>
  </pi-simple-controller>

  <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  <pid-controller>
    <name>Altitude Hold (Altimeter based) Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>altitude-hold</value>
    </enable>
    <input>
      <prop>/velocities/vertical-speed-fps</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-climb-rate-fps</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.0025</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- AGL hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target rate of climb based on diff between current agl -->
  <!-- and target agl. -->
  <pid-controller>
    <name>AGL Hold (Altimeter based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>agl-hold</value>
    </enable>
    <input>
      <prop>/position/altitude-agl-ft</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-agl-ft</prop>
    </reference>
    <output>
      <prop>/autopilot/internal/target-climb-rate-fps</prop>
    </output>
    <config>
      <Kp>1.0</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>25.0</Ti>    <!-- integrator time -->
      <Td>0.000000001</Td>    <!-- derivator time -->
      <u_min>-16.67</u_min> <!-- minimum output clamp -->
      <u_max>8.33</u_max> <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  <pid-controller>
    <name>Altitude Hold (Altimeter based) Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>agl-hold</value>
    </enable>
    <input>
      <prop>/velocities/vertical-speed-fps</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-climb-rate-fps</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.01</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Glideslope hold. -->

  <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  <pid-controller>
    <name>Glideslop Hold</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>gs1-hold</value>
    </enable>
    <input>
      <prop>/velocities/vertical-speed-fps</prop>
    </input>
    <reference>
      <prop>/instrumentation/nav[0]/gs-rate-of-climb</prop>
    </reference>
     <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.01</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>


  <!-- vertical speed hold -->
  <pid-controller>
    <name>Vertical Speed Hold</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>vertical-speed-hold</value>
    </enable>
    <input>
      <prop>/velocities/vertical-speed-fps</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/vertical-speed-fpm</prop>
      <scale>0.01667</scale>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.01</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>


 <!-- =============================================================== -->
 <!-- Velocity Modes                                                  -->
 <!-- =============================================================== -->

 <!-- Auto throttle --> 
 <pid-controller>
    <name>Auto Throttle (5 sec lookahead)</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/speed</prop>
      <value>speed-with-throttle</value>
    </enable>
    <input>
      <prop>/autopilot/internal/lookahead-5-sec-airspeed-kt</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-speed-kt</prop>
    </reference>
    <output>
      <prop>/controls/engines/engine[0]/throttle</prop>
      <prop>/controls/engines/engine[1]/throttle</prop>
      <prop>/controls/engines/engine[2]/throttle</prop>
      <prop>/controls/engines/engine[3]/throttle</prop>
      
    </output>
    <config>
      <Kp>0.1</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>0.0</u_min>  <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

 <!-- sideslip via engines (bitch-on-speed) --> 
 
 <pid-controller>
	 <name>Heading Hold (DG based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/speed</prop>
      <value>speed-with-pitch</value>
    </enable>
    <input>
		 <prop>/orientation/side-slip-deg</prop>
		 <scale>-1.0</scale> <!-- change in side-slip sign as reported by yasim, see bug #901 -->
    </input>
    <reference>
		 <prop>/autopilot/settings/target-side-slip-deg</prop>
		 <value>0.0</value>
    </reference>
    <output>
		 <prop>/autopilot/internal/target-side-slip-deg</prop>
    </output>
    <config>
		 <Kp>5.0</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
		 <Ti>10.0</Ti>       <!-- integrator time -->
		 <Td>0.000000001</Td>    <!-- derivator time -->
		 <u_min>-0.50</u_min> <!-- minimum output clamp -->
		 <u_max>0.50</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>


 <pid-controller>
    <name>Speed hold (vary pitch) Stage #2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/speed</prop>
      <value>speed-with-pitch</value>
    </enable>
    <input>
	    <prop>/autopilot/internal/lookahead-5-sec-airspeed-kt</prop>
    </input>
    <reference>
	    <prop>/autopilot/internal/target-side-slip-deg</prop>
    </reference>

    <output>
	    <prop>/controls/engines/engine[0]/throttle</prop>
    </output>
    <config>
	    <Kp>5.0</Kp>
	    <beta>1.0</beta>
	    <alpha>0.1</alpha>
	    <gamma>0.0</gamma> 
	    
	    <Ti>10.0</Ti>
	    <Td>0.00001</Td>
	    <u_min>-1.0</u_min>
	    <u_max>1.0</u_max>
    </config>
  </pid-controller>

</PropertyList>
