SPOILERS connected to Aileron, Aileron goes up when ground spoiler, realistic spoiler behavior, smooth hydraulic servos

This commit is contained in:
Joshua Davidson 2017-05-03 14:02:54 -04:00
parent 5bb2693fd7
commit 6ccda69ca9
16 changed files with 423 additions and 63 deletions

View file

@ -891,7 +891,7 @@ YAW MOI_________3950000______23089847_______24848934
</setting>
<setting>
<position>1</position>
<time>2</time>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
@ -961,9 +961,9 @@ YAW MOI_________3950000______23089847_______24848934
<independentVar lookup="row">aero/alpha-rad</independentVar>
<tableData>
-0.20 -0.780
0.00 0.345
0.23 1.100
0.60 0.700
0.00 0.335
0.23 1.090
0.60 0.690
</tableData>
</table>
</product>

View file

@ -891,7 +891,7 @@ YAW MOI_________3950000______23089847_______24848934
</setting>
<setting>
<position>1</position>
<time>2</time>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
@ -961,9 +961,9 @@ YAW MOI_________3950000______23089847_______24848934
<independentVar lookup="row">aero/alpha-rad</independentVar>
<tableData>
-0.20 -0.780
0.00 0.345
0.23 1.100
0.60 0.700
0.00 0.335
0.23 1.090
0.60 0.690
</tableData>
</table>
</product>

View file

@ -157,6 +157,8 @@
<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" />
<int n="2" alias="/controls/lighting/landing-lights[0]" />
<int n="3" alias="/controls/lighting/landing-lights[1]" />
<int n="4" alias="/controls/lighting/landing-lights[2]" />
@ -361,8 +363,6 @@
<fault type="bool">false</fault>
</ir>
<onbat type="bool">false</onbat>
<motionroll type="float">0</motionroll>
<motionpitch type="float">0</motionpitch>
</adirs>
<APU>
<fire-switch type="bool">0</fire-switch>
@ -401,6 +401,8 @@
<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-right>0.0</spoiler-right>
<speedbrake-arm>0</speedbrake-arm>
<ground-spoilers-armed type="bool">0</ground-spoilers-armed>
<speedbrake-lever type="double">0</speedbrake-lever>

View file

@ -891,7 +891,7 @@ YAW MOI_________3950000______23089847_______24848934
</setting>
<setting>
<position>1</position>
<time>2</time>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
@ -961,9 +961,9 @@ YAW MOI_________3950000______23089847_______24848934
<independentVar lookup="row">aero/alpha-rad</independentVar>
<tableData>
-0.20 -0.780
0.00 0.345
0.23 1.100
0.60 0.700
0.00 0.335
0.23 1.090
0.60 0.690
</tableData>
</table>
</product>

View file

@ -891,7 +891,7 @@ YAW MOI_________3950000______23089847_______24848934
</setting>
<setting>
<position>1</position>
<time>2</time>
<time>1</time>
</setting>
</traverse>
<output>fcs/speedbrake-pos-norm</output>
@ -961,9 +961,9 @@ YAW MOI_________3950000______23089847_______24848934
<independentVar lookup="row">aero/alpha-rad</independentVar>
<tableData>
-0.20 -0.780
0.00 0.345
0.23 1.100
0.60 0.700
0.00 0.335
0.23 1.090
0.60 0.690
</tableData>
</table>
</product>

View file

@ -15,7 +15,7 @@
<name>Rudder</name>
<type>rotate</type>
<object-name>Rudder</object-name>
<property>surface-positions/rudder-pos-norm</property>
<property>/sim/multiplay/generic/float[8]</property>
<factor>25</factor>
<axis>
<x1-m>4.013</x1-m>

View file

@ -15,7 +15,7 @@
<name>Rudder</name>
<type>rotate</type>
<object-name>Rudder</object-name>
<property>surface-positions/rudder-pos-norm</property>
<property>/sim/multiplay/generic/float[8]</property>
<factor>25</factor>
<axis>
<x1-m>4.013</x1-m>

View file

@ -15,7 +15,7 @@
<name>Rudder</name>
<type>rotate</type>
<object-name>Rudder</object-name>
<property>surface-positions/rudder-pos-norm</property>
<property>/sim/multiplay/generic/float[8]</property>
<factor>25</factor>
<axis>
<x1-m>4.013</x1-m>

View file

