A3XX: Major AP Changes, make FPA and TRK work properly, new liveries

This commit is contained in:
Joshua Davidson 2017-06-11 20:03:19 -04:00
parent 1da96f3c32
commit 546dda20cf
17 changed files with 1015 additions and 1118 deletions

View file

@ -333,6 +333,7 @@
</output> </output>
<custom> <custom>
<hdg-input>0</hdg-input> <hdg-input>0</hdg-input>
<trk-fpa>0</trk-fpa>
</custom> </custom>
</it-autoflight> </it-autoflight>

View file

@ -501,28 +501,49 @@
<property>/flight-management/control/ver-ctrl</property> <property>/flight-management/control/ver-ctrl</property>
<value>fmgc</value> <value>fmgc</value>
</equals> </equals>
<!--property>/instrumentation/pfd-old/enabled</property-->
</condition> </condition>
</animation> </animation>
<!--animation> <animation>
<type>select</type> <type>select</type>
<object-name>vs.ind</object-name> <object-name>vs.ind</object-name>
<object-name>hdg.ind</object-name> <condition>
<condition> <equals>
<property>/it-autoflight/output/vert</property>
</condition> <value>1</value>
</animation--> </equals>
</condition>
</animation>
<animation> <animation>
<type>select</type> <type>select</type>
<object-name>fpa.ind</object-name> <object-name>fpa.ind</object-name>
<object-name>trk.ind</object-name>
<object-name>trk.ind2</object-name>
<condition> <condition>
<equals> <equals>
<property>/it-autoflight/unused</property> <property>/it-autoflight/output/vert</property>
<value>999</value> <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> </equals>
</condition> </condition>
</animation> </animation>
@ -810,15 +831,49 @@
<button>0</button> <button>0</button>
<repeatable>false</repeatable> <repeatable>false</repeatable>
<binding> <binding>
<condition>
<equals>
<property>/it-autoflight/custom/trk-fpa</property>
<value>0</value>
</equals>
</condition>
<command>property-assign</command> <command>property-assign</command>
<property>/it-autoflight/input/vert</property> <property>/it-autoflight/input/vert</property>
<value>1</value> <value>1</value>
</binding> </binding>
<binding> <binding>
<condition>
<equals>
<property>/it-autoflight/custom/trk-fpa</property>
<value>0</value>
</equals>
</condition>
<command>property-assign</command> <command>property-assign</command>
<property>/it-autoflight/input/vs</property> <property>/it-autoflight/input/vs</property>
<value>0</value> <value>0</value>
</binding> </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> <binding>
<command>nasal</command> <command>nasal</command>
<script>setprop("/sim/sounde/btn1", 1);</script> <script>setprop("/sim/sounde/btn1", 1);</script>
@ -830,9 +885,9 @@
<binding> <binding>
<command>nasal</command> <command>nasal</command>
<script> <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); 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); setprop("/it-autoflight/input/vert", 5);
} }
</script> </script>
@ -848,19 +903,37 @@
<binding> <binding>
<command>nasal</command> <command>nasal</command>
<script> <script>
if (getprop("/it-autoflight/output/vert") == 1) { if (getprop("/it-autoflight/output/vert") != 1 and getprop("/it-autoflight/custom/trk-fpa") == 0) {
# Do nothing because we are already in VS mode
} else {
setprop("/it-autoflight/input/vert", 1); 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> </script>
</binding> </binding>
<binding> <binding>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>1</value>
</equals>
</condition>
<command>property-adjust</command> <command>property-adjust</command>
<property>/it-autoflight/input/vs</property> <property>/it-autoflight/input/vs</property>
<step>100</step> <step>100</step>
<max>8000</max> <max>8000</max>
</binding> </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>
<action> <action>
<button>4</button> <button>4</button>
@ -868,19 +941,37 @@
<binding> <binding>
<command>nasal</command> <command>nasal</command>
<script> <script>
if (getprop("/it-autoflight/output/vert") == 1) { if (getprop("/it-autoflight/output/vert") != 1 and getprop("/it-autoflight/custom/trk-fpa") == 0) {
# Do nothing because we are already in VS mode
} else {
setprop("/it-autoflight/input/vert", 1); 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> </script>
</binding> </binding>
<binding> <binding>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>1</value>
</equals>
</condition>
<command>property-adjust</command> <command>property-adjust</command>
<property>/it-autoflight/input/vs</property> <property>/it-autoflight/input/vs</property>
<step>-100</step> <step>-100</step>
<min>-6000</min> <min>-6000</min>
</binding> </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> </action>
</animation> </animation>
@ -961,17 +1052,10 @@
<action> <action>
<button>0</button> <button>0</button>
<repeatable>false</repeatable> <repeatable>false</repeatable>
<binding>
<command>property-assign</command>
<property>/it-autoflight/settings/use-true-hdg-error</property>
<value>1</value>
</binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
<script> <script>
if (getprop("/it-autoflight/output/vert") == 5) { fmgc.toggle_trkfpa();
setprop("/it-autoflight/input/vert", 1);
}
</script> </script>
</binding> </binding>
<binding> <binding>
@ -981,54 +1065,6 @@
</action> </action>
</animation> </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> <animation>
<type>pick</type> <type>pick</type>
<object-name>alt-sel-mode</object-name> <object-name>alt-sel-mode</object-name>
@ -1142,8 +1178,6 @@
<object-name>spd-text</object-name> <object-name>spd-text</object-name>
<object-name>mach-text</object-name> <object-name>mach-text</object-name>
<object-name>hdg-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>alt-text</object-name>
<object-name>vs-text</object-name> <object-name>vs-text</object-name>
<object-name>fpa-text</object-name> <object-name>fpa-text</object-name>
@ -1210,6 +1244,40 @@
<animation> <animation>
<type>select</type> <type>select</type>
<object-name>hdg.ind</object-name> <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> <condition>
<equals> <equals>
<property>/it-autoflight/output/lat</property> <property>/it-autoflight/output/lat</property>
@ -1218,29 +1286,12 @@
</condition> </condition>
</animation> </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> <animation>
<type>select</type> <type>select</type>
<object-name>hdg2.ind</object-name> <object-name>hdg2.ind</object-name>
<condition> <condition>
<equals> <equals>
<property>/it-autoflight/settings/use-true-hdg-error</property> <property>/it-autoflight/custom/trk-fpa</property>
<value>0</value> <value>0</value>
</equals> </equals>
</condition> </condition>
@ -1251,7 +1302,7 @@
<object-name>trk2.ind</object-name> <object-name>trk2.ind</object-name>
<condition> <condition>
<equals> <equals>
<property>/it-autoflight/settings/use-true-hdg-error</property> <property>/it-autoflight/custom/trk-fpa</property>
<value>1</value> <value>1</value>
</equals> </equals>
</condition> </condition>
@ -1261,10 +1312,16 @@
<type>select</type> <type>select</type>
<object-name>vs.dash</object-name> <object-name>vs.dash</object-name>
<condition> <condition>
<not-equals> <and>
<property>/it-autoflight/output/vert</property> <not-equals>
<value>1</value> <property>/it-autoflight/output/vert</property>
</not-equals> <value>1</value>
</not-equals>
<not-equals>
<property>/it-autoflight/output/vert</property>
<value>5</value>
</not-equals>
</and>
</condition> </condition>
</animation> </animation>
@ -1284,8 +1341,8 @@
<object-name>fpa-text</object-name> <object-name>fpa-text</object-name>
<condition> <condition>
<equals> <equals>
<property>/it-autoflight/unused</property> <property>/it-autoflight/output/vert</property>
<value>999</value> <value>5</value>
</equals> </equals>
</condition> </condition>
</animation> </animation>
@ -1382,8 +1439,6 @@
<object-name>qnh-hpa</object-name> <object-name>qnh-hpa</object-name>
<object-name>qnh-std</object-name> <object-name>qnh-std</object-name>
<object-name>rudder-trim</object-name> <object-name>rudder-trim</object-name>
<object-name>trk.ind</object-name>
<object-name>trk.ind2</object-name>
<diffuse> <diffuse>
<red>0.89</red> <red>0.89</red>
<green>0.37</green> <green>0.37</green>
@ -1577,8 +1632,8 @@
<alignment>center-center</alignment> <alignment>center-center</alignment>
<axis-alignment>xy-plane</axis-alignment> <axis-alignment>xy-plane</axis-alignment>
<type type="string">number-value</type> <type type="string">number-value</type>
<format type="string">%2.0f</format> <format type="string">%2.1f</format>
<property>/it-autoflight/settings/target-fpa</property> <property>/it-autoflight/input/fpa</property>
<truncate type="bool">false</truncate> <truncate type="bool">false</truncate>
<font type="string">led.txf</font> <font type="string">led.txf</font>
<draw-text type="bool">true</draw-text> <draw-text type="bool">true</draw-text>
@ -1591,56 +1646,6 @@
</font-resolution> </font-resolution>
</text> </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 --> <!-- Knobs Rotate -->
<animation> <animation>

File diff suppressed because it is too large Load diff

View file

@ -9,7 +9,7 @@
<animation> <animation>
<type>translate</type> <type>translate</type>
<object-name>sidestick-pos</object-name> <object-name>sidestick-pos</object-name>
<property>controls/flight/elevator</property> <property>controls/flight/elevator-input-fast</property>
<factor>0.0198</factor> <factor>0.0198</factor>
<axis> <axis>
<x>0</x> <x>0</x>
@ -21,7 +21,7 @@
<animation> <animation>
<type>translate</type> <type>translate</type>
<object-name>sidestick-pos</object-name> <object-name>sidestick-pos</object-name>
<property>controls/flight/aileron</property> <property>controls/flight/aileron-input-fast</property>
<factor>0.0220</factor> <factor>0.0220</factor>
<axis> <axis>
<x>0</x> <x>0</x>

View file

@ -9,7 +9,7 @@
<animation> <animation>
<type>translate</type> <type>translate</type>
<object-name>sidestick-pos</object-name> <object-name>sidestick-pos</object-name>
<property>controls/flight/elevator</property> <property>controls/flight/elevator-input-fast</property>
<factor>0.0198</factor> <factor>0.0198</factor>
<axis> <axis>
<x>0</x> <x>0</x>
@ -21,7 +21,7 @@
<animation> <animation>
<type>translate</type> <type>translate</type>
<object-name>sidestick-pos</object-name> <object-name>sidestick-pos</object-name>
<property>controls/flight/aileron</property> <property>controls/flight/aileron-input-fast</property>
<factor>0.0220</factor> <factor>0.0220</factor>
<axis> <axis>
<x>0</x> <x>0</x>

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB

View 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 KiB

View 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>

View file

@ -353,6 +353,7 @@ var ManagedSPD = maketimer(0.25, func {
################################# #################################
var APinit = func { var APinit = func {
setprop("/it-autoflight/custom/trk-fpa", 0);
setprop("/it-autoflight/input/kts-mach", 0); setprop("/it-autoflight/input/kts-mach", 0);
setprop("/it-autoflight/input/ap1", 0); setprop("/it-autoflight/input/ap1", 0);
setprop("/it-autoflight/input/ap2", 0); setprop("/it-autoflight/input/ap2", 0);
@ -482,11 +483,13 @@ var fmabox = func {
var fd1 = getprop("/it-autoflight/output/fd1"); var fd1 = getprop("/it-autoflight/output/fd1");
var fd2 = getprop("/it-autoflight/output/fd2"); var fd2 = getprop("/it-autoflight/output/fd2");
if (!ap1 and !ap2 and !fd1 and !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/lat", 3);
setprop("/it-autoflight/input/vert", 1); setprop("/it-autoflight/input/vert", 1);
setprop("/it-autoflight/input/vs", 0); setprop("/it-autoflight/input/vs", 0);
setprop("/it-autoflight/output/fma-pwr", 0); setprop("/it-autoflight/output/fma-pwr", 0);
} else { } else {
setprop("/it-autoflight/input/trk", 0);
setprop("/it-autoflight/input/vs", 0); setprop("/it-autoflight/input/vs", 0);
setprop("/it-autoflight/output/fma-pwr", 1); setprop("/it-autoflight/output/fma-pwr", 1);
} }
@ -540,8 +543,8 @@ var lateral = func {
lnavwptt.stop(); lnavwptt.stop();
setprop("/it-autoflight/output/loc-armed", 0); setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/appr-armed", 0); setprop("/it-autoflight/output/appr-armed", 0);
var hdgnow = int(getprop("/orientation/heading-magnetic-deg")+0.5); var hdg5sec = int(getprop("/it-autoflight/internal/heading-5-sec-ahead")+0.5);
setprop("/it-autoflight/input/hdg", hdgnow); setprop("/it-autoflight/input/hdg", hdg5sec);
setprop("/it-autoflight/output/lat", 0); setprop("/it-autoflight/output/lat", 0);
setprop("/it-autoflight/mode/lat", "HDG"); setprop("/it-autoflight/mode/lat", "HDG");
setprop("/it-autoflight/mode/arm", " "); setprop("/it-autoflight/mode/arm", " ");
@ -668,6 +671,7 @@ var vertical = func {
setprop("/it-autoflight/mode/arm", " "); setprop("/it-autoflight/mode/arm", " ");
} }
} else if (vertset == 5) { } else if (vertset == 5) {
fpa_calc();
alandt.stop(); alandt.stop();
alandt1.stop(); alandt1.stop();
fpa_calct.start(); fpa_calct.start();
@ -675,6 +679,7 @@ var vertical = func {
var altinput = getprop("/it-autoflight/input/alt"); var altinput = getprop("/it-autoflight/input/alt");
setprop("/it-autoflight/internal/alt", altinput); setprop("/it-autoflight/internal/alt", altinput);
var fpanow = (int(10*getprop("/it-autoflight/internal/fpa")))*0.1; var fpanow = (int(10*getprop("/it-autoflight/internal/fpa")))*0.1;
print(fpanow);
setprop("/it-autoflight/input/fpa", fpanow); setprop("/it-autoflight/input/fpa", fpanow);
setprop("/it-autoflight/output/vert", 5); setprop("/it-autoflight/output/vert", 5);
setprop("/it-autoflight/mode/vert", "FPA"); setprop("/it-autoflight/mode/vert", "FPA");
@ -712,6 +717,31 @@ var vert_arm = func {
} }
# Helpers # 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 { var lnavwpt = func {
if (getprop("/autopilot/route-manager/route/num") > 0) { if (getprop("/autopilot/route-manager/route/num") > 0) {
if (getprop("/autopilot/route-manager/wp/dist") <= 1.0) { if (getprop("/autopilot/route-manager/wp/dist") <= 1.0) {
@ -740,8 +770,8 @@ var alt_on = func {
var fpa_calc = func { var fpa_calc = func {
var VS = getprop("/velocities/vertical-speed-fps"); var VS = getprop("/velocities/vertical-speed-fps");
var TAS = getprop("/velocities/uBody-fps"); var TAS = getprop("/velocities/uBody-fps");
if(TAS < 10) TAS = 10; if (TAS < 10) TAS = 10;
if(VS < -200) VS =-200; if (VS < -200) VS =-200;
if (abs(VS/TAS) <= 1) { if (abs(VS/TAS) <= 1) {
var FPangle = math.asin(VS/TAS); var FPangle = math.asin(VS/TAS);
FPangle *=90; FPangle *=90;

View file

@ -254,15 +254,19 @@ var boxchk = func {
var fd2 = getprop("/it-autoflight/output/fd2"); var fd2 = getprop("/it-autoflight/output/fd2");
var fma_pwr = getprop("/it-autoflight/output/fma-pwr"); var fma_pwr = getprop("/it-autoflight/output/fma-pwr");
if (ap1 and !ap2 and !fd1 and !fd2 and !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); setprop("/it-autoflight/input/lat", 3);
boxchk_b(); boxchk_b();
} else if (!ap1 and ap2 and !fd1 and !fd2 and !fma_pwr) { } 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); setprop("/it-autoflight/input/lat", 3);
boxchk_b(); boxchk_b();
} else if (!ap1 and !ap2 and fd1 and !fd2 and !fma_pwr) { } 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); setprop("/it-autoflight/input/lat", 3);
boxchk_b(); boxchk_b();
} else if (!ap1 and !ap2 and !fd1 and fd2 and !fma_pwr) { } 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); setprop("/it-autoflight/input/lat", 3);
boxchk_b(); boxchk_b();
} }

View file

@ -689,24 +689,63 @@
<legend>V/S Push</legend> <legend>V/S Push</legend>
<pref-width>75</pref-width> <pref-width>75</pref-width>
<binding> <binding>
<condition>
<equals>
<property>/it-autoflight/custom/trk-fpa</property>
<value>0</value>
</equals>
</condition>
<command>property-assign</command> <command>property-assign</command>
<property>/it-autoflight/input/vert</property> <property>/it-autoflight/input/vert</property>
<value>1</value> <value>1</value>
</binding> </binding>
<binding> <binding>
<condition>
<equals>
<property>/it-autoflight/custom/trk-fpa</property>
<value>0</value>
</equals>
</condition>
<command>property-assign</command> <command>property-assign</command>
<property>/it-autoflight/input/vs</property> <property>/it-autoflight/input/vs</property>
<value>0</value> <value>0</value>
</binding> </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>
<button> <button>
<legend>V/S Pull</legend> <legend>V/S Pull</legend>
<pref-width>75</pref-width> <pref-width>75</pref-width>
<binding> <binding>
<command>property-assign</command> <command>nasal</command>
<property>/it-autoflight/input/vert</property> <script>
<value>1</value> 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> </binding>
</button> </button>
@ -1033,6 +1072,55 @@
</button> </button>
</group> </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> </group>
</PropertyList> </PropertyList>

View file

@ -283,7 +283,7 @@
<gamma>0.0</gamma> <gamma>0.0</gamma>
<Ti>10.0</Ti> <Ti>10.0</Ti>
<Td>0.00001</Td> <Td>0.00001</Td>
<u_min>0.01</u_min> <u_min>0.005</u_min>
<u_max> <u_max>
<property>/controls/engines/engine[0]/throttle-man</property> <property>/controls/engines/engine[0]/throttle-man</property>
</u_max> </u_max>
@ -540,7 +540,7 @@
<gamma>0.0</gamma> <gamma>0.0</gamma>
<Ti>10.0</Ti> <Ti>10.0</Ti>
<Td>0.00001</Td> <Td>0.00001</Td>
<u_min>0.01</u_min> <u_min>0.005</u_min>
<u_max> <u_max>
<property>/controls/engines/engine[1]/throttle-man</property> <property>/controls/engines/engine[1]/throttle-man</property>
</u_max> </u_max>

View file

@ -8,6 +8,32 @@
<!-- Predictors --> <!-- 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> <predict-simple>
<name>ALTITUDE 5 SECONDS AHEAD</name> <name>ALTITUDE 5 SECONDS AHEAD</name>
<debug>false</debug> <debug>false</debug>

View file

@ -538,7 +538,22 @@
<debug>false</debug> <debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled> <feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to> <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> <condition>
<or> <or>
<equals> <equals>
@ -551,13 +566,40 @@
</equals> </equals>
</or> </or>
</condition> </condition>
</enable>
<input>
<property>/it-autoflight/internal/elevator-cmd</property> <property>/it-autoflight/internal/elevator-cmd</property>
</input> </input>
<output>/controls/flight/elevator</output> <output>/controls/flight/elevator-fmgc</output>
<type>noise-spike</type> <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> </filter>
<!-- =============================================================== --> <!-- =============================================================== -->

View file

@ -312,7 +312,22 @@
<debug>false</debug> <debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled> <feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to> <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> <condition>
<or> <or>
<equals> <equals>
@ -325,13 +340,40 @@
</equals> </equals>
</or> </or>
</condition> </condition>
</enable>
<input>
<property>/it-autoflight/internal/aileron-cmd</property> <property>/it-autoflight/internal/aileron-cmd</property>
</input> </input>
<output>/controls/flight/aileron</output> <output>/controls/flight/aileron-fmgc</output>
<type>noise-spike</type> <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> </filter>
<!-- =============================================================== --> <!-- =============================================================== -->

View file

@ -10,6 +10,23 @@
<!-- Surface Position Feeding --> <!-- 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> <filter>
<debug>false</debug> <debug>false</debug>
<type>noise-spike</type> <type>noise-spike</type>
@ -160,6 +177,39 @@
</condition> </condition>
<property>/controls/flight/aileron-fbw-cmd</property> <property>/controls/flight/aileron-fbw-cmd</property>
</input> </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> <input>
<condition> <condition>
<or> <or>
@ -171,25 +221,9 @@
<property>/it-autoflight/output/ap2</property> <property>/it-autoflight/output/ap2</property>
<value>1</value> <value>1</value>
</equals> </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> </or>
</condition> </condition>
<property>/controls/flight/aileron-input</property> <property>/controls/flight/aileron-fmgc</property>
</input> </input>
<input> <input>
<condition> <condition>
@ -573,6 +607,35 @@
</condition> </condition>
<property>/controls/flight/elevator-fbw-cmd</property> <property>/controls/flight/elevator-fbw-cmd</property>
</input> </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> <input>
<condition> <condition>
<or> <or>
@ -584,21 +647,9 @@
<property>/it-autoflight/output/ap2</property> <property>/it-autoflight/output/ap2</property>
<value>1</value> <value>1</value>
</equals> </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> </or>
</condition> </condition>
<property>/controls/flight/elevator-input</property> <property>/controls/flight/elevator-fmgc</property>
</input> </input>
<input> <input>
<condition> <condition>
@ -803,6 +854,10 @@
<property>/position/gear-agl-ft</property> <property>/position/gear-agl-ft</property>
<value>50</value> <value>50</value>
</greater-than-equals> </greater-than-equals>
<not-equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</not-equals>
</and> </and>
</condition> </condition>
</enable> </enable>
@ -859,6 +914,10 @@
<property>/position/gear-agl-ft</property> <property>/position/gear-agl-ft</property>
<value>50</value> <value>50</value>
</greater-than-equals> </greater-than-equals>
<not-equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</not-equals>
</and> </and>
</condition> </condition>
<property>/controls/flight/rudder-fbw-cmd</property> <property>/controls/flight/rudder-fbw-cmd</property>
@ -890,6 +949,10 @@
<property>/position/gear-agl-ft</property> <property>/position/gear-agl-ft</property>
<value>50</value> <value>50</value>
</less-than> </less-than>
<equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</equals>
</or> </or>
</condition> </condition>
<property>/controls/flight/rudder</property> <property>/controls/flight/rudder</property>