<?xml version="1.0"?> <!-- Copyright (c) 2019 Joshua Davidson (Octal450) --> <PropertyList> <!-- Thrust Axis --> <filter> <name>KTS INPUT FILTER</name> <debug>false</debug> <type>noise-spike</type> <feedback-if-disabled>true</feedback-if-disabled> <initialize-to>output</initialize-to> <input>/it-autoflight/input/spd-kts</input> <output>/it-autoflight/internal/kts</output> <max-rate-of-change> <condition> <and> <equals> <property>/it-autoflight/output/athr</property> <value>1</value> </equals> <equals> <property>/it-autoflight/output/thr-mode</property> <value>0</value> </equals> <equals> <property>/it-autoflight/input/kts-mach</property> <value>0</value> </equals> <equals> <property>/gear/gear[1]/wow</property> <value>0</value> </equals> <equals> <property>/gear/gear[2]/wow</property> <value>0</value> </equals> <not-equals> <property>/systems/thrust/thr-locked</property> <value>1</value> </not-equals> </and> </condition> <value>10</value> </max-rate-of-change> <max-rate-of-change>200</max-rate-of-change> </filter> <filter> <name>MACH INPUT FILTER</name> <debug>false</debug> <type>noise-spike</type> <feedback-if-disabled>true</feedback-if-disabled> <initialize-to>output</initialize-to> <input>/it-autoflight/input/spd-mach</input> <output>/it-autoflight/internal/mach</output> <max-rate-of-change> <condition> <and> <equals> <property>/it-autoflight/output/athr</property> <value>1</value> </equals> <equals> <property>/it-autoflight/output/thr-mode</property> <value>0</value> </equals> <equals> <property>/it-autoflight/input/kts-mach</property> <value>1</value> </equals> <equals> <property>/gear/gear[1]/wow</property> <value>0</value> </equals> <equals> <property>/gear/gear[2]/wow</property> <value>0</value> </equals> <not-equals> <property>/systems/thrust/thr-locked</property> <value>1</value> </not-equals> </and> </condition> <value>0.1</value> </max-rate-of-change> <max-rate-of-change>2</max-rate-of-change> </filter> <filter> <name>Throttle Comparator</name> <type>gain</type> <gain>1.0</gain> <input> <expression> <max> <property>/controls/engines/engine[0]/throttle-man</property> <property>/controls/engines/engine[1]/throttle-man</property> </max> </expression> </input> <output>/controls/engines/throttle-pid-max</output> </filter> <pid-controller> <name>IT-CONTROLLER: IAS THRUST</name> <debug>false</debug> <enable> <condition> <and> <equals> <property>/it-autoflight/output/athr</property> <value>1</value> </equals> <equals> <property>/it-autoflight/input/kts-mach</property> <value>0</value> </equals> <not-equals> <property>/systems/thrust/thr-locked</property> <value>1</value> </not-equals> <or> <and> <equals> <property>/it-autoflight/output/fd1</property> <value>0</value> </equals> <equals> <property>/it-autoflight/output/fd2</property> <value>0</value> </equals> <equals> <property>/it-autoflight/output/ap1</property> <value>0</value> </equals> <equals> <property>/it-autoflight/output/ap2</property> <value>0</value> </equals> </and> <equals> <property>/it-autoflight/output/thr-mode</property> <value>0</value> </equals> </or> <or> <and> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <equals> <property>/systems/thrust/lim-flex</property> <value>0</value> </equals> <or> <equals> <property>/systems/thrust/state1</property> <value>MCT</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MCT</value> </equals> </or> </and> <and> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <or> <and> <less-than> <property>/controls/engines/engine[0]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state1</property> <value>MAN THR</value> </equals> </and> <and> <less-than> <property>/controls/engines/engine[1]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state2</property> <value>MAN THR</value> </equals> </and> </or> </and> <equals> <property>/systems/thrust/state1</property> <value>MAN</value> </equals> <equals> <property>/systems/thrust/state1</property> <value>CL</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MAN</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>CL</value> </equals> </or> </and> </condition> </enable> <input>/it-autoflight/internal/current-speed-input</input> <reference>/it-autoflight/internal/kts</reference> <output>/controls/engines/throttle-cmd-pid</output> <config> <Kp>0.055</Kp> <Ti>9.0</Ti> <Td>0.00001</Td> <u_min>/controls/engines/idle-limit</u_min> <u_max>/controls/engines/throttle-pid-max</u_max> </config> </pid-controller> <pid-controller> <name>IT-CONTROLLER: MACH THRUST</name> <debug>false</debug> <enable> <condition> <and> <equals> <property>/it-autoflight/output/athr</property> <value>1</value> </equals> <equals> <property>/it-autoflight/input/kts-mach</property> <value>1</value> </equals> <not-equals> <property>/systems/thrust/thr-locked</property> <value>1</value> </not-equals> <or> <and> <equals> <property>/it-autoflight/output/fd1</property> <value>0</value> </equals> <equals> <property>/it-autoflight/output/fd2</property> <value>0</value> </equals> <equals> <property>/it-autoflight/output/ap1</property> <value>0</value> </equals> <equals> <property>/it-autoflight/output/ap2</property> <value>0</value> </equals> </and> <equals> <property>/it-autoflight/output/thr-mode</property> <value>0</value> </equals> </or> <or> <and> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <equals> <property>/systems/thrust/lim-flex</property> <value>0</value> </equals> <or> <equals> <property>/systems/thrust/state1</property> <value>MCT</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MCT</value> </equals> </or> </and> <and> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <or> <and> <less-than> <property>/controls/engines/engine[0]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state1</property> <value>MAN THR</value> </equals> </and> <and> <less-than> <property>/controls/engines/engine[1]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state2</property> <value>MAN THR</value> </equals> </and> </or> </and> <equals> <property>/systems/thrust/state1</property> <value>MAN</value> </equals> <equals> <property>/systems/thrust/state1</property> <value>CL</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MAN</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>CL</value> </equals> </or> </and> </condition> </enable> <input> <property>/it-autoflight/internal/current-mach-input</property> <scale>1000.0</scale> </input> <reference> <property>/it-autoflight/internal/mach</property> <scale>1000.0</scale> </reference> <output>/controls/engines/throttle-cmd-pid</output> <config> <Kp>0.055</Kp> <Ti>9.0</Ti> <Td>0.00001</Td> <u_min>/controls/engines/idle-limit</u_min> <u_max>/controls/engines/throttle-pid-max</u_max> </config> </pid-controller> <filter> <name>IT-CONTROLLER: IDLE THRUST</name> <debug>false</debug> <type>gain</type> <gain>1.0</gain> <enable> <condition> <and> <equals> <property>/it-autoflight/output/athr</property> <value>1</value> </equals> <not-equals> <property>/systems/thrust/thr-locked</property> <value>1</value> </not-equals> <or> <equals> <property>/it-autoflight/output/fd1</property> <value>1</value> </equals> <equals> <property>/it-autoflight/output/fd2</property> <value>1</value> </equals> <equals> <property>/it-autoflight/output/ap1</property> <value>1</value> </equals> <equals> <property>/it-autoflight/output/ap2</property> <value>1</value> </equals> </or> <equals> <property>/it-autoflight/output/thr-mode</property> <value>1</value> </equals> <or> <and> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <equals> <property>/systems/thrust/lim-flex</property> <value>0</value> </equals> <or> <equals> <property>/systems/thrust/state1</property> <value>MCT</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MCT</value> </equals> </or> </and> <and> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <or> <and> <less-than> <property>/controls/engines/engine[0]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state1</property> <value>MAN THR</value> </equals> </and> <and> <less-than> <property>/controls/engines/engine[1]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state2</property> <value>MAN THR</value> </equals> </and> </or> </and> <equals> <property>/systems/thrust/state1</property> <value>MAN</value> </equals> <equals> <property>/systems/thrust/state1</property> <value>CL</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MAN</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>CL</value> </equals> </or> </and> </condition> </enable> <input>0.0</input> <output>/controls/engines/throttle-cmd-pid</output> </filter> <filter> <name>IT-CONTROLLER: LIMIT THRUST</name> <debug>false</debug> <type>gain</type> <gain>1.0</gain> <enable> <condition> <and> <equals> <property>/it-autoflight/output/athr</property> <value>1</value> </equals> <not-equals> <property>/systems/thrust/thr-locked</property> <value>1</value> </not-equals> <or> <equals> <property>/it-autoflight/output/fd1</property> <value>1</value> </equals> <equals> <property>/it-autoflight/output/fd2</property> <value>1</value> </equals> <equals> <property>/it-autoflight/output/ap1</property> <value>1</value> </equals> <equals> <property>/it-autoflight/output/ap2</property> <value>1</value> </equals> </or> <equals> <property>/it-autoflight/output/thr-mode</property> <value>2</value> </equals> <or> <and> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <equals> <property>/systems/thrust/lim-flex</property> <value>0</value> </equals> <or> <equals> <property>/systems/thrust/state1</property> <value>MCT</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MCT</value> </equals> </or> </and> <and> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <or> <and> <less-than> <property>/controls/engines/engine[0]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state1</property> <value>MAN THR</value> </equals> </and> <and> <less-than> <property>/controls/engines/engine[1]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state2</property> <value>MAN THR</value> </equals> </and> </or> </and> <equals> <property>/systems/thrust/state1</property> <value>MAN</value> </equals> <equals> <property>/systems/thrust/state1</property> <value>CL</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MAN</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>CL</value> </equals> </or> </and> </condition> </enable> <input>1.0</input> <output>/controls/engines/throttle-cmd-pid</output> </filter> <filter> <name>IT-CONTROLLER: FEEDBACK IF DISABLED</name> <debug>false</debug> <type>gain</type> <gain>1.0</gain> <enable> <condition> <or> <equals> <property>/it-autoflight/output/athr</property> <value>0</value> </equals> <equals> <property>/systems/thrust/thr-locked</property> <value>1</value> </equals> <and> <not> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <equals> <property>/systems/thrust/lim-flex</property> <value>0</value> </equals> <or> <equals> <property>/systems/thrust/state1</property> <value>MCT</value> </equals> <equals> <property>/systems/thrust/state2</property> <value>MCT</value> </equals> </or> </not> <not> <equals> <property>/systems/thrust/eng-out</property> <value>1</value> </equals> <or> <and> <less-than> <property>/controls/engines/engine[0]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state1</property> <value>MAN THR</value> </equals> </and> <and> <less-than> <property>/controls/engines/engine[1]/throttle-pos</property> <value>0.83</value> </less-than> <equals> <property>/systems/thrust/state2</property> <value>MAN THR</value> </equals> </and> </or> </not> <not-equals> <property>/systems/thrust/state1</property> <value>MAN</value> </not-equals> <not-equals> <property>/systems/thrust/state1</property> <value>CL</value> </not-equals> <not-equals> <property>/systems/thrust/state2</property> <value>MAN</value> </not-equals> <not-equals> <property>/systems/thrust/state2</property> <value>CL</value> </not-equals> </and> </or> </condition> </enable> <input> <condition> <equals> <property>/systems/thrust/thr-locked</property> <value>1</value> </equals> </condition> <expression> <div> <max> <property>/systems/thrust/thr-lock-cmd[0]</property> <property>/systems/thrust/thr-lock-cmd[1]</property> </max> <table> <property>/environment/temperature-degc</property> <entry><ind> 70</ind><dep>0.797</dep></entry> <entry><ind> 40</ind><dep>0.822</dep></entry> <entry><ind>-60</ind><dep>1.000</dep></entry> </table> </div> </expression> </input> <input> <condition> <and> <not-equals> <property>/systems/thrust/state1</property> <value>IDLE</value> </not-equals> <not-equals> <property>/systems/thrust/state2</property> <value>IDLE</value> </not-equals> </and> </condition> <value>1.0</value> </input> <input>0.0</input> <output>/controls/engines/throttle-cmd-pid</output> </filter> </PropertyList>