A3XX: Major Hydraulic System Update, Spoilers now fully intependant

This commit is contained in:
Joshua Davidson 2017-06-10 14:17:13 -04:00
parent abd34611ea
commit 89cca446ef
7 changed files with 1145 additions and 411 deletions

View file

@ -189,8 +189,6 @@
<float n="6" alias="/controls/flight/aileron-left" />
<float n="7" alias="/controls/flight/aileron-right" />
<float n="8" alias="/controls/flight/rudder-fdm" />
<float n="9" alias="/controls/flight/spoiler-left" />
<float n="10" alias="/controls/flight/spoiler-right" />
<float n="11" alias="/fdm/jsbsim/fcs/slat-pos-norm" />
<int n="2" alias="/controls/lighting/landing-lights[0]" />
<int n="3" alias="/controls/lighting/landing-lights[1]" />
@ -434,9 +432,19 @@
<elevator-left>0.1</elevator-left>
<elevator-right>0.1</elevator-right>
<elevator-sum>0.2</elevator-sum>
<spoiler-left>0.0</spoiler-left>
<spoiler-l1>0.0</spoiler-l1>
<spoiler-l2>0.0</spoiler-l2>
<spoiler-l3>0.0</spoiler-l3>
<spoiler-l4>0.0</spoiler-l4>
<spoiler-l5>0.0</spoiler-l5>
<spoiler-l-sum>0.0</spoiler-l-sum>
<spoiler-output>0.0</spoiler-output>
<spoiler-right>0.0</spoiler-right>
<spoiler-r1>0.0</spoiler-r1>
<spoiler-r2>0.0</spoiler-r2>
<spoiler-r3>0.0</spoiler-r3>
<spoiler-r4>0.0</spoiler-r4>
<spoiler-r5>0.0</spoiler-r5>
<spoiler-r-sum>0.0</spoiler-r-sum>
<speedbrake-arm>0</speedbrake-arm>
<ground-spoilers-armed type="bool">0</ground-spoilers-armed>
<speedbrake-lever type="double">0</speedbrake-lever>
@ -697,6 +705,36 @@
<value>0</value>
</binding>
<binding>
<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>
<command>property-cycle</command>
<property>controls/flight/speedbrake-lever</property>
<value>0</value>
<value>1</value>
</binding>
<binding>
<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>
<command>property-cycle</command>
<property>controls/flight/speedbrake-lever</property>
<value>0</value>

View file

