This repository has been archived on 2021-09-26. You can view files and clone it, but cannot push or open issues or pull requests.
IDG-A32X/Systems/fadec-cfm.xml

796 lines
21 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
#########################################
# Copyright (c) it0uchpods Design Group #
#########################################
-->
<!-- A3XX CFM/PW FADEC -->
<!-- Joshua Davidson -->
<PropertyList>
<filter>
<name>MAN One</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/controls/engines/engine[0]/throttle-pos</property>
<entry><ind>0.00</ind><dep>0.00</dep></entry>
<entry><ind>0.01</ind><dep>0.00</dep></entry>
<entry><ind>0.60</ind><dep>0.91</dep></entry>
<entry><ind>0.65</ind><dep>0.91</dep></entry>
<entry><ind>0.78</ind><dep>0.94</dep></entry>
<entry><ind>0.83</ind><dep>0.94</dep></entry>
<entry><ind>0.95</ind><dep>0.97</dep></entry>
</table>
</expression>
</input>
<output>/controls/engines/engine[0]/throttle-man</output>
</filter>
<filter>
<name>MAN Two</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/controls/engines/engine[1]/throttle-pos</property>
<entry><ind>0.00</ind><dep>0.00</dep></entry>
<entry><ind>0.01</ind><dep>0.00</dep></entry>
<entry><ind>0.60</ind><dep>0.91</dep></entry>
<entry><ind>0.65</ind><dep>0.91</dep></entry>
<entry><ind>0.78</ind><dep>0.94</dep></entry>
<entry><ind>0.83</ind><dep>0.94</dep></entry>
<entry><ind>0.95</ind><dep>0.97</dep></entry>
</table>
</expression>
</input>
<output>/controls/engines/engine[1]/throttle-man</output>
</filter>
<filter>
<name>MAN CMD One</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<product>
<table>
<property>/controls/engines/engine[0]/throttle-pos</property>
<entry><ind>0.00</ind><dep>0.00</dep></entry>
<entry><ind>0.01</ind><dep>0.00</dep></entry>
<entry><ind>0.60</ind><dep>0.91</dep></entry>
<entry><ind>0.65</ind><dep>0.91</dep></entry>
<entry><ind>0.78</ind><dep>0.94</dep></entry>
<entry><ind>0.83</ind><dep>0.94</dep></entry>
<entry><ind>0.95</ind><dep>0.97</dep></entry>
</table>
<property>/controls/engines/throttle-scale</property>
</product>
</expression>
</input>
<output>/controls/engines/engine[0]/throttle-cmd-man</output>
</filter>
<filter>
<name>MAN CMD Two</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<product>
<table>
<property>/controls/engines/engine[1]/throttle-pos</property>
<entry><ind>0.00</ind><dep>0.00</dep></entry>
<entry><ind>0.01</ind><dep>0.00</dep></entry>
<entry><ind>0.60</ind><dep>0.91</dep></entry>
<entry><ind>0.65</ind><dep>0.91</dep></entry>
<entry><ind>0.78</ind><dep>0.94</dep></entry>
<entry><ind>0.83</ind><dep>0.94</dep></entry>
<entry><ind>0.95</ind><dep>0.97</dep></entry>
</table>
<property>/controls/engines/throttle-scale</property>
</product>
</expression>
</input>
<output>/controls/engines/engine[1]/throttle-cmd-man</output>
</filter>
<filter>
<name>N1 CMD 1</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<condition>
<and>
<equals>
<property>/controls/engines/thrust-limit</property>
<value>FLX</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
</and>
</condition>
<expression>
<table>
<product>
<value>0.97</value>
<property>/engines/flx-throttle</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<input>
<expression>
<table>
<property>/controls/engines/engine[0]/throttle-cmd-man</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[0]/n1-cmd</output>
</filter>
<filter>
<name>N1 CMD 2</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<condition>
<and>
<equals>
<property>/controls/engines/thrust-limit</property>
<value>FLX</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</and>
</condition>
<expression>
<table>
<product>
<value>0.97</value>
<property>/engines/flx-throttle</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<input>
<expression>
<table>
<property>/controls/engines/engine[1]/throttle-cmd-man</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[1]/n1-cmd</output>
</filter>
<filter>
<name>N1 A/THR CMD 1</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/controls/engines/engine[0]/throttle-cmd-cmd</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[0]/n1-athr-cmd</output>
</filter>
<filter>
<name>N1 A/THR CMD 2</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/controls/engines/engine[1]/throttle-cmd-cmd</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[1]/n1-athr-cmd</output>
</filter>
<filter>
<name>N1 A/THR DIFFERENCE 1</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<dif>
<property>/engines/engine[0]/n1</property>
<property>/engines/engine[0]/n1-athr-cmd</property>
</dif>
</expression>
</input>
<output>/engines/engine[0]/n1-diff</output>
</filter>
<filter>
<name>N1 A/THR DIFFERENCE 2</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<dif>
<property>/engines/engine[1]/n1</property>
<property>/engines/engine[1]/n1-athr-cmd</property>
</dif>
</expression>
</input>
<output>/engines/engine[1]/n1-diff</output>
</filter>
<filter>
<name>Throttle 1</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
<enable>
<condition>
<and>
<equals>
<property>/systems/thrust/alpha-floor</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/toga-lk</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>IDLE</value>
</equals>
</or>
</and>
</condition>
</enable>
<input>
<condition>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
<and>
<equals>
<property>/it-autoflight/output/athr</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>IDLE</value>
</equals>
</or>
</and>
</or>
</condition>
<property>/controls/engines/engine[0]/throttle-man</property>
</input>
<input>
<condition>
<and>
<equals>
<property>/it-autoflight/output/athr</property>
<value>1</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN</value>
</equals>
</or>
</and>
</condition>
<property>/controls/engines/engine[0]/throttle-cmd</property>
</input>
<output>
<property>/controls/engines/engine[0]/throttle-fdm</property>
</output>
<type>noise-spike</type>
<max-rate-of-change>
<condition>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN THR</value>
</equals>
</condition>
<value>1</value>
</max-rate-of-change>
<max-rate-of-change>
<condition>
<and>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN</value>
</equals>
</or>
<equals>
<property>/it-autoflight/output/athr</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/thr-mode</property>
<value>0</value>
</equals>
</and>
</condition>
<value>0.40</value>
</max-rate-of-change>
<max-rate-of-change>
<condition>
<and>
<or>
<equals>
<property>/systems/thrust/state1</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MAN</value>
</equals>
</or>
<equals>
<property>/it-autoflight/output/athr</property>
<value>1</value>
</equals>
<not-equals>
<property>/it-autoflight/output/thr-mode</property>
<value>0</value>
</not-equals>
</and>
</condition>
<value>0.2</value>
</max-rate-of-change>
<max-rate-of-change>
<condition>
<equals>
<property>/it-autoflight/output/athr</property>
<value>0</value>
</equals>
</condition>
<value>1</value>
</max-rate-of-change>
</filter>
<filter>
<name>Throttle 2</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
<enable>
<condition>
<and>
<equals>
<property>/systems/thrust/alpha-floor</property>
<value>0</value>
</equals>
<equals>
<property>/systems/thrust/toga-lk</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>IDLE</value>
</equals>
</or>
</and>
</condition>
</enable>
<input>
<condition>
<or>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
<and>
<equals>
<property>/it-autoflight/output/athr</property>
<value>0</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state2</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>IDLE</value>
</equals>
</or>
</and>
</or>
</condition>
<property>/controls/engines/engine[1]/throttle-man</property>
</input>
<input>
<condition>
<and>
<equals>
<property>/it-autoflight/output/athr</property>
<value>1</value>
</equals>
<or>
<equals>
<property>/systems/thrust/state2</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN</value>
</equals>
</or>
</and>
</condition>
<property>/controls/engines/engine[1]/throttle-cmd</property>
</input>
<output>
<property>/controls/engines/engine[1]/throttle-fdm</property>
</output>
<type>noise-spike</type>
<max-rate-of-change>
<condition>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN THR</value>
</equals>
</condition>
<value>1</value>
</max-rate-of-change>
<max-rate-of-change>
<condition>
<and>
<or>
<equals>
<property>/systems/thrust/state2</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN</value>
</equals>
</or>
<equals>
<property>/it-autoflight/output/athr</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/thr-mode</property>
<value>0</value>
</equals>
</and>
</condition>
<value>0.40</value>
</max-rate-of-change>
<max-rate-of-change>
<condition>
<and>
<or>
<equals>
<property>/systems/thrust/state2</property>
<value>CL</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MAN</value>
</equals>
</or>
<equals>
<property>/it-autoflight/output/athr</property>
<value>1</value>
</equals>
<not-equals>
<property>/it-autoflight/output/thr-mode</property>
<value>0</value>
</not-equals>
</and>
</condition>
<value>0.2</value>
</max-rate-of-change>
<max-rate-of-change>
<condition>
<equals>
<property>/it-autoflight/output/athr</property>
<value>0</value>
</equals>
</condition>
<value>1</value>
</max-rate-of-change>
</filter>
<filter>
<name>N1 Limit TOGA</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<product>
<value>0.97</value>
<property>/controls/engines/throttle-scale</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/systems/thrust/n1/toga-lim</output>
</filter>
<filter>
<name>N1 Limit MCT</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<product>
<value>0.94</value>
<property>/controls/engines/throttle-scale</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/systems/thrust/n1/mct-lim</output>
</filter>
<filter>
<name>N1 Limit FLX</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<product>
<value>0.97</value>
<property>/engines/flx-throttle</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/systems/thrust/n1/flx-lim</output>
</filter>
<filter>
<name>N1 Limit CLB</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<product>
<value>0.91</value>
<property>/controls/engines/throttle-scale</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/systems/thrust/n1/clb-lim</output>
</filter>
<filter>
<name>Throttle Output One</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<condition>
<and>
<equals>
<property>/controls/engines/thrust-limit</property>
<value>FLX</value>
</equals>
<equals>
<property>/systems/thrust/state1</property>
<value>MCT</value>
</equals>
</and>
</condition>
<expression>
<product>
<property>/controls/engines/engine[0]/throttle-fdm</property>
<property>/engines/flx-throttle</property>
</product>
</expression>
</input>
<input>
<expression>
<product>
<property>/controls/engines/engine[0]/throttle-fdm</property>
<property>/controls/engines/throttle-scale</property>
</product>
</expression>
</input>
<output>/controls/engines/engine[0]/throttle-output</output>
</filter>
<filter>
<name>Throttle Output Two</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<condition>
<and>
<equals>
<property>/controls/engines/thrust-limit</property>
<value>FLX</value>
</equals>
<equals>
<property>/systems/thrust/state2</property>
<value>MCT</value>
</equals>
</and>
</condition>
<expression>
<product>
<property>/controls/engines/engine[1]/throttle-fdm</property>
<property>/engines/flx-throttle</property>
</product>
</expression>
</input>
<input>
<expression>
<product>
<property>/controls/engines/engine[1]/throttle-fdm</property>
<property>/controls/engines/throttle-scale</property>
</product>
</expression>
</input>
<output>/controls/engines/engine[1]/throttle-output</output>
</filter>
<filter>
<name>EGT L</name>
<type>gain</type>
<gain>1</gain>
<enable>
<condition>
<and>
<equals>
<property>/engines/engine[0]/state</property>
<value>3</value>
</equals>
<greater-than>
<property>/engines/engine[0]/n1</property>
<value>19</value>
</greater-than>
</and>
</condition>
</enable>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/engines/engine[0]/n1</property>
<entry><ind> 19.7</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[0]/egt-actual</output>
</filter>
<filter>
<name>EGT R</name>
<type>gain</type>
<gain>1</gain>
<enable>
<condition>
<and>
<equals>
<property>/engines/engine[1]/state</property>
<value>3</value>
</equals>
<greater-than>
<property>/engines/engine[1]/n1</property>
<value>19</value>
</greater-than>
</and>
</condition>
</enable>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/engines/engine[1]/n1</property>
<entry><ind> 19.7</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[1]/egt-actual</output>
</filter>
</PropertyList>