From 52e636a2d2d3c692ec9546451c9fc8a4b5665a10 Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Fri, 12 May 2017 18:25:42 -0400 Subject: [PATCH] ITAF Update --- A320-main.xml | 4 +- Models/Liveries/A321/WTF.xml | 2 +- Nasal/it-autoflight.nas | 86 +++++----- Systems/it-autoflight.xml | 303 ++++++++++++++++------------------- Systems/it-fbw-b.xml | 24 --- 5 files changed, 184 insertions(+), 235 deletions(-) diff --git a/A320-main.xml b/A320-main.xml index d0065ec7..239deedd 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -301,9 +301,7 @@ -0.9 1.6 -4.0 - 0.025 - 0.05 - 0.10 + 0.01 0.30 0.10 diff --git a/Models/Liveries/A321/WTF.xml b/Models/Liveries/A321/WTF.xml index ba3dea0a..3dd3041d 100644 --- a/Models/Liveries/A321/WTF.xml +++ b/Models/Liveries/A321/WTF.xml @@ -4,7 +4,7 @@ - it0uchpods VIP aircraft + WTF Force One Liveries/A321/WTF.png diff --git a/Nasal/it-autoflight.nas b/Nasal/it-autoflight.nas index af5ac504..1d2a33bd 100644 --- a/Nasal/it-autoflight.nas +++ b/Nasal/it-autoflight.nas @@ -1,6 +1,6 @@ # IT AUTOFLIGHT System Controller # Joshua Davidson (it0uchpods) -# V3.0.0 Build 173 +# V3.0.0 Build 180 # This program is 100% GPL! print("IT-AUTOFLIGHT: Please Wait!"); @@ -37,12 +37,10 @@ var ap_init = func { setprop("/it-autoflight/output/lat", 5); setprop("/it-autoflight/output/vert", 7); setprop("/it-autoflight/output/prof-vert", 4); - setprop("/it-autoflight/settings/min-pitch", -8); - setprop("/it-autoflight/settings/max-pitch", 8); setprop("/it-autoflight/settings/use-nav2-radio", 0); setprop("/it-autoflight/settings/use-backcourse", 0); - setprop("/it-autoflight/internal/min-pitch", -8); - setprop("/it-autoflight/internal/max-pitch", 8); + 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); @@ -309,11 +307,11 @@ var vertical = func { var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft"); var alt = getprop("/it-autoflight/internal/alt"); var dif = calt - alt; - var pitchdeg = getprop("/it-autoflight/internal/target-pitch"); + var vsnow = getprop("/it-autoflight/internal/vert-speed-fpm"); if (calt < alt) { - setprop("/it-autoflight/internal/max-pitch", pitchdeg); + setprop("/it-autoflight/internal/max-vs", vsnow); } else if (calt > alt) { - setprop("/it-autoflight/internal/min-pitch", pitchdeg); + setprop("/it-autoflight/internal/min-vs", vsnow); } minmaxtimer.start(); thrustmode(); @@ -435,8 +433,8 @@ var alt_on = func { setprop("/it-autoflight/output/appr-armed", 0); setprop("/it-autoflight/output/vert", 0); setprop("/it-autoflight/mode/vert", "ALT CAP"); - setprop("/it-autoflight/internal/max-pitch", 8); - setprop("/it-autoflight/internal/min-pitch", -5); + setprop("/it-autoflight/internal/max-vs", 500); + setprop("/it-autoflight/internal/min-vs", -500); minmaxtimer.start(); } @@ -561,26 +559,26 @@ var altcapt = func { 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", 150); - setprop("/it-autoflight/internal/captvsneg", -150); - } else if ((vsnow >= 1000 and vsnow < 1500) or (vsnow < -1000 and vsnow > -1500)) { setprop("/it-autoflight/internal/captvs", 200); setprop("/it-autoflight/internal/captvsneg", -200); - } else if ((vsnow >= 1500 and vsnow < 2000) or (vsnow < -1500 and vsnow > -2000)) { + } 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", 450); - setprop("/it-autoflight/internal/captvsneg", -450); + 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", 650); - setprop("/it-autoflight/internal/captvsneg", -650); + 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", 1000); - setprop("/it-autoflight/internal/captvsneg", -1000); + setprop("/it-autoflight/internal/captvs", 1200); + setprop("/it-autoflight/internal/captvsneg", -1200); } else if ((vsnow >= 5000) or (vsnow < -5000)) { - setprop("/it-autoflight/internal/captvs", 1250); - setprop("/it-autoflight/internal/captvsneg", -1250); + setprop("/it-autoflight/internal/captvs", 1500); + setprop("/it-autoflight/internal/captvsneg", -1500); } var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft"); var alt = getprop("/it-autoflight/internal/alt"); @@ -604,8 +602,8 @@ var minmax = func { var alt = getprop("/it-autoflight/internal/alt"); var dif = calt - alt; if (dif < 50 and dif > -50) { - setprop("/it-autoflight/internal/max-pitch", 8); - setprop("/it-autoflight/internal/min-pitch", -5); + setprop("/it-autoflight/internal/max-vs", 500); + setprop("/it-autoflight/internal/min-vs", -500); var vertmode = getprop("/it-autoflight/output/vert"); if (vertmode == 1 or vertmode == 2 or vertmode == 4 or vertmode == 5 or vertmode == 6 or vertmode == 7) { # Do not change the vertical mode because we are not trying to capture altitude. @@ -937,7 +935,7 @@ var vnav_des_tod = func { 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 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")) { @@ -992,8 +990,8 @@ var vnav_alt_selector = func { # VNAV Selector var vnav_alt_sel = func { - setprop("/it-autoflight/internal/max-pitch", 8); - setprop("/it-autoflight/internal/min-pitch", -5); + 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"); @@ -1043,26 +1041,26 @@ var vnav_altcapt = func { 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", 150); - setprop("/it-autoflight/internal/captvsneg", -150); - } else if ((vsnow >= 1000 and vsnow < 1500) or (vsnow < -1000 and vsnow > -1500)) { setprop("/it-autoflight/internal/captvs", 200); setprop("/it-autoflight/internal/captvsneg", -200); - } else if ((vsnow >= 1500 and vsnow < 2000) or (vsnow < -1500 and vsnow > -2000)) { + } 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", 450); - setprop("/it-autoflight/internal/captvsneg", -450); + 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", 650); - setprop("/it-autoflight/internal/captvsneg", -650); + 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", 1000); - setprop("/it-autoflight/internal/captvsneg", -1000); + setprop("/it-autoflight/internal/captvs", 1200); + setprop("/it-autoflight/internal/captvsneg", -1200); } else if ((vsnow >= 5000) or (vsnow < -5000)) { - setprop("/it-autoflight/internal/captvs", 1250); - setprop("/it-autoflight/internal/captvsneg", -1250); + 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"); @@ -1078,11 +1076,11 @@ var vnav_capture_alt = func { var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft"); var alt = getprop("/it-autoflight/internal/alt"); var valt = getprop("/it-autoflight/internal/prof-alt"); - var pitchdeg = getprop("/orientation/pitch-deg"); + var vsnow = getprop("/it-autoflight/internal/vert-speed-fpm"); if (calt < valt) { - setprop("/it-autoflight/internal/max-pitch", pitchdeg); + setprop("/it-autoflight/internal/max-vs", vsnow); } else if (calt > valt) { - setprop("/it-autoflight/internal/min-pitch", pitchdeg); + setprop("/it-autoflight/internal/min-vs", vsnow); } vnav_minmaxt.start(); setprop("/it-autoflight/output/thr-mode", 0); @@ -1097,8 +1095,8 @@ var vnav_minmax = func { var valt = getprop("/it-autoflight/internal/prof-alt"); var vdif = calt - valt; if (vdif < 50 and vdif > -50) { - setprop("/it-autoflight/internal/max-pitch", 8); - setprop("/it-autoflight/internal/min-pitch", -5); + 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"); diff --git a/Systems/it-autoflight.xml b/Systems/it-autoflight.xml index d6b048a8..0f3c0024 100644 --- a/Systems/it-autoflight.xml +++ b/Systems/it-autoflight.xml @@ -14,7 +14,7 @@ /instrumentation/altimeter/indicated-altitude-ft /it-autoflight/internal/altitude-5-sec-ahead 5.0 - 0.1 + 0.0 @@ -214,7 +214,34 @@ gain /velocities/vertical-speed-fps /it-autoflight/internal/vert-speed-fpm - 55 + 55.5 + + + + INTERNAL VERTICAL SPEED COMPUTER + false + gain + + + + + /it-autoflight/output/vert + 4 + + + /it-autoflight/output/vert + 7 + + + /it-autoflight/output/vert + 8 + + + + + /velocities/vertical-speed-fps + /it-autoflight/internal/target-fpm-b + 55.5 @@ -563,38 +590,19 @@ - + ALTITUDE CAPTURE/HOLD false - - - - - /it-autoflight/output/vert - 0 - - - - /it-autoflight/output/vert - 8 - - - /it-autoflight/output/prof-vert - 0 - - - - - + gain /it-autoflight/internal/altitude-5-sec-ahead - + /it-autoflight/output/vert - 0 - + 8 + /it-autoflight/internal/alt @@ -607,27 +615,18 @@ /it-autoflight/internal/prof-alt + -8 - /it-autoflight/internal/target-pitch-deg + /it-autoflight/internal/target-fpm - - - /it-autoflight/config/cmd/alt - - 1.0 - 0.5 - 0.0 - 5.0 - 0.00001 - - /it-autoflight/internal/min-pitch - - - /it-autoflight/internal/max-pitch - - - - + + /it-autoflight/internal/min-vs + + + /it-autoflight/internal/max-vs + + + FPA HOLD false @@ -756,16 +755,10 @@ false - - - /it-autoflight/output/vert - 7 - - - /it-autoflight/output/vert - 8 - - + + /it-autoflight/output/vert + 4 + @@ -785,7 +778,7 @@ /it-autoflight/internal/lookahead-10-sec-mach - 500.0 + 350.0 @@ -804,18 +797,18 @@ /it-autoflight/input/spd-mach - 500.0 + 350.0 - /it-autoflight/internal/target-fps + /it-autoflight/internal/target-fpm-b - -4.0 + -70 1.0 0.1 0.0 - 10.0 - 0.00001 + 2.5 + 0.001 @@ -823,16 +816,16 @@ /instrumentation/altimeter/indicated-altitude-ft - 1.6 + 100 - + /it-autoflight/internal/alt /instrumentation/altimeter/indicated-altitude-ft - -100 + -6000 @@ -841,7 +834,7 @@ /instrumentation/altimeter/indicated-altitude-ft - 166 + 10000 @@ -850,7 +843,7 @@ /instrumentation/altimeter/indicated-altitude-ft - -1.6 + -100 @@ -867,7 +860,7 @@ - /it-autoflight/internal/lookahead-10-sec-airspeed-kt + /it-autoflight/internal/lookahead-5-sec-airspeed-kt @@ -888,20 +881,20 @@ /it-autoflight/input/spd-kts - /it-autoflight/internal/target-fps + /it-autoflight/internal/target-fpm-b - -4.0 + -70 1.0 0.1 0.0 - 10.0 - 0.00001 + 2.5 + 0.001 - 1.6 + 100 - 166 + 10000 @@ -934,7 +927,7 @@ /it-autoflight/internal/lookahead-10-sec-mach - 500.0 + 350.0 @@ -953,18 +946,18 @@ /it-autoflight/input/spd-mach - 500.0 + 350.0 - /it-autoflight/internal/target-fps + /it-autoflight/internal/target-fpm-b - -4.0 + -70 1.0 0.1 0.0 - 10.0 - 0.00001 + 2.5 + 0.001 @@ -972,7 +965,7 @@ /instrumentation/altimeter/indicated-altitude-ft - 1.6 + 100 @@ -981,56 +974,72 @@ /instrumentation/altimeter/indicated-altitude-ft + -6000 + + + + + /it-autoflight/internal/prof-alt + /instrumentation/altimeter/indicated-altitude-ft + + + 10000 + + + + + /it-autoflight/internal/prof-alt + /instrumentation/altimeter/indicated-altitude-ft + + -100 - - - - - /it-autoflight/internal/prof-alt - /instrumentation/altimeter/indicated-altitude-ft - - - 166 - - - - - /it-autoflight/internal/prof-alt - /instrumentation/altimeter/indicated-altitude-ft - - - -1.6 - V/S HOLD + FPM HOLD false + + /it-autoflight/output/vert + 0 + /it-autoflight/output/vert 1 - - - /it-autoflight/output/vert - 8 - - - /it-autoflight/output/prof-vert - 1 - - + + /it-autoflight/output/vert + 4 + + + /it-autoflight/output/vert + 7 + + + /it-autoflight/output/vert + 8 + /it-autoflight/internal/vert-speed-fpm - 0.01666666 + 0.16667 + + + + /it-autoflight/output/vert + 0 + + + /it-autoflight/internal/target-fpm + 0.16667 + @@ -1039,49 +1048,9 @@ /it-autoflight/input/vs - 0.01666666 + 0.16667 - - - - /it-autoflight/output/vert - 8 - - - /it-autoflight/output/prof-vert - 1 - - - - /it-autoflight/internal/prof-fpm - 0.01666666 - - - /it-autoflight/internal/target-pitch-deg - - - - /it-autoflight/config/cmd/vs - - 1.0 - 0.1 - 0.0 - 1.0 - 0.00001 - - -10 - - - 30 - - - - - - V/S HOLD - false - @@ -1104,26 +1073,34 @@ - - - /instrumentation/vertical-speed-indicator/indicated-speed-fpm - 0.01666666 - + /it-autoflight/internal/target-fpm-b + 0.16667 + - /it-autoflight/internal/target-fps + + + + /it-autoflight/output/vert + 8 + + + /it-autoflight/output/prof-vert + 1 + + + + /it-autoflight/internal/prof-fpm + 0.16667 /it-autoflight/internal/target-pitch-deg - /it-autoflight/config/cmd/flch-vs + /it-autoflight/config/cmd/vs - 1.0 - 0.1 - 0.0 - 5.0 - 0.00001 + 2.5 + 0.001 -10 diff --git a/Systems/it-fbw-b.xml b/Systems/it-fbw-b.xml index 9a1cf98a..6665c89e 100644 --- a/Systems/it-fbw-b.xml +++ b/Systems/it-fbw-b.xml @@ -508,14 +508,6 @@ - - /it-autoflight/output/ap1 - 0 - - - /it-autoflight/output/ap2 - 0 - /gear/gear[1]/wow 0 @@ -564,14 +556,6 @@ - - /it-autoflight/output/ap1 - 0 - - - /it-autoflight/output/ap2 - 0 - /gear/gear[1]/wow 0 @@ -603,14 +587,6 @@ - - /it-autoflight/output/ap1 - 1 - - - /it-autoflight/output/ap2 - 1 - /gear/gear[1]/wow 1