diff --git a/Systems/fadec-cfm.xml b/Systems/fadec-cfm.xml index bae80e0d..e15a7a17 100644 --- a/Systems/fadec-cfm.xml +++ b/Systems/fadec-cfm.xml @@ -262,6 +262,430 @@ <output>/engines/engine[1]/n1-actual-cmd</output> </filter> + <filter> + <name>A/THR FEED 1</name> + <type>noise-spike</type> + <input>/controls/engines/throttle-cmd-pid</input> + <output>/controls/engines/engine[0]/throttle-cmd</output> + <max-rate-of-change> + <condition> + <or> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>0</value> + </equals> + <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> + <greater-than-equals> + <property>/controls/engines/engine[0]/throttle-pos</property> + <value>0.83</value> + </greater-than-equals> + <equals> + <property>/systems/thrust/state1</property> + <value>MAN THR</value> + </equals> + </and> + <and> + <equals> + <property>/it-autoflight/output/athr</property> + <value>0</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> + <equals> + <property>/systems/thrust/state1</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <equals> + <property>/systems/thrust/state1</property> + <value>MAN THR</value> + </equals> + </and> + <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> + <value>1000</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <equals> + <property>/it-autoflight/output/athr</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> + <equals> + <property>/systems/thrust/state1</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <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> + <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/thr-mode</property> + <value>0</value> + </equals> + </and> + </condition> + <value>0.3</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <equals> + <property>/it-autoflight/output/athr</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> + <equals> + <property>/systems/thrust/state1</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <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> + <equals> + <property>/systems/thrust/state1</property> + <value>CL</value> + </equals> + <equals> + <property>/systems/thrust/state1</property> + <value>MAN</value> + </equals> + </or> + <not-equals> + <property>/it-autoflight/output/thr-mode</property> + <value>0</value> + </not-equals> + </and> + </condition> + <value>0.05</value> + </max-rate-of-change> + <max-rate-of-change>1000</max-rate-of-change> + </filter> + + <filter> + <name>A/THR FEED LIMIT 1</name> + <type>gain</type> + <gain>1.0</gain> + <input>/controls/engines/engine[0]/throttle-cmd</input> + <output>/controls/engines/engine[0]/throttle-cmd-feed</output> + <min> + <condition> + <equals> + <property>/it-autoflight/mode/thr</property> + <value>RETARD</value> + </equals> + </condition> + <value>0.0</value> + </min> + <min> + <property>/controls/engines/idle-limit</property> + </min> + <max> + <property>/controls/engines/engine[0]/throttle-man</property> + </max> + </filter> + + <filter> + <name>A/THR FEED 2</name> + <type>noise-spike</type> + <input>/controls/engines/throttle-cmd-pid</input> + <output>/controls/engines/engine[1]/throttle-cmd</output> + <max-rate-of-change> + <condition> + <or> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>0</value> + </equals> + <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> + <and> + <greater-than-equals> + <property>/controls/engines/engine[1]/throttle-pos</property> + <value>0.83</value> + </greater-than-equals> + <equals> + <property>/systems/thrust/state2</property> + <value>MAN THR</value> + </equals> + </and> + <and> + <equals> + <property>/it-autoflight/output/athr</property> + <value>0</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> + <equals> + <property>/systems/thrust/state2</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <equals> + <property>/systems/thrust/state2</property> + <value>MAN THR</value> + </equals> + </and> + <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> + <value>1000</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <equals> + <property>/it-autoflight/output/athr</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> + <equals> + <property>/systems/thrust/state2</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <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> + <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/thr-mode</property> + <value>0</value> + </equals> + </and> + </condition> + <value>0.3</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <equals> + <property>/it-autoflight/output/athr</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> + <equals> + <property>/systems/thrust/state2</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <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> + <equals> + <property>/systems/thrust/state2</property> + <value>CL</value> + </equals> + <equals> + <property>/systems/thrust/state2</property> + <value>MAN</value> + </equals> + </or> + <not-equals> + <property>/it-autoflight/output/thr-mode</property> + <value>0</value> + </not-equals> + </and> + </condition> + <value>0.05</value> + </max-rate-of-change> + <max-rate-of-change>1000</max-rate-of-change> + </filter> + + <filter> + <name>A/THR FEED LIMIT 2</name> + <type>gain</type> + <gain>1.0</gain> + <input>/controls/engines/engine[1]/throttle-cmd</input> + <output>/controls/engines/engine[1]/throttle-cmd-feed</output> + <min> + <condition> + <equals> + <property>/it-autoflight/mode/thr</property> + <value>RETARD</value> + </equals> + </condition> + <value>0.0</value> + </min> + <min> + <property>/controls/engines/idle-limit</property> + </min> + <max> + <property>/controls/engines/engine[1]/throttle-man</property> + </max> + </filter> + <filter> <name>Throttle 1</name> <debug>false</debug> @@ -435,7 +859,7 @@ </or> </and> </condition> - <property>/controls/engines/engine[0]/throttle-cmd</property> + <property>/controls/engines/engine[0]/throttle-cmd-feed</property> </input> <output> <property>/controls/engines/engine[0]/throttle-fdm</property> @@ -615,7 +1039,7 @@ </or> </and> </condition> - <property>/controls/engines/engine[1]/throttle-cmd</property> + <property>/controls/engines/engine[1]/throttle-cmd-feed</property> </input> <output> <property>/controls/engines/engine[1]/throttle-fdm</property> diff --git a/Systems/fadec-iae.xml b/Systems/fadec-iae.xml index 6ab4f177..55c30662 100644 --- a/Systems/fadec-iae.xml +++ b/Systems/fadec-iae.xml @@ -643,6 +643,430 @@ <output>/engines/engine[1]/n1-actual-cmd</output> </filter> + <filter> + <name>A/THR FEED 1</name> + <type>noise-spike</type> + <input>/controls/engines/throttle-cmd-pid</input> + <output>/controls/engines/engine[0]/throttle-cmd</output> + <max-rate-of-change> + <condition> + <or> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>0</value> + </equals> + <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> + <greater-than-equals> + <property>/controls/engines/engine[0]/throttle-pos</property> + <value>0.83</value> + </greater-than-equals> + <equals> + <property>/systems/thrust/state1</property> + <value>MAN THR</value> + </equals> + </and> + <and> + <equals> + <property>/it-autoflight/output/athr</property> + <value>0</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> + <equals> + <property>/systems/thrust/state1</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <equals> + <property>/systems/thrust/state1</property> + <value>MAN THR</value> + </equals> + </and> + <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> + <value>1000</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <equals> + <property>/it-autoflight/output/athr</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> + <equals> + <property>/systems/thrust/state1</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <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> + <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/thr-mode</property> + <value>0</value> + </equals> + </and> + </condition> + <value>0.3</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <equals> + <property>/it-autoflight/output/athr</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> + <equals> + <property>/systems/thrust/state1</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <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> + <equals> + <property>/systems/thrust/state1</property> + <value>CL</value> + </equals> + <equals> + <property>/systems/thrust/state1</property> + <value>MAN</value> + </equals> + </or> + <not-equals> + <property>/it-autoflight/output/thr-mode</property> + <value>0</value> + </not-equals> + </and> + </condition> + <value>0.05</value> + </max-rate-of-change> + <max-rate-of-change>1000</max-rate-of-change> + </filter> + + <filter> + <name>A/THR FEED LIMIT 1</name> + <type>gain</type> + <gain>1.0</gain> + <input>/controls/engines/engine[0]/throttle-cmd</input> + <output>/controls/engines/engine[0]/throttle-cmd-feed</output> + <min> + <condition> + <equals> + <property>/it-autoflight/mode/thr</property> + <value>RETARD</value> + </equals> + </condition> + <value>0.0</value> + </min> + <min> + <property>/controls/engines/idle-limit</property> + </min> + <max> + <property>/controls/engines/engine[0]/throttle-man</property> + </max> + </filter> + + <filter> + <name>A/THR FEED 2</name> + <type>noise-spike</type> + <input>/controls/engines/throttle-cmd-pid</input> + <output>/controls/engines/engine[1]/throttle-cmd</output> + <max-rate-of-change> + <condition> + <or> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>0</value> + </equals> + <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> + <and> + <greater-than-equals> + <property>/controls/engines/engine[1]/throttle-pos</property> + <value>0.83</value> + </greater-than-equals> + <equals> + <property>/systems/thrust/state2</property> + <value>MAN THR</value> + </equals> + </and> + <and> + <equals> + <property>/it-autoflight/output/athr</property> + <value>0</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> + <equals> + <property>/systems/thrust/state2</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <equals> + <property>/systems/thrust/state2</property> + <value>MAN THR</value> + </equals> + </and> + <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> + <value>1000</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <equals> + <property>/it-autoflight/output/athr</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> + <equals> + <property>/systems/thrust/state2</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <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> + <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/thr-mode</property> + <value>0</value> + </equals> + </and> + </condition> + <value>0.3</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <equals> + <property>/it-autoflight/output/athr</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> + <equals> + <property>/systems/thrust/state2</property> + <value>MCT</value> + </equals> + </and> + <and> + <equals> + <property>/systems/thrust/eng-out</property> + <value>1</value> + </equals> + <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> + <equals> + <property>/systems/thrust/state2</property> + <value>CL</value> + </equals> + <equals> + <property>/systems/thrust/state2</property> + <value>MAN</value> + </equals> + </or> + <not-equals> + <property>/it-autoflight/output/thr-mode</property> + <value>0</value> + </not-equals> + </and> + </condition> + <value>0.05</value> + </max-rate-of-change> + <max-rate-of-change>1000</max-rate-of-change> + </filter> + + <filter> + <name>A/THR FEED LIMIT 2</name> + <type>gain</type> + <gain>1.0</gain> + <input>/controls/engines/engine[1]/throttle-cmd</input> + <output>/controls/engines/engine[1]/throttle-cmd-feed</output> + <min> + <condition> + <equals> + <property>/it-autoflight/mode/thr</property> + <value>RETARD</value> + </equals> + </condition> + <value>0.0</value> + </min> + <min> + <property>/controls/engines/idle-limit</property> + </min> + <max> + <property>/controls/engines/engine[1]/throttle-man</property> + </max> + </filter> + <filter> <name>Throttle 1</name> <debug>false</debug> @@ -816,7 +1240,7 @@ </or> </and> </condition> - <property>/controls/engines/engine[0]/throttle-cmd</property> + <property>/controls/engines/engine[0]/throttle-cmd-feed</property> </input> <output> <property>/controls/engines/engine[0]/throttle-fdm</property> @@ -996,7 +1420,7 @@ </or> </and> </condition> - <property>/controls/engines/engine[1]/throttle-cmd</property> + <property>/controls/engines/engine[1]/throttle-cmd-feed</property> </input> <output> <property>/controls/engines/engine[1]/throttle-fdm</property> diff --git a/Systems/fmgc-thrust.xml b/Systems/fmgc-thrust.xml index d50d6806..cee59197 100644 --- a/Systems/fmgc-thrust.xml +++ b/Systems/fmgc-thrust.xml @@ -523,17 +523,8 @@ </condition> </enable> <input> - <condition> - <equals> - <property>/it-autoflight/mode/thr</property> - <value>RETARD</value> - </equals> - </condition> <value>0.0</value> </input> - <input> - <property>/controls/engines/idle-limit</property> - </input> <output> <property>/controls/engines/throttle-cmd-pid</property> </output> @@ -643,7 +634,7 @@ </condition> </enable> <input> - <property>/controls/engines/throttle-pid-max</property> + <value>1.0</value> </input> <output> <property>/controls/engines/throttle-cmd-pid</property> @@ -750,36 +741,6 @@ <output> <property>/controls/engines/throttle-cmd-pid</property> </output> - <min> - <property>/controls/engines/idle-limit</property> - </min> - <max> - <property>/controls/engines/throttle-pid-max</property> - </max> - </filter> - - <!-- Engine 1 --> - <filter> - <name>Thrust Filter 1</name> - <type>gain</type> - <gain>1.0</gain> - <input>/controls/engines/throttle-cmd-pid</input> - <output>/controls/engines/engine[0]/throttle-cmd</output> - <max> - <property>/controls/engines/engine[0]/throttle-man</property> - </max> - </filter> - - <!-- Engine 2 --> - <filter> - <name>Thrust Filter 2</name> - <type>gain</type> - <gain>1.0</gain> - <input>/controls/engines/throttle-cmd-pid</input> - <output>/controls/engines/engine[1]/throttle-cmd</output> - <max> - <property>/controls/engines/engine[1]/throttle-man</property> - </max> </filter> </PropertyList> diff --git a/revision.txt b/revision.txt index c4f73bac..34214196 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -4500 \ No newline at end of file +4501 \ No newline at end of file