@ -43,7 +43,7 @@
<transformation>
<type>y-shift</type>
<!--offset>-35</offset -->
<property>surface-positions/left-aileron-pos-norm</property>
<property>/controls/flight/aileron-left</property>
<interpolation>
<entry><ind>0</ind><dep>45</dep></entry>
<entry><ind>-1</ind><dep>70</dep></entry>
@ -72,11 +72,11 @@
<transformation>
<type>y-shift</type>
<!--offset>-35</offset -->
<property>surface-positions/right-aileron-pos-norm</property>
<property>/controls/flight/aileron-right</property>
<interpolation>
<entry><ind>0</ind><dep>45</dep></entry>
<entry><ind>-1</ind><dep>70</dep></entry>
<entry><ind>1</ind><dep>27</dep></entry>
<entry><ind>1</ind><dep>70</dep></entry>
<entry><ind>-1</ind><dep>27</dep></entry>
</interpolation>
</transformation>
<transformation>
@ -116,7 +116,7 @@
<transformation>
<type>y-shift</type>
<!--offset>-35</offset -->
<property>surface-positions/elevator-pos-norm</property>
<property>/controls/flight/elevator-left</property>
<interpolation>
<entry><ind>0</ind><dep>-50</dep></entry>
<entry><ind>-1</ind><dep>-19</dep></entry>
@ -145,7 +145,7 @@
<transformation>
<type>y-shift</type>
<!--offset>-35</offset -->
<property>surface-positions/elevator-pos-norm</property>
<property>/controls/flight/elevator-right</property>
<interpolation>
<entry><ind>0</ind><dep>-50</dep></entry>
<entry><ind>-1</ind><dep>-19</dep></entry>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

@ -303,8 +303,11 @@
<name>Left spoiler 1</name>
<type>rotate</type>
<object-name>SpoilerL1</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[9]</property>
<interpolation>
<entry><ind>0.5</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>4.879</x1-m>
<y1-m>-4.455</y1-m>
@ -318,8 +321,11 @@
<name>Left spoiler 2</name>
<type>rotate</type>
<object-name>SpoilerL2</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[9]</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>5.084</x1-m>
<y1-m>-6.905</y1-m>
@ -333,8 +339,11 @@
<name>Left spoiler 3</name>
<type>rotate</type>
<object-name>SpoilerL3</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[9]</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>5.685</x1-m>
<y1-m>-8.581</y1-m>
@ -348,8 +357,11 @@
<name>Left spoiler 4</name>
<type>rotate</type>
<object-name>SpoilerL4</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[9]</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>6.253</x1-m>
<y1-m>-10.164</y1-m>
@ -363,8 +375,11 @@
<name>Left spoiler 5</name>
<type>rotate</type>
<object-name>SpoilerL5</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[9]</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>6.776</x1-m>
<y1-m>-11.622</y1-m>
@ -378,8 +393,11 @@
<name>Right spoiler 1</name>
<type>rotate</type>
<object-name>SpoilerR1</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[10]</property>
<interpolation>
<entry><ind>0.5</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>4.879</x1-m>
<y1-m>6.201</y1-m>
@ -393,8 +411,11 @@
<name>Right spoiler 2</name>
<type>rotate</type>
<object-name>SpoilerR2</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[10]</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>5.678</x1-m>
<y1-m>8.563</y1-m>
@ -408,8 +429,11 @@
<name>Right spoiler 3</name>
<type>rotate</type>
<object-name>SpoilerR3</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[10]</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>6.246</x1-m>
<y1-m>10.145</y1-m>
@ -423,8 +447,11 @@
<name>Right spoiler 4</name>
<type>rotate</type>
<object-name>SpoilerR4</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[10]</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>6.769</x1-m>
<y1-m>11.603</y1-m>
@ -438,8 +465,11 @@
<name>Right spoiler 5</name>
<type>rotate</type>
<object-name>SpoilerR5</object-name>
<property>surface-positions/speedbrake-pos-norm</property>
<factor>30</factor>
<property>/sim/multiplay/generic/float[10]</property>
<interpolation>
<entry><ind>0.0</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>30</dep></entry>
</interpolation>
<axis>
<x1-m>7.292</x1-m>
<y1-m>13.06</y1-m>

View file

@ -1,2 +1,9 @@
# A320Family
Airbus A320 Family for FlightGear. Note: Flaps indicator still missing from ECAM, coming soon! CFM engines will be added once all engine related systems are mostly complete.
Airbus A320 Family for FlightGear. Note: Flaps indicator still missing from ECAM, coming soon! CFM engines will be added once all engine related systems are mostly complete.<br />
Brought to you by:
- Joshua Davidson (it0uchpods): Lead Programmer/Modeller/Project Leader
- Johnathan Redpath (legoboyvdlp): Programmer/Modeller/Livery Artist
- Gabriel Hernandez (YV3399): Programmer/Modeller
- Brandon Amaro (omega13a): Livery Artist
- Suleman Siddiqui (pakistan-1): Livery Artist

View file

