A3XX: Major Update: Update AP, FBW, Autotrim, FCU, add Preselect
This commit is contained in:
parent
13a475e4a2
commit
2f74c03317
8 changed files with 255 additions and 602 deletions
|
@ -333,19 +333,19 @@
|
|||
<config>
|
||||
<altitude-dial-mode>0</altitude-dial-mode>
|
||||
<roll>
|
||||
<umin>-0.45</umin>
|
||||
<umax>0.45</umax>
|
||||
<kp>0.045</kp>
|
||||
<kp-vloc>0.07</kp-vloc>
|
||||
<ti>10.0</ti>
|
||||
<td>0.00001</td>
|
||||
<umin>-0.4</umin>
|
||||
<umax>0.4</umax>
|
||||
<kp>0.08</kp>
|
||||
<kp-vloc>0.09</kp-vloc>
|
||||
<ti>5.0</ti>
|
||||
<td>0.001</td>
|
||||
</roll>
|
||||
<pitch>
|
||||
<umin>-0.20</umin>
|
||||
<umax>0.20</umax>
|
||||
<kp>-0.06</kp>
|
||||
<ti>10.0</ti>
|
||||
<td>0.00001</td>
|
||||
<umin>-0.3</umin>
|
||||
<umax>0.3</umax>
|
||||
<kp>-0.1</kp>
|
||||
<ti>5.0</ti>
|
||||
<td>0.001</td>
|
||||
</pitch>
|
||||
<cmd>
|
||||
<roll-kp>-0.9</roll-kp>
|
||||
|
@ -363,8 +363,12 @@
|
|||
<ap2>0</ap2>
|
||||
</output>
|
||||
<custom>
|
||||
<hdg-input>0</hdg-input>
|
||||
<show-hdg>0</show-hdg>
|
||||
<trk-fpa>0</trk-fpa>
|
||||
<hdg-knb>0</hdg-knb>
|
||||
<spd-knb>0</spd-knb>
|
||||
<alt-knb>0</alt-knb>
|
||||
<vs-knb>0</vs-knb>
|
||||
</custom>
|
||||
</it-autoflight>
|
||||
|
||||
|
|
|
@ -512,10 +512,16 @@
|
|||
<type>select</type>
|
||||
<object-name>lat.dash</object-name>
|
||||
<condition>
|
||||
<and>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>0</value>
|
||||
</not-equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/show-hdg</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
|
@ -533,27 +539,6 @@
|
|||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>vs.ind</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>fpa.ind</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<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>
|
||||
|
@ -565,6 +550,7 @@
|
|||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>fpa.ind</object-name>
|
||||
<object-name>fpa.ind.001</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
|
@ -659,6 +645,14 @@
|
|||
<min>0.50</min>
|
||||
<max>0.95</max>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/custom/spd-knb</property>
|
||||
<step>1</step>
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
<action>
|
||||
<button>4</button>
|
||||
|
@ -701,6 +695,14 @@
|
|||
<min>0.50</min>
|
||||
<max>0.95</max>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/custom/spd-knb</property>
|
||||
<step>-1</step>
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
|
@ -711,9 +713,8 @@
|
|||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>1</value>
|
||||
<command>nasal</command>
|
||||
<script>libraries.mcpHDGKnbPush();</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -724,9 +725,8 @@
|
|||
<button>1</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>3</value>
|
||||
<command>nasal</command>
|
||||
<script>libraries.mcpHDGKnbPull();</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -738,9 +738,19 @@
|
|||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>0</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.hdgInput();</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/show-hdg</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-adjust</command>
|
||||
|
@ -750,15 +760,33 @@
|
|||
<max>361</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/custom/hdg-knb</property>
|
||||
<step>1</step>
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
<action>
|
||||
<button>4</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/lat</property>
|
||||
<value>0</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.hdgInput();</script>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/show-hdg</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command>property-adjust</command>
|
||||
|
@ -768,6 +796,14 @@
|
|||
<max>361</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/custom/hdg-knb</property>
|
||||
<step>-1</step>
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
|
@ -829,6 +865,14 @@
|
|||
<min>0</min>
|
||||
<max>50000</max>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/custom/alt-knb</property>
|
||||
<step>1</step>
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
<action>
|
||||
<button>4</button>
|
||||
|
@ -859,6 +903,14 @@
|
|||
<min>0</min>
|
||||
<max>50000</max>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/custom/alt-knb</property>
|
||||
<step>-1</step>
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
|
@ -972,6 +1024,14 @@
|
|||
<step>0.1</step>
|
||||
<max>20.9</max>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/custom/vs-knb</property>
|
||||
<step>1</step>
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
<action>
|
||||
<button>4</button>
|
||||
|
@ -1010,10 +1070,17 @@
|
|||
<step>-0.1</step>
|
||||
<min>-20.9</min>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/custom/vs-knb</property>
|
||||
<step>-1</step>
|
||||
<min>0</min>
|
||||
<max>10000</max>
|
||||
<wrap>true</wrap>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
|
||||
<!-- Button Pick Animations -->
|
||||
|
||||
<animation>
|
||||
|
@ -1282,50 +1349,6 @@
|
|||
<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>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hdg2.ind</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
|
@ -1337,6 +1360,7 @@
|
|||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>trk.ind</object-name>
|
||||
<object-name>trk2.ind</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
|
@ -1346,6 +1370,17 @@
|
|||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>hdg-text</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/custom/show-hdg</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>vs.dash</object-name>
|
||||
|
@ -1701,7 +1736,7 @@
|
|||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>hdg-sel</object-name>
|
||||
<property>/it-autoflight/input/hdg-sel</property>
|
||||
<property>/it-autoflight/custom/hdg-knb</property>
|
||||
<factor>11.25</factor>
|
||||
<axis>
|
||||
<x1-m>-0.4608</x1-m>
|
||||
|
@ -1716,7 +1751,7 @@
|
|||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>spd-sel</object-name>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<property>/it-autoflight/custom/spd-knb</property>
|
||||
<factor>11.25</factor>
|
||||
<axis>
|
||||
<x1-m>-0.4608</x1-m>
|
||||
|
@ -1728,25 +1763,10 @@
|
|||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>spd-sel</object-name>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<factor>0.01</factor>
|
||||
<axis>
|
||||
<x1-m>-0.4608</x1-m>
|
||||
<y1-m>-0.0874</y1-m>
|
||||
<z1-m>0.1526</z1-m>
|
||||
<x2-m>-0.4807</x2-m>
|
||||
<y2-m>-0.0874</y2-m>
|
||||
<z2-m>0.1478</z2-m>
|
||||
</axis>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>alt-sel</object-name>
|
||||
<property>/it-autoflight/input/alt</property>
|
||||
<property>/it-autoflight/custom/alt-knb</property>
|
||||
<factor>11.25</factor>
|
||||
<axis>
|
||||
<x1-m>-0.4738</x1-m>
|
||||
|
@ -1761,14 +1781,8 @@
|
|||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>vs-sel</object-name>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
<property>/it-autoflight/custom/vs-knb</property>
|
||||
<factor>11.25</factor>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<axis>
|
||||
<x1-m>-0.4608</x1-m>
|
||||
<y1-m>0.0924</y1-m>
|
||||
|
|
|
@ -55,6 +55,7 @@ var APinit = func {
|
|||
setprop("/it-autoflight/mode/vert", "T/O CLB");
|
||||
setprop("/it-autoflight/input/spd-kts", 100);
|
||||
setprop("/it-autoflight/input/spd-mach", 0.50);
|
||||
setprop("/it-autoflight/custom/show-hdg", 0);
|
||||
update_armst.start();
|
||||
thrustmode();
|
||||
}
|
||||
|
@ -185,6 +186,7 @@ var lateral = func {
|
|||
setprop("/it-autoflight/output/lat", 1);
|
||||
setprop("/it-autoflight/mode/lat", "LNAV");
|
||||
setprop("/it-autoflight/mode/arm", " ");
|
||||
setprop("/it-autoflight/custom/show-hdg", 0);
|
||||
} else {
|
||||
gui.popupTip("Please make sure you have a route set, and that it is Activated!");
|
||||
}
|
||||
|
@ -212,9 +214,11 @@ var lateral = func {
|
|||
lnavwptt.stop();
|
||||
setprop("/it-autoflight/output/lat", 4);
|
||||
setprop("/it-autoflight/mode/lat", "ALGN");
|
||||
setprop("/it-autoflight/custom/show-hdg", 0);
|
||||
} else if (latset == 5) {
|
||||
lnavwptt.stop();
|
||||
setprop("/it-autoflight/output/lat", 5);
|
||||
setprop("/it-autoflight/custom/show-hdg", 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -222,11 +226,12 @@ var lat_arm = func {
|
|||
var latset = getprop("/it-autoflight/input/lat");
|
||||
if (latset == 0) {
|
||||
setprop("/it-autoflight/input/lat-arm", 0);
|
||||
setprop("/it-autoflight/mode/arm", "HDG");
|
||||
setprop("/it-autoflight/custom/show-hdg", 1);
|
||||
} else if (latset == 1) {
|
||||
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1) {
|
||||
setprop("/it-autoflight/input/lat-arm", 1);
|
||||
setprop("/it-autoflight/mode/arm", "LNV");
|
||||
setprop("/it-autoflight/custom/show-hdg", 0);
|
||||
} else {
|
||||
gui.popupTip("Please make sure you have a route set, and that it is Activated!");
|
||||
}
|
||||
|
@ -234,7 +239,7 @@ var lat_arm = func {
|
|||
var hdgnow = int(getprop("/orientation/heading-magnetic-deg")+0.5);
|
||||
setprop("/it-autoflight/input/hdg", hdgnow);
|
||||
setprop("/it-autoflight/input/lat-arm", 0);
|
||||
setprop("/it-autoflight/mode/arm", "HDG");
|
||||
setprop("/it-autoflight/custom/show-hdg", 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -700,6 +705,7 @@ var make_loc_active = func {
|
|||
setprop("/it-autoflight/output/loc-armed", 0);
|
||||
setprop("/it-autoflight/output/lat", 2);
|
||||
setprop("/it-autoflight/mode/lat", "LOC");
|
||||
setprop("/it-autoflight/custom/show-hdg", 0);
|
||||
if (getprop("/it-autoflight/output/appr-armed") == 1) {
|
||||
# Do nothing because G/S is armed
|
||||
} else {
|
||||
|
|
|
@ -35,6 +35,7 @@ var FMGCinit = func {
|
|||
setprop("/FMGC/internal/loc-source", "NAV0");
|
||||
phasecheck.start();
|
||||
various.start();
|
||||
various2.start();
|
||||
}
|
||||
|
||||
#############
|
||||
|
@ -84,9 +85,9 @@ setlistener("/FMGC/internal/cruise-ft", func {
|
|||
setprop("/autopilot/route-manager/cruise/altitude-ft", getprop("/FMGC/internal/cruise-ft"));
|
||||
});
|
||||
|
||||
################
|
||||
# Flight Phase #
|
||||
################
|
||||
############################
|
||||
# Flight Phase and Various #
|
||||
############################
|
||||
|
||||
var phasecheck = maketimer(0.2, func {
|
||||
var n1_left = getprop("/engines/engine[0]/n1");
|
||||
|
@ -204,7 +205,7 @@ var phasecheck = maketimer(0.2, func {
|
|||
setprop("/FMGC/internal/minspeed", 147);
|
||||
} else if (flap == 5) {
|
||||
setprop("/FMGC/internal/overspeed", 163);
|
||||
setprop("/FMGC/internal/minspeed", 135);
|
||||
setprop("/FMGC/internal/minspeed", 134);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -216,8 +217,15 @@ var various = maketimer(1, func {
|
|||
} else {
|
||||
setprop("/it-autoflight/settings/reduc-agl-ft", getprop("/FMGC/internal/reduc-agl-ft"));
|
||||
}
|
||||
});
|
||||
|
||||
var various2 = maketimer(0.5, func {
|
||||
nav0();
|
||||
nav1();
|
||||
var latmode = getprop("/it-autoflight/output/lat");
|
||||
if (latmode == 0) {
|
||||
setprop("/it-autoflight/custom/show-hdg", 1);
|
||||
}
|
||||
});
|
||||
|
||||
var nav0 = func {
|
||||
|
|
|
@ -222,6 +222,10 @@ var librariesLoop = maketimer(0.1, func {
|
|||
} else {
|
||||
setprop("/it-autoflight/internal/bank-limit", 25);
|
||||
}
|
||||
|
||||
if (getprop("/it-autoflight/custom/show-hdg") == 0) {
|
||||
setprop("/it-autoflight/input/hdg", getprop("/orientation/heading-magentic-deg"));
|
||||
}
|
||||
});
|
||||
|
||||
var variousReset = func {
|
||||
|
@ -276,6 +280,39 @@ var mcpSPDKnbPush = func {
|
|||
}
|
||||
}
|
||||
|
||||
var mcpHDGKnbPull = func {
|
||||
var latmode = getprop("/it-autoflight/output/lat");
|
||||
var showhdg = getprop("/it-autoflight/custom/show-hdg");
|
||||
if (latmode == 0 or showhdg == 0) {
|
||||
setprop("/it-autoflight/input/lat", 3);
|
||||
setprop("/it-autoflight/custom/show-hdg", 1);
|
||||
} else {
|
||||
setprop("/it-autoflight/input/lat", 0);
|
||||
setprop("/it-autoflight/custom/show-hdg", 1);
|
||||
}
|
||||
}
|
||||
|
||||
var mcpHDGKnbPush = func {
|
||||
setprop("/it-autoflight/input/lat", 1);
|
||||
}
|
||||
|
||||
var hdgInput = func {
|
||||
var latmode = getprop("/it-autoflight/output/lat");
|
||||
if (latmode != 0) {
|
||||
setprop("/it-autoflight/custom/show-hdg", 1);
|
||||
var hdgnow = getprop("/it-autoflight/input/hdg");
|
||||
settimer(func {
|
||||
var hdgnew = getprop("/it-autoflight/input/hdg");
|
||||
var showhdg = getprop("/it-autoflight/custom/show-hdg");
|
||||
if (hdgnow == hdgnew and latmode != 5 and showhdg == 1) {
|
||||
settimer(func {
|
||||
setprop("/it-autoflight/custom/show-hdg", 0);
|
||||
}, 10);
|
||||
}
|
||||
}, 2);
|
||||
}
|
||||
}
|
||||
|
||||
# In air, flaps 1 is slats only. On ground, it is slats and flaps.
|
||||
|
||||
setprop("/controls/flight/flap-lever", 0);
|
||||
|
|
|
@ -643,7 +643,7 @@
|
|||
<property>/it-autoflight/internal/target-pitch-deg</property>
|
||||
</reference>
|
||||
<output>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property> <!-- Inputs to the FBW -->
|
||||
</output>
|
||||
<config>
|
||||
<Kp>
|
||||
|
@ -667,204 +667,4 @@
|
|||
</config>
|
||||
</pid-controller>
|
||||
|
||||
<filter>
|
||||
<name>IT-CONTROLLER: PITCH CMD</name>
|
||||
<debug>false</debug>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<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>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property>
|
||||
</input>
|
||||
<output>/controls/flight/elevator-fmgc</output>
|
||||
<type>noise-spike</type>
|
||||
<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>
|
||||
|
||||
<!-- =============================================================== -->
|
||||
<!-- Autotrim -->
|
||||
<!-- =============================================================== -->
|
||||
|
||||
<pid-controller>
|
||||
<name>AP PITCH HELPER PLUS</name>
|
||||
<debug>false</debug>
|
||||
<enable>
|
||||
<condition>
|
||||
<and>
|
||||
<greater-than>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property>
|
||||
<value>0.01</value>
|
||||
</greater-than>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<value>0</value>
|
||||
</input>
|
||||
<reference>
|
||||
<value>1</value>
|
||||
</reference>
|
||||
<output>
|
||||
<property>/it-autoflight/internal/elevator-trim-cmd</property>
|
||||
</output>
|
||||
<config>
|
||||
<Kp>0.08</Kp>
|
||||
<beta>1.0</beta>
|
||||
<alpha>0.1</alpha>
|
||||
<gamma>0.0</gamma>
|
||||
<Ti>10</Ti>
|
||||
<Td>0.00001</Td>
|
||||
<u_min>-1.00</u_min>
|
||||
<u_max>1.00</u_max>
|
||||
</config>
|
||||
</pid-controller>
|
||||
|
||||
<pid-controller>
|
||||
<name>AP PITCH HELPER MINUS</name>
|
||||
<debug>false</debug>
|
||||
<enable>
|
||||
<condition>
|
||||
<and>
|
||||
<less-than>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property>
|
||||
<value>-0.01</value>
|
||||
</less-than>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<value>0</value>
|
||||
</input>
|
||||
<reference>
|
||||
<value>1</value>
|
||||
</reference>
|
||||
<output>
|
||||
<property>/it-autoflight/internal/elevator-trim-cmd</property>
|
||||
</output>
|
||||
<config>
|
||||
<Kp>-0.08</Kp>
|
||||
<beta>1.0</beta>
|
||||
<alpha>0.1</alpha>
|
||||
<gamma>0.0</gamma>
|
||||
<Ti>10</Ti>
|
||||
<Td>0.00001</Td>
|
||||
<u_min>-1.00</u_min>
|
||||
<u_max>1.00</u_max>
|
||||
</config>
|
||||
</pid-controller>
|
||||
|
||||
<filter>
|
||||
<name>IT-CONTROLLER: PITCH TRIM CMD</name>
|
||||
<debug>false</debug>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<enable>
|
||||
<condition>
|
||||
<and>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
<or>
|
||||
<greater-than>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property>
|
||||
<value>0.01</value>
|
||||
</greater-than>
|
||||
<less-than>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property>
|
||||
<value>-0.01</value>
|
||||
</less-than>
|
||||
</or>
|
||||
</and>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<property>/it-autoflight/internal/elevator-trim-cmd</property>
|
||||
</input>
|
||||
<output>/controls/flight/elevator-trim</output>
|
||||
<type>noise-spike</type>
|
||||
<max-rate-of-change>0.01</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
</PropertyList>
|
||||
|
|
|
@ -244,7 +244,7 @@
|
|||
<value>0</value>
|
||||
</reference>
|
||||
<output>
|
||||
<property>/it-autoflight/internal/aileron-cmd</property>
|
||||
<property>/it-autoflight/internal/aileron-cmd</property> <!-- Inputs to the FBW -->
|
||||
</output>
|
||||
<config>
|
||||
<Kp>
|
||||
|
@ -283,75 +283,6 @@
|
|||
</config>
|
||||
</pid-controller>
|
||||
|
||||
<filter>
|
||||
<name>IT-CONTROLLER: ROLL CMD</name>
|
||||
<debug>false</debug>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<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>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/aileron-cmd</property>
|
||||
</input>
|
||||
<output>/controls/flight/aileron-fmgc</output>
|
||||
<type>noise-spike</type>
|
||||
<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>
|
||||
|
||||
<!-- =============================================================== -->
|
||||
<!-- Yaw Control -->
|
||||
<!-- =============================================================== -->
|
||||
|
|
|
@ -26,10 +26,24 @@
|
|||
<max-rate-of-change>5</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
|
||||
<filter>
|
||||
<debug>false</debug>
|
||||
<type>noise-spike</type>
|
||||
<input>
|
||||
<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>
|
||||
<property>/it-autoflight/internal/aileron-cmd</property>
|
||||
</input>
|
||||
<input>/controls/flight/aileron</input>
|
||||
<output>/controls/flight/aileron-input</output>
|
||||
<max-rate-of-change>2.0</max-rate-of-change>
|
||||
|
@ -83,8 +97,21 @@
|
|||
</expression>
|
||||
</input>
|
||||
<input>
|
||||
<property>/controls/flight/elevator</property>
|
||||
<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>
|
||||
<property>/it-autoflight/internal/elevator-cmd</property>
|
||||
</input>
|
||||
<input>/controls/flight/elevator</input>
|
||||
<output>/controls/flight/elevator-input</output>
|
||||
<max-rate-of-change>2.0</max-rate-of-change>
|
||||
</filter>
|
||||
|
@ -226,14 +253,6 @@
|
|||
<enable>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
|
@ -280,14 +299,6 @@
|
|||
<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>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
|
@ -306,15 +317,6 @@
|
|||
</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>
|
||||
|
@ -333,25 +335,9 @@
|
|||
<value>2</value>
|
||||
</equals>
|
||||
</or>
|
||||
</and>
|
||||
</condition>
|
||||
<property>/controls/flight/aileron-input</property>
|
||||
</input>
|
||||
<input>
|
||||
<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>
|
||||
<property>/controls/flight/aileron-fmgc</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
|
@ -378,20 +364,10 @@
|
|||
<gain>1</gain>
|
||||
<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>
|
||||
<equals>
|
||||
<property>/it-fbw/roll-back</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<expression>
|
||||
<product>
|
||||
|
@ -406,44 +382,10 @@
|
|||
</input>
|
||||
<input>
|
||||
<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>
|
||||
<expression>
|
||||
<product>
|
||||
<property>/controls/flight/aileron-fmgc</property>
|
||||
<table>
|
||||
<property>/instrumentation/airspeed-indicator/indicated-mach</property>
|
||||
<entry><ind>0.2</ind><dep>1.00</dep></entry>
|
||||
<entry><ind>0.9</ind><dep>0.25</dep></entry>
|
||||
</table>
|
||||
</product>
|
||||
</expression>
|
||||
</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>
|
||||
<equals>
|
||||
<property>/it-fbw/roll-back</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<value>0</value>
|
||||
</input>
|
||||
|
@ -611,14 +553,6 @@
|
|||
<enable>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
|
@ -679,14 +613,6 @@
|
|||
<enable>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
|
@ -731,14 +657,6 @@
|
|||
<enable>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
|
@ -799,14 +717,6 @@
|
|||
<enable>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
|
@ -871,14 +781,6 @@
|
|||
<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>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
|
@ -911,15 +813,6 @@
|
|||
</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>
|
||||
|
@ -942,25 +835,9 @@
|
|||
<value>-40</value>
|
||||
</less-than-equals>
|
||||
</or>
|
||||
</and>
|
||||
</condition>
|
||||
<property>/controls/flight/elevator-input</property>
|
||||
</input>
|
||||
<input>
|
||||
<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>
|
||||
<property>/controls/flight/elevator-fmgc</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
|
@ -983,14 +860,6 @@
|
|||
<property>/controls/flight/elevator-fbw</property>
|
||||
<value>0.01</value>
|
||||
</greater-than>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
<property>/orientation/roll-deg</property>
|
||||
<value>40</value>
|
||||
|
@ -1047,14 +916,6 @@
|
|||
<property>/controls/flight/elevator-fbw</property>
|
||||
<value>-0.01</value>
|
||||
</less-than>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than>
|
||||
<property>/orientation/roll-deg</property>
|
||||
<value>40</value>
|
||||
|
@ -1110,14 +971,6 @@
|
|||
<condition>
|
||||
<and>
|
||||
<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>/it-fbw/law</property>
|
||||
|
|
Reference in a new issue