Improve autopilot, new AP dialog, smooth autothrust
This commit is contained in:
parent
656cee3f48
commit
dcbfee4283
5 changed files with 354 additions and 855 deletions
|
@ -311,16 +311,13 @@
|
|||
</autoland>
|
||||
</config>
|
||||
<settings>
|
||||
<default-bank-limit>25</default-bank-limit> <!-- Set the Default Bank Limit -->
|
||||
<enable-cws>0</enable-cws> <!-- Enable/Disable CWS -->
|
||||
<land-enable>1</land-enable> <!-- Enable/Disable Autoland -->
|
||||
<land-flap>0.645</land-flap> <!-- Minimum Flap used for Landing -->
|
||||
<retard-ft>40</retard-ft> <!-- Enable Thrust Retard -->
|
||||
<retard-enable>0</retard-enable> <!-- AGL to Thrust Retard -->
|
||||
<togaspd>157</togaspd> <!-- V2 + 10kts -->
|
||||
<lat-agl-ft>30</lat-agl-ft> <!-- Set to 999999 if you do not want T/O to change automatically to HDG, or LNAV -->
|
||||
<lat-agl-ft>20</lat-agl-ft> <!-- Set to 999999 if you do not want T/O to change automatically to HDG, or LNAV -->
|
||||
<reduc-agl-ft>3000</reduc-agl-ft> <!-- Set to 999999 if you do not want TOGA to change automatically to FLCH -->
|
||||
<autoland-without-ap>1</autoland-without-ap> <!-- Engage LAND and FLARE Modes even if the AP is off -->
|
||||
</settings>
|
||||
<output>
|
||||
<ap1>0</ap1>
|
||||
|
|
415
Nasal/FMGC.nas
415
Nasal/FMGC.nas
|
@ -151,8 +151,7 @@ var APinit = func {
|
|||
setprop("/it-autoflight/input/lat", 5);
|
||||
setprop("/it-autoflight/input/lat-arm", 0);
|
||||
setprop("/it-autoflight/input/vert", 7);
|
||||
setprop("/it-autoflight/input/prof-arm", 0);
|
||||
setprop("/it-autoflight/input/bank-limit", getprop("/it-autoflight/settings/default-bank-limit"));
|
||||
setprop("/it-autoflight/input/bank-limit", 25);
|
||||
setprop("/it-autoflight/input/trk", 0);
|
||||
setprop("/it-autoflight/input/toga", 0);
|
||||
setprop("/it-autoflight/output/ap1", 0);
|
||||
|
@ -166,23 +165,18 @@ var APinit = func {
|
|||
setprop("/it-autoflight/output/retard", 0);
|
||||
setprop("/it-autoflight/output/lat", 5);
|
||||
setprop("/it-autoflight/output/vert", 7);
|
||||
setprop("/it-autoflight/output/prof-vert", 4);
|
||||
setprop("/it-autoflight/settings/use-nav2-radio", 0);
|
||||
setprop("/it-autoflight/settings/use-backcourse", 0);
|
||||
setprop("/it-autoflight/internal/min-vs", -500);
|
||||
setprop("/it-autoflight/internal/max-vs", 500);
|
||||
setprop("/it-autoflight/internal/alt", 10000);
|
||||
setprop("/it-autoflight/internal/prof-alt", 10000);
|
||||
setprop("/it-autoflight/internal/prof-wp-alt", 10000);
|
||||
setprop("/it-autoflight/internal/prof-mode", "XX");
|
||||
setprop("/it-autoflight/internal/alt", 10000);
|
||||
setprop("/it-autoflight/internal/fpa", 0);
|
||||
setprop("/it-autoflight/internal/prof-fpm", 0);
|
||||
setprop("/it-autoflight/internal/top-of-des-nm", 0);
|
||||
setprop("/it-autoflight/mode/thr", "PITCH");
|
||||
setprop("/it-autoflight/mode/arm", "HDG");
|
||||
setprop("/it-autoflight/mode/lat", "T/O");
|
||||
setprop("/it-autoflight/mode/vert", "T/O CLB");
|
||||
setprop("/it-autoflight/mode/prof", "NONE");
|
||||
setprop("/it-autoflight/input/spd-kts", 250);
|
||||
setprop("/it-autoflight/input/spd-mach", 0.68);
|
||||
update_armst.start();
|
||||
|
@ -354,7 +348,6 @@ var vertical = func {
|
|||
if (vertset == 0) {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
prof_sys_stop();
|
||||
setprop("/it-autoflight/output/appr-armed", 0);
|
||||
setprop("/it-autoflight/output/vert", 0);
|
||||
setprop("/it-autoflight/mode/vert", "ALT HLD");
|
||||
|
@ -370,7 +363,6 @@ var vertical = func {
|
|||
} else if (vertset == 1) {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
prof_sys_stop();
|
||||
setprop("/it-autoflight/output/appr-armed", 0);
|
||||
var altinput = getprop("/it-autoflight/input/alt");
|
||||
setprop("/it-autoflight/internal/alt", altinput);
|
||||
|
@ -403,7 +395,6 @@ var vertical = func {
|
|||
} else if (vertset == 3) {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
prof_sys_stop();
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var alt = getprop("/it-autoflight/internal/alt");
|
||||
var dif = calt - alt;
|
||||
|
@ -420,7 +411,6 @@ var vertical = func {
|
|||
} else if (vertset == 4) {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
prof_sys_stop();
|
||||
setprop("/it-autoflight/output/appr-armed", 0);
|
||||
var altinput = getprop("/it-autoflight/input/alt");
|
||||
setprop("/it-autoflight/internal/alt", altinput);
|
||||
|
@ -440,7 +430,6 @@ var vertical = func {
|
|||
} else if (vertset == 5) {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
prof_sys_stop();
|
||||
fpa_calct.start();
|
||||
setprop("/it-autoflight/output/appr-armed", 0);
|
||||
var altinput = getprop("/it-autoflight/input/alt");
|
||||
|
@ -462,52 +451,23 @@ var vertical = func {
|
|||
thrustmode();
|
||||
alandt.stop();
|
||||
alandt1.start();
|
||||
prof_sys_stop();
|
||||
} else if (vertset == 7) {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
prof_sys_stop();
|
||||
setprop("/it-autoflight/output/vert", 7);
|
||||
setprop("/it-autoflight/mode/arm", " ");
|
||||
var altinput = getprop("/it-autoflight/input/alt");
|
||||
setprop("/it-autoflight/internal/alt", altinput);
|
||||
prof_sys_stop();
|
||||
thrustmodet.start();
|
||||
} else if (vertset == 8) {
|
||||
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1 and getprop("/it-autoflight/internal/prof-wp-alt") >= 100) {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
setprop("/it-autoflight/output/appr-armed", 0);
|
||||
setprop("/it-autoflight/output/vert", 8);
|
||||
prof_run();
|
||||
setprop("/it-autoflight/mode/vert", "VNAV");
|
||||
setprop("/it-autoflight/mode/arm", " ");
|
||||
var altinput = getprop("/it-autoflight/input/alt");
|
||||
setprop("/it-autoflight/internal/alt", altinput);
|
||||
if (getprop("/it-autoflight/output/loc-armed")) {
|
||||
setprop("/it-autoflight/mode/arm", "LOC");
|
||||
} else {
|
||||
setprop("/it-autoflight/mode/arm", " ");
|
||||
}
|
||||
prof_maint.start();
|
||||
} else {
|
||||
gui.popupTip("Please make sure you have a route, and waypoints with altitude restrictions set, and that the route is Activated!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var vert_arm = func {
|
||||
var vertset = getprop("/it-autoflight/input/vert");
|
||||
if (vertset == 8) {
|
||||
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1 and getprop("/it-autoflight/internal/prof-wp-alt") >= 100) {
|
||||
setprop("/it-autoflight/input/prof-arm", 1);
|
||||
setprop("/it-autoflight/mode/prof", "ARMED");
|
||||
} else {
|
||||
gui.popupTip("Please make sure you have a route, and waypoints with altitude restrictions set, and that the route is Activated!");
|
||||
}
|
||||
# Do nothing right now
|
||||
} else {
|
||||
setprop("/it-autoflight/input/prof-arm", 0);
|
||||
setprop("/it-autoflight/mode/prof", "NONE");
|
||||
# Do nothing right now
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,13 +510,24 @@ var fpa_calc = func {
|
|||
}
|
||||
|
||||
setlistener("/it-autoflight/input/kts-mach", func {
|
||||
var modez = getprop("/it-autoflight/input/kts-mach");
|
||||
if (modez == 0) {
|
||||
var iasnow = int(getprop("/instrumentation/airspeed-indicator/indicated-speed-kt")+0.5);
|
||||
setprop("/it-autoflight/input/spd-kts", iasnow);
|
||||
} else if (modez == 1) {
|
||||
var machnow = (int(1000*getprop("/velocities/mach")))*0.001;
|
||||
setprop("/it-autoflight/input/spd-mach", machnow);
|
||||
var ias = getprop("/instrumentation/airspeed-indicator/indicated-speed-kt");
|
||||
var mach = getprop("/instrumentation/airspeed-indicator/indicated-mach");
|
||||
if (getprop("/it-autoflight/input/kts-mach") == 0) {
|
||||
if (ias >= 100 and ias <= 360) {
|
||||
setprop("/it-autoflight/input/spd-kts", math.round(ias, 1));
|
||||
} else if (ias < 100) {
|
||||
setprop("/it-autoflight/input/spd-kts", 100);
|
||||
} else if (ias > 360) {
|
||||
setprop("/it-autoflight/input/spd-kts", 360);
|
||||
}
|
||||
} else if (getprop("/it-autoflight/input/kts-mach") == 1) {
|
||||
if (mach >= 0.50 and mach <= 0.95) {
|
||||
setprop("/it-autoflight/input/spd-kts", math.round(mach, 0.001));
|
||||
} else if (mach < 0.50) {
|
||||
setprop("/it-autoflight/input/spd-kts", 0.50);
|
||||
} else if (mach > 0.95) {
|
||||
setprop("/it-autoflight/input/spd-kts", 0.95);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -615,11 +586,7 @@ setlistener("/it-autoflight/mode/lat", func {
|
|||
|
||||
var toga_reduc = func {
|
||||
if (getprop("/position/gear-agl-ft") >= getprop("/it-autoflight/settings/reduc-agl-ft")) {
|
||||
if (getprop("/it-autoflight/input/prof-arm") == 1) {
|
||||
setprop("/it-autoflight/input/vert", 8);
|
||||
} else {
|
||||
setprop("/it-autoflight/input/vert", 4);
|
||||
}
|
||||
setprop("/it-autoflight/input/vert", 4);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -629,25 +596,20 @@ setlistener("/it-autoflight/output/vert", func {
|
|||
if (vertm == 1) {
|
||||
altcaptt.start();
|
||||
fpa_calct.stop();
|
||||
setprop("/it-autoflight/mode/prof", "NONE");
|
||||
} else if (vertm == 4) {
|
||||
altcaptt.start();
|
||||
fpa_calct.stop();
|
||||
setprop("/it-autoflight/mode/prof", "NONE");
|
||||
} else if (vertm == 5) {
|
||||
altcaptt.start();
|
||||
setprop("/it-autoflight/mode/prof", "NONE");
|
||||
} else if (vertm == 7) {
|
||||
altcaptt.start();
|
||||
fpa_calct.stop();
|
||||
setprop("/it-autoflight/mode/prof", "NONE");
|
||||
} else if (vertm == 8) {
|
||||
altcaptt.stop();
|
||||
fpa_calct.stop();
|
||||
} else {
|
||||
altcaptt.stop();
|
||||
fpa_calct.stop();
|
||||
setprop("/it-autoflight/mode/prof", "NONE");
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -735,9 +697,7 @@ var thrustmode = func {
|
|||
} else if (vertm == 7) {
|
||||
setprop("/it-autoflight/output/thr-mode", 2);
|
||||
setprop("/it-autoflight/mode/thr", " PITCH");
|
||||
} else if (vertm == 8) {
|
||||
thrustmodet.stop();
|
||||
} else {
|
||||
} else {
|
||||
setprop("/it-autoflight/output/thr-mode", 0);
|
||||
setprop("/it-autoflight/mode/thr", "THRUST");
|
||||
thrustmodet.stop();
|
||||
|
@ -851,7 +811,6 @@ var apparmcheck = func {
|
|||
}
|
||||
|
||||
var make_appr_active = func {
|
||||
prof_sys_stop();
|
||||
setprop("/it-autoflight/output/appr-armed", 0);
|
||||
setprop("/it-autoflight/output/vert", 2);
|
||||
setprop("/it-autoflight/mode/vert", "G/S");
|
||||
|
@ -866,18 +825,9 @@ var make_appr_active = func {
|
|||
var aland = func {
|
||||
var ap1 = getprop("/it-autoflight/output/ap1");
|
||||
var ap2 = getprop("/it-autoflight/output/ap2");
|
||||
var landoption = getprop("/it-autoflight/settings/autoland-without-ap");
|
||||
if (getprop("/position/gear-agl-ft") <= 100) {
|
||||
if (ap1 == 1 or ap2 == 1) {
|
||||
setprop("/it-autoflight/input/lat", 4);
|
||||
setprop("/it-autoflight/input/vert", 6);
|
||||
} else if (ap1 == 0 and ap2 == 0 and landoption) {
|
||||
setprop("/it-autoflight/input/lat", 4);
|
||||
setprop("/it-autoflight/input/vert", 6);
|
||||
} else {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
}
|
||||
setprop("/it-autoflight/input/lat", 4);
|
||||
setprop("/it-autoflight/input/vert", 6);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -886,17 +836,6 @@ var aland1 = func {
|
|||
if (aglal <= 50 and aglal > 5) {
|
||||
setprop("/it-autoflight/mode/vert", "FLARE");
|
||||
}
|
||||
if ((getprop("/it-autoflight/output/ap1") == 0) and (getprop("/it-autoflight/output/ap2") == 0) and (getprop("/it-autoflight/settings/autoland-without-ap") == 0)) {
|
||||
alandt.stop();
|
||||
alandt1.stop();
|
||||
setprop("/it-autoflight/output/loc-armed", 0);
|
||||
setprop("/it-autoflight/output/lat", 2);
|
||||
setprop("/it-autoflight/mode/lat", "LOC");
|
||||
setprop("/it-autoflight/output/appr-armed", 0);
|
||||
setprop("/it-autoflight/output/vert", 2);
|
||||
setprop("/it-autoflight/mode/vert", "G/S");
|
||||
setprop("/it-autoflight/mode/arm", " ");
|
||||
}
|
||||
var gear1 = getprop("/gear/gear[1]/wow");
|
||||
var gear2 = getprop("/gear/gear[2]/wow");
|
||||
if (gear1 == 1 or gear2 == 1) {
|
||||
|
@ -909,302 +848,7 @@ var aland1 = func {
|
|||
# Autoland Stage 2 Logic (Rollout)
|
||||
# Not yet working, planned.
|
||||
|
||||
# VNAV Profile Mode
|
||||
var prof_main = func {
|
||||
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1) {
|
||||
var altinput = getprop("/it-autoflight/input/alt");
|
||||
setprop("/it-autoflight/internal/alt", altinput);
|
||||
var wp_curr = getprop("/autopilot/route-manager/current-wp");
|
||||
var vnav_alt_wp = getprop("/autopilot/route-manager/route/wp",wp_curr,"altitude-ft");
|
||||
if (getprop("/it-autoflight/internal/prof-wp-alt") == vnav_alt_wp) {
|
||||
# Do nothing
|
||||
} else {
|
||||
setprop("/it-autoflight/internal/prof-wp-alt", vnav_alt_wp);
|
||||
}
|
||||
vnav_alt_selector();
|
||||
if (getprop("/it-autoflight/internal/prof-wp-alt") < 100) {
|
||||
setprop("/it-autoflight/input/vert", 4);
|
||||
}
|
||||
} else {
|
||||
setprop("/it-autoflight/input/vert", 4);
|
||||
}
|
||||
}
|
||||
|
||||
var prof_sys_stop = func {
|
||||
prof_maint.stop();
|
||||
vnav_altcaptt.stop();
|
||||
vnav_minmaxt.stop();
|
||||
vnav_des_fpmt.stop();
|
||||
vnav_des_todt.stop();
|
||||
setprop("/it-autoflight/mode/prof", "NONE");
|
||||
}
|
||||
|
||||
setlistener("/it-autoflight/input/alt", func {
|
||||
if (getprop("/it-autoflight/output/vert") == 8) {
|
||||
vnav_alt_selector();
|
||||
prof_run();
|
||||
}
|
||||
});
|
||||
|
||||
setlistener("/it-autoflight/internal/prof-wp-alt", func {
|
||||
if (getprop("/it-autoflight/output/vert") == 8) {
|
||||
vnav_alt_selector();
|
||||
prof_run();
|
||||
}
|
||||
});
|
||||
|
||||
setlistener("/autopilot/route-manager/current-wp", func {
|
||||
if (getprop("/it-autoflight/output/vert") == 8) {
|
||||
vnav_alt_selector();
|
||||
prof_run();
|
||||
}
|
||||
});
|
||||
|
||||
var prof_run = func {
|
||||
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1) {
|
||||
var wp_curr = getprop("/autopilot/route-manager/current-wp");
|
||||
var wptnum = getprop("/autopilot/route-manager/current-wp");
|
||||
var vnav_alt_wp = getprop("/autopilot/route-manager/route/wp",wp_curr,"altitude-ft");
|
||||
if ((wptnum - 1) < getprop("/autopilot/route-manager/route/num")) {
|
||||
var vnav_alt_wp_prev = getprop("/autopilot/route-manager/route/wp",wp_curr - 1,"altitude-ft");
|
||||
var altcurr = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
if (vnav_alt_wp_prev >= 100) {
|
||||
if (vnav_alt_wp_prev > vnav_alt_wp) {
|
||||
vnav_des_todt.start();
|
||||
setprop("/it-autoflight/internal/prof-mode", "DES");
|
||||
} else if (vnav_alt_wp_prev == vnav_alt_wp) {
|
||||
vnav_des_todt.stop();
|
||||
setprop("/it-autoflight/internal/top-of-des-nm", 0);
|
||||
setprop("/it-autoflight/internal/prof-mode", "XX");
|
||||
} else if (vnav_alt_wp_prev <= vnav_alt_wp) {
|
||||
vnav_des_todt.stop();
|
||||
setprop("/it-autoflight/internal/top-of-des-nm", 0);
|
||||
setprop("/it-autoflight/internal/prof-mode", "CLB");
|
||||
}
|
||||
} else if (vnav_alt_wp_prev < 100) {
|
||||
if (altcurr > vnav_alt_wp) {
|
||||
vnav_des_todt.start();
|
||||
setprop("/it-autoflight/internal/prof-mode", "DES");
|
||||
} else if (altcurr == vnav_alt_wp) {
|
||||
vnav_des_todt.stop();
|
||||
setprop("/it-autoflight/internal/top-of-des-nm", 0);
|
||||
setprop("/it-autoflight/internal/prof-mode", "XX");
|
||||
} else if (altcurr <= vnav_alt_wp) {
|
||||
vnav_des_todt.stop();
|
||||
setprop("/it-autoflight/internal/top-of-des-nm", 0);
|
||||
setprop("/it-autoflight/internal/prof-mode", "CLB");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
vnav_des_todt.stop();
|
||||
setprop("/it-autoflight/internal/top-of-des-nm", 0);
|
||||
}
|
||||
if (vnav_alt_wp >= 100) {
|
||||
if (getprop("/it-autoflight/internal/prof-mode") == "CLB") {
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var valt = getprop("/it-autoflight/internal/prof-alt");
|
||||
var vdif = calt - valt;
|
||||
if (vdif > 250 or vdif < -250) {
|
||||
prof_clb();
|
||||
} else {
|
||||
vnav_alt_sel();
|
||||
}
|
||||
} else if (getprop("/it-autoflight/internal/prof-mode") == "DES") {
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var valt = getprop("/it-autoflight/internal/prof-alt");
|
||||
var vdif = calt - valt;
|
||||
if (vdif > 250 or vdif < -250) {
|
||||
prof_des_spd();
|
||||
} else {
|
||||
vnav_alt_sel();
|
||||
}
|
||||
} else if (getprop("/it-autoflight/internal/prof-mode") == "XX") {
|
||||
# Do nothing for now
|
||||
}
|
||||
} else {
|
||||
setprop("/it-autoflight/input/vert", 4);
|
||||
}
|
||||
} else {
|
||||
setprop("/it-autoflight/input/vert", 4);
|
||||
}
|
||||
}
|
||||
|
||||
# VNAV Top of Descent
|
||||
var vnav_des_tod = func {
|
||||
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1) {
|
||||
var wp_curr = getprop("/autopilot/route-manager/current-wp");
|
||||
var vnav_alt_wp = getprop("/autopilot/route-manager/route/wp",wp_curr,"altitude-ft");
|
||||
var alt_curr = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var dist = getprop("/autopilot/route-manager/wp/dist");
|
||||
var vdist = dist + 1;
|
||||
var alttl = abs(alt_curr - vnav_alt_wp);
|
||||
setprop("/it-autoflight/internal/top-of-des-nm", (alttl / 1000) * 3);
|
||||
if (vdist < getprop("/it-autoflight/internal/top-of-des-nm")) {
|
||||
vnav_des_todt.stop();
|
||||
var salt = getprop("/it-autoflight/internal/alt");
|
||||
var valt = getprop("/it-autoflight/internal/prof-wp-alt");
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var sdif = abs(calt - salt);
|
||||
var vdif = abs(calt - valt);
|
||||
if (sdif <= vdif) {
|
||||
setprop("/it-autoflight/internal/prof-alt", getprop("/it-autoflight/internal/alt"));
|
||||
} else if (sdif > vdif) {
|
||||
setprop("/it-autoflight/internal/prof-alt", getprop("/it-autoflight/internal/prof-wp-alt"));
|
||||
}
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var valt = getprop("/it-autoflight/internal/prof-alt");
|
||||
var vdif = calt - valt;
|
||||
if (vdif > 550 or vdif < -550) {
|
||||
prof_des_spd();
|
||||
} else {
|
||||
vnav_alt_sel();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# VNAV Altitude Selector
|
||||
var vnav_alt_selector = func {
|
||||
var salt = getprop("/it-autoflight/internal/alt");
|
||||
var valt = getprop("/it-autoflight/internal/prof-wp-alt");
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var sdif = abs(calt - salt);
|
||||
var vdif = abs(calt - valt);
|
||||
if (getprop("/it-autoflight/internal/prof-mode") == "CLB") {
|
||||
if (sdif <= vdif) {
|
||||
setprop("/it-autoflight/internal/prof-alt", getprop("/it-autoflight/internal/alt"));
|
||||
} else if (sdif > vdif) {
|
||||
setprop("/it-autoflight/internal/prof-alt", getprop("/it-autoflight/internal/prof-wp-alt"));
|
||||
}
|
||||
} else if (getprop("/it-autoflight/internal/prof-mode") == "DES") {
|
||||
var dist = getprop("/autopilot/route-manager/wp/dist");
|
||||
var vdist = dist - 1;
|
||||
if (vdist < getprop("/it-autoflight/internal/top-of-des-nm")) {
|
||||
if (sdif <= vdif) {
|
||||
setprop("/it-autoflight/internal/prof-alt", getprop("/it-autoflight/internal/alt"));
|
||||
} else if (sdif > vdif) {
|
||||
setprop("/it-autoflight/internal/prof-alt", getprop("/it-autoflight/internal/prof-wp-alt"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# VNAV Selector
|
||||
var vnav_alt_sel = func {
|
||||
setprop("/it-autoflight/internal/max-vs", 500);
|
||||
setprop("/it-autoflight/internal/min-vs", -500);
|
||||
setprop("/it-autoflight/output/thr-mode", 0);
|
||||
setprop("/it-autoflight/output/prof-vert", 0);
|
||||
setprop("/it-autoflight/mode/thr", "THRUST");
|
||||
setprop("/it-autoflight/mode/prof", "VNAV CAP");
|
||||
vnav_minmaxt.start();
|
||||
}
|
||||
|
||||
# VNAV Climb
|
||||
var prof_clb = func {
|
||||
vnav_des_fpmt.stop();
|
||||
setprop("/it-autoflight/output/thr-mode", 2);
|
||||
setprop("/it-autoflight/mode/thr", " PITCH");
|
||||
setprop("/it-autoflight/output/prof-vert", 4);
|
||||
setprop("/it-autoflight/mode/prof", "VNAV SPD");
|
||||
vnav_altcaptt.start();
|
||||
}
|
||||
|
||||
# VNAV Descent
|
||||
var prof_des_spd = func {
|
||||
vnav_des_fpmt.stop();
|
||||
setprop("/it-autoflight/output/thr-mode", 1);
|
||||
setprop("/it-autoflight/mode/thr", " PITCH");
|
||||
setprop("/it-autoflight/output/prof-vert", 4);
|
||||
setprop("/it-autoflight/mode/prof", "VNAV SPD");
|
||||
vnav_altcaptt.start();
|
||||
}
|
||||
var prof_des_pth = func {
|
||||
vnav_des_fpmt.start();
|
||||
setprop("/it-autoflight/output/thr-mode", 0);
|
||||
setprop("/it-autoflight/mode/thr", "THRUST");
|
||||
setprop("/it-autoflight/output/prof-vert", 1);
|
||||
setprop("/it-autoflight/mode/prof", "VNAV PTH");
|
||||
vnav_altcaptt.start();
|
||||
}
|
||||
var vnav_des_fpm = func {
|
||||
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1) {
|
||||
var gndspd = getprop("/velocities/groundspeed-kt");
|
||||
var desfpm = ((gndspd * 0.5) * 10);
|
||||
setprop("/it-autoflight/internal/prof-fpm", desfpm);
|
||||
}
|
||||
}
|
||||
|
||||
# VNAV Capture
|
||||
var vnav_altcapt = func {
|
||||
var vsnow = getprop("/it-autoflight/internal/vert-speed-fpm");
|
||||
if ((vsnow >= 0 and vsnow < 500) or (vsnow < 0 and vsnow > -500)) {
|
||||
setprop("/it-autoflight/internal/captvs", 100);
|
||||
setprop("/it-autoflight/internal/captvsneg", -100);
|
||||
} else if ((vsnow >= 500 and vsnow < 1000) or (vsnow < -500 and vsnow > -1000)) {
|
||||
setprop("/it-autoflight/internal/captvs", 200);
|
||||
setprop("/it-autoflight/internal/captvsneg", -200);
|
||||
} else if ((vsnow >= 1000 and vsnow < 1500) or (vsnow < -1000 and vsnow > -1500)) {
|
||||
setprop("/it-autoflight/internal/captvs", 300);
|
||||
setprop("/it-autoflight/internal/captvsneg", -300);
|
||||
} else if ((vsnow >= 1500 and vsnow < 2000) or (vsnow < -1500 and vsnow > -2000)) {
|
||||
setprop("/it-autoflight/internal/captvs", 400);
|
||||
setprop("/it-autoflight/internal/captvsneg", -400);
|
||||
} else if ((vsnow >= 2000 and vsnow < 3000) or (vsnow < -2000 and vsnow > -3000)) {
|
||||
setprop("/it-autoflight/internal/captvs", 600);
|
||||
setprop("/it-autoflight/internal/captvsneg", -600);
|
||||
} else if ((vsnow >= 3000 and vsnow < 4000) or (vsnow < -3000 and vsnow > -4000)) {
|
||||
setprop("/it-autoflight/internal/captvs", 900);
|
||||
setprop("/it-autoflight/internal/captvsneg", -900);
|
||||
} else if ((vsnow >= 4000 and vsnow < 5000) or (vsnow < -4000 and vsnow > -5000)) {
|
||||
setprop("/it-autoflight/internal/captvs", 1200);
|
||||
setprop("/it-autoflight/internal/captvsneg", -1200);
|
||||
} else if ((vsnow >= 5000) or (vsnow < -5000)) {
|
||||
setprop("/it-autoflight/internal/captvs", 1500);
|
||||
setprop("/it-autoflight/internal/captvsneg", -1500);
|
||||
}
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var valt = getprop("/it-autoflight/internal/prof-alt");
|
||||
var vdif = calt - valt;
|
||||
if (vdif < getprop("/it-autoflight/internal/captvs") and vdif > getprop("/it-autoflight/internal/captvsneg")) {
|
||||
vnav_capture_alt();
|
||||
}
|
||||
}
|
||||
|
||||
var vnav_capture_alt = func {
|
||||
vnav_altcaptt.stop();
|
||||
vnav_des_fpmt.stop();
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var alt = getprop("/it-autoflight/internal/alt");
|
||||
var valt = getprop("/it-autoflight/internal/prof-alt");
|
||||
var vsnow = getprop("/it-autoflight/internal/vert-speed-fpm");
|
||||
if (calt < valt) {
|
||||
setprop("/it-autoflight/internal/max-vs", vsnow);
|
||||
} else if (calt > valt) {
|
||||
setprop("/it-autoflight/internal/min-vs", vsnow);
|
||||
}
|
||||
vnav_minmaxt.start();
|
||||
setprop("/it-autoflight/output/thr-mode", 0);
|
||||
setprop("/it-autoflight/output/prof-vert", 0);
|
||||
setprop("/it-autoflight/mode/thr", "THRUST");
|
||||
setprop("/it-autoflight/mode/prof", "VNAV CAP");
|
||||
}
|
||||
|
||||
# VNAV Min and Max Pitch Reset
|
||||
var vnav_minmax = func {
|
||||
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
|
||||
var valt = getprop("/it-autoflight/internal/prof-alt");
|
||||
var vdif = calt - valt;
|
||||
if (vdif < 50 and vdif > -50) {
|
||||
setprop("/it-autoflight/internal/max-vs", 500);
|
||||
setprop("/it-autoflight/internal/min-vs", -500);
|
||||
var vertmode = getprop("/it-autoflight/output/prof-vert");
|
||||
if (vertmode == 0) {
|
||||
setprop("/it-autoflight/mode/prof", "VNAV HLD");
|
||||
}
|
||||
vnav_minmaxt.stop();
|
||||
}
|
||||
}
|
||||
# VNAV
|
||||
|
||||
# For Canvas Nav Display.
|
||||
setlistener("/it-autoflight/input/hdg", func {
|
||||
|
@ -1228,9 +872,4 @@ var reduct = maketimer(0.5, toga_reduc);
|
|||
var latarmt = maketimer(0.5, latarms);
|
||||
var fpa_calct = maketimer(0.1, fpa_calc);
|
||||
var lnavwptt = maketimer(1, lnavwpt);
|
||||
var prof_maint = maketimer(0.5, prof_main);
|
||||
var vnav_altcaptt = maketimer(0.5, vnav_altcapt);
|
||||
var vnav_minmaxt = maketimer(0.5, vnav_minmax);
|
||||
var vnav_des_fpmt = maketimer(0.5, vnav_des_fpm);
|
||||
var vnav_des_todt = maketimer(0.5, vnav_des_tod);
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
<layout>hbox</layout>
|
||||
<text>
|
||||
<halign>left</halign>
|
||||
<label>IT-AUTOFLIGHT System</label>
|
||||
<label>IT-AUTOFLIGHT System (A3XX)</label>
|
||||
</text>
|
||||
<button>
|
||||
<halign>right</halign>
|
||||
|
@ -31,17 +31,9 @@
|
|||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<button>
|
||||
<legend>A/T</legend>
|
||||
<pref-width>35</pref-width>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/it-autoflight/input/athr</property>
|
||||
</binding>
|
||||
</button>
|
||||
<button>
|
||||
<legend>AP1</legend>
|
||||
<pref-width>35</pref-width>
|
||||
<pref-width>55</pref-width>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/it-autoflight/input/ap1</property>
|
||||
|
@ -49,29 +41,15 @@
|
|||
</button>
|
||||
<button>
|
||||
<legend>AP2</legend>
|
||||
<pref-width>35</pref-width>
|
||||
<pref-width>55</pref-width>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/it-autoflight/input/ap2</property>
|
||||
</binding>
|
||||
</button>
|
||||
<button>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/settings/enable-cws</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<legend>CWS</legend>
|
||||
<pref-width>35</pref-width>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/it-autoflight/input/cws</property>
|
||||
</binding>
|
||||
</button>
|
||||
<button>
|
||||
<legend>FD1</legend>
|
||||
<pref-width>35</pref-width>
|
||||
<pref-width>55</pref-width>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/it-autoflight/input/fd1</property>
|
||||
|
@ -79,71 +57,13 @@
|
|||
</button>
|
||||
<button>
|
||||
<legend>FD2</legend>
|
||||
<pref-width>35</pref-width>
|
||||
<pref-width>55</pref-width>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/it-autoflight/input/fd2</property>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<text>
|
||||
<label>[A/T]</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/athr</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
<text>
|
||||
<label>[AP1]</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
<text>
|
||||
<label>[AP2]</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/ap2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
<text>
|
||||
<label>[CWS]</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/cws</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
<text>
|
||||
<label>[FD1]</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/fd1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
<text>
|
||||
<label>[FD2]</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/fd2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>vbox</layout>
|
||||
|
@ -166,9 +86,9 @@
|
|||
<layout>hbox</layout>
|
||||
<text>
|
||||
<border>1</border>
|
||||
<label>999999</label>
|
||||
<label>99999</label>
|
||||
<valign>center</valign>
|
||||
<property>/it-autoflight/mode/thr</property>
|
||||
<property>/modes/pfd/fma/ap-mode</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
<vrule/>
|
||||
|
@ -176,15 +96,7 @@
|
|||
<border>1</border>
|
||||
<label>99999</label>
|
||||
<valign>center</valign>
|
||||
<property>/it-autoflight/mode/arm</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
<vrule/>
|
||||
<text>
|
||||
<border>1</border>
|
||||
<label>99999</label>
|
||||
<valign>center</valign>
|
||||
<property>/it-autoflight/mode/lat</property>
|
||||
<property>/modes/pfd/fma/roll-mode</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
<vrule/>
|
||||
|
@ -192,7 +104,52 @@
|
|||
<border>1</border>
|
||||
<label>99999999</label>
|
||||
<valign>center</valign>
|
||||
<property>/it-autoflight/mode/vert</property>
|
||||
<property>/modes/pfd/fma/pitch-mode</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<text>
|
||||
<label> A/THR</label>
|
||||
<visible>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/athr</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</visible>
|
||||
</text>
|
||||
<vrule/>
|
||||
<text>
|
||||
<border>1</border>
|
||||
<label>999</label>
|
||||
<valign>center</valign>
|
||||
<property>/modes/pfd/fma/roll-mode-armed</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
<vrule/>
|
||||
<text>
|
||||
<border>1</border>
|
||||
<label>999</label>
|
||||
<valign>center</valign>
|
||||
<property>/modes/pfd/fma/pitch-mode2-armed</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
<vrule/>
|
||||
<text>
|
||||
<border>1</border>
|
||||
<label>999</label>
|
||||
<valign>center</valign>
|
||||
<property>/modes/pfd/fma/pitch-mode-armed</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
<vrule/>
|
||||
<text>
|
||||
<border>1</border>
|
||||
<label>999999</label>
|
||||
<valign>center</valign>
|
||||
<property>/modes/pfd/fma/fd-mode</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
</group>
|
||||
|
@ -215,47 +172,39 @@
|
|||
<layout>hbox</layout>
|
||||
|
||||
<button>
|
||||
<legend>SPD</legend>
|
||||
<pref-width>55</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/kts-mach</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<legend>Mach</legend>
|
||||
<pref-width>55</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/kts-mach</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<legend>FMS</legend>
|
||||
<pref-width>55</pref-width>
|
||||
<legend>Push</legend>
|
||||
<pref-width>65</pref-width>
|
||||
<enable>
|
||||
<property>/it-autoflight/input/fms-spd</property>
|
||||
<property>/systems/unused/unused-button</property>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/fms-spd</property>
|
||||
<value>1</value>
|
||||
<command>property-assign</command>
|
||||
<property>/systems/unused/unused-button</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<legend>TOGA</legend>
|
||||
<pref-width>55</pref-width>
|
||||
<legend>Pull</legend>
|
||||
<pref-width>65</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/toga</property>
|
||||
<value>1</value>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
libraries.mcpSPDKnbPull();
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<legend>Speed/Mach</legend>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>/it-autoflight/input/kts-mach</property>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
</group>
|
||||
|
||||
<group>
|
||||
|
@ -282,8 +231,8 @@
|
|||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<min>0</min>
|
||||
<max>380</max>
|
||||
<min>100</min>
|
||||
<max>360</max>
|
||||
<step>-10</step>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
|
@ -303,8 +252,8 @@
|
|||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<min>0</min>
|
||||
<max>380</max>
|
||||
<min>100</min>
|
||||
<max>360</max>
|
||||
<step>-1</step>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
|
@ -342,8 +291,8 @@
|
|||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<min>0</min>
|
||||
<max>380</max>
|
||||
<min>100</min>
|
||||
<max>360</max>
|
||||
<step>1</step>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
|
@ -364,8 +313,8 @@
|
|||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<min>0</min>
|
||||
<max>380</max>
|
||||
<min>100</min>
|
||||
<max>360</max>
|
||||
<step>10</step>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
|
@ -397,8 +346,8 @@
|
|||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<min>0</min>
|
||||
<max>0.99</max>
|
||||
<min>0.50</min>
|
||||
<max>0.95</max>
|
||||
<step>-0.01</step>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
|
@ -418,8 +367,8 @@
|
|||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<min>0</min>
|
||||
<max>0.99</max>
|
||||
<min>0.50</min>
|
||||
<max>0.95</max>
|
||||
<step>-0.001</step>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
|
@ -457,8 +406,8 @@
|
|||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<min>0</min>
|
||||
<max>0.99</max>
|
||||
<min>0.50</min>
|
||||
<max>0.95</max>
|
||||
<step>0.001</step>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
|
@ -479,8 +428,8 @@
|
|||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<min>0</min>
|
||||
<max>0.99</max>
|
||||
<min>0.50</min>
|
||||
<max>0.95</max>
|
||||
<step>0.01</step>
|
||||
<wrap>false</wrap>
|
||||
</binding>
|
||||
|
@ -506,42 +455,32 @@
|
|||
<layout>hbox</layout>
|
||||
|
||||
<button>
|
||||
<pref-width>50</pref-width>
|
||||
<legend>HLD</legend>
|
||||
<legend>Push</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>3</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<pref-width>50</pref-width>
|
||||
<legend>SEL</legend>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>0</value>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<pref-width>50</pref-width>
|
||||
<legend>LNAV</legend>
|
||||
<legend>Pull</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>1</value>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>3</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<pref-width>65</pref-width>
|
||||
<legend>VOR/LOC</legend>
|
||||
<legend>LOC</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>2</value>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/lat</property>
|
||||
<value>2</value>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
@ -629,90 +568,6 @@
|
|||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
|
||||
<checkbox>
|
||||
<label>True HDG</label>
|
||||
<property>/it-autoflight/input/trk</property>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<live>true</live>
|
||||
</checkbox>
|
||||
<checkbox>
|
||||
<label>Use NAV2</label>
|
||||
<property>/it-autoflight/settings/use-nav2-radio</property>
|
||||
<enable>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>2</value>
|
||||
</not-equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<live>true</live>
|
||||
</checkbox>
|
||||
<checkbox>
|
||||
<label>B/C</label>
|
||||
<property>/it-autoflight/settings/use-backcourse</property>
|
||||
<enable>
|
||||
<property>/it-autoflight/settings/extra/unused-button</property>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<live>true</live>
|
||||
</checkbox>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<text>
|
||||
<row>0</row>
|
||||
<col>0</col>
|
||||
<label>Bank Limit Select:</label>
|
||||
</text>
|
||||
|
||||
<slider>
|
||||
<row>0</row>
|
||||
<col>0</col>
|
||||
<halign>center</halign>
|
||||
<pref-width>130</pref-width>
|
||||
<property>/it-autoflight/input/bank-limit</property>
|
||||
<step>5</step>
|
||||
<min>5</min>
|
||||
<max>30</max>
|
||||
<live type="bool">true</live>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</slider>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<button>
|
||||
<pref-width>70</pref-width>
|
||||
<legend>AUTO</legend>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
var dbl = getprop("/it-autoflight/settings/default-bank-limit");
|
||||
setprop("/it-autoflight/input/bank-limit", dbl);
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<row>0</row>
|
||||
<col>0</col>
|
||||
<halign>right</halign>
|
||||
<label>5 10 15 20 25 30</label>
|
||||
</text>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
|
@ -732,86 +587,80 @@
|
|||
<layout>hbox</layout>
|
||||
|
||||
<button>
|
||||
<pref-width>40</pref-width>
|
||||
<legend>HLD</legend>
|
||||
<legend>ALT Push</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<enable>
|
||||
<property>/systems/unused/unused-button</property>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<pref-width>40</pref-width>
|
||||
<legend>FLCH</legend>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>4</value>
|
||||
<command>property-assign</command>
|
||||
<property>/systems/unused/unused-button</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<pref-width>40</pref-width>
|
||||
<legend>V/S</legend>
|
||||
<legend>ALT Pull</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>1</value>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>4</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<pref-width>40</pref-width>
|
||||
<legend>FPA</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<legend>EXPED</legend>
|
||||
<enable>
|
||||
<property>/systems/unused/unused-button</property>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>5</value>
|
||||
<command>property-assign</command>
|
||||
<property>/systems/unused/unused-button</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<pref-width>55</pref-width>
|
||||
<legend>ILS</legend>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>2</value>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
|
||||
<button>
|
||||
<pref-width>55</pref-width>
|
||||
<legend>VNAV</legend>
|
||||
<enable>
|
||||
<property>/it-autoflight/settings/vnav-test</property>
|
||||
</enable>
|
||||
<legend>V/S Push</legend>
|
||||
<pref-width>75</pref-width>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>8</value>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<row>0</row>
|
||||
<col>0</col>
|
||||
<label>VNAV Command: </label>
|
||||
</text>
|
||||
|
||||
<text>
|
||||
<border>1</border>
|
||||
<label>9999999999999</label>
|
||||
<valign>center</valign>
|
||||
<property>/it-autoflight/mode/prof</property>
|
||||
<live>1</live>
|
||||
</text>
|
||||
<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>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<pref-width>75</pref-width>
|
||||
<legend>APPR</legend>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/it-autoflight/input/vert</property>
|
||||
<value>2</value>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
|
@ -913,6 +762,12 @@
|
|||
<pref-width>25</pref-width>
|
||||
<pref-height>25</pref-height>
|
||||
<legend><<</legend>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
|
@ -928,6 +783,12 @@
|
|||
<pref-width>25</pref-width>
|
||||
<pref-height>25</pref-height>
|
||||
<legend><</legend>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
|
@ -944,6 +805,12 @@
|
|||
<pref-width>55</pref-width>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
<live type="bool">true</live>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
|
@ -955,6 +822,12 @@
|
|||
<pref-width>25</pref-width>
|
||||
<pref-height>25</pref-height>
|
||||
<legend>></legend>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
|
@ -971,6 +844,12 @@
|
|||
<pref-width>25</pref-width>
|
||||
<pref-height>25</pref-height>
|
||||
<legend>>></legend>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/vs</property>
|
||||
|
@ -997,6 +876,12 @@
|
|||
<pref-width>25</pref-width>
|
||||
<pref-height>25</pref-height>
|
||||
<legend><<</legend>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
|
@ -1012,6 +897,12 @@
|
|||
<pref-width>25</pref-width>
|
||||
<pref-height>25</pref-height>
|
||||
<legend><</legend>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
|
@ -1028,6 +919,12 @@
|
|||
<pref-width>55</pref-width>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
<live type="bool">true</live>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
|
@ -1039,6 +936,12 @@
|
|||
<pref-width>25</pref-width>
|
||||
<pref-height>25</pref-height>
|
||||
<legend>></legend>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
|
@ -1055,6 +958,12 @@
|
|||
<pref-width>25</pref-width>
|
||||
<pref-height>25</pref-height>
|
||||
<legend>>></legend>
|
||||
<enable>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>5</value>
|
||||
</equals>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-adjust</command>
|
||||
<property>/it-autoflight/input/fpa</property>
|
||||
|
|
|
@ -8,6 +8,106 @@
|
|||
<!-- =============================================================== -->
|
||||
<!-- Thrust Modes -->
|
||||
<!-- =============================================================== -->
|
||||
|
||||
<filter>
|
||||
<name>KTS INPUT FILTER</name>
|
||||
<debug>false</debug>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<input>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
</input>
|
||||
<output>/it-autoflight/internal/kts</output>
|
||||
<type>noise-spike</type>
|
||||
<max-rate-of-change>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/athr</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<value>200</value>
|
||||
</max-rate-of-change>
|
||||
<max-rate-of-change>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/athr</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<value>10</value>
|
||||
</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>MACH INPUT FILTER</name>
|
||||
<debug>false</debug>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<input>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
</input>
|
||||
<output>/it-autoflight/internal/mach</output>
|
||||
<type>noise-spike</type>
|
||||
<max-rate-of-change>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/athr</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<value>2</value>
|
||||
</max-rate-of-change>
|
||||
<max-rate-of-change>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/athr</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<value>0.1</value>
|
||||
</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<!-- Engine 1 -->
|
||||
<!-- Auto throttle -->
|
||||
|
@ -56,7 +156,7 @@
|
|||
<property>/velocities/airspeed-kt</property>
|
||||
</input>
|
||||
<reference>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<property>/it-autoflight/internal/kts</property>
|
||||
</reference>
|
||||
<output>
|
||||
<property>/controls/engines/engine[0]/throttle-cmd-pid</property>
|
||||
|
@ -123,7 +223,7 @@
|
|||
<scale>500.0</scale>
|
||||
</input>
|
||||
<reference>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<property>/it-autoflight/internal/mach</property>
|
||||
<scale>500.0</scale>
|
||||
</reference>
|
||||
<output>
|
||||
|
@ -329,7 +429,7 @@
|
|||
<property>/velocities/airspeed-kt</property>
|
||||
</input>
|
||||
<reference>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<property>/it-autoflight/internal/kts</property>
|
||||
</reference>
|
||||
<output>
|
||||
<property>/controls/engines/engine[1]/throttle-cmd-pid</property>
|
||||
|
@ -396,7 +496,7 @@
|
|||
<scale>500.0</scale>
|
||||
</input>
|
||||
<reference>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<property>/it-autoflight/internal/mach</property>
|
||||
<scale>500.0</scale>
|
||||
</reference>
|
||||
<output>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!-- IT-AUTOFLIGHT -->
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<!-- =============================================================== -->
|
||||
|
@ -388,10 +390,6 @@
|
|||
<property>/it-autoflight/output/vert</property>
|
||||
<value>7</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>8</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
</condition>
|
||||
</enable>
|
||||
|
@ -676,7 +674,7 @@
|
|||
</input>
|
||||
<output>/controls/flight/aileron</output>
|
||||
<type>noise-spike</type>
|
||||
<max-rate-of-change>0.9</max-rate-of-change>
|
||||
<max-rate-of-change>0.8</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<!-- =============================================================== -->
|
||||
|
@ -691,23 +689,8 @@
|
|||
<property>/it-autoflight/internal/altitude-5-sec-ahead</property>
|
||||
</input>
|
||||
<reference>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>8</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/alt</property>
|
||||
</reference>
|
||||
<reference>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>8</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/prof-alt</property>
|
||||
</reference>
|
||||
<gain>-8</gain>
|
||||
<output>
|
||||
<property>/it-autoflight/internal/target-fpm</property>
|
||||
|
@ -912,104 +895,6 @@
|
|||
</config>
|
||||
</pid-controller>
|
||||
|
||||
<pid-controller>
|
||||
<name>VNAV SPEED BY PITCH</name>
|
||||
<debug>false</debug>
|
||||
<enable>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>8</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/input/kts-mach</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/lookahead-15-sec-airspeed-kt</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/input/kts-mach</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/lookahead-15-sec-mach</property>
|
||||
<scale>500.0</scale>
|
||||
</input>
|
||||
<reference>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/input/kts-mach</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/flch-kts</property>
|
||||
</reference>
|
||||
<reference>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/it-autoflight/input/kts-mach</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/flch-mach</property>
|
||||
<scale>500.0</scale>
|
||||
</reference>
|
||||
<output>
|
||||
<property>/it-autoflight/internal/target-fpm-b</property>
|
||||
</output>
|
||||
<config>
|
||||
<Kp>-50</Kp>
|
||||
<beta>1.0</beta>
|
||||
<alpha>0.1</alpha>
|
||||
<gamma>0.0</gamma>
|
||||
<Ti>2.5</Ti>
|
||||
<Td>0.001</Td>
|
||||
<u_min>
|
||||
<condition>
|
||||
<greater-than>
|
||||
<property>/it-autoflight/internal/prof-alt</property>
|
||||
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
</greater-than>
|
||||
</condition>
|
||||
<value>150</value>
|
||||
</u_min>
|
||||
<u_min>
|
||||
<condition>
|
||||
<less-than>
|
||||
<property>/it-autoflight/internal/prof-alt</property>
|
||||
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
</less-than>
|
||||
</condition>
|
||||
<value>-6000</value>
|
||||
</u_min>
|
||||
<u_max>
|
||||
<condition>
|
||||
<greater-than>
|
||||
<property>/it-autoflight/internal/prof-alt</property>
|
||||
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
</greater-than>
|
||||
</condition>
|
||||
<value>10000</value>
|
||||
</u_max>
|
||||
<u_max>
|
||||
<condition>
|
||||
<less-than>
|
||||
<property>/it-autoflight/internal/prof-alt</property>
|
||||
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
</less-than>
|
||||
</condition>
|
||||
<value>-150</value>
|
||||
</u_max>
|
||||
</config>
|
||||
</pid-controller>
|
||||
|
||||
<filter>
|
||||
<name>AUTOLAND FPM</name>
|
||||
<type>gain</type>
|
||||
|
@ -1062,10 +947,6 @@
|
|||
<property>/it-autoflight/output/vert</property>
|
||||
<value>7</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>8</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
</enable>
|
||||
|
@ -1104,37 +985,11 @@
|
|||
<property>/it-autoflight/output/vert</property>
|
||||
<value>7</value>
|
||||
</equals>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>8</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/prof-vert</property>
|
||||
<value>4</value>
|
||||
</equals>
|
||||
</and>
|
||||
</or>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/target-fpm-b</property>
|
||||
<scale>0.16667</scale>
|
||||
</reference>
|
||||
<reference>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/vert</property>
|
||||
<value>8</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/it-autoflight/output/prof-vert</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<property>/it-autoflight/internal/prof-fpm</property>
|
||||
<scale>0.16667</scale>
|
||||
</reference>
|
||||
<reference>
|
||||
<condition>
|
||||
<equals>
|
||||
|
@ -1262,7 +1117,7 @@
|
|||
</input>
|
||||
<output>/it-autoflight/internal/target-pitch</output>
|
||||
<type>noise-spike</type>
|
||||
<max-rate-of-change>6</max-rate-of-change>
|
||||
<max-rate-of-change>3</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<pid-controller>
|
||||
|
@ -1337,7 +1192,7 @@
|
|||
</input>
|
||||
<output>/controls/flight/elevator</output>
|
||||
<type>noise-spike</type>
|
||||
<max-rate-of-change>0.4</max-rate-of-change>
|
||||
<max-rate-of-change>0.2</max-rate-of-change>
|
||||
</filter>
|
||||
|
||||
<!-- =============================================================== -->
|
||||
|
@ -1599,7 +1454,6 @@
|
|||
<max>30</max>
|
||||
</filter>
|
||||
|
||||
|
||||
<filter>
|
||||
<name>FD: PITCH</name>
|
||||
<debug>false</debug>
|
||||
|
|
Reference in a new issue