<?xml version="1.0"?>

<!--
#########################################
# Copyright (c) it0uchpods Design Group #
#########################################
-->

<PropertyList>
    <filter>
        <name>Ground level diff</name>
        <type>gain</type>
        <update-interval-secs type="double">0.05</update-interval-secs>
        <gain>1.0</gain>
        <input>
            <property>/position/altitude-agl-ft</property>
        </input>
        <reference>
            <property>/instrumentation/altimeter/indicated-altitude-ft</property>
        </reference>
        <output>instrumentation/pfd/ground-level-diff</output>
    </filter>
    
    <filter>
        <name>Target alt diff (selected)</name>
        <type>gain</type>
        <update-interval-secs type="double">0.05</update-interval-secs>
        <gain>1.0</gain>
        <input>
            <property>/it-autoflight/internal/alt</property>
        </input>
        <reference>
            <property>instrumentation/altimeter/indicated-altitude-ft</property>
        </reference>
        <output>instrumentation/pfd/sel-alt-diff</output>
    </filter>
	
    <filter>
        <name>Target alt diff (managed)</name>
        <type>gain</type>
        <update-interval-secs type="double">0.05</update-interval-secs>
        <gain>1.0</gain>
        <input>
            <property>/it-autoflight/internal/mng-alt</property>
        </input>
        <reference>
            <property>instrumentation/altimeter/indicated-altitude-ft</property>
        </reference>
        <output>instrumentation/pfd/mng-alt-diff</output>
    </filter>
    
    <filter>
        <name>Heading Deg</name>
        <type>gain</type>
        <update-interval-secs type="double">0.05</update-interval-secs>
        <gain>1.0</gain>
        <input>
            <property>/orientation/heading-deg</property>
            <condition>
                <property>instrumentation/efis/mfd/true-north</property>
            </condition>
        </input>
        <input>
            <property>/orientation/heading-magnetic-deg</property>
        </input>
        <reference>0</reference>
        <output>instrumentation/pfd/heading-deg</output>
        <enable>
            <equals>
                <property>/it-autoflight/output/lat</property>
                <value>0</value>
            </equals>
        </enable>
    </filter>
    
    <filter>
        <name>Track Deg</name>
        <type>gain</type>
        <update-interval-secs type="double">0.05</update-interval-secs>
        <gain>1.0</gain>
        <input>
            <property>/orientation/track-deg</property>
            <condition>
                <property>instrumentation/efis/mfd/true-north</property>
            </condition>
        </input>
        <input>
            <property>/orientation/track-magnetic-deg</property>
        </input>
        <reference>0</reference>
        <output>instrumentation/pfd/track-deg</output>
        <enable>
            <equals>
                <property>/it-autoflight/output/lat</property>
                <value>0</value>
            </equals>
        </enable>
    </filter>
    
    <filter>
        <name>Track heading diff</name>
        <type>gain</type>
        <update-interval-secs type="double">0.05</update-interval-secs>
        <gain>1.0</gain>
        <input>
            <condition>
                <property>/it-autoflight/custom/trk-fpa</property>
            </condition>
            <property>/orientation/track-deg</property>
        </input>
        <input>
            <property>/orientation/track-magnetic-deg</property>
        </input>
        <reference>
            <property>instrumentation/pfd/heading-deg</property>
        </reference>
        <output>instrumentation/pfd/track-diff</output>
        <enable>
            <equals>
                <property>/it-autoflight/output/vert</property>
                <value>5</value>
            </equals>
        </enable>
    </filter>
    
    <filter>
        <name>Heading bug diff</name>
        <type>gain</type>
        <update-interval-secs type="double">0.05</update-interval-secs>
        <gain>1.0</gain>
        <input>
            <property>/it-autoflight/settings/heading-bug-deg</property>
            <period>
                <min>-180.0</min>
                <max>180.0</max>
            </period>
        </input>
        <reference>
            <property>instrumentation/pfd/heading-deg</property>
            <period>
                <min>-180.0</min>
                <max>180.0</max>
            </period>
        </reference>
        <output>instrumentation/pfd/hdg-diff</output>
        <period>
            <min>-180.0</min>
            <max>180.0</max>
        </period>
        <enable>
            <equals>
                <property>/it-autoflight/output/lat</property>
                <value>0</value>
            </equals>
        </enable>
    </filter>
    
    
    <filter>
        <name>Localizer course diff</name>
        <type>gain</type>
        <update-interval-secs type="double">0.05</update-interval-secs>
        <gain>1.0</gain>
        <input>
            <property>/instrumentation/nav/radials/selected-deg</property>
            <period>
                <min>-180.0</min>
                <max>180.0</max>
            </period>
        </input>
        <reference>
            <property>instrumentation/pfd/heading-deg</property>
            <period>
                <min>-180.0</min>
                <max>180.0</max>
            </period>
        </reference>
        <output>instrumentation/pfd/loc-crs-diff</output>
        <period>
            <min>-180.0</min>
            <max>180.0</max>
        </period>
        <enable>
            <property>/flight-management/freq/ils-mode</property>
            <not>
                <equals>
                    <property>/instrumentation/nav/nav-id</property>
                    <value></value>
                </equals>
            </not>
        </enable>
    </filter>
	
  <!-- =============================================================== -->
  <!--                        PFD display preprocessors                -->
  <!-- =============================================================== -->

  <filter>
      <name>Stall speed margin computer</name> 
      <type>gain</type>
      <gain>1.0</gain>
      <input>
          <property>instrumentation/weu/state/stall-speed</property>
      </input>
      <reference>
          <property>velocities/airspeed-kt</property>
          <offset>85</offset>
      </reference>
      <output>instrumentation/pfd/stallspeed-diff</output>
      <min>-205</min>
      <max>10</max>
  </filter>
  
  <filter>
      <name>Over speed margin computer</name> 
      <type>gain</type>
      <gain>-1.0</gain>
      <input>
          <property>instrumentation/afds/max-airspeed-kts</property>
      </input>
      <reference>
          <property>velocities/airspeed-kt</property>
          <offset>-95</offset>
      </reference>
      <output>instrumentation/pfd/overspeed-diff</output>
      <min>-200</min>
      <max>-10</max>
  </filter>  

  <!-- =============================================================== -->
  <!--                 speed trend vector processing                   -->
  <!-- =============================================================== -->

  <predict-simple>
    <name>speed predictor (smoothed)</name>
    <debug>false</debug>
    <input>velocities/airspeed-kt</input>
    <output>instrumentation/pfd/speed-lookahead</output>
    <seconds>10.0</seconds>
    <filter-gain>0.01</filter-gain>
  </predict-simple>

  <filter>
    <name>PFD preprocessor (spd trend up)</name>
    <debug>false</debug>
    <type>gain</type>
    <input>
      <property>instrumentation/pfd/speed-lookahead</property>
    </input>
    <reference>
      <property>velocities/airspeed-kt</property>
      <offset>90</offset>
    </reference>
    <gain>-0.002667</gain>
    <output>instrumentation/pfd/speed-trend-up</output>
    <max>0.24</max>
    <min>0</min>
  </filter>

  <filter>
    <name>PFD preprocessor (spd trend down)</name>
    <debug>false</debug>
    <type>gain</type>
    <input>
      <property>instrumentation/pfd/speed-lookahead</property>
      <min>0</min>
    </input>
    <reference>
      <property>velocities/airspeed-kt</property>
      <offset>-90</offset>
    </reference>
    <gain>-0.002667</gain>
    <output>instrumentation/pfd/speed-trend-down</output>
    <min>-0.24</min>
    <max>0</max>
  </filter>
  
  <!-- =============================================================== -->
  <!--                            Other stuff                          -->
  <!-- =============================================================== -->
  
    <filter>
        <name>Ground Horizon</name>
        <type>gain</type>
        <gain>1</gain>
        <input>
			<condition>
				<and>
					<equals>
						<property>/gear/gear[1]/wow</property>
						<value>0</value>
					</equals>
					<equals>
						<property>/gear/gear[2]/wow</property>
						<value>0</value>
					</equals>
				</and>
			</condition>
			<expression>
				<dif>
					<table>
						<property>/position/gear-agl-ft</property> 
						<entry><ind>  1</ind><dep>  0</dep></entry>
						<entry><ind>150</ind><dep> 16</dep></entry>
					</table>
					<table>
						<property>/orientation/pitch-deg</property>
						<entry><ind> 0</ind><dep>  0</dep></entry>
						<entry><ind>16</ind><dep>-16</dep></entry>
					</table>
				</dif>
			</expression>
		</input>
        <input>
			<condition>
				<or>
					<equals>
						<property>/gear/gear[1]/wow</property>
						<value>1</value>
					</equals>
					<equals>
						<property>/gear/gear[2]/wow</property>
						<value>1</value>
					</equals>
				</or>
			</condition>
			<expression>
				<dif>
					<table>
						<property>/position/gear-agl-ft</property> 
						<entry><ind>  1</ind><dep>  0</dep></entry>
						<entry><ind>150</ind><dep> 16</dep></entry>
					</table>
					<table>
						<property>/orientation/pitch-deg</property>
						<entry><ind>-16</ind><dep> 16</dep></entry>
						<entry><ind>  0</ind><dep>  0</dep></entry>
						<entry><ind> 16</ind><dep>-16</dep></entry>
					</table>
				</dif>
			</expression>
		</input>
		<output>/instrumentation/pfd/horizon-ground</output>
		<min>-16</min>
		<max>16</max>
    </filter>
	
    <filter>
        <name>Horizon Heading Pitch</name>
        <type>gain</type>
        <gain>1</gain>
        <input>/orientation/pitch-deg</input>
		<output>/instrumentation/pfd/horizon-pitch</output>
		<min>-15</min>
		<max>16</max>
    </filter>
    
</PropertyList>