A3XX: Major AP Changes, make FPA and TRK work properly, new liveries
This commit is contained in:
parent
1da96f3c32
commit
546dda20cf
17 changed files with 1015 additions and 1118 deletions
|
@ -333,6 +333,7 @@
|
|||
</output>
|
||||
<custom>
|
||||
<hdg-input>0</hdg-input>
|
||||
<trk-fpa>0</trk-fpa>
|
||||
</custom>
|
||||
</it-autoflight>
|
||||
|
||||
|
|
|
@ -501,28 +501,49 @@
|
|||
<property>/flight-management/control/ver-ctrl</property>
|
||||
<value>fmgc</value>
|
||||
</equals>
|
||||
<!--property>/instrumentation/pfd-old/enabled</property-->
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<!--animation>
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>vs.ind</object-name>
|
||||
<object-name>hdg.ind</object-name>
|
||||
<condition>
|
||||
|
||||
</condition>
|
||||
</animation-->
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>fpa.ind</object-name>
|
||||
<object-name>trk.ind</object-name>
|
||||
<object-name>trk.ind2</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/unused</property>
|
||||
<value>999</value>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>vs.ind.001</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>fpa.ind.001</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
@ -810,15 +831,49 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>5</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
<value>0.0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/sim/sounde/btn1", 1);</script>
|
||||
|
@ -830,9 +885,9 @@
|
|||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if (getprop("/it-autoflight/settings/use-true-hdg-error") == 0) {
|
||||
if (getprop("/it-autoflight/custom/trk-fpa") == 0) {
|
||||
setprop("/it-autoflight/input/vert", 1);
|
||||
} else if (getprop("/it-autoflight/settings/use-true-hdg-error") == 1) {
|
||||
} else if (getprop("/it-autoflight/custom/trk-fpa") == 1) {
|
||||
setprop("/it-autoflight/input/vert", 5);
|
||||
}
|
||||
</script>
|
||||
|
@ -848,19 +903,37 @@
|
|||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if (getprop("/it-autoflight/output/vert") == 1) {
|
||||
# Do nothing because we are already in VS mode
|
||||
} else {
|
||||
if (getprop("/it-autoflight/output/vert") != 1 and getprop("/it-autoflight/custom/trk-fpa") == 0) {
|
||||
setprop("/it-autoflight/input/vert", 1);
|
||||
} else if (getprop("/it-autoflight/output/vert") != 5 and getprop("/it-autoflight/custom/trk-fpa") == 1) {
|
||||
setprop("/it-autoflight/input/vert", 5);
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
<step>100</step>
|
||||
<max>8000</max>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
<step>0.1</step>
|
||||
<max>20.9</max>
|
||||
</binding>
|
||||
</action>
|
||||
<action>
|
||||
<button>4</button>
|
||||
|
@ -868,19 +941,37 @@
|
|||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if (getprop("/it-autoflight/output/vert") == 1) {
|
||||
# Do nothing because we are already in VS mode
|
||||
} else {
|
||||
if (getprop("/it-autoflight/output/vert") != 1 and getprop("/it-autoflight/custom/trk-fpa") == 0) {
|
||||
setprop("/it-autoflight/input/vert", 1);
|
||||
} else if (getprop("/it-autoflight/output/vert") != 5 and getprop("/it-autoflight/custom/trk-fpa") == 1) {
|
||||
setprop("/it-autoflight/input/vert", 5);
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
<step>-100</step>
|
||||
<min>-6000</min>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
<step>-0.1</step>
|
||||
<min>-20.9</min>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
|
@ -961,17 +1052,10 @@
|
|||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/settings/use-true-hdg-error</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if (getprop("/it-autoflight/output/vert") == 5) {
|
||||
setprop("/it-autoflight/input/vert", 1);
|
||||
}
|
||||
fmgc.toggle_trkfpa();
|
||||
</script>
|
||||
</binding>
|
||||
<binding>
|
||||
|
@ -981,54 +1065,6 @@
|
|||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>trk-fpa</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/settings/use-true-hdg-error</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if (getprop("/it-autoflight/output/vert") == 1) {
|
||||
setprop("/it-autoflight/input/vert", 5);
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/sim/sounde/btn1", 1);</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hdg-vs</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/settings/use-true-hdg-error</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>trk-fpa</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/settings/use-true-hdg-error</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>alt-sel-mode</object-name>
|
||||
|
@ -1142,8 +1178,6 @@
|
|||
<object-name>spd-text</object-name>
|
||||
<object-name>mach-text</object-name>
|
||||
<object-name>hdg-text</object-name>
|
||||
<object-name>hdg2.ind</object-name>
|
||||
<object-name>trk2.ind</object-name>
|
||||
<object-name>alt-text</object-name>
|
||||
<object-name>vs-text</object-name>
|
||||
<object-name>fpa-text</object-name>
|
||||
|
@ -1210,6 +1244,40 @@
|
|||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hdg.ind</object-name>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>trk.ind</object-name>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hdg-text</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
|
@ -1218,29 +1286,12 @@
|
|||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hdg-text</object-name>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/hdg-input</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hdg2.ind</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/settings/use-true-hdg-error</property>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1251,7 +1302,7 @@
|
|||
<object-name>trk2.ind</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/settings/use-true-hdg-error</property>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
|
@ -1261,10 +1312,16 @@
|
|||
<type>select</type>
|
||||
<object-name>vs.dash</object-name>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
<and>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
|
@ -1284,8 +1341,8 @@
|
|||
<object-name>fpa-text</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/unused</property>
|
||||
<value>999</value>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
@ -1382,8 +1439,6 @@
|
|||
<object-name>qnh-hpa</object-name>
|
||||
<object-name>qnh-std</object-name>
|
||||
<object-name>rudder-trim</object-name>
|
||||
<object-name>trk.ind</object-name>
|
||||
<object-name>trk.ind2</object-name>
|
||||
<diffuse>
|
||||
<red>0.89</red>
|
||||
<green>0.37</green>
|
||||
|
@ -1577,8 +1632,8 @@
|
|||
<alignment>center-center</alignment>
|
||||
<axis-alignment>xy-plane</axis-alignment>
|
||||
<type type="string">number-value</type>
|
||||
<format type="string">%2.0f</format>
|
||||
<property>/it-autoflight/settings/target-fpa</property>
|
||||
<format type="string">%2.1f</format>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
<truncate type="bool">false</truncate>
|
||||
<font type="string">led.txf</font>
|
||||
<draw-text type="bool">true</draw-text>
|
||||
|
@ -1591,56 +1646,6 @@
|
|||
</font-resolution>
|
||||
</text>
|
||||
|
||||
<text>
|
||||
<name>trk.ind</name>
|
||||
<offsets>
|
||||
<x-m>-0.4868</x-m>
|
||||
<y-m>-0.008</y-m>
|
||||
<z-m>0.1721</z-m>
|
||||
<heading-deg>90</heading-deg>
|
||||
<roll-deg>76</roll-deg>
|
||||
</offsets>
|
||||
<alignment>center-center</alignment>
|
||||
<axis-alignment>xy-plane</axis-alignment>
|
||||
<type type="string">literal</type>
|
||||
<text type="string">TRK</text>
|
||||
<truncate type="bool">false</truncate>
|
||||
<font type="string">Helvetica.txf</font>
|
||||
<draw-text type="bool">true</draw-text>
|
||||
<draw-alignment type="bool">false</draw-alignment>
|
||||
<draw-boundingbox type="bool">false</draw-boundingbox>
|
||||
<character-size>0.005</character-size>
|
||||
<font-resolution>
|
||||
<width type="int">32</width>
|
||||
<height type="int">32</height>
|
||||
</font-resolution>
|
||||
</text>
|
||||
|
||||
<text>
|
||||
<name>trk.ind2</name>
|
||||
<offsets>
|
||||
<x-m>-0.4868</x-m>
|
||||
<y-m>-0.0469</y-m>
|
||||
<z-m>0.1824</z-m>
|
||||
<heading-deg>90</heading-deg>
|
||||
<roll-deg>76</roll-deg>
|
||||
</offsets>
|
||||
<alignment>center-center</alignment>
|
||||
<axis-alignment>xy-plane</axis-alignment>
|
||||
<type type="string">literal</type>
|
||||
<text type="string">TRK</text>
|
||||
<truncate type="bool">false</truncate>
|
||||
<font type="string">Helvetica.txf</font>
|
||||
<draw-text type="bool">true</draw-text>
|
||||
<draw-alignment type="bool">false</draw-alignment>
|
||||
<draw-boundingbox type="bool">false</draw-boundingbox>
|
||||
<character-size>0.005</character-size>
|
||||
<font-resolution>
|
||||
<width type="int">32</width>
|
||||
<height type="int">32</height>
|
||||
</font-resolution>
|
||||
</text>
|
||||
|
||||
<!-- Knobs Rotate -->
|
||||
|
||||
<animation>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -9,7 +9,7 @@
|
|||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>sidestick-pos</object-name>
|
||||
<property>controls/flight/elevator</property>
|
||||
<property>controls/flight/elevator-input-fast</property>
|
||||
<factor>0.0198</factor>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
|
@ -21,7 +21,7 @@
|
|||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>sidestick-pos</object-name>
|
||||
<property>controls/flight/aileron</property>
|
||||
<property>controls/flight/aileron-input-fast</property>
|
||||
<factor>0.0220</factor>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>sidestick-pos</object-name>
|
||||
<property>controls/flight/elevator</property>
|
||||
<property>controls/flight/elevator-input-fast</property>
|
||||
<factor>0.0198</factor>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
|
@ -21,7 +21,7 @@
|
|||
<animation>
|
||||
<type>translate</type>
|
||||
<object-name>sidestick-pos</object-name>
|
||||
<property>controls/flight/aileron</property>
|
||||
<property>controls/flight/aileron-input-fast</property>
|
||||
<factor>0.0220</factor>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
|
|
BIN
Models/Liveries/A320/CFM/AirAsia_PK-AXA.png
Normal file
BIN
Models/Liveries/A320/CFM/AirAsia_PK-AXA.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 586 KiB |
18
Models/Liveries/A320/CFM/AirAsia_PK-AXA.xml
Normal file
18
Models/Liveries/A320/CFM/AirAsia_PK-AXA.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<PropertyList>
|
||||
<sim>
|
||||
<model>
|
||||
<livery>
|
||||
<name>AirAsia PK-AXA</name>
|
||||
<texture>Liveries/A320/CFM/AirAsia_PK-AXA.png</texture>
|
||||
</livery>
|
||||
</model>
|
||||
</sim>
|
||||
|
||||
<options>
|
||||
<EIS2 type="bool">1</EIS2>
|
||||
</options>
|
||||
|
||||
<sharklet type="bool">0</sharklet>
|
||||
</PropertyList>
|
BIN
Models/Liveries/A320/CFM/BORUSSIA_DORTMUND.png
Normal file
BIN
Models/Liveries/A320/CFM/BORUSSIA_DORTMUND.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 682 KiB |
18
Models/Liveries/A320/CFM/BORUSSIA_DORTMUND.xml
Normal file
18
Models/Liveries/A320/CFM/BORUSSIA_DORTMUND.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<PropertyList>
|
||||
<sim>
|
||||
<model>
|
||||
<livery>
|
||||
<name>BORUSSIA DORTMUND</name>
|
||||
<texture>Liveries/A320/CFM/BORUSSIA_DORTMUND.png</texture>
|
||||
</livery>
|
||||
</model>
|
||||
</sim>
|
||||
|
||||
<options>
|
||||
<EIS2 type="bool">1</EIS2>
|
||||
</options>
|
||||
|
||||
<sharklet type="bool">0</sharklet>
|
||||
</PropertyList>
|
|
@ -353,6 +353,7 @@ var ManagedSPD = maketimer(0.25, func {
|
|||
#################################
|
||||
|
||||
var APinit = func {
|
||||
setprop("/it-autoflight/custom/trk-fpa", 0);
|
||||
setprop("/it-autoflight/input/kts-mach", 0);
|
||||
setprop("/it-autoflight/input/ap1", 0);
|
||||
setprop("/it-autoflight/input/ap2", 0);
|
||||
|
@ -482,11 +483,13 @@ var fmabox = func {
|
|||
var fd1 = getprop("/it-autoflight/output/fd1");
|
||||
var fd2 = getprop("/it-autoflight/output/fd2");
|
||||
if (!ap1 and !ap2 and !fd1 and !fd2) {
|
||||
setprop("/it-autoflight/input/trk", 0);
|
||||
setprop("/it-autoflight/input/lat", 3);
|
||||
setprop("/it-autoflight/input/vert", 1);
|
||||
setprop("/it-autoflight/input/vs", 0);
|
||||
setprop("/it-autoflight/output/fma-pwr", 0);
|
||||
} else {
|
||||
setprop("/it-autoflight/input/trk", 0);
|
||||
setprop("/it-autoflight/input/vs", 0);
|
||||
setprop("/it-autoflight/output/fma-pwr", 1);
|
||||
}
|
||||
|
@ -540,8 +543,8 @@ var lateral = func {
|
|||
lnavwptt.stop();
|
||||
setprop("/it-autoflight/output/loc-armed", 0);
|
||||
setprop("/it-autoflight/output/appr-armed", 0);
|
||||
var hdgnow = int(getprop("/orientation/heading-magnetic-deg")+0.5);
|
||||
setprop("/it-autoflight/input/hdg", hdgnow);
|
||||
var hdg5sec = int(getprop("/it-autoflight/internal/heading-5-sec-ahead")+0.5);
|
||||
setprop("/it-autoflight/input/hdg", hdg5sec);
|
||||
setprop("/it-autoflight/output/lat", 0);
|
||||
setprop("/it-autoflight/mode/lat", "HDG");
|
||||
setprop("/it-autoflight/mode/arm", " ");
|
||||
|
@ -668,6 +671,7 @@ var vertical = func {
|
|||
setprop("/it-autoflight/mode/arm", " ");
|
||||
}
|
||||
} else if (vertset == 5) {
|
||||
fpa_calc();
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
fpa_calct.start();
|
||||
|
@ -675,6 +679,7 @@ var vertical = func {
|
|||
var altinput = getprop("/it-autoflight/input/alt");
|
||||
setprop("/it-autoflight/internal/alt", altinput);
|
||||
var fpanow = (int(10*getprop("/it-autoflight/internal/fpa")))*0.1;
|
||||
print(fpanow);
|
||||
setprop("/it-autoflight/input/fpa", fpanow);
|
||||
setprop("/it-autoflight/output/vert", 5);
|
||||
setprop("/it-autoflight/mode/vert", "FPA");
|
||||
|
@ -712,6 +717,31 @@ var vert_arm = func {
|
|||
}
|
||||
|
||||
# Helpers
|
||||
var toggle_trkfpa = func {
|
||||
var trkfpa = getprop("/it-autoflight/custom/trk-fpa");
|
||||
if (trkfpa == 0) {
|
||||
setprop("/it-autoflight/custom/trk-fpa", 1);
|
||||
if (getprop("/it-autoflight/output/vert") == 1) {
|
||||
setprop("/it-autoflight/input/vert", 5);
|
||||
}
|
||||
setprop("/it-autoflight/input/trk", 1);
|
||||
var hed = getprop("/it-autoflight/internal/heading-error-deg");
|
||||
if (hed >= -10 and hed <= 10 and getprop("/it-autoflight/output/lat") == 0) {
|
||||
setprop("/it-autoflight/input/lat", 3);
|
||||
}
|
||||
} else if (trkfpa == 1) {
|
||||
setprop("/it-autoflight/custom/trk-fpa", 0);
|
||||
if (getprop("/it-autoflight/output/vert") == 5) {
|
||||
setprop("/it-autoflight/input/vert", 1);
|
||||
}
|
||||
setprop("/it-autoflight/input/trk", 0);
|
||||
var hed = getprop("/it-autoflight/internal/heading-error-deg");
|
||||
if (hed >= -10 and hed <= 10 and getprop("/it-autoflight/output/lat") == 0) {
|
||||
setprop("/it-autoflight/input/lat", 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var lnavwpt = func {
|
||||
if (getprop("/autopilot/route-manager/route/num") > 0) {
|
||||
if (getprop("/autopilot/route-manager/wp/dist") <= 1.0) {
|
||||
|
@ -740,8 +770,8 @@ var alt_on = func {
|
|||
var fpa_calc = func {
|
||||
var VS = getprop("/velocities/vertical-speed-fps");
|
||||
var TAS = getprop("/velocities/uBody-fps");
|
||||
if(TAS < 10) TAS = 10;
|
||||
if(VS < -200) VS =-200;
|
||||
if (TAS < 10) TAS = 10;
|
||||
if (VS < -200) VS =-200;
|
||||
if (abs(VS/TAS) <= 1) {
|
||||
var FPangle = math.asin(VS/TAS);
|
||||
FPangle *=90;
|
||||
|
|
|
@ -254,15 +254,19 @@ var boxchk = func {
|
|||
var fd2 = getprop("/it-autoflight/output/fd2");
|
||||
var fma_pwr = getprop("/it-autoflight/output/fma-pwr");
|
||||
if (ap1 and !ap2 and !fd1 and !fd2 and !fma_pwr) {
|
||||
setprop("/it-autoflight/custom/trk-fpa", 0);
|
||||
setprop("/it-autoflight/input/lat", 3);
|
||||
boxchk_b();
|
||||
} else if (!ap1 and ap2 and !fd1 and !fd2 and !fma_pwr) {
|
||||
setprop("/it-autoflight/custom/trk-fpa", 0);
|
||||
setprop("/it-autoflight/input/lat", 3);
|
||||
boxchk_b();
|
||||
} else if (!ap1 and !ap2 and fd1 and !fd2 and !fma_pwr) {
|
||||
setprop("/it-autoflight/custom/trk-fpa", 0);
|
||||
setprop("/it-autoflight/input/lat", 3);
|
||||
boxchk_b();
|
||||
} else if (!ap1 and !ap2 and !fd1 and fd2 and !fma_pwr) {
|
||||
setprop("/it-autoflight/custom/trk-fpa", 0);
|
||||
setprop("/it-autoflight/input/lat", 3);
|
||||
boxchk_b();
|
||||
}
|
||||
|
|
|
@ -689,24 +689,63 @@
|
|||
<legend>V/S Push</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>5</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
<value>0.0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<legend>V/S Pull</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>1</value>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
if (getprop("/it-autoflight/custom/trk-fpa") == 0) {
|
||||
setprop("/it-autoflight/input/vert", 1);
|
||||
} else if (getprop("/it-autoflight/custom/trk-fpa") == 1) {
|
||||
setprop("/it-autoflight/input/vert", 5);
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
|
@ -1033,6 +1072,55 @@
|
|||
</button>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
|
||||
<hrule>
|
||||
<stretch type="bool">true</stretch>
|
||||
</hrule>
|
||||
<text>
|
||||
<label>Other Mode</label>
|
||||
</text>
|
||||
<hrule>
|
||||
<stretch type="bool">true</stretch>
|
||||
</hrule>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
|
||||
<text>
|
||||
<label>HDG VS</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
|
||||
<button>
|
||||
<legend>HDG VS/TRK FPA</legend>
|
||||
<pref-width>120</pref-width>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
fmgc.toggle_trkfpa();
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<label>TRK FPA</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/trk-fpa</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
</group>
|
||||
|
||||
</group>
|
||||
|
||||
</PropertyList>
|
||||
|
|
|
@ -283,7 +283,7 @@
|
|||
<gamma>0.0</gamma>
|
||||
<Ti>10.0</Ti>
|
||||
<Td>0.00001</Td>
|
||||
<u_min>0.01</u_min>
|
||||
<u_min>0.005</u_min>
|
||||
<u_max>
|
||||
<property>/controls/engines/engine[0]/throttle-man</property>
|
||||
</u_max>
|
||||
|
@ -540,7 +540,7 @@
|
|||
<gamma>0.0</gamma>
|
||||
<Ti>10.0</Ti>
|
||||
<Td>0.00001</Td>
|
||||
<u_min>0.01</u_min>
|
||||
<u_min>0.005</u_min>
|
||||
<u_max>
|
||||
<property>/controls/engines/engine[1]/throttle-man</property>
|
||||
</u_max>
|
||||
|
|
|
@ -8,6 +8,32 @@
|
|||
<!-- Predictors -->
|
||||
<!-- =============================================================== -->
|
||||
|
||||
<predict-simple>
|
||||
<name>HEADING 5 SECONDS AHEAD</name>
|
||||
<debug>false</debug>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/input/trk</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/orientation/heading-magnetic-deg</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/input/trk</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/orientation/heading-deg</property>
|
||||
</input>
|
||||
<output>/it-autoflight/internal/heading-5-sec-ahead</output>
|
||||
<seconds>5.0</seconds>
|
||||
<filter-gain>0.0</filter-gain>
|
||||
</predict-simple>
|
||||
|
||||
<predict-simple>
|
||||
<name>ALTITUDE 5 SECONDS AHEAD</name>
|
||||
<debug>false</debug>
|
||||
|
|
|
@ -538,7 +538,22 @@
|
|||
<debug>false</debug>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<enable>
|
||||
<input>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<property>/controls/flight/elevator-fbw</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
|
@ -551,13 +566,40 @@
|
|||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property>
|
||||
</input>
|
||||
<output>/controls/flight/elevator</output>
|
||||
<output>/controls/flight/elevator-fmgc</output>
|
||||
<type>noise-spike</type>
|
||||
<max-rate-of-change>0.4</max-rate-of-change>
|
||||
<max-rate-of-change>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<value>10</value>
|
||||
</max-rate-of-change>
|
||||
<max-rate-of-change>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<value>0.35</value>
|
||||
</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<!-- =============================================================== -->
|
||||
|
|
|
@ -312,7 +312,22 @@
|
|||
<debug>false</debug>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<enable>
|
||||
<input>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<property>/controls/flight/aileron-fbw</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
|
@ -325,13 +340,40 @@
|
|||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<property>/it-autoflight/internal/aileron-cmd</property>
|
||||
</input>
|
||||
<output>/controls/flight/aileron</output>
|
||||
<output>/controls/flight/aileron-fmgc</output>
|
||||
<type>noise-spike</type>
|
||||
<max-rate-of-change>0.5</max-rate-of-change>
|
||||
<max-rate-of-change>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<value>10</value>
|
||||
</max-rate-of-change>
|
||||
<max-rate-of-change>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<value>0.5</value>
|
||||
</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<!-- =============================================================== -->
|
||||
|
|
|
@ -10,6 +10,23 @@
|
|||
<!-- Surface Position Feeding -->
|
||||
<!-- =============================================================== -->
|
||||
|
||||
<filter>
|
||||
<debug>false</debug>
|
||||
<type>noise-spike</type>
|
||||
<input>/controls/flight/aileron</input>
|
||||
<output>/controls/flight/aileron-input-fast</output>
|
||||
<max-rate-of-change>5</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<debug>false</debug>
|
||||
<type>noise-spike</type>
|
||||
<input>/controls/flight/elevator</input>
|
||||
<output>/controls/flight/elevator-input-fast</output>
|
||||
<max-rate-of-change>5</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
|
||||
<filter>
|
||||
<debug>false</debug>
|
||||
<type>noise-spike</type>
|
||||
|
@ -160,6 +177,39 @@
|
|||
</condition>
|
||||
<property>/controls/flight/aileron-fbw-cmd</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-fbw/law</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-fbw/law</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
</condition>
|
||||
<property>/controls/flight/aileron-input</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<or>
|
||||
|
@ -171,25 +221,9 @@
|
|||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-fbw/law</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-fbw/law</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<property>/controls/flight/aileron-input</property>
|
||||
<property>/controls/flight/aileron-fmgc</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
|
@ -573,6 +607,35 @@
|
|||
</condition>
|
||||
<property>/controls/flight/elevator-fbw-cmd</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-fbw/law</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
</condition>
|
||||
<property>/controls/flight/elevator-input</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<or>
|
||||
|
@ -584,21 +647,9 @@
|
|||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-fbw/law</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<property>/controls/flight/elevator-input</property>
|
||||
<property>/controls/flight/elevator-fmgc</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
|
@ -803,6 +854,10 @@
|
|||
<property>/position/gear-agl-ft</property>
|
||||
<value>50</value>
|
||||
</greater-than-equals>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>4</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
</condition>
|
||||
</enable>
|
||||
|
@ -859,6 +914,10 @@
|
|||
<property>/position/gear-agl-ft</property>
|
||||
<value>50</value>
|
||||
</greater-than-equals>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>4</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
</condition>
|
||||
<property>/controls/flight/rudder-fbw-cmd</property>
|
||||
|
@ -890,6 +949,10 @@
|
|||
<property>/position/gear-agl-ft</property>
|
||||
<value>50</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>4</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<property>/controls/flight/rudder</property>
|
||||
|
|
Reference in a new issue