diff --git a/A320-main.xml b/A320-main.xml index 5d0a042c..34e1d157 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -23,10 +23,17 @@ 0 + + + + exterior + true + Splash/Splash1.png + + - Aircraft/A320Family/Splash/splash.png - Aircraft/A320Family/Splash/splash1.png + Aircraft/A320Family/Splash/SplashOld.png @@ -537,22 +544,18 @@ - + - - FCTL + FCTL - - - FCTL + FCTL - diff --git a/Models/Instruments/MCDU1/RADNAV/RADNAV.xml b/Models/Instruments/MCDU1/RADNAV/RADNAV.xml index c60b21d6..878a9e9b 100644 --- a/Models/Instruments/MCDU1/RADNAV/RADNAV.xml +++ b/Models/Instruments/MCDU1/RADNAV/RADNAV.xml @@ -67,19 +67,58 @@ left-center yz-plane text-value - XXX/XXX.XX + %s false BoeingCDU-Large.ttf - autopilot/serviceable + /FMGC/internal/vor1-mcdu true false false - 0.0055 + 0.0045 64 64 + + vor1freq3 + + -0.001 + -0.042 + 0.0705 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /FMGC/internal/vor1-mcdu + true + false + false + 0.0050 + + 64 + 64 + + + + + select + vor1freq2 + + /FMGC/internal/vor1freq-set + + + + + select + vor1freq3 + + /FMGC/internal/vor1freq-set + + vor2freq @@ -114,19 +153,58 @@ right-center yz-plane text-value - XXX.XX/XXX + %s false BoeingCDU-Large.ttf - autopilot/serviceable + /FMGC/internal/vor2-mcdu true false false - 0.0055 + 0.0045 64 64 + + vor2freq3 + + -0.001 + 0.041 + 0.0705 + + right-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /FMGC/internal/vor2-mcdu + true + false + false + 0.0050 + + 64 + 64 + + + + + select + vor2freq2 + + /FMGC/internal/vor2freq-set + + + + + select + vor2freq3 + + /FMGC/internal/vor2freq-set + + crs1 @@ -174,6 +252,45 @@ 64 + + crs13 + + -0.001 + -0.045 + 0.061 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /instrumentation/nav[0]/radials/selected-deg + true + false + false + 0.0050 + + 64 + 64 + + + + + select + crs12 + + /FMGC/internal/vor1crs-set + + + + + select + crs13 + + /FMGC/internal/vor1crs-set + + crs2 @@ -221,6 +338,45 @@ 64 + + crs23 + + -0.001 + 0.044 + 0.061 + + right-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /instrumentation/nav[1]/radials/selected-deg + true + false + false + 0.0050 + + 64 + 64 + + + + + select + crs22 + + /FMGC/internal/vor2crs-set + + + + + select + crs23 + + /FMGC/internal/vor2crs-set + + ilsfreq @@ -255,19 +411,58 @@ left-center yz-plane text-value - XXX/XXX.XX + %s false BoeingCDU-Large.ttf - autopilot/serviceable + /FMGC/internal/ils-mcdu true false false - 0.0055 + 0.0045 64 64 + + ilsfreq3 + + -0.001 + -0.042 + 0.0505 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /FMGC/internal/ils-mcdu + true + false + false + 0.0050 + + 64 + 64 + + + + + select + ilsfreq2 + + /FMGC/internal/vor1freq-set + + + + + select + ilsfreq3 + + /FMGC/internal/vor1freq-set + + chanmls @@ -362,6 +557,45 @@ 64 + + ilscrs13 + + -0.001 + -0.045 + 0.0395 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /instrumentation/nav[0]/radials/selected-deg + true + false + false + 0.0050 + + 64 + 64 + + + + + select + ilscrs12 + + /FMGC/internal/vor1crs-set + + + + + select + ilscrs13 + + /FMGC/internal/vor1crs-set + + slopecrs @@ -467,14 +701,14 @@ left-center yz-plane text-value - [ ]/[ .] + [ ]/[ . ] false helvetica_medium.txf autopilot/serviceable true false false - 0.0045 + 0.0040 64 64 @@ -514,14 +748,14 @@ right-center yz-plane text-value - [ .]/[ ] + [ . ]/[ ] false helvetica_medium.txf autopilot/serviceable true false false - 0.0045 + 0.0040 64 64 @@ -566,42 +800,19 @@ - - - material - engtype - activedata3 - idleperf2 - - 0.2 - 0.4 - 0.2 - - - 0 - 0 - 0 - - - 0 - 0 - 0 - - - 0.2 - 0.4 - 0.2 - - - material vor1freq2 + vor1freq3 vor2freq2 + vor2freq3 crs12 + crs13 crs22 + crs23 ilsfreq2 + ilsfreq3 chanmls2 ilscrs12 mlscrs2 diff --git a/Models/Instruments/MCDU2/RADNAV/RADNAV.xml b/Models/Instruments/MCDU2/RADNAV/RADNAV.xml index c60b21d6..878a9e9b 100644 --- a/Models/Instruments/MCDU2/RADNAV/RADNAV.xml +++ b/Models/Instruments/MCDU2/RADNAV/RADNAV.xml @@ -67,19 +67,58 @@ left-center yz-plane text-value - XXX/XXX.XX + %s false BoeingCDU-Large.ttf - autopilot/serviceable + /FMGC/internal/vor1-mcdu true false false - 0.0055 + 0.0045 64 64 + + vor1freq3 + + -0.001 + -0.042 + 0.0705 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /FMGC/internal/vor1-mcdu + true + false + false + 0.0050 + + 64 + 64 + + + + + select + vor1freq2 + + /FMGC/internal/vor1freq-set + + + + + select + vor1freq3 + + /FMGC/internal/vor1freq-set + + vor2freq @@ -114,19 +153,58 @@ right-center yz-plane text-value - XXX.XX/XXX + %s false BoeingCDU-Large.ttf - autopilot/serviceable + /FMGC/internal/vor2-mcdu true false false - 0.0055 + 0.0045 64 64 + + vor2freq3 + + -0.001 + 0.041 + 0.0705 + + right-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /FMGC/internal/vor2-mcdu + true + false + false + 0.0050 + + 64 + 64 + + + + + select + vor2freq2 + + /FMGC/internal/vor2freq-set + + + + + select + vor2freq3 + + /FMGC/internal/vor2freq-set + + crs1 @@ -174,6 +252,45 @@ 64 + + crs13 + + -0.001 + -0.045 + 0.061 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /instrumentation/nav[0]/radials/selected-deg + true + false + false + 0.0050 + + 64 + 64 + + + + + select + crs12 + + /FMGC/internal/vor1crs-set + + + + + select + crs13 + + /FMGC/internal/vor1crs-set + + crs2 @@ -221,6 +338,45 @@ 64 + + crs23 + + -0.001 + 0.044 + 0.061 + + right-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /instrumentation/nav[1]/radials/selected-deg + true + false + false + 0.0050 + + 64 + 64 + + + + + select + crs22 + + /FMGC/internal/vor2crs-set + + + + + select + crs23 + + /FMGC/internal/vor2crs-set + + ilsfreq @@ -255,19 +411,58 @@ left-center yz-plane text-value - XXX/XXX.XX + %s false BoeingCDU-Large.ttf - autopilot/serviceable + /FMGC/internal/ils-mcdu true false false - 0.0055 + 0.0045 64 64 + + ilsfreq3 + + -0.001 + -0.042 + 0.0505 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /FMGC/internal/ils-mcdu + true + false + false + 0.0050 + + 64 + 64 + + + + + select + ilsfreq2 + + /FMGC/internal/vor1freq-set + + + + + select + ilsfreq3 + + /FMGC/internal/vor1freq-set + + chanmls @@ -362,6 +557,45 @@ 64 + + ilscrs13 + + -0.001 + -0.045 + 0.0395 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /instrumentation/nav[0]/radials/selected-deg + true + false + false + 0.0050 + + 64 + 64 + + + + + select + ilscrs12 + + /FMGC/internal/vor1crs-set + + + + + select + ilscrs13 + + /FMGC/internal/vor1crs-set + + slopecrs @@ -467,14 +701,14 @@ left-center yz-plane text-value - [ ]/[ .] + [ ]/[ . ] false helvetica_medium.txf autopilot/serviceable true false false - 0.0045 + 0.0040 64 64 @@ -514,14 +748,14 @@ right-center yz-plane text-value - [ .]/[ ] + [ . ]/[ ] false helvetica_medium.txf autopilot/serviceable true false false - 0.0045 + 0.0040 64 64 @@ -566,42 +800,19 @@ - - - material - engtype - activedata3 - idleperf2 - - 0.2 - 0.4 - 0.2 - - - 0 - 0 - 0 - - - 0 - 0 - 0 - - - 0.2 - 0.4 - 0.2 - - - material vor1freq2 + vor1freq3 vor2freq2 + vor2freq3 crs12 + crs13 crs22 + crs23 ilsfreq2 + ilsfreq3 chanmls2 ilscrs12 mlscrs2 diff --git a/Models/Liveries/A320/IAE/OPRF_Combat_Ready.png b/Models/Liveries/A320/IAE/OPRF_Combat_Ready.png new file mode 100644 index 00000000..ed9d8c7e Binary files /dev/null and b/Models/Liveries/A320/IAE/OPRF_Combat_Ready.png differ diff --git a/Models/Liveries/A320/IAE/OPRF_Combat_Ready.xml b/Models/Liveries/A320/IAE/OPRF_Combat_Ready.xml new file mode 100644 index 00000000..8eb76150 --- /dev/null +++ b/Models/Liveries/A320/IAE/OPRF_Combat_Ready.xml @@ -0,0 +1,18 @@ + + + + + + + OPRF Combat Ready + Liveries/A320/IAE/OPRF Combat Ready.png + + + + + + 1 + + + 0 + diff --git a/Nasal/FMGC.nas b/Nasal/FMGC.nas index 1cf0b528..95c010a5 100644 --- a/Nasal/FMGC.nas +++ b/Nasal/FMGC.nas @@ -15,6 +15,11 @@ setprop("/FMGC/internal/mach-switchover", 0); setprop("/it-autoflight/settings/reduc-agl-ft", 3000); setprop("/it-autoflight/internal/vert-speed-fpm", 0); setprop("/it-autoflight/output/fma-pwr", 0); +setprop("/instrumentation/nav[0]/nav-id", "XXX"); +setprop("/instrumentation/nav[1]/nav-id", "XXX"); +setprop("/FMGC/internal/ils-mcdu", "XXX/999.99"); +setprop("/FMGC/internal/vor1-mcdu", "XXX/999.99"); +setprop("/FMGC/internal/vor2-mcdu", "999.99/XXX"); var FMGCinit = func { setprop("/FMGC/status/to-state", 0); @@ -27,6 +32,7 @@ var FMGCinit = func { setprop("/FMGC/internal/mach-switchover", 0); setprop("/it-autoflight/settings/reduc-agl-ft", 3000); setprop("/FMGC/internal/decel", 0); + setprop("/FMGC/internal/loc-source", "NAV0"); phasecheck.start(); various.start(); } @@ -185,8 +191,38 @@ var various = maketimer(1, func { } else { setprop("/it-autoflight/settings/reduc-agl-ft", getprop("/FMGC/internal/reduc-agl-ft")); } + nav0(); + nav1(); }); +var nav0 = func { + var freqnav0uf = getprop("/instrumentation/nav[0]/frequencies/selected-mhz"); + var freqnav0 = sprintf("%.2f", freqnav0uf); + var namenav0 = getprop("/instrumentation/nav[0]/nav-id"); + if (freqnav0 >= 108.10 and freqnav0 <= 117.95) { + if (namenav0 != "") { + setprop("/FMGC/internal/ils-mcdu", namenav0 ~ "/" ~ freqnav0); + setprop("/FMGC/internal/vor1-mcdu", namenav0 ~ "/" ~ freqnav0); + } else { + setprop("/FMGC/internal/ils-mcdu", freqnav0); + setprop("/FMGC/internal/vor1-mcdu", freqnav0); + } + } +} + +var nav1 = func { + var freqnav1uf = getprop("/instrumentation/nav[1]/frequencies/selected-mhz"); + var freqnav1 = sprintf("%.2f", freqnav1uf); + var namenav1 = getprop("/instrumentation/nav[1]/nav-id"); + if (freqnav1 >= 108.10 and freqnav1 <= 117.95) { + if (namenav1 != "") { + setprop("/FMGC/internal/vor2-mcdu", namenav1 ~ "/" ~ freqnav1); + } else { + setprop("/FMGC/internal/vor2-mcdu", freqnav1); + } + } +} + ################# # Managed Speed # ################# @@ -342,7 +378,6 @@ var APinit = func { setprop("/it-autoflight/output/lat", 5); setprop("/it-autoflight/output/vert", 7); setprop("/it-autoflight/output/fma-pwr", 0); - 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); @@ -591,7 +626,6 @@ var vertical = func { # Do nothing because G/S or LAND or FLARE is active } else { setprop("/instrumentation/nav[0]/gs-rate-of-climb", 0); - setprop("/instrumentation/nav[1]/gs-rate-of-climb", 0); setprop("/it-autoflight/output/appr-armed", 1); setprop("/it-autoflight/mode/arm", "ILS"); } @@ -937,9 +971,9 @@ var update_apparmelec = func { var locarmcheck = func { var locdefl = getprop("instrumentation/nav[0]/heading-needle-deflection-norm"); var locdefl_b = getprop("instrumentation/nav[1]/heading-needle-deflection-norm"); - if ((locdefl < 0.9233) and (getprop("instrumentation/nav[0]/signal-quality-norm") > 0.99) and (getprop("/it-autoflight/settings/use-nav2-radio") == 0)) { + if ((locdefl < 0.9233) and (getprop("instrumentation/nav[0]/signal-quality-norm") > 0.99) and (getprop("/FMGC/internal/loc-source") == "NAV0")) { make_loc_active(); - } else if ((locdefl_b < 0.9233) and (getprop("instrumentation/nav[1]/signal-quality-norm") > 0.99) and (getprop("/it-autoflight/settings/use-nav2-radio") == 1)) { + } else if ((locdefl_b < 0.9233) and (getprop("instrumentation/nav[1]/signal-quality-norm") > 0.99) and (getprop("/FMGC/internal/loc-source") == "NAV1")) { make_loc_active(); } else { return 0; @@ -959,10 +993,7 @@ var make_loc_active = func { var apparmcheck = func { var signal = getprop("/instrumentation/nav[0]/gs-needle-deflection-norm"); - var signal_b = getprop("/instrumentation/nav[1]/gs-needle-deflection-norm"); - if ((signal <= -0.000000001) and (getprop("/it-autoflight/settings/use-nav2-radio") == 0) and (getprop("/it-autoflight/output/lat") == 2)) { - make_appr_active(); - } else if ((signal_b <= -0.000000001) and (getprop("/it-autoflight/settings/use-nav2-radio") == 1) and (getprop("/it-autoflight/output/lat") == 2)) { + if ((signal <= -0.000000001) and (getprop("/FMGC/internal/loc-source") == "NAV0") and (getprop("/it-autoflight/output/lat") == 2)) { make_appr_active(); } else { return 0; diff --git a/Nasal/MCDU/MCDU1.nas b/Nasal/MCDU/MCDU1.nas index da17f313..d92a0c38 100644 --- a/Nasal/MCDU/MCDU1.nas +++ b/Nasal/MCDU/MCDU1.nas @@ -40,6 +40,10 @@ var MCDU_reset = func { setprop("/FMGC/internal/cruise-lvl-set", 0); setprop("/FMGC/internal/flap-ths-set", 0); setprop("/FMGC/internal/flex-set", 0); + setprop("/FMGC/internal/vor1freq-set", 0); + setprop("/FMGC/internal/vor1crs-set", 0); + setprop("/FMGC/internal/vor2freq-set", 0); + setprop("/FMGC/internal/vor2crs-set", 0); } var lskbutton = func(btn) { @@ -50,24 +54,32 @@ var lskbutton = func(btn) { setprop("/MCDU[0]/scratchpad", "GPS PRIMARY"); } else if (getprop("/MCDU[0]/page") == "TO") { PerfTOInput("L1"); + } else if (getprop("/MCDU[0]/page") == "RADNAV") { + radnavInput("L1"); } } else if (btn == "2") { if (getprop("/MCDU[0]/page") == "INITA") { PerfInput("L2"); } else if (getprop("/MCDU[0]/page") == "TO") { PerfTOInput("L2"); + } else if (getprop("/MCDU[0]/page") == "RADNAV") { + radnavInput("L2"); } } else if (btn == "3") { if (getprop("/MCDU[0]/page") == "INITA") { initInputA("L3"); } else if (getprop("/MCDU[0]/page") == "TO") { PerfTOInput("L3"); + } else if (getprop("/MCDU[0]/page") == "RADNAV") { + radnavInput("L3"); } } else if (btn == "4") { if (getprop("/MCDU[0]/page") == "DATA") { setprop("/MCDU[0]/page", "STATUS"); } else if (getprop("/MCDU[0]/page") == "TO") { PerfTOInput("L4"); + } else if (getprop("/MCDU[0]/page") == "RADNAV") { + radnavInput("L4"); } } else if (btn == "5") { if (getprop("/MCDU[0]/page") == "INITA") { @@ -96,10 +108,14 @@ var rskbutton = func(btn) { if (btn == "1") { if (getprop("/MCDU[0]/page") == "INITA") { initInputA("R1"); + } else if (getprop("/MCDU[0]/page") == "RADNAV") { + radnavInput("R1"); } } else if (btn == "2") { if (getprop("/MCDU[0]/page") == "INITB") { initInputB("R2"); + } else if (getprop("/MCDU[0]/page") == "RADNAV") { + radnavInput("R2"); } } else if (btn == "3") { if (getprop("/MCDU[0]/page") == "INITA") { @@ -110,6 +126,8 @@ var rskbutton = func(btn) { } else if (btn == "4") { if (getprop("/MCDU[0]/page") == "TO") { PerfTOInput("R4"); + } else if (getprop("/MCDU[0]/page") == "RADNAV") { + radnavInput("R4"); } } else if (btn == "5") { if (getprop("/MCDU[0]/page") == "TO") { @@ -130,6 +148,163 @@ var rskbutton_b = func(btn) { # Special Middle Click Functions } +var radnavInput = func(key) { + var scratchpad = getprop("/MCDU[0]/scratchpad"); + if (key == "L1") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor1freq-set", 0); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3 or tfs == 5 or tfs == 6) { + if (scratchpad >= 108.10 and scratchpad <= 111.95) { + if (scratchpad == 108.10 or scratchpad == 108.15 or scratchpad == 108.30 or scratchpad == 108.35 or scratchpad == 108.50 or scratchpad == 108.55 or scratchpad == 108.70 or scratchpad == 108.75 or scratchpad == 108.90 or scratchpad == 108.95 + or scratchpad == 109.10 or scratchpad == 109.15 or scratchpad == 109.30 or scratchpad == 109.35 or scratchpad == 109.50 or scratchpad == 109.55 or scratchpad == 109.70 or scratchpad == 109.75 or scratchpad == 109.90 or scratchpad == 109.95 + or scratchpad == 110.10 or scratchpad == 110.15 or scratchpad == 110.30 or scratchpad == 110.35 or scratchpad == 110.50 or scratchpad == 110.55 or scratchpad == 110.70 or scratchpad == 110.75 or scratchpad == 110.90 or scratchpad == 110.95 + or scratchpad == 111.10 or scratchpad == 111.15 or scratchpad == 111.30 or scratchpad == 111.35 or scratchpad == 111.50 or scratchpad == 111.55 or scratchpad == 111.70 or scratchpad == 111.75 or scratchpad == 111.90 or scratchpad == 111.95) { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } else { + setprop("/instrumentation/nav[0]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor1freq-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } + } else if (scratchpad >= 112.00 and scratchpad <= 117.95) { + setprop("/instrumentation/nav[0]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor1freq-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "L2") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor1crs-set", 0); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs >= 1 and tfs <= 3) { + if (scratchpad >= 0 and scratchpad <= 360) { + setprop("/instrumentation/nav[0]/radials/selected-deg", scratchpad); + setprop("/FMGC/internal/vor1crs-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "L3") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor1freq-set", 0); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3 or tfs == 5 or tfs == 6) { + if (scratchpad >= 108.10 and scratchpad <= 111.95) { + if (scratchpad == 108.10 or scratchpad == 108.15 or scratchpad == 108.30 or scratchpad == 108.35 or scratchpad == 108.50 or scratchpad == 108.55 or scratchpad == 108.70 or scratchpad == 108.75 or scratchpad == 108.90 or scratchpad == 108.95 + or scratchpad == 109.10 or scratchpad == 109.15 or scratchpad == 109.30 or scratchpad == 109.35 or scratchpad == 109.50 or scratchpad == 109.55 or scratchpad == 109.70 or scratchpad == 109.75 or scratchpad == 109.90 or scratchpad == 109.95 + or scratchpad == 110.10 or scratchpad == 110.15 or scratchpad == 110.30 or scratchpad == 110.35 or scratchpad == 110.50 or scratchpad == 110.55 or scratchpad == 110.70 or scratchpad == 110.75 or scratchpad == 110.90 or scratchpad == 110.95 + or scratchpad == 111.10 or scratchpad == 111.15 or scratchpad == 111.30 or scratchpad == 111.35 or scratchpad == 111.50 or scratchpad == 111.55 or scratchpad == 111.70 or scratchpad == 111.75 or scratchpad == 111.90 or scratchpad == 111.95) { + setprop("/instrumentation/nav[0]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor1freq-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "L4") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor1crs-set", 0); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs >= 1 and tfs <= 3) { + if (scratchpad >= 0 and scratchpad <= 360) { + setprop("/instrumentation/nav[0]/radials/selected-deg", scratchpad); + setprop("/FMGC/internal/vor1crs-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "R1") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor2freq-set", 0); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3 or tfs == 5 or tfs == 6) { + if (scratchpad >= 108.10 and scratchpad <= 111.95) { + if (scratchpad == 108.10 or scratchpad == 108.15 or scratchpad == 108.30 or scratchpad == 108.35 or scratchpad == 108.50 or scratchpad == 108.55 or scratchpad == 108.70 or scratchpad == 108.75 or scratchpad == 108.90 or scratchpad == 108.95 + or scratchpad == 109.10 or scratchpad == 109.15 or scratchpad == 109.30 or scratchpad == 109.35 or scratchpad == 109.50 or scratchpad == 109.55 or scratchpad == 109.70 or scratchpad == 109.75 or scratchpad == 109.90 or scratchpad == 109.95 + or scratchpad == 110.10 or scratchpad == 110.15 or scratchpad == 110.30 or scratchpad == 110.35 or scratchpad == 110.50 or scratchpad == 110.55 or scratchpad == 110.70 or scratchpad == 110.75 or scratchpad == 110.90 or scratchpad == 110.95 + or scratchpad == 111.10 or scratchpad == 111.15 or scratchpad == 111.30 or scratchpad == 111.35 or scratchpad == 111.50 or scratchpad == 111.55 or scratchpad == 111.70 or scratchpad == 111.75 or scratchpad == 111.90 or scratchpad == 111.95) { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } else { + setprop("/instrumentation/nav[1]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor2freq-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } + } else if (scratchpad >= 112.00 and scratchpad <= 117.95) { + setprop("/instrumentation/nav[1]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor2freq-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "R2") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor2crs-set", 0); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs >= 1 and tfs <= 3) { + if (scratchpad >= 0 and scratchpad <= 360) { + setprop("/instrumentation/nav[1]/radials/selected-deg", scratchpad); + setprop("/FMGC/internal/vor2crs-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } + } +} + var initInputA = func(key) { var scratchpad = getprop("/MCDU[0]/scratchpad"); if (key == "L3") { diff --git a/Nasal/MCDU/MCDU2.nas b/Nasal/MCDU/MCDU2.nas index 7a777f39..a03d800d 100644 --- a/Nasal/MCDU/MCDU2.nas +++ b/Nasal/MCDU/MCDU2.nas @@ -40,6 +40,10 @@ var MCDU_reset = func { setprop("/FMGC/internal/cruise-lvl-set", 0); setprop("/FMGC/internal/flap-ths-set", 0); setprop("/FMGC/internal/flex-set", 0); + setprop("/FMGC/internal/vor1freq-set", 0); + setprop("/FMGC/internal/vor1crs-set", 0); + setprop("/FMGC/internal/vor2freq-set", 0); + setprop("/FMGC/internal/vor2crs-set", 0); } var lskbutton = func(btn) { @@ -50,24 +54,32 @@ var lskbutton = func(btn) { setprop("/MCDU[1]/scratchpad", "GPS PRIMARY"); } else if (getprop("/MCDU[1]/page") == "TO") { PerfTOInput("L1"); + } else if (getprop("/MCDU[1]/page") == "RADNAV") { + radnavInput("L1"); } } else if (btn == "2") { if (getprop("/MCDU[1]/page") == "INITA") { PerfInput("L2"); } else if (getprop("/MCDU[1]/page") == "TO") { PerfTOInput("L2"); + } else if (getprop("/MCDU[1]/page") == "RADNAV") { + radnavInput("L2"); } } else if (btn == "3") { if (getprop("/MCDU[1]/page") == "INITA") { initInputA("L3"); } else if (getprop("/MCDU[1]/page") == "TO") { PerfTOInput("L3"); + } else if (getprop("/MCDU[1]/page") == "RADNAV") { + radnavInput("L3"); } } else if (btn == "4") { if (getprop("/MCDU[1]/page") == "DATA") { setprop("/MCDU[1]/page", "STATUS"); } else if (getprop("/MCDU[1]/page") == "TO") { PerfTOInput("L4"); + } else if (getprop("/MCDU[1]/page") == "RADNAV") { + radnavInput("L4"); } } else if (btn == "5") { if (getprop("/MCDU[1]/page") == "INITA") { @@ -96,10 +108,14 @@ var rskbutton = func(btn) { if (btn == "1") { if (getprop("/MCDU[1]/page") == "INITA") { initInputA("R1"); + } else if (getprop("/MCDU[1]/page") == "RADNAV") { + radnavInput("R1"); } } else if (btn == "2") { if (getprop("/MCDU[1]/page") == "INITB") { initInputB("R2"); + } else if (getprop("/MCDU[1]/page") == "RADNAV") { + radnavInput("R2"); } } else if (btn == "3") { if (getprop("/MCDU[1]/page") == "INITA") { @@ -110,6 +126,8 @@ var rskbutton = func(btn) { } else if (btn == "4") { if (getprop("/MCDU[1]/page") == "TO") { PerfTOInput("R4"); + } else if (getprop("/MCDU[1]/page") == "RADNAV") { + radnavInput("R4"); } } else if (btn == "5") { if (getprop("/MCDU[1]/page") == "TO") { @@ -130,6 +148,163 @@ var rskbutton_b = func(btn) { # Special Middle Click Functions } +var radnavInput = func(key) { + var scratchpad = getprop("/MCDU[1]/scratchpad"); + if (key == "L1") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor1freq-set", 0); + setprop("/MCDU[1]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3 or tfs == 5 or tfs == 6) { + if (scratchpad >= 108.10 and scratchpad <= 111.95) { + if (scratchpad == 108.10 or scratchpad == 108.15 or scratchpad == 108.30 or scratchpad == 108.35 or scratchpad == 108.50 or scratchpad == 108.55 or scratchpad == 108.70 or scratchpad == 108.75 or scratchpad == 108.90 or scratchpad == 108.95 + or scratchpad == 109.10 or scratchpad == 109.15 or scratchpad == 109.30 or scratchpad == 109.35 or scratchpad == 109.50 or scratchpad == 109.55 or scratchpad == 109.70 or scratchpad == 109.75 or scratchpad == 109.90 or scratchpad == 109.95 + or scratchpad == 110.10 or scratchpad == 110.15 or scratchpad == 110.30 or scratchpad == 110.35 or scratchpad == 110.50 or scratchpad == 110.55 or scratchpad == 110.70 or scratchpad == 110.75 or scratchpad == 110.90 or scratchpad == 110.95 + or scratchpad == 111.10 or scratchpad == 111.15 or scratchpad == 111.30 or scratchpad == 111.35 or scratchpad == 111.50 or scratchpad == 111.55 or scratchpad == 111.70 or scratchpad == 111.75 or scratchpad == 111.90 or scratchpad == 111.95) { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } else { + setprop("/instrumentation/nav[0]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor1freq-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } + } else if (scratchpad >= 112.00 and scratchpad <= 117.95) { + setprop("/instrumentation/nav[0]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor1freq-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "L2") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor1crs-set", 0); + setprop("/MCDU[1]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs >= 1 and tfs <= 3) { + if (scratchpad >= 0 and scratchpad <= 360) { + setprop("/instrumentation/nav[0]/radials/selected-deg", scratchpad); + setprop("/FMGC/internal/vor1crs-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "L3") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor1freq-set", 0); + setprop("/MCDU[1]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3 or tfs == 5 or tfs == 6) { + if (scratchpad >= 108.10 and scratchpad <= 111.95) { + if (scratchpad == 108.10 or scratchpad == 108.15 or scratchpad == 108.30 or scratchpad == 108.35 or scratchpad == 108.50 or scratchpad == 108.55 or scratchpad == 108.70 or scratchpad == 108.75 or scratchpad == 108.90 or scratchpad == 108.95 + or scratchpad == 109.10 or scratchpad == 109.15 or scratchpad == 109.30 or scratchpad == 109.35 or scratchpad == 109.50 or scratchpad == 109.55 or scratchpad == 109.70 or scratchpad == 109.75 or scratchpad == 109.90 or scratchpad == 109.95 + or scratchpad == 110.10 or scratchpad == 110.15 or scratchpad == 110.30 or scratchpad == 110.35 or scratchpad == 110.50 or scratchpad == 110.55 or scratchpad == 110.70 or scratchpad == 110.75 or scratchpad == 110.90 or scratchpad == 110.95 + or scratchpad == 111.10 or scratchpad == 111.15 or scratchpad == 111.30 or scratchpad == 111.35 or scratchpad == 111.50 or scratchpad == 111.55 or scratchpad == 111.70 or scratchpad == 111.75 or scratchpad == 111.90 or scratchpad == 111.95) { + setprop("/instrumentation/nav[0]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor1freq-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "L4") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor1crs-set", 0); + setprop("/MCDU[1]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs >= 1 and tfs <= 3) { + if (scratchpad >= 0 and scratchpad <= 360) { + setprop("/instrumentation/nav[0]/radials/selected-deg", scratchpad); + setprop("/FMGC/internal/vor1crs-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "R1") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor2freq-set", 0); + setprop("/MCDU[1]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3 or tfs == 5 or tfs == 6) { + if (scratchpad >= 108.10 and scratchpad <= 111.95) { + if (scratchpad == 108.10 or scratchpad == 108.15 or scratchpad == 108.30 or scratchpad == 108.35 or scratchpad == 108.50 or scratchpad == 108.55 or scratchpad == 108.70 or scratchpad == 108.75 or scratchpad == 108.90 or scratchpad == 108.95 + or scratchpad == 109.10 or scratchpad == 109.15 or scratchpad == 109.30 or scratchpad == 109.35 or scratchpad == 109.50 or scratchpad == 109.55 or scratchpad == 109.70 or scratchpad == 109.75 or scratchpad == 109.90 or scratchpad == 109.95 + or scratchpad == 110.10 or scratchpad == 110.15 or scratchpad == 110.30 or scratchpad == 110.35 or scratchpad == 110.50 or scratchpad == 110.55 or scratchpad == 110.70 or scratchpad == 110.75 or scratchpad == 110.90 or scratchpad == 110.95 + or scratchpad == 111.10 or scratchpad == 111.15 or scratchpad == 111.30 or scratchpad == 111.35 or scratchpad == 111.50 or scratchpad == 111.55 or scratchpad == 111.70 or scratchpad == 111.75 or scratchpad == 111.90 or scratchpad == 111.95) { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } else { + setprop("/instrumentation/nav[1]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor2freq-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } + } else if (scratchpad >= 112.00 and scratchpad <= 117.95) { + setprop("/instrumentation/nav[1]/frequencies/selected-mhz", scratchpad); + setprop("/FMGC/internal/vor2freq-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "R2") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vor2crs-set", 0); + setprop("/MCDU[1]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs >= 1 and tfs <= 3) { + if (scratchpad >= 0 and scratchpad <= 360) { + setprop("/instrumentation/nav[1]/radials/selected-deg", scratchpad); + setprop("/FMGC/internal/vor2crs-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[1]/scratchpad-msg", "1"); + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } + } +} + var initInputA = func(key) { var scratchpad = getprop("/MCDU[1]/scratchpad"); if (key == "L3") { diff --git a/Splash/SplashOld.png b/Splash/SplashOld.png new file mode 100644 index 00000000..e49e266c Binary files /dev/null and b/Splash/SplashOld.png differ diff --git a/Splash/splash.png b/Splash/splash.png deleted file mode 100644 index 374b1d5d..00000000 Binary files a/Splash/splash.png and /dev/null differ diff --git a/Splash/splash1.png b/Splash/splash1.png index 21d61d86..2b96ff8c 100644 Binary files a/Splash/splash1.png and b/Splash/splash1.png differ diff --git a/Systems/instrumentation.xml b/Systems/instrumentation.xml index 7acc2114..be894889 100644 --- a/Systems/instrumentation.xml +++ b/Systems/instrumentation.xml @@ -103,11 +103,6 @@ file, these values will be used (they are hardcoded). nav 1 - - - nav - 2 - slip-skid-ball