@ -52,11 +52,31 @@
</signal>
<signal>
<type>float</type>
<property>/controls/flight/elevator-fbw</property>
<property>/controls/flight/elevator-sum</property>
</signal>
<signal>
<type>float</type>
<property>/controls/flight/aileron-fbw</property>
<property>/controls/flight/elevator-left</property>
</signal>
<signal>
<type>float</type>
<property>/controls/flight/elevator-right</property>
</signal>
<signal>
<type>float</type>
<property>/controls/flight/aileron-sum</property>
</signal>
<signal>
<type>float</type>
<property>/controls/flight/aileron-left</property>
</signal>
<signal>
<type>float</type>
<property>/controls/flight/aileron-right</property>
</signal>
<signal>
<type>float</type>
<property>/controls/flight/rudder-fdm</property>
</signal>
</signals>
</config>

View file

@ -4,12 +4,41 @@
<PropertyList>
<!-- Elevator Control -->
<!-- Aileron/Spoileron/Speedbrake Control -->
<filter>
<debug>false</debug>
<type>gain</type>
<gain>1.0</gain>
<input>
<condition>
<and>
<or>
<greater-than-equals>
<property>/systems/hydraulic/green-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/blue-psi</property>
<value>1500</value>
</greater-than-equals>
</or>
<equals>
<property>/controls/flight/speedbrake-lever</property>
<value>1.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>
</and>
</condition>
<property>/surface-positions/speedbrake-pos-norm</property>
<scale>-0.5</scale>
</input>
<input>
<condition>
<and>
@ -47,13 +76,51 @@
</table>
</expression>
</input>
<output>/controls/flight/aileron-left-cmd</output>
</filter>
<filter>
<debug>false</debug>
<type>noise-spike</type>
<input>/controls/flight/aileron-left-cmd</input>
<output>/controls/flight/aileron-left</output>
<max-rate-of-change>2.5</max-rate-of-change>
</filter>
<filter>
<debug>false</debug>
<type>gain</type>
<gain>1.0</gain>
<input>
<condition>
<and>
<or>
<greater-than-equals>
<property>/systems/hydraulic/green-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/blue-psi</property>
<value>1500</value>
</greater-than-equals>
</or>
<equals>
<property>/controls/flight/speedbrake-lever</property>
<value>1.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>
</and>
</condition>
<property>/surface-positions/speedbrake-pos-norm</property>
<scale>0.5</scale>
</input>
<input>
<condition>
<and>
@ -91,7 +158,205 @@
</table>
</expression>
</input>
<output>/controls/flight/aileron-right-cmd</output>
</filter>
<filter>
<debug>false</debug>
<type>noise-spike</type>
<input>/controls/flight/aileron-right-cmd</input>
<output>/controls/flight/aileron-right</output>
<max-rate-of-change>2.5</max-rate-of-change>
</filter>
<filter>
<debug>false</debug>
<type>gain</type>
<gain>1.0</gain>
<input>
<condition>
<and>
<or>
<greater-than-equals>
<property>/systems/hydraulic/green-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/blue-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/yellow-psi</property>
<value>1500</value>
</greater-than-equals>
</or>
<not-equals>
<property>/controls/flight/speedbrake-lever</property>
<value>0.0</value>
</not-equals>
</and>
</condition>
<expression>
<sum>
<property>/surface-positions/speedbrake-pos-norm</property>
<table>
<property>/controls/flight/aileron-fbw</property>
<entry><ind>0</ind><dep> 0</dep></entry>
<entry><ind>1</ind><dep>-0.5</dep></entry>
</table>
</sum>
</expression>
</input>
<input>
<condition>
<and>
<less-than>
<property>/systems/hydraulic/green-psi</property>
<value>1500</value>
</less-than>
<less-than>
<property>/systems/hydraulic/blue-psi</property>
<value>1500</value>
</less-than>
<less-than>
<property>/systems/hydraulic/yellow-psi</property>
<value>1500</value>
</less-than>
</and>
</condition>
<value>0.0</value>
</input>
<input>
<condition>
<or>
<greater-than-equals>
<property>/systems/hydraulic/green-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/blue-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/yellow-psi</property>
<value>1500</value>
</greater-than-equals>
</or>
</condition>
<expression>
<table>
<property>/controls/flight/aileron-fbw</property>
<entry><ind>-0.1</ind><dep> 0</dep></entry>
<entry><ind>-1.0</ind><dep>0.5</dep></entry>
</table>
</expression>
</input>
<output>/controls/flight/spoiler-left-cmd</output>
<min>0.0</min>
<max>1.0</max>
</filter>
<filter>
<debug>false</debug>
<type>noise-spike</type>
<input>/controls/flight/spoiler-left-cmd</input>
<output>/controls/flight/spoiler-left</output>
<max-rate-of-change>1.5</max-rate-of-change>
</filter>
<filter>
<debug>false</debug>
<type>gain</type>
<gain>1.0</gain>
<input>
<condition>
<and>
<or>
<greater-than-equals>
<property>/systems/hydraulic/green-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/blue-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/yellow-psi</property>
<value>1500</value>
</greater-than-equals>
</or>
<not-equals>
<property>/controls/flight/speedbrake-lever</property>
<value>0.0</value>
</not-equals>
</and>
</condition>
<expression>
<sum>
<property>/surface-positions/speedbrake-pos-norm</property>
<table>
<property>/controls/flight/aileron-fbw</property>
<entry><ind> 0</ind><dep> 0</dep></entry>
<entry><ind>-1</ind><dep>-0.5</dep></entry>
</table>
</sum>
</expression>
</input>
<input>
<condition>
<and>
<less-than>
<property>/systems/hydraulic/green-psi</property>
<value>1500</value>
</less-than>
<less-than>
<property>/systems/hydraulic/blue-psi</property>
<value>1500</value>
</less-than>
<less-than>
<property>/systems/hydraulic/yellow-psi</property>
<value>1500</value>
</less-than>
</and>
</condition>
<value>0.0</value>
</input>
<input>
<condition>
<or>
<greater-than-equals>
<property>/systems/hydraulic/green-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/blue-psi</property>
<value>1500</value>
</greater-than-equals>
<greater-than-equals>
<property>/systems/hydraulic/yellow-psi</property>
<value>1500</value>
</greater-than-equals>
</or>
</condition>
<expression>
<table>
<property>/controls/flight/aileron-fbw</property>
<entry><ind>0.1</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>0.5</dep></entry>
</table>
</expression>
</input>
<output>/controls/flight/spoiler-right-cmd</output>
<min>0.0</min>
<max>1.0</max>
</filter>
<filter>
<debug>false</debug>
<type>noise-spike</type>
<input>/controls/flight/spoiler-right-cmd</input>
<output>/controls/flight/spoiler-right</output>
<max-rate-of-change>1.5</max-rate-of-change>
</filter>
<filter>
@ -100,10 +365,22 @@
<gain>1.0</gain>
<input>
<expression>
<sum>
<property>/controls/flight/aileron-left</property>
<property>/controls/flight/aileron-right</property>
</sum>
<product>
<sum>
<sum>
<property>/controls/flight/aileron-left</property>
<property>/controls/flight/aileron-right</property>
</sum>
<sum>
<product>
<property>/controls/flight/spoiler-left</property>
<value>-1.0</value>
</product>
<property>/controls/flight/spoiler-right</property>
</sum>
</sum>
<value>0.666</value>
</product>
</expression>
</input>
<output>/controls/flight/aileron-sum</output>
@ -151,7 +428,15 @@
</table>
</expression>
</input>
<output>/controls/flight/elevator-left-cmd</output>
</filter>
<filter>
<debug>false</debug>
<type>noise-spike</type>
<input>/controls/flight/elevator-left-cmd</input>
<output>/controls/flight/elevator-left</output>
<max-rate-of-change>2.5</max-rate-of-change>
</filter>
<filter>
@ -195,7 +480,15 @@
</table>
</expression>
</input>
<output>/controls/flight/elevator-right-cmd</output>
</filter>
<filter>
<debug>false</debug>
<type>noise-spike</type>
<input>/controls/flight/elevator-right-cmd</input>
<output>/controls/flight/elevator-right</output>
<max-rate-of-change>2.5</max-rate-of-change>
</filter>
<filter>
@ -261,9 +554,17 @@
</sum>
</expression>
</input>
<output>/controls/flight/rudder-fdm</output>
<output>/controls/flight/rudder-fdm-cmd</output>
<min>-1.0</min>
<max>1.0</max>
</filter>
<filter>
<debug>false</debug>
<type>noise-spike</type>
<input>/controls/flight/rudder-fdm-cmd</input>
<output>/controls/flight/rudder-fdm</output>
<max-rate-of-change>2.5</max-rate-of-change>
</filter>
</PropertyList>

View file

@ -45,13 +45,13 @@
-1.0 -0.15
-0.7 -0.1
-0.5 -0.05
-0.3 -0.01
-0.15 -0.005
-0.05 -0.001
-0.3 -0.025
-0.15 -0.01
-0.05 -0.005
0.00 0.00
0.05 0.001
0.15 0.005
0.3 0.01
0.05 0.005
0.15 0.01
0.3 0.025
0.5 0.05
0.7 0.1
1.0 0.15