@ -31,6 +31,16 @@ var failReset = func {
setprop("/systems/failures/elevator-left", 0);
setprop("/systems/failures/elevator-right", 0);
setprop("/systems/failures/rudder", 0);
setprop("/systems/failures/spoiler-l1", 0);
setprop("/systems/failures/spoiler-l2", 0);
setprop("/systems/failures/spoiler-l3", 0);
setprop("/systems/failures/spoiler-l4", 0);
setprop("/systems/failures/spoiler-l5", 0);
setprop("/systems/failures/spoiler-r1", 0);
setprop("/systems/failures/spoiler-r2", 0);
setprop("/systems/failures/spoiler-r3", 0);
setprop("/systems/failures/spoiler-r4", 0);
setprop("/systems/failures/spoiler-r5", 0);
setprop("/systems/failures/elec-ac-ess", 0);
setprop("/systems/failures/elec-batt1", 0);
setprop("/systems/failures/elec-batt2", 0);
@ -54,8 +64,6 @@ var failReset = func {
setprop("/systems/failures/pump-yellow-elec", 0);
}
setprop("/systems/failures/spoiler-left", 0);
setprop("/systems/failures/spoiler-right", 0);
failReset();
setprop("/systems/acconfig/autoconfig-running", 0);
setprop("/systems/acconfig/spinning", 0);

View file

@ -303,9 +303,9 @@
<name>Left spoiler 1</name>
<type>rotate</type>
<object-name>SpoilerL1</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l1</property>
<interpolation>
<entry><ind>0.5</ind><dep> 0</dep></entry>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
@ -321,7 +321,7 @@
<name>Left spoiler 2</name>
<type>rotate</type>
<object-name>SpoilerL2</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l2</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -339,7 +339,7 @@
<name>Left spoiler 3</name>
<type>rotate</type>
<object-name>SpoilerL3</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l3</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -357,7 +357,7 @@
<name>Left spoiler 4</name>
<type>rotate</type>
<object-name>SpoilerL4</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l4</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -375,7 +375,7 @@
<name>Left spoiler 5</name>
<type>rotate</type>
<object-name>SpoilerL5</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l5</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -393,9 +393,9 @@
<name>Right spoiler 1</name>
<type>rotate</type>
<object-name>SpoilerR1</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r1</property>
<interpolation>
<entry><ind>0.5</ind><dep> 0</dep></entry>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
@ -411,7 +411,7 @@
<name>Right spoiler 2</name>
<type>rotate</type>
<object-name>SpoilerR2</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r2</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -429,7 +429,7 @@
<name>Right spoiler 3</name>
<type>rotate</type>
<object-name>SpoilerR3</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r3</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -447,7 +447,7 @@
<name>Right spoiler 4</name>
<type>rotate</type>
<object-name>SpoilerR4</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r4</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -465,7 +465,7 @@
<name>Right spoiler 5</name>
<type>rotate</type>
<object-name>SpoilerR5</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r5</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>

View file

@ -303,9 +303,9 @@
<name>Left spoiler 1</name>
<type>rotate</type>
<object-name>SpoilerL1</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l1</property>
<interpolation>
<entry><ind>0.5</ind><dep> 0</dep></entry>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
@ -321,7 +321,7 @@
<name>Left spoiler 2</name>
<type>rotate</type>
<object-name>SpoilerL2</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l2</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -339,7 +339,7 @@
<name>Left spoiler 3</name>
<type>rotate</type>
<object-name>SpoilerL3</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l3</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -357,7 +357,7 @@
<name>Left spoiler 4</name>
<type>rotate</type>
<object-name>SpoilerL4</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l4</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -375,7 +375,7 @@
<name>Left spoiler 5</name>
<type>rotate</type>
<object-name>SpoilerL5</object-name>
<property>/sim/multiplay/generic/float[9]</property>
<property>/controls/flight/spoiler-l5</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -393,9 +393,9 @@
<name>Right spoiler 1</name>
<type>rotate</type>
<object-name>SpoilerR1</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r1</property>
<interpolation>
<entry><ind>0.5</ind><dep> 0</dep></entry>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
@ -411,7 +411,7 @@
<name>Right spoiler 2</name>
<type>rotate</type>
<object-name>SpoilerR2</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r2</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -429,7 +429,7 @@
<name>Right spoiler 3</name>
<type>rotate</type>
<object-name>SpoilerR3</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r3</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -447,7 +447,7 @@
<name>Right spoiler 4</name>
<type>rotate</type>
<object-name>SpoilerR4</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r4</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
@ -465,7 +465,7 @@
<name>Right spoiler 5</name>
<type>rotate</type>
<object-name>SpoilerR5</object-name>
<property>/sim/multiplay/generic/float[10]</property>
<property>/controls/flight/spoiler-r5</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>

File diff suppressed because it is too large Load diff

View file

@ -115,7 +115,7 @@
<property>/controls/flight/aileron-fbw-cmd</property>
</output>
<config>
<Kp>0.06</Kp>
<Kp>0.11</Kp>
<beta>1</beta>
<alpha>0.1</alpha>
<gamma>0</gamma>
@ -159,7 +159,6 @@
</and>
</condition>
<property>/controls/flight/aileron-fbw-cmd</property>
<scale>2.0</scale>
</input>
<input>
<condition>
@ -208,7 +207,6 @@
<name>IT-FBW: AILERON</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>/controls/flight/roll-fbw</input>
<output>/controls/flight/aileron-fbw</output>
</filter>
@ -217,21 +215,85 @@
<name>IT-FBW: LEFT SPOILER</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>/controls/flight/roll-fbw</input>
<input>
<condition>
<equals>
<property>/systems/failures/aileron-left</property>
<value>0</value>
</equals>
</condition>
<expression>
<table>
<property>/controls/flight/roll-fbw</property>
<entry><ind>-1.0</ind><dep>-1.0</dep></entry>
<entry><ind>-0.2</ind><dep> 0.0</dep></entry>
<entry><ind> 0.0</ind><dep> 0.0</dep></entry>
<entry><ind> 0.2</ind><dep> 0.0</dep></entry>
<entry><ind> 1.0</ind><dep> 1.0</dep></entry>
</table>
</expression>
</input>
<input>
<condition>
<equals>
<property>/systems/failures/aileron-left</property>
<value>1</value>
</equals>
</condition>
<expression>
<table>
<property>/controls/flight/roll-fbw</property>
<entry><ind>-1.0</ind><dep>-1.0</dep></entry>
<entry><ind> 0.0</ind><dep> 0.0</dep></entry>
<entry><ind> 1.0</ind><dep> 1.0</dep></entry>
</table>
</expression>
</input>
<output>/controls/flight/spoiler-left-fbw-cmd</output>
<min>-1</min>
<max>0</max>
<max>1</max>
</filter>
<filter>
<name>IT-FBW: RIGHT SPOILER</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>/controls/flight/roll-fbw</input>
<input>
<condition>
<equals>
<property>/systems/failures/aileron-right</property>
<value>0</value>
</equals>
</condition>
<expression>
<table>
<property>/controls/flight/roll-fbw</property>
<entry><ind>-1.0</ind><dep>-1.0</dep></entry>
<entry><ind>-0.2</ind><dep> 0.0</dep></entry>
<entry><ind> 0.0</ind><dep> 0.0</dep></entry>
<entry><ind> 0.2</ind><dep> 0.0</dep></entry>
<entry><ind> 1.0</ind><dep> 1.0</dep></entry>
</table>
</expression>
</input>
<input>
<condition>
<equals>
<property>/systems/failures/aileron-right</property>
<value>1</value>
</equals>
</condition>
<expression>
<table>
<property>/controls/flight/roll-fbw</property>
<entry><ind>-1.0</ind><dep>-1.0</dep></entry>
<entry><ind> 0.0</ind><dep> 0.0</dep></entry>
<entry><ind> 1.0</ind><dep> 1.0</dep></entry>
</table>
</expression>
</input>
<output>/controls/flight/spoiler-right-fbw-cmd</output>
<min>0</min>
<min>-1</min>
<max>1</max>
</filter>
@ -288,11 +350,11 @@
<property>/controls/flight/elevator-fbw-cmd</property>
</output>
<config>
<Kp>-0.10</Kp>
<Kp>-0.22</Kp>
<beta>1</beta>
<alpha>0.1</alpha>
<gamma>0</gamma>
<Ti>5</Ti>
<Ti>10</Ti>
<Td>0.002</Td>
<u_min>-0.5</u_min>
<u_max>0.5</u_max>
@ -510,7 +572,6 @@
</and>
</condition>
<property>/controls/flight/elevator-fbw-cmd</property>
<scale>2.0</scale>
</input>
<input>
<condition>

View file

@ -37,19 +37,19 @@
<table>
<independentVar lookup="row">/controls/flight/aileron-input</independentVar>
<tableData>
-1.0 -0.150
-0.7 -0.100
-0.5 -0.050
-0.3 -0.025
-0.15 -0.010
-0.05 -0.005
0.00 0.000
0.05 0.005
0.15 0.010
0.3 0.025
0.5 0.050
0.7 0.100
1.0 0.150
-1.0 -0.1500
-0.7 -0.1000
-0.5 -0.0500
-0.3 -0.0270
-0.15 -0.0140
-0.05 -0.0055
0.00 0.0000
0.05 0.0055
0.15 0.0140
0.3 0.0270
0.5 0.0500
0.7 0.1000
1.0 0.1500
</tableData>
</table>
</sum>
@ -100,9 +100,9 @@
<table>
<independentVar lookup="row">/controls/flight/elevator-input</independentVar>
<tableData>
-1.0 0.0755
-0.7 0.0535
-0.5 0.0225
-1.0 0.075
-0.7 0.053
-0.5 0.022
-0.3 0.0115
-0.15 0.0045
-0.05 0.0007
@ -110,9 +110,9 @@
0.05 -0.0007
0.15 -0.0045
0.3 -0.0115
0.5 -0.0225
0.7 -0.0535
1.0 -0.0755
0.5 -0.022
0.7 -0.053
1.0 -0.075
</tableData>
</table>
</sum>