diff --git a/Systems/a320-fcs.xml b/Systems/a320-fcs.xml index 26cceec3..2d628ccf 100644 --- a/Systems/a320-fcs.xml +++ b/Systems/a320-fcs.xml @@ -1737,6 +1737,24 @@ </channel> + <channel name="SFCC"> + + <switch name="fcs/sfcc/unit1-avail"> + <default value="0"/> + <test logic="OR" value="1"> + /systems/electrical/bus/dc-ess ge 25 + </test> + </switch> + + <switch name="fcs/sfcc/unit2-avail"> + <default value="0"/> + <test logic="OR" value="1"> + /systems/electrical/bus/dc2 ge 25 + </test> + </switch> + + </channel> + <channel name="Flaps"> <pure_gain name="fcs/flap-pos-gain"> @@ -1746,9 +1764,29 @@ <switch name="fcs/flap-pos-rate"> <default value="0.0"/> - <test logic="OR" value="1.16666666"> + <test logic="AND" value="1.16666666"> /systems/hydraulic/green-psi ge 1500 /systems/hydraulic/yellow-psi ge 1500 + fcs/sfcc/unit1-avail eq 1 + fcs/sfcc/unit2-avail eq 1 + </test> + <test logic="AND" value="0.58333333"> + /systems/hydraulic/green-psi ge 1500 + fcs/sfcc/unit1-avail eq 1 + fcs/sfcc/unit2-avail eq 0 + </test> + <test logic="AND" value="0.58333333"> + /systems/hydraulic/yellow-psi ge 1500 + fcs/sfcc/unit1-avail eq 0 + fcs/sfcc/unit2-avail eq 1 + </test> + <test logic="AND" value="0.58333333"> + /systems/hydraulic/green-psi ge 1500 + /systems/hydraulic/yellow-psi lt 1500 + </test> + <test logic="AND" value="0.58333333"> + /systems/hydraulic/green-psi lt 1500 + /systems/hydraulic/yellow-psi ge 1500 </test> </switch> @@ -1782,10 +1820,29 @@ <switch name="fcs/slat-pos-rate"> <default value="0.0"/> - <test logic="OR" value="1.35"> + <test logic="AND" value="1.35"> /systems/hydraulic/blue-psi ge 1500 /systems/hydraulic/green-psi ge 1500 - /systems/hydraulic/yellow-psi ge 1500 + fcs/sfcc/unit1-avail eq 1 + fcs/sfcc/unit2-avail eq 1 + </test> + <test logic="AND" value="0.675"> + /systems/hydraulic/blue-psi ge 1500 + fcs/sfcc/unit1-avail eq 1 + fcs/sfcc/unit2-avail eq 0 + </test> + <test logic="AND" value="0.675"> + /systems/hydraulic/green-psi ge 1500 + fcs/sfcc/unit1-avail eq 0 + fcs/sfcc/unit2-avail eq 1 + </test> + <test logic="AND" value="0.675"> + /systems/hydraulic/blue-psi ge 1500 + /systems/hydraulic/green-psi lt 1500 + </test> + <test logic="AND" value="0.675"> + /systems/hydraulic/blue-psi lt 1500 + /systems/hydraulic/green-psi ge 1500 </test> </switch> diff --git a/Systems/fmgc-drivers.xml b/Systems/fmgc-drivers.xml index 5df5e0e7..8e360728 100644 --- a/Systems/fmgc-drivers.xml +++ b/Systems/fmgc-drivers.xml @@ -9,11 +9,9 @@ <!-- IT-AUTOFLIGHT --> <PropertyList> - - <!-- =============================================================== --> - <!-- Predictors --> - <!-- =============================================================== --> - + + <!-- Predictors --> + <predict-simple> <name>IAS 5 SECOND PREDICTOR</name> <debug>false</debug> @@ -22,7 +20,7 @@ <seconds>5.0</seconds> <filter-gain>0.0</filter-gain> </predict-simple> - + <predict-simple> <name>IAS 10 SECOND PREDICTOR</name> <debug>false</debug> @@ -49,7 +47,7 @@ <seconds>5.0</seconds> <filter-gain>0.0</filter-gain> </predict-simple> - + <predict-simple> <name>MACH 10 SECOND PREDICTOR</name> <debug>false</debug> @@ -67,16 +65,13 @@ <seconds>15.0</seconds> <filter-gain>0.0</filter-gain> </predict-simple> - - <!-- =============================================================== --> - <!-- Autopilot Helpers/Calculators --> - <!-- =============================================================== --> - + + <!-- Autopilot Helpers/Calculators --> + <filter> <name>AUTOLAND FD FPM</name> <type>gain</type> <gain>1.0</gain> - <update-interval-secs type="double">0.05</update-interval-secs> <input> <expression> <table> @@ -89,12 +84,11 @@ </input> <output>/it-autoflight/internal/target-fpm-c2</output> </filter> - + <filter> <name>AUTOLAND FPM</name> <type>gain</type> <gain>1.0</gain> - <update-interval-secs type="double">0.05</update-interval-secs> <input> <expression> <table> @@ -111,12 +105,11 @@ </input> <output>/it-autoflight/internal/target-fpm-c</output> </filter> - + <filter> <name>FMGC MNG SPD</name> <type>gain</type> <gain>1.0</gain> - <update-interval-secs type="double">0.05</update-interval-secs> <input> <expression> <product> @@ -138,7 +131,6 @@ <name>FMGC MNG MACH</name> <type>gain</type> <gain>1.0</gain> - <update-interval-secs type="double">0.05</update-interval-secs> <input> <expression> <product> @@ -164,7 +156,6 @@ <name>FMGC Target IAS PFD</name> <type>gain</type> <gain>1.0</gain> - <update-interval-secs type="double">0.1</update-interval-secs> <input> <condition> <equals> @@ -193,10 +184,11 @@ </input> <output>/FMGC/internal/target-ias-pfd</output> </filter> - + <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> @@ -218,32 +210,6 @@ <property>/it-autoflight/settings/togaspd</property> </input> <output>/it-autoflight/internal/flch-kts</output> - <type>noise-spike</type> - <max-rate-of-change> - <condition> - <or> - <and> - <not-equals> - <property>/it-autoflight/output/vert</property> - <value>4</value> - </not-equals> - <not-equals> - <property>/it-autoflight/output/vert</property> - <value>7</value> - </not-equals> - </and> - <equals> - <property>/gear/gear[1]/wow</property> - <value>1</value> - </equals> - <equals> - <property>/gear/gear[2]/wow</property> - <value>1</value> - </equals> - </or> - </condition> - <value>100</value> - </max-rate-of-change> <max-rate-of-change> <condition> <and> @@ -257,6 +223,10 @@ <value>7</value> </equals> </or> + <equals> + <property>/it-autoflight/input/kts-mach</property> + <value>0</value> + </equals> <equals> <property>/gear/gear[1]/wow</property> <value>0</value> @@ -269,43 +239,33 @@ </condition> <value>5</value> </max-rate-of-change> + <max-rate-of-change>100</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> - <property>/it-autoflight/input/spd-mach</property> - </input> + <input>/it-autoflight/input/spd-mach</input> <output>/it-autoflight/internal/flch-mach</output> - <type>noise-spike</type> - <max-rate-of-change> - <condition> - <or> - <not-equals> - <property>/it-autoflight/output/vert</property> - <value>4</value> - </not-equals> - <equals> - <property>/gear/gear[1]/wow</property> - <value>1</value> - </equals> - <equals> - <property>/gear/gear[2]/wow</property> - <value>1</value> - </equals> - </or> - </condition> - <value>1</value> - </max-rate-of-change> <max-rate-of-change> <condition> <and> + <or> + <equals> + <property>/it-autoflight/output/vert</property> + <value>4</value> + </equals> + <equals> + <property>/it-autoflight/output/vert</property> + <value>7</value> + </equals> + </or> <equals> - <property>/it-autoflight/output/vert</property> - <value>4</value> + <property>/it-autoflight/input/kts-mach</property> + <value>1</value> </equals> <equals> <property>/gear/gear[1]/wow</property> @@ -319,8 +279,9 @@ </condition> <value>0.05</value> </max-rate-of-change> + <max-rate-of-change>1</max-rate-of-change> </filter> - + <filter> <name>IAS SYNC</name> <type>gain</type> @@ -333,7 +294,6 @@ </equals> </condition> </enable> - <update-interval-secs type="double">0.5</update-interval-secs> <input>/instrumentation/airspeed-indicator/indicated-speed-kt</input> <output>/it-autoflight/input/spd-kts</output> </filter> @@ -350,7 +310,6 @@ </equals> </condition> </enable> - <update-interval-secs type="double">0.5</update-interval-secs> <input>/instrumentation/airspeed-indicator/indicated-mach</input> <output>/it-autoflight/input/spd-mach</output> </filter> @@ -365,9 +324,7 @@ </condition> <property>/orientation/heading-deg</property> </input> - <input> - <property>/orientation/heading-magnetic-deg</property> - </input> + <input>/orientation/heading-magnetic-deg</input> <reference>0</reference> <output>/it-autoflight/internal/heading-deg</output> <output>/instrumentation/pfd/heading-deg</output> @@ -522,7 +479,10 @@ <input> <expression> <floor> - <property>/it-autoflight/internal/vert-speed-fpm</property> + <sum> + <property>/it-autoflight/internal/vert-speed-fpm</property> + <value>0.5</value> + </sum> </floor> </expression> </input> @@ -532,31 +492,18 @@ <filter> <name>VERT SPEED FILTER</name> <debug>false</debug> + <type>noise-spike</type> <feedback-if-disabled>true</feedback-if-disabled> <initialize-to>output</initialize-to> - <input> - <property>/it-autoflight/input/vs</property> - </input> + <input>/it-autoflight/input/vs</input> <output>/it-autoflight/internal/vs</output> - <type>noise-spike</type> - <max-rate-of-change> - <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> - <value>2000</value> - </max-rate-of-change> <max-rate-of-change> <condition> <and> + <equals> + <property>/it-autoflight/output/vert</property> + <value>1</value> + </equals> <equals> <property>/gear/gear[1]/wow</property> <value>0</value> @@ -569,8 +516,9 @@ </condition> <value>300</value> </max-rate-of-change> + <max-rate-of-change>2000</max-rate-of-change> </filter> - + <filter> <name>NAV ERROR DEG</name> <debug>false</debug> @@ -589,7 +537,7 @@ <max>180</max> </period> </filter> - + <filter> <name>INTERNAL VERTICAL SPEED COMPUTER</name> <debug>false</debug> @@ -830,49 +778,13 @@ </input> <output>/it-autoflight/internal/fpa</output> </filter> - - <!-- =============================================================== --> - <!-- Flight Director --> - <!-- =============================================================== --> - + + <!-- Flight Director --> + <filter> <name>IT-CONTROLLER: TARGET ROLL CMD</name> <debug>false</debug> - <feedback-if-disabled>true</feedback-if-disabled> - <initialize-to>output</initialize-to> - <input> - <property>/it-autoflight/internal/target-roll-deg</property> - </input> - <output>/it-autoflight/internal/target-roll-fd</output> <type>noise-spike</type> - <max-rate-of-change>15</max-rate-of-change> - </filter> - - <filter> - <name>FD: ROLL</name> - <debug>false</debug> - <type>gain</type> - <gain>1.0</gain> - <input> - <condition> - <and> - <not-equals> - <property>/it-autoflight/output/lat</property> - <value>4</value> - </not-equals> - <not-equals> - <property>/it-autoflight/output/lat</property> - <value>5</value> - </not-equals> - </and> - </condition> - <expression> - <dif> - <property>/it-autoflight/internal/target-roll-fd</property> - <property>/orientation/roll-deg</property> - </dif> - </expression> - </input> <input> <condition> <or> @@ -886,9 +798,37 @@ </equals> </or> </condition> + <value>0</value> + </input> + <input>/it-autoflight/internal/target-roll-deg</input> + <output>/it-autoflight/internal/target-roll-fd</output> + <max-rate-of-change> + <condition> + <and> + <not-equals> + <property>/it-autoflight/output/fd1</property> + <value>1</value> + </not-equals> + <not-equals> + <property>/it-autoflight/output/fd1</property> + <value>1</value> + </not-equals> + </and> + </condition> + <value>50</value> + </max-rate-of-change> + <max-rate-of-change>15</max-rate-of-change> + </filter> + + <filter> + <name>FD: ROLL</name> + <debug>false</debug> + <type>gain</type> + <gain>1.0</gain> + <input> <expression> <dif> - <value>0</value> + <property>/it-autoflight/internal/target-roll-fd</property> <property>/orientation/roll-deg</property> </dif> </expression> @@ -897,7 +837,7 @@ <min>-30</min> <max>30</max> </filter> - + <filter> <name>FD: PITCH</name> <debug>false</debug> diff --git a/Systems/fmgc-pitch.xml b/Systems/fmgc-pitch.xml index ed8a1e6e..e00c794e 100644 --- a/Systems/fmgc-pitch.xml +++ b/Systems/fmgc-pitch.xml @@ -9,10 +9,8 @@ <!-- IT-AUTOFLIGHT --> <PropertyList> - - <!-- =============================================================== --> - <!-- Vertical Modes --> - <!-- =============================================================== --> + + <!-- Pitch Axis --> <filter> <name>ALTITUDE CAPTURE/HOLD</name> @@ -45,17 +43,11 @@ </condition> <property>/it-autoflight/internal/mng-alt</property> </reference> - <output> - <property>/it-autoflight/internal/target-fpm</property> - </output> - <min> - <property>/it-autoflight/internal/min-vs</property> - </min> - <max> - <property>/it-autoflight/internal/max-vs</property> - </max> + <output>/it-autoflight/internal/target-fpm</output> + <min>/it-autoflight/internal/min-vs</min> + <max>/it-autoflight/internal/max-vs</max> </filter> - + <pid-controller> <name>FPA HOLD</name> <debug>false</debug> @@ -87,15 +79,9 @@ </and> </condition> </enable> - <input> - <property>/it-autoflight/internal/fpa</property> - </input> - <reference> - <property>/it-autoflight/input/fpa</property> - </reference> - <output> - <property>/it-autoflight/internal/target-fpm-d</property> - </output> + <input>/it-autoflight/internal/fpa</input> + <reference>/it-autoflight/input/fpa</reference> + <output>/it-autoflight/internal/target-fpm-d</output> <config> <Kp> <expression> @@ -106,9 +92,6 @@ </table> </expression> </Kp> - <beta>1.0</beta> - <alpha>0.1</alpha> - <gamma>0.0</gamma> <Ti>2.0</Ti> <Td>0.002</Td> <u_min> @@ -215,9 +198,7 @@ <property>/it-autoflight/internal/flch-mach</property> <scale>1000.0</scale> </reference> - <output> - <property>/it-autoflight/internal/target-fpm-b</property> - </output> + <output>/it-autoflight/internal/target-fpm-b</output> <config> <Kp> <condition> @@ -237,9 +218,6 @@ </condition> <value>-60</value> </Kp> - <beta>1.0</beta> - <alpha>0.1</alpha> - <gamma>0.0</gamma> <Ti>2.5</Ti> <Td>0.001</Td> <u_min> @@ -505,9 +483,7 @@ </and> </condition> </enable> - <input> - <property>/it-autoflight/internal/vert-speed-fpm</property> - </input> + <input>/it-autoflight/internal/vert-speed-fpm</input> <reference> <condition> <or> @@ -590,9 +566,7 @@ </condition> <property>/it-autoflight/internal/nav1-rate-of-climb-fpm</property> </reference> - <output> - <property>/it-autoflight/internal/target-pitch-deg</property> - </output> + <output>/it-autoflight/internal/target-pitch-deg</output> <config> <Kp> <condition> @@ -711,21 +685,15 @@ <min>-15</min> <max>30</max> </filter> - + <filter> <name>System Command: Pitch Rate</name> <debug>false</debug> <type>gain</type> <gain>0.15</gain> - <input> - <property>/orientation/pitch-deg</property> - </input> - <reference> - <property>/it-autoflight/internal/target-pitch-deg</property> - </reference> - <output> - <property>/fdm/jsbsim/fbw/fmgc/pitch-cmd</property> <!-- Inputs to the FBW Pitch Rate --> - </output> + <input>/orientation/pitch-deg</input> + <reference>/it-autoflight/internal/target-pitch-deg</reference> + <output>/fdm/jsbsim/fbw/fmgc/pitch-cmd</output> <!-- Inputs to the FBW Pitch --> <min>-0.3</min> <max>0.3</max> </filter> diff --git a/Systems/fmgc-roll-yaw.xml b/Systems/fmgc-roll-yaw.xml index 662a5d59..4164e50e 100644 --- a/Systems/fmgc-roll-yaw.xml +++ b/Systems/fmgc-roll-yaw.xml @@ -9,11 +9,9 @@ <!-- IT-AUTOFLIGHT --> <PropertyList> - - <!-- =============================================================== --> - <!-- Lateral Modes --> - <!-- =============================================================== --> - + + <!-- Roll Axis --> + <pi-simple-controller> <name>ROLL CONTROLLER: HDG/LNAV</name> <debug>false</debug> @@ -51,15 +49,9 @@ </and> </condition> </enable> - <input> - <property>/it-autoflight/internal/heading-error-deg</property> - </input> - <reference> - <value>0</value> - </reference> - <output> - <property>/it-autoflight/internal/target-roll-deg</property> - </output> + <input>/it-autoflight/internal/heading-error-deg</input> + <reference>0</reference> + <output>/it-autoflight/internal/target-roll-deg</output> <config> <Kp>-1.8</Kp> <Ki>-0.000001</Ki> @@ -67,9 +59,7 @@ <property>/it-autoflight/internal/bank-limit</property> <scale>-1</scale> </min> - <max> - <property>/it-autoflight/internal/bank-limit</property> - </max> + <max>/it-autoflight/internal/bank-limit</max> </config> </pi-simple-controller> @@ -104,30 +94,9 @@ </and> </condition> </enable> - <input> - <condition> - <equals> - <property>/it-autoflight/settings/use-backcourse</property> - <value>0</value> - </equals> - </condition> - <property>/it-autoflight/internal/nav-heading-error-deg</property> - </input> - <input> - <condition> - <equals> - <property>/it-autoflight/settings/use-backcourse</property> - <value>1</value> - </equals> - </condition> - <property>/it-autoflight/internal/nav-bc-heading-error-deg</property> - </input> - <reference> - <value>0.0</value> - </reference> - <output> - <property>/it-autoflight/internal/target-roll-deg</property> - </output> + <input>/it-autoflight/internal/nav-heading-error-deg</input> + <reference>0</reference> + <output>/it-autoflight/internal/target-roll-deg</output> <config> <Kp>-2.8</Kp> <Ki>-0.0001</Ki> @@ -135,12 +104,10 @@ <property>/it-autoflight/internal/bank-limit</property> <scale>-1</scale> </min> - <max> - <property>/it-autoflight/internal/bank-limit</property> - </max> + <max>/it-autoflight/internal/bank-limit</max> </config> </pi-simple-controller> - + <filter> <name>ROLL DEG SYNC</name> <debug>false</debug> @@ -174,48 +141,14 @@ <property>/it-autoflight/internal/bank-limit</property> <scale>-1</scale> </min> - <max> - <property>/it-autoflight/internal/bank-limit</property> - </max> + <max>/it-autoflight/internal/bank-limit</max> </filter> <filter> <name>IT-CONTROLLER: TARGET ROLL CMD</name> <debug>false</debug> - <feedback-if-disabled>true</feedback-if-disabled> - <initialize-to>output</initialize-to> - <input> - <property>/it-autoflight/internal/target-roll-deg</property> - </input> - <output>/it-autoflight/internal/target-roll</output> <type>noise-spike</type> - <max-rate-of-change>6</max-rate-of-change> - </filter> - - <filter> - <name>System Command: Roll Rate</name> - <debug>false</debug> - <type>gain</type> - <gain>-0.1</gain> <input> - <property>/orientation/roll-deg</property> - </input> - <reference> - <condition> - <and> - <not-equals> - <property>/it-autoflight/output/lat</property> - <value>4</value> - </not-equals> - <not-equals> - <property>/it-autoflight/output/lat</property> - <value>5</value> - </not-equals> - </and> - </condition> - <property>/it-autoflight/internal/target-roll</property> - </reference> - <reference> <condition> <or> <equals> @@ -229,17 +162,63 @@ </or> </condition> <value>0</value> - </reference> - <output> - <property>/fdm/jsbsim/fbw/fmgc/roll-cmd</property> <!-- Inputs to the FBW Roll Rate --> - </output> + </input> + <input>/it-autoflight/internal/target-roll-deg</input> + <output>/it-autoflight/internal/target-roll</output> + <max-rate-of-change> + <condition> + <and> + <not-equals> + <property>/it-autoflight/output/ap1</property> + <value>1</value> + </not-equals> + <not-equals> + <property>/it-autoflight/output/ap2</property> + <value>1</value> + </not-equals> + <not-equals> + <property>/it-autoflight/output/fd1</property> + <value>1</value> + </not-equals> + <not-equals> + <property>/it-autoflight/output/fd2</property> + <value>1</value> + </not-equals> + </and> + </condition> + <value>50</value> + </max-rate-of-change> + <max-rate-of-change> + <condition> + <and> + <not-equals> + <property>/it-autoflight/output/ap1</property> + <value>1</value> + </not-equals> + <not-equals> + <property>/it-autoflight/output/ap2</property> + <value>1</value> + </not-equals> + </and> + </condition> + <value>15</value> + </max-rate-of-change> + <max-rate-of-change>8</max-rate-of-change> + </filter> + + <filter> + <name>System Command: Roll Rate</name> + <debug>false</debug> + <type>gain</type> + <gain>-0.1</gain> + <input>/orientation/roll-deg</input> + <reference>/it-autoflight/internal/target-roll</reference> + <output>/fdm/jsbsim/fbw/fmgc/roll-cmd</output> <!-- Inputs to the FBW Roll --> <min>-0.32</min> <max>0.32</max> </filter> - <!-- =============================================================== --> - <!-- Yaw Control --> - <!-- =============================================================== --> + <!-- Yaw Axis --> <pi-simple-controller> <name>RUDDER VORLOC TRK</name> @@ -252,12 +231,8 @@ </equals> </condition> </enable> - <input> - <property>/it-autoflight/internal/nav-heading-error-deg</property> - </input> - <reference> - <value>0</value> - </reference> + <input>/it-autoflight/internal/nav-heading-error-deg</input> + <reference>0</reference> <output>/it-autoflight/internal/rudder-cmd</output> <config> <Kp> @@ -299,6 +274,7 @@ <filter> <name>IT-CONTROLLER: RUDDER CMD</name> <debug>false</debug> + <type>noise-spike</type> <feedback-if-disabled>true</feedback-if-disabled> <initialize-to>output</initialize-to> <input> @@ -319,8 +295,7 @@ </condition> <property>/it-autoflight/internal/rudder-cmd</property> </input> - <output>/fdm/jsbsim/fbw/fmgc/yaw-cmd</output> - <type>noise-spike</type> + <output>/fdm/jsbsim/fbw/fmgc/yaw-cmd</output> <!-- Inputs to the FBW Yaw --> <max-rate-of-change>0.6</max-rate-of-change> </filter> diff --git a/Systems/fmgc-thrust.xml b/Systems/fmgc-thrust.xml index 4bb11f75..0c13a4c2 100644 --- a/Systems/fmgc-thrust.xml +++ b/Systems/fmgc-thrust.xml @@ -7,44 +7,17 @@ --> <PropertyList> - - <!-- =============================================================== --> - <!-- Thrust Modes --> - <!-- =============================================================== --> - + + <!-- 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> - <property>/it-autoflight/input/spd-kts</property> - </input> + <input>/it-autoflight/input/spd-kts</input> <output>/it-autoflight/internal/kts</output> - <type>noise-spike</type> - <max-rate-of-change> - <condition> - <or> - <not-equals> - <property>/it-autoflight/output/thr-mode</property> - <value>0</value> - </not-equals> - <equals> - <property>/it-autoflight/output/athr</property> - <value>0</value> - </equals> - <equals> - <property>/gear/gear[1]/wow</property> - <value>1</value> - </equals> - <equals> - <property>/gear/gear[2]/wow</property> - <value>1</value> - </equals> - </or> - </condition> - <value>200</value> - </max-rate-of-change> <max-rate-of-change> <condition> <and> @@ -56,6 +29,10 @@ <property>/it-autoflight/output/athr</property> <value>1</value> </equals> + <equals> + <property>/it-autoflight/input/kts-mach</property> + <value>0</value> + </equals> <equals> <property>/gear/gear[1]/wow</property> <value>0</value> @@ -68,41 +45,17 @@ </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> - <property>/it-autoflight/input/spd-mach</property> - </input> + <input>/it-autoflight/input/spd-mach</input> <output>/it-autoflight/internal/mach</output> - <type>noise-spike</type> - <max-rate-of-change> - <condition> - <or> - <not-equals> - <property>/it-autoflight/output/thr-mode</property> - <value>0</value> - </not-equals> - <equals> - <property>/it-autoflight/output/athr</property> - <value>0</value> - </equals> - <equals> - <property>/gear/gear[1]/wow</property> - <value>1</value> - </equals> - <equals> - <property>/gear/gear[2]/wow</property> - <value>1</value> - </equals> - </or> - </condition> - <value>2</value> - </max-rate-of-change> <max-rate-of-change> <condition> <and> @@ -114,6 +67,10 @@ <property>/it-autoflight/output/athr</property> <value>1</value> </equals> + <equals> + <property>/it-autoflight/input/kts-mach</property> + <value>1</value> + </equals> <equals> <property>/gear/gear[1]/wow</property> <value>0</value> @@ -126,6 +83,7 @@ </condition> <value>0.1</value> </max-rate-of-change> + <max-rate-of-change>2</max-rate-of-change> </filter> <filter> @@ -250,28 +208,15 @@ </and> </condition> </enable> - <input> - <property>/instrumentation/airspeed-indicator/indicated-speed-kt</property> - </input> - <reference> - <property>/it-autoflight/internal/kts</property> - </reference> - <output> - <property>/controls/engines/throttle-cmd-pid</property> - </output> + <input>/instrumentation/airspeed-indicator/indicated-speed-kt</input> + <reference>/it-autoflight/internal/kts</reference> + <output>/controls/engines/throttle-cmd-pid</output> <config> <Kp>0.055</Kp> - <beta>1.0</beta> - <alpha>0.1</alpha> - <gamma>0.0</gamma> <Ti>9.0</Ti> <Td>0.00001</Td> - <u_min> - <property>/controls/engines/idle-limit</property> - </u_min> - <u_max> - <property>/controls/engines/throttle-pid-max</property> - </u_max> + <u_min>/controls/engines/idle-limit</u_min> + <u_max>/controls/engines/throttle-pid-max</u_max> </config> </pid-controller> @@ -390,22 +335,13 @@ <property>/it-autoflight/internal/mach</property> <scale>1000.0</scale> </reference> - <output> - <property>/controls/engines/throttle-cmd-pid</property> - </output> + <output>/controls/engines/throttle-cmd-pid</output> <config> <Kp>0.055</Kp> - <beta>1.0</beta> - <alpha>0.1</alpha> - <gamma>0.0</gamma> <Ti>9.0</Ti> <Td>0.00001</Td> - <u_min> - <property>/controls/engines/idle-limit</property> - </u_min> - <u_max> - <property>/controls/engines/throttle-pid-max</property> - </u_max> + <u_min>/controls/engines/idle-limit</u_min> + <u_max>/controls/engines/throttle-pid-max</u_max> </config> </pid-controller> @@ -512,12 +448,8 @@ </and> </condition> </enable> - <input> - <value>0.0</value> - </input> - <output> - <property>/controls/engines/throttle-cmd-pid</property> - </output> + <input>0.0</input> + <output>/controls/engines/throttle-cmd-pid</output> </filter> <filter> @@ -623,12 +555,8 @@ </and> </condition> </enable> - <input> - <value>1.0</value> - </input> - <output> - <property>/controls/engines/throttle-cmd-pid</property> - </output> + <input>1.0</input> + <output>/controls/engines/throttle-cmd-pid</output> </filter> <filter> @@ -725,12 +653,10 @@ </not-equals> </and> </condition> - <value>1</value> + <value>1.0</value> </input> - <input>0</input> - <output> - <property>/controls/engines/throttle-cmd-pid</property> - </output> + <input>0.0</input> + <output>/controls/engines/throttle-cmd-pid</output> </filter> </PropertyList> diff --git a/revision.txt b/revision.txt index cdc309eb..8eb54da3 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -4678 \ No newline at end of file +4679 \ No newline at end of file