From 2ec1aab0ae9232610549c270c4cc6c3ddbe51eb7 Mon Sep 17 00:00:00 2001 From: Joshua Davidson <joshuadavidson2000@gmail.com> Date: Thu, 21 Dec 2017 09:20:33 -0500 Subject: [PATCH] A3XX: Minor FMGC optimization --- Nasal/FMGC-b.nas | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/Nasal/FMGC-b.nas b/Nasal/FMGC-b.nas index 4ce975ea..9113f966 100644 --- a/Nasal/FMGC-b.nas +++ b/Nasal/FMGC-b.nas @@ -245,15 +245,7 @@ var lateral = func { setprop("/it-autoflight/mode/arm", " "); } else if (latset == 1) { if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1 and getprop("/position/gear-agl-ft") >= 30) { - alandt.stop(); - alandt1.stop(); - setprop("/it-autoflight/input/lat-arm", 0); - setprop("/it-autoflight/output/loc-armed", 0); - setprop("/it-autoflight/output/appr-armed", 0); - setprop("/it-autoflight/output/lat", 1); - setprop("/it-autoflight/mode/lat", "LNAV"); - setprop("/it-autoflight/mode/arm", " "); - setprop("/it-autoflight/custom/show-hdg", 0); + make_lnav_active(); } else { setprop("/it-autoflight/input/lat-arm", 1); setprop("/it-autoflight/mode/arm", "LNV"); @@ -674,15 +666,6 @@ setlistener("/it-autoflight/input/kts-mach", func { # Takeoff Modes # Lat Active -var latarms = func { - if () { - if (getprop("/it-autoflight/input/lat-arm") == 1) { - setprop("/it-autoflight/input/lat", getprop("/it-autoflight/input/lat-arm")); - setprop("/it-autoflight/input/lat-arm", 0); - } - } -} - # TOGA setlistener("/it-autoflight/input/toga", func { if (getprop("/it-autoflight/input/toga") == 1) { @@ -880,15 +863,7 @@ var check_arms = func { var update_arms = func { if (getprop("/it-autoflight/input/lat-arm") == 1 and getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1 and getprop("/position/gear-agl-ft") >= 30) { - alandt.stop(); - alandt1.stop(); - setprop("/it-autoflight/input/lat-arm", 0); - setprop("/it-autoflight/output/loc-armed", 0); - setprop("/it-autoflight/output/appr-armed", 0); - setprop("/it-autoflight/output/lat", 1); - setprop("/it-autoflight/mode/lat", "LNAV"); - setprop("/it-autoflight/mode/arm", " "); - setprop("/it-autoflight/custom/show-hdg", 0); + make_lnav_active(); } if (getprop("/instrumentation/nav[0]/in-range") == 1) { if (getprop("/it-autoflight/output/loc-armed")) { @@ -910,6 +885,18 @@ var update_arms = func { } } +var make_lnav_active = func { + alandt.stop(); + alandt1.stop(); + setprop("/it-autoflight/input/lat-arm", 0); + setprop("/it-autoflight/output/loc-armed", 0); + setprop("/it-autoflight/output/appr-armed", 0); + setprop("/it-autoflight/output/lat", 1); + setprop("/it-autoflight/mode/lat", "LNAV"); + setprop("/it-autoflight/mode/arm", " "); + setprop("/it-autoflight/custom/show-hdg", 0); +} + var make_loc_active = func { setprop("/it-autoflight/output/loc-armed", 0); setprop("/it-autoflight/output/lat", 2);