<?xml version="1.0"?>

<!--
##############################################
# Copyright (c) Joshua Davidson (it0uchpods) #
##############################################
-->

<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>Track heading diff</name>
		<type>gain</type>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<gain>1.0</gain>
		<input>
			<property>/orientation/track-deg</property>
		</input>
		<reference>
			<property>/instrumentation/pfd/heading-deg</property>
		</reference>
		<output>/instrumentation/pfd/track-diff</output>
	</filter>
	
	<filter>
		<name>Heading scale</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>/instrumentation/pfd/track-deg</property>
		</input>
		<input>/instrumentation/pfd/heading-deg</input>
		<output>/instrumentation/pfd/heading-scale</output>
	</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/input/hdg</property>
			<period>
				<min>-180.0</min>
				<max>180.0</max>
			</period>
		</input>
		<reference>
			<property>/instrumentation/pfd/heading-scale</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>
	</filter>
	
	<filter>
		<name>Track bug diff</name>
		<type>gain</type>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<gain>1.0</gain>
		<input>
			<property>/instrumentation/pfd/track-deg</property>
			<period>
				<min>-180.0</min>
				<max>180.0</max>
			</period>
		</input>
		<reference>
			<property>/instrumentation/pfd/heading-scale</property>
			<period>
				<min>-180.0</min>
				<max>180.0</max>
			</period>
		</reference>
		<output>/instrumentation/pfd/track-hdg-diff</output>
		<period>
			<min>-180.0</min>
			<max>180.0</max>
		</period>
	</filter>
	
	<filter>
		<name>Altitude bug diff</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/alt-diff</output>
	</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[0]/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>
	</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.00</dep></entry>
						<entry><ind>150</ind><dep> 17.35</dep></entry>
					</table>
					<table>
						<property>/orientation/pitch-deg</property>
						<entry><ind> 0.00</ind><dep>  0.00</dep></entry>
						<entry><ind>17.35</ind><dep>-17.35</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.00</dep></entry>
						<entry><ind>150</ind><dep> 17.35</dep></entry>
					</table>
					<table>
						<property>/orientation/pitch-deg</property>
						<entry><ind>-17.35</ind><dep> 17.35</dep></entry>
						<entry><ind>  0.00</ind><dep>  0.00</dep></entry>
						<entry><ind> 17.35</ind><dep>-17.35</dep></entry>
					</table>
				</dif>
			</expression>
		</input>
		<output>/instrumentation/pfd/horizon-ground</output>
		<min>-17.35</min>
		<max>17.35</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>-17.35</min>
		<max>17.35</max>
	</filter>
	
	<filter>
		<name>Vertical Speed Needle</name>
		<type>gain</type>
		<gain>1</gain>
		<input>
			<expression>
				<table>
					<property>/it-autoflight/internal/vert-speed-fpm</property>
					<entry><ind>-6000</ind><dep>-76.6</dep></entry>
					<entry><ind>-4000</ind><dep>-74.8</dep></entry>
					<entry><ind>-2000</ind><dep>-73.0</dep></entry>
					<entry><ind>-1500</ind><dep>-70.2</dep></entry>
					<entry><ind>-1000</ind><dep>-66.5</dep></entry>
					<entry><ind> -750</ind><dep>-59.8</dep></entry>
					<entry><ind> -500</ind><dep>-49.0</dep></entry>
					<entry><ind> -250</ind><dep>-30.1</dep></entry>
					<entry><ind>    0</ind><dep>  0.0</dep></entry>
					<entry><ind>  250</ind><dep> 30.1</dep></entry>
					<entry><ind>  500</ind><dep> 49.0</dep></entry>
					<entry><ind>  750</ind><dep> 59.8</dep></entry>
					<entry><ind> 1000</ind><dep> 66.5</dep></entry>
					<entry><ind> 1500</ind><dep> 70.2</dep></entry>
					<entry><ind> 2000</ind><dep> 73.0</dep></entry>
					<entry><ind> 4000</ind><dep> 74.8</dep></entry>
					<entry><ind> 6000</ind><dep> 76.6</dep></entry>
				</table>
			</expression>
		</input>
		<output>/instrumentation/pfd/vs-needle</output>
	</filter>
	
	<filter>
		<name>Vertical Speed Digit Translate</name>
		<type>gain</type>
		<gain>1</gain>
		<input>
			<expression>
				<table>
					<property>/it-autoflight/internal/vert-speed-fpm</property>
					<entry><ind>-6000</ind><dep> 340</dep></entry>
					<entry><ind>-4000</ind><dep> 302</dep></entry>
					<entry><ind>-2000</ind><dep> 269</dep></entry>
					<entry><ind>-1500</ind><dep> 230</dep></entry>
					<entry><ind>-1000</ind><dep> 197</dep></entry>
					<entry><ind> -500</ind><dep> 110</dep></entry>
					<entry><ind> -200</ind><dep>  61</dep></entry>
					<entry><ind>    0</ind><dep>   0</dep></entry>
					<entry><ind>  200</ind><dep> -61</dep></entry>
					<entry><ind>  500</ind><dep>-110</dep></entry>
					<entry><ind> 1000</ind><dep>-197</dep></entry>
					<entry><ind> 1500</ind><dep>-230</dep></entry>
					<entry><ind> 2000</ind><dep>-269</dep></entry>
					<entry><ind> 4000</ind><dep>-302</dep></entry>
					<entry><ind> 6000</ind><dep>-340</dep></entry>
				</table>
			</expression>
		</input>
		<output>/instrumentation/pfd/vs-digit-trans</output>
	</filter>
	
</PropertyList>