From d24c2f1c54bdbe9136f6ef53b1bcb61a0247082a Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Wed, 29 Aug 2018 17:34:11 -0400 Subject: [PATCH] MCDU: Rework and remove duplicate code, cleanup, make RETURN work on MCDU page --- A320-main.xml | 68 ++-- Models/Instruments/MCDU/MCDU1.xml | 154 ++++---- Models/Instruments/MCDU/MCDU2.xml | 154 ++++---- Nasal/FMGC.nas | 4 +- Nasal/{MCDU1 => MCDU}/DATA.nas | 18 +- Nasal/{MCDU1 => MCDU}/F-PLNA.nas | 0 Nasal/MCDU/INITA.nas | 121 +++++++ Nasal/MCDU/INITB.nas | 71 ++++ Nasal/MCDU/MCDU.nas | 538 ++++++++++++++++++++++++++++ Nasal/MCDU/PERFCLB.nas | 37 ++ Nasal/{MCDU1 => MCDU}/PERFCRZ.nas | 6 +- Nasal/{MCDU2 => MCDU}/PERFDES.nas | 4 +- Nasal/MCDU/PERFTO.nas | 176 +++++++++ Nasal/{MCDU1 => MCDU}/RADNAV.nas | 170 +++------ Nasal/{MCDU1 => MCDU}/STATUS.nas | 2 +- Nasal/MCDU1/INITA.nas | 161 --------- Nasal/MCDU1/INITB.nas | 95 ----- Nasal/MCDU1/MCDU.nas | 568 ------------------------------ Nasal/MCDU1/PERFCLB.nas | 49 --- Nasal/MCDU1/PERFDES.nas | 11 - Nasal/MCDU1/PERFTO.nas | 240 ------------- Nasal/MCDU2/DATA.nas | 71 ---- Nasal/MCDU2/F-PLNA.nas | 47 --- Nasal/MCDU2/INITA.nas | 161 --------- Nasal/MCDU2/INITB.nas | 95 ----- Nasal/MCDU2/MCDU.nas | 568 ------------------------------ Nasal/MCDU2/PERFCLB.nas | 49 --- Nasal/MCDU2/PERFCRZ.nas | 14 - Nasal/MCDU2/PERFTO.nas | 240 ------------- Nasal/MCDU2/RADNAV.nas | 267 -------------- Nasal/MCDU2/STATUS.nas | 11 - Nasal/libraries.nas | 4 +- 32 files changed, 1205 insertions(+), 2969 deletions(-) rename Nasal/{MCDU1 => MCDU}/DATA.nas (80%) rename Nasal/{MCDU1 => MCDU}/F-PLNA.nas (100%) create mode 100644 Nasal/MCDU/INITA.nas create mode 100644 Nasal/MCDU/INITB.nas create mode 100644 Nasal/MCDU/MCDU.nas create mode 100644 Nasal/MCDU/PERFCLB.nas rename Nasal/{MCDU1 => MCDU}/PERFCRZ.nas (68%) rename Nasal/{MCDU2 => MCDU}/PERFDES.nas (75%) create mode 100644 Nasal/MCDU/PERFTO.nas rename Nasal/{MCDU1 => MCDU}/RADNAV.nas (54%) rename Nasal/{MCDU1 => MCDU}/STATUS.nas (88%) delete mode 100644 Nasal/MCDU1/INITA.nas delete mode 100644 Nasal/MCDU1/INITB.nas delete mode 100644 Nasal/MCDU1/MCDU.nas delete mode 100644 Nasal/MCDU1/PERFCLB.nas delete mode 100644 Nasal/MCDU1/PERFDES.nas delete mode 100644 Nasal/MCDU1/PERFTO.nas delete mode 100644 Nasal/MCDU2/DATA.nas delete mode 100644 Nasal/MCDU2/F-PLNA.nas delete mode 100644 Nasal/MCDU2/INITA.nas delete mode 100644 Nasal/MCDU2/INITB.nas delete mode 100644 Nasal/MCDU2/MCDU.nas delete mode 100644 Nasal/MCDU2/PERFCLB.nas delete mode 100644 Nasal/MCDU2/PERFCRZ.nas delete mode 100644 Nasal/MCDU2/PERFTO.nas delete mode 100644 Nasal/MCDU2/RADNAV.nas delete mode 100644 Nasal/MCDU2/STATUS.nas diff --git a/A320-main.xml b/A320-main.xml index 1c6f4db3..0ffda41d 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -186,6 +186,35 @@ + + + false + + nasal + + + + + false + + nasal + + + + + false + + nasal + + + + true @@ -1490,32 +1519,19 @@ Aircraft/IDG-A32X/Nasal/FMGC-b.nas Aircraft/IDG-A32X/Nasal/FMGC-c.nas - - Aircraft/IDG-A32X/Nasal/MCDU1/MCDU.nas - Aircraft/IDG-A32X/Nasal/MCDU1/F-PLNA.nas - Aircraft/IDG-A32X/Nasal/MCDU1/INITA.nas - Aircraft/IDG-A32X/Nasal/MCDU1/INITB.nas - Aircraft/IDG-A32X/Nasal/MCDU1/PERFCLB.nas - Aircraft/IDG-A32X/Nasal/MCDU1/PERFCRZ.nas - Aircraft/IDG-A32X/Nasal/MCDU1/PERFDES.nas - Aircraft/IDG-A32X/Nasal/MCDU1/PERFTO.nas - Aircraft/IDG-A32X/Nasal/MCDU1/RADNAV.nas - Aircraft/IDG-A32X/Nasal/MCDU1/DATA.nas - Aircraft/IDG-A32X/Nasal/MCDU1/STATUS.nas - - - Aircraft/IDG-A32X/Nasal/MCDU2/MCDU.nas - Aircraft/IDG-A32X/Nasal/MCDU2/F-PLNA.nas - Aircraft/IDG-A32X/Nasal/MCDU2/INITA.nas - Aircraft/IDG-A32X/Nasal/MCDU2/INITB.nas - Aircraft/IDG-A32X/Nasal/MCDU2/PERFCLB.nas - Aircraft/IDG-A32X/Nasal/MCDU2/PERFCRZ.nas - Aircraft/IDG-A32X/Nasal/MCDU2/PERFDES.nas - Aircraft/IDG-A32X/Nasal/MCDU2/PERFTO.nas - Aircraft/IDG-A32X/Nasal/MCDU2/RADNAV.nas - Aircraft/IDG-A32X/Nasal/MCDU2/DATA.nas - Aircraft/IDG-A32X/Nasal/MCDU2/STATUS.nas - + + Aircraft/IDG-A32X/Nasal/MCDU/MCDU.nas + Aircraft/IDG-A32X/Nasal/MCDU/F-PLNA.nas + Aircraft/IDG-A32X/Nasal/MCDU/INITA.nas + Aircraft/IDG-A32X/Nasal/MCDU/INITB.nas + Aircraft/IDG-A32X/Nasal/MCDU/PERFCLB.nas + Aircraft/IDG-A32X/Nasal/MCDU/PERFCRZ.nas + Aircraft/IDG-A32X/Nasal/MCDU/PERFDES.nas + Aircraft/IDG-A32X/Nasal/MCDU/PERFTO.nas + Aircraft/IDG-A32X/Nasal/MCDU/RADNAV.nas + Aircraft/IDG-A32X/Nasal/MCDU/DATA.nas + Aircraft/IDG-A32X/Nasal/MCDU/STATUS.nas + Aircraft/IDG-A32X/Models/Instruments/PFD/PFD.nas diff --git a/Models/Instruments/MCDU/MCDU1.xml b/Models/Instruments/MCDU/MCDU1.xml index e7f8760b..548898dd 100644 --- a/Models/Instruments/MCDU/MCDU1.xml +++ b/Models/Instruments/MCDU/MCDU1.xml @@ -25,7 +25,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -44,7 +44,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -63,7 +63,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -82,7 +82,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -101,7 +101,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -120,7 +120,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -139,7 +139,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -158,7 +158,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -172,7 +172,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -190,7 +190,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -204,7 +204,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -222,7 +222,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -236,7 +236,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -254,7 +254,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -268,7 +268,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -286,7 +286,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -300,7 +300,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -318,7 +318,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -332,7 +332,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -351,7 +351,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -365,7 +365,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -383,7 +383,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -397,7 +397,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -415,7 +415,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -429,7 +429,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -447,7 +447,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -461,7 +461,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -479,7 +479,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -493,7 +493,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -511,7 +511,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -525,7 +525,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -544,7 +544,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -562,7 +562,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -580,7 +580,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -598,7 +598,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -617,7 +617,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -635,7 +635,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -653,7 +653,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -671,7 +671,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -689,7 +689,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -707,7 +707,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -725,7 +725,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -743,7 +743,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -761,7 +761,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -779,7 +779,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -797,7 +797,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -815,7 +815,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -833,7 +833,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -851,7 +851,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -869,7 +869,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -887,7 +887,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -905,7 +905,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -923,7 +923,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -941,7 +941,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -959,7 +959,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -977,7 +977,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -995,7 +995,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1013,7 +1013,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1031,7 +1031,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1049,7 +1049,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1067,7 +1067,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1085,7 +1085,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1103,7 +1103,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1121,7 +1121,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1139,7 +1139,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1157,7 +1157,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1175,7 +1175,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1193,7 +1193,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1211,7 +1211,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1229,7 +1229,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1247,7 +1247,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1265,7 +1265,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1283,7 +1283,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1301,7 +1301,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1319,7 +1319,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1337,7 +1337,7 @@ true nasal - + systems/electrical/bus/ac1 @@ -1355,7 +1355,7 @@ true nasal - + systems/electrical/bus/ac1 diff --git a/Models/Instruments/MCDU/MCDU2.xml b/Models/Instruments/MCDU/MCDU2.xml index 40d53813..b7e4e657 100644 --- a/Models/Instruments/MCDU/MCDU2.xml +++ b/Models/Instruments/MCDU/MCDU2.xml @@ -25,7 +25,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -44,7 +44,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -63,7 +63,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -82,7 +82,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -101,7 +101,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -120,7 +120,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -139,7 +139,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -158,7 +158,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -172,7 +172,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -190,7 +190,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -204,7 +204,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -222,7 +222,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -236,7 +236,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -254,7 +254,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -268,7 +268,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -286,7 +286,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -300,7 +300,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -318,7 +318,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -332,7 +332,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -351,7 +351,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -365,7 +365,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -383,7 +383,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -397,7 +397,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -415,7 +415,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -429,7 +429,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -447,7 +447,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -461,7 +461,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -479,7 +479,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -493,7 +493,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -511,7 +511,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -525,7 +525,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -544,7 +544,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -562,7 +562,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -580,7 +580,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -598,7 +598,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -617,7 +617,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -635,7 +635,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -653,7 +653,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -671,7 +671,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -689,7 +689,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -707,7 +707,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -725,7 +725,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -743,7 +743,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -761,7 +761,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -779,7 +779,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -797,7 +797,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -815,7 +815,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -833,7 +833,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -851,7 +851,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -869,7 +869,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -887,7 +887,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -905,7 +905,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -923,7 +923,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -941,7 +941,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -959,7 +959,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -977,7 +977,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -995,7 +995,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1013,7 +1013,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1031,7 +1031,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1049,7 +1049,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1067,7 +1067,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1085,7 +1085,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1103,7 +1103,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1121,7 +1121,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1139,7 +1139,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1157,7 +1157,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1175,7 +1175,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1193,7 +1193,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1211,7 +1211,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1229,7 +1229,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1247,7 +1247,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1265,7 +1265,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1283,7 +1283,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1301,7 +1301,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1319,7 +1319,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1337,7 +1337,7 @@ true nasal - + systems/electrical/bus/ac2 @@ -1355,7 +1355,7 @@ true nasal - + systems/electrical/bus/ac2 diff --git a/Nasal/FMGC.nas b/Nasal/FMGC.nas index 0d990054..d0865b66 100644 --- a/Nasal/FMGC.nas +++ b/Nasal/FMGC.nas @@ -305,8 +305,8 @@ var reset_FMGC = func { alt = getprop("/it-autoflight/input/alt"); APinit(); FMGCinit(); - mcdu1.MCDU_reset(); - mcdu2.MCDU_reset(); + mcdu.MCDU_reset(0); + mcdu.MCDU_reset(1); setprop("/it-autoflight/input/fd1", fd1); setprop("/it-autoflight/input/fd2", fd2); setprop("/it-autoflight/input/spd-kts", spd); diff --git a/Nasal/MCDU1/DATA.nas b/Nasal/MCDU/DATA.nas similarity index 80% rename from Nasal/MCDU1/DATA.nas rename to Nasal/MCDU/DATA.nas index ef29a2ab..dd12a561 100644 --- a/Nasal/MCDU1/DATA.nas +++ b/Nasal/MCDU/DATA.nas @@ -4,19 +4,19 @@ # Copyright (c) Joshua Davidson (it0uchpods) # ############################################## -var dataInput = func(key) { +var dataInput = func(key, i) { if (key == "L1") { - setprop("/MCDU[0]/page", "POSMON"); + setprop("/MCDU[" ~ i ~ "]/page", "POSMON"); } if (key == "L2") { - setprop("/MCDU[0]/page", "IRSMON"); + setprop("/MCDU[" ~ i ~ "]/page", "IRSMON"); } if (key == "R5") { - setprop("/MCDU[0]/page", "PRINTFUNC"); + setprop("/MCDU[" ~ i ~ "]/page", "PRINTFUNC"); } } -var printInput = func(key) { +var printInput = func(key, i) { if (key == "L1") { setprop("/FMGC/print/mcdu/page1/L1auto", 1); } @@ -27,7 +27,7 @@ var printInput = func(key) { setprop("/FMGC/print/mcdu/page1/L3auto", 1); } if (key == "L5") { - setprop("/MCDU[0]/page", "DATA"); + setprop("/MCDU[" ~ i ~ "]/page", "DATA"); } if (key == "R1") { setprop("/FMGC/print/mcdu/page1/R1req", 1); @@ -40,7 +40,7 @@ var printInput = func(key) { } } -var printInput2 = func(key) { +var printInput2 = func(key, i) { if (key == "L1") { setprop("/FMGC/print/mcdu/page2/L1auto", 1); } @@ -54,7 +54,7 @@ var printInput2 = func(key) { setprop("/FMGC/print/mcdu/page2/L4auto", 1); } if (key == "L6") { - setprop("/MCDU[0]/page", "DATA"); + setprop("/MCDU[" ~ i ~ "]/page", "DATA"); } if (key == "R1") { setprop("/FMGC/print/mcdu/page2/R1req", 1); @@ -68,4 +68,4 @@ var printInput2 = func(key) { if (key == "R4") { setprop("/FMGC/print/mcdu/page2/R4req", 1); } -} \ No newline at end of file +} diff --git a/Nasal/MCDU1/F-PLNA.nas b/Nasal/MCDU/F-PLNA.nas similarity index 100% rename from Nasal/MCDU1/F-PLNA.nas rename to Nasal/MCDU/F-PLNA.nas diff --git a/Nasal/MCDU/INITA.nas b/Nasal/MCDU/INITA.nas new file mode 100644 index 00000000..2f30085d --- /dev/null +++ b/Nasal/MCDU/INITA.nas @@ -0,0 +1,121 @@ +# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath + +############################################## +# Copyright (c) Joshua Davidson (it0uchpods) # +############################################## + +var initInputA = func(key, i) { + var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); + if (key == "L3") { + if (scratchpad == "CLR") { + setprop("/MCDUC/flight-num", ""); + setprop("/MCDUC/flight-num-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var flts = size(scratchpad); + if (flts >= 1 and flts <= 8) { + setprop("/MCDUC/flight-num", scratchpad); + setprop("/MCDUC/flight-num-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } + } else if (key == "L5") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/cost-index", 0); + setprop("/FMGC/internal/cost-index-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var ci = int(scratchpad); + var cis = size(scratchpad); + if (cis >= 1 and cis <= 3) { + if (ci == nil) { + notAllowed(i); + } else if (ci >= 0 and ci <= 999) { + setprop("/FMGC/internal/cost-index", ci); + setprop("/FMGC/internal/cost-index-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "L6") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/cruise-ft", 10000); + setprop("/FMGC/internal/cruise-fl", 100); + setprop("/FMGC/internal/cruise-lvl-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var crz = int(scratchpad); + var crzs = size(scratchpad); + if (crzs >= 1 and crzs <= 3) { + if (crz == nil) { + notAllowed(i); + } else if (crz > 0 and crz <= 430) { + setprop("/FMGC/internal/cruise-ft", crz * 100); + setprop("/FMGC/internal/cruise-fl", crz); + setprop("/FMGC/internal/cruise-lvl-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "R1") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/dep-arpt", ""); + setprop("/FMGC/internal/arr-arpt", ""); + setprop("/FMGC/internal/tofrom-set", 0); + fmgc.updateARPT(); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 9 and find("/", scratchpad) != -1) { + var fromto = split("/", scratchpad); + var froms = size(fromto[0]); + var tos = size(fromto[1]); + if (froms == 4 and tos == 4) { + setprop("/FMGC/internal/dep-arpt", fromto[0]); + setprop("/FMGC/internal/arr-arpt", fromto[1]); + setprop("/FMGC/internal/tofrom-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + fmgc.updateARPT(); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "R3") { + if (getprop("/controls/adirs/mcducbtn") == 0) { + setprop("/controls/adirs/mcducbtn", 1); + } + } else if (key == "R6") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/tropo", 36090); + setprop("/FMGC/internal/tropo-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tropo = size(scratchpad); + if (tropo == 5) { + setprop("/FMGC/internal/tropo-set", 1); + setprop("/FMGC/internal/tropo", scratchpad); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } + } +} diff --git a/Nasal/MCDU/INITB.nas b/Nasal/MCDU/INITB.nas new file mode 100644 index 00000000..88120016 --- /dev/null +++ b/Nasal/MCDU/INITB.nas @@ -0,0 +1,71 @@ +# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath + +############################################## +# Copyright (c) Joshua Davidson (it0uchpods) # +############################################## + +var initInputB = func(key, i) { + var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); + if (key == "R1") { + if (scratchpad == "CLR") { + notAllowed(i); + } else { + var tfs = size(scratchpad); + if (tfs == 0) { + var zfw = getprop("/fdm/jsbsim/inertia/weight-lbs") - getprop("/consumables/fuel/total-fuel-lbs"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", "/" ~ sprintf("%3.1f", math.round(zfw / 1000, 0.1))); + } else if (tfs >= 2 and tfs <= 11 and find("/", scratchpad) != -1) { + var zfwi = split("/", scratchpad); + var zfwcg = size(zfwi[0]); + var zfw = size(zfwi[1]); + if (zfwcg >= 1 and zfwcg <= 5 and zfwi[0] > 0 and zfwi[0] <= 99.9) { + setprop("/FMGC/internal/zfwcg", zfwi[0]); + setprop("/FMGC/internal/zfwcg-set", 1); + } + if (zfw >= 1 and zfw <= 5 and zfwi[1] > 0 and zfwi[1] <= 999.9) { + setprop("/FMGC/internal/zfw", zfwi[1]); + setprop("/FMGC/internal/zfw-set", 1); + } + if ((zfwcg >= 1 and zfwcg <= 5 and zfwi[0] > 0 and zfwi[0] <= 99.9) or (zfw >= 1 and zfw <= 5 and zfwi[1] > 0 and zfwi[1] <= 999.9)) { + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else if (tfs >= 1 and tfs <= 5) { + var zfwcg = size(scratchpad); + if (zfwcg >= 1 and zfwcg <= 5 and scratchpad > 0 and scratchpad <= 99.9) { + setprop("/FMGC/internal/zfwcg", scratchpad); + setprop("/FMGC/internal/zfwcg-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "R2") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/block", 0.0); + setprop("/FMGC/internal/block-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + var maxblock = getprop("/options/maxblock"); + if (tfs == 0) { + setprop("/MCDU[" ~ i ~ "]/scratchpad", sprintf("%3.1f", math.round(getprop("/consumables/fuel/total-fuel-lbs") / 1000, 0.1))); + } else if (tfs >= 1 and tfs <= 5) { + if (scratchpad >= 1.0 and scratchpad <= maxblock) { + setprop("/FMGC/internal/block", scratchpad); + setprop("/FMGC/internal/block-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } +} diff --git a/Nasal/MCDU/MCDU.nas b/Nasal/MCDU/MCDU.nas new file mode 100644 index 00000000..409d6173 --- /dev/null +++ b/Nasal/MCDU/MCDU.nas @@ -0,0 +1,538 @@ +# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath + +############################################## +# Copyright (c) Joshua Davidson (it0uchpods) # +############################################## + +var MCDU_init = func(i) { + setprop("/MCDU[" ~ i ~ "]/brightness", "1.0"); + MCDU_reset(i); # Reset MCDU, clears data +} + +var MCDU_reset = func(i) { + setprop("/MCDU[" ~ i ~ "]/active", 0); + setprop("/it-autoflight/settings/togaspd", 157); + setprop("/MCDU[" ~ i ~ "]/last-scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/last-page", "NONE"); + setprop("/MCDU[" ~ i ~ "]/last-fmgc-page", "STATUS"); + setprop("/MCDU[" ~ i ~ "]/page", "MCDU"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", "SELECT DESIRED SYSTEM"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0); + setprop("/MCDUC/flight-num", ""); + setprop("/MCDUC/thracc-set", 0); + setprop("/MCDUC/reducacc-set", 0); + setprop("/MCDUC/flight-num-set", 0); + setprop("/FMGC/internal/flex", 0); + setprop("/FMGC/internal/dep-arpt", ""); + setprop("/FMGC/internal/arr-arpt", ""); + setprop("/FMGC/internal/cruise-ft", 10000); + setprop("/FMGC/internal/cruise-fl", 100); + setprop("/FMGC/internal/cost-index", "0"); + setprop("/FMGC/internal/trans-alt", 18000); + setprop("/FMGC/internal/reduc-agl-ft", "3000"); + setprop("/FMGC/internal/eng-out-reduc", "3500"); + setprop("/FMGC/internal/v1", 0); + setprop("/FMGC/internal/vr", 0); + setprop("/FMGC/internal/v2", 0); + setprop("/FMGC/internal/block", 0.0); + setprop("/FMGC/internal/zfw", 0); + setprop("/FMGC/internal/zfwcg", 55.1); # 25KG default + setprop("/FMGC/internal/v1-set", 0); + setprop("/FMGC/internal/vr-set", 0); + setprop("/FMGC/internal/v2-set", 0); + setprop("/FMGC/internal/block-set", 0); + setprop("/FMGC/internal/zfw-set", 0); + setprop("/FMGC/internal/zfwcg-set", 0); + setprop("/FMGC/internal/to-flap", 0); + setprop("/FMGC/internal/to-ths", "0.0"); + setprop("/FMGC/internal/tofrom-set", 0); + setprop("/FMGC/internal/cost-index-set", 0); + setprop("/FMGC/internal/cruise-lvl-set", 0); + setprop("/FMGC/internal/flap-ths-set", 0); + setprop("/FMGC/internal/flex-set", 0); + setprop("/FMGC/internal/ils1freq-set", 0); + setprop("/FMGC/internal/ils1crs-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); + setprop("/FMGC/internal/adf1freq-set", 0); + setprop("/FMGC/internal/adf2freq-set", 0); + setprop("/FMGC/internal/navdatabase", "01JAN-28JAN"); + setprop("/FMGC/internal/navdatabase2", "29JAN-26FEB"); + setprop("/FMGC/internal/navdatabasecode", "AB20170101"); + setprop("/FMGC/internal/navdatabasecode2", "AB20170102"); + setprop("/FMGC/print/mcdu/page1/L1auto", 0); + setprop("/FMGC/print/mcdu/page1/L2auto", 0); + setprop("/FMGC/print/mcdu/page1/L3auto", 0); + setprop("/FMGC/print/mcdu/page1/R1req", 0); + setprop("/FMGC/print/mcdu/page1/R2req", 0); + setprop("/FMGC/print/mcdu/page1/R3req", 0); + setprop("/FMGC/print/mcdu/page2/L1auto", 0); + setprop("/FMGC/print/mcdu/page2/L2auto", 0); + setprop("/FMGC/print/mcdu/page2/L3auto", 0); + setprop("/FMGC/print/mcdu/page2/L4auto", 0); + setprop("/FMGC/print/mcdu/page2/R1req", 0); + setprop("/FMGC/print/mcdu/page2/R2req", 0); + setprop("/FMGC/print/mcdu/page2/R3req", 0); + setprop("/FMGC/print/mcdu/page2/R4req", 0); + setprop("/FMGC/internal/tropo", 36090); + setprop("/FMGC/internal/tropo-set", 0); +} + +var lskbutton = func(btn, i) { + if (btn == "1") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "MCDU") { + if (getprop("/MCDU[" ~ i ~ "]/active") != 2) { + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", "WAIT FOR SYSTEM RESPONSE"); + setprop("/MCDU[" ~ i ~ "]/active", 1); + settimer(func(){ + setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-fmgc-page")); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/active", 2); + }, 2); + } else { + setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-fmgc-page")); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("L1",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("L1",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "DATA") { + dataInput("L1",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + printInput("L1",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("L1",i); + } else { + notAllowed(i); + } + } else if (btn == "2") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + PerfInput("L2",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("L2",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("L2",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "CLB") { + initInputA("L5",i); # Does the same thing as on the INIT page + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "CRZ") { + initInputA("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "DES") { + initInputA("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "DATA") { + dataInput("L2",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + printInput("L2",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("L2",i); + } else { + notAllowed(i); + } + } else if (btn == "3") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + initInputA("L3",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("L3",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "STATUS") { + statusInput("L3",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("L3",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + printInput("L3",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("L3",i); + } else { + notAllowed(i); + } + } else if (btn == "4") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "DATA") { + setprop("/MCDU[" ~ i ~ "]/page", "STATUS"); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("L4",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("L4",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("L4",i); + } else { + notAllowed(i); + } + } else if (btn == "5") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + initInputA("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "CLB") { + perfCLBInput("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "CRZ") { + perfCRZInput("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "DES") { + perfDESInput("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + printInput("L5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("L5",i); + } else { + notAllowed(i); + } + } else if (btn == "6") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + initInputA("L6",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "CLB") { + perfCLBInput("L6",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "CRZ") { + perfCRZInput("L6",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "DES") { + perfDESInput("L6",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("L6",i); + } else { + notAllowed(i); + } + } +} + +var lskbutton_b = func(btn, i) { + # Special Middle Click Functions +} + +var rskbutton = func(btn, i) { + if (btn == "1") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + initInputA("R1",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "INITB") { + initInputB("R1",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("R1",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + printInput("R1",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("R1",i); + } else { + notAllowed(i); + } + } else if (btn == "2") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITB") { + initInputB("R2",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("R2",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + printInput("R2",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("R2",i); + } else { + notAllowed(i); + } + } else if (btn == "3") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + initInputA("R3",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("R3",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + printInput("R3",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("R3",i); + } else { + notAllowed(i); + } + } else if (btn == "4") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("R4",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("R4",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + printInput2("R4",i); + } else { + notAllowed(i); + } + } else if (btn == "5") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("R5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "RADNAV") { + radnavInput("R5",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "DATA") { + dataInput("R5",i); + } else { + notAllowed(i); + } + } else if (btn == "6") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "MCDU") { + if (getprop("/MCDU[" ~ i ~ "]/last-page") != "NONE") { + setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-page")); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else { + notAllowed(i); + } + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { + perfTOInput("R6",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "CLB") { + perfCLBInput("R6",i); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "CRZ") { + perfCRZInput("R6",i); + } else if ((getprop("/MCDU[" ~ i ~ "]/page") == "DATA") or (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") or (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2")) { + if (getprop("/MCDU[" ~ i ~ "]/scratchpad") != "AOC DISABLED") { + setprop("/MCDU[" ~ i ~ "]/last-scratchpad", getprop("/MCDU[" ~ i ~ "]/scratchpad")); + } + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", "AOC DISABLED"); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + initInputA("R6",i); + } else { + notAllowed(i); + } + } +} + +var rskbutton_b = func(btn, i) { + # Special Middle Click Functions +} + +var arrowbutton = func(btn, i) { + if (btn == "left") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "DATA") { + setprop("/MCDU[" ~ i ~ "]/page", "DATA2"); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "DATA2") { + setprop("/MCDU[" ~ i ~ "]/page", "DATA"); + } + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + if (getprop("/engines/engine[0]/state") != 3 and getprop("/engines/engine[1]/state") != 3) { + setprop("/MCDU[" ~ i ~ "]/page", "INITB"); + } + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "INITB") { + setprop("/MCDU[" ~ i ~ "]/page", "INITA"); + } + if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + setprop("/MCDU[" ~ i ~ "]/page", "PRINTFUNC2"); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + setprop("/MCDU[" ~ i ~ "]/page", "PRINTFUNC"); + } + } else if (btn == "right") { + if (getprop("/MCDU[" ~ i ~ "]/page") == "DATA") { + setprop("/MCDU[" ~ i ~ "]/page", "DATA2"); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "DATA2") { + setprop("/MCDU[" ~ i ~ "]/page", "DATA"); + } + if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { + if (getprop("/engines/engine[0]/state") != 3 and getprop("/engines/engine[1]/state") != 3) { + setprop("/MCDU[" ~ i ~ "]/page", "INITB"); + } + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "INITB") { + setprop("/MCDU[" ~ i ~ "]/page", "INITA"); + } + if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC") { + setprop("/MCDU[" ~ i ~ "]/page", "PRINTFUNC2"); + } else if (getprop("/MCDU[" ~ i ~ "]/page") == "PRINTFUNC2") { + setprop("/MCDU[" ~ i ~ "]/page", "PRINTFUNC"); + } + } else if (btn == "up") { + # Nothing for now + } else if (btn == "down") { + # Nothing for now + } +} + +var pagebutton = func(btn, i) { + if (getprop("/MCDU[" ~ i ~ "]/page") != "MCDU") { + if (btn == "radnav") { + setprop("/MCDU[" ~ i ~ "]/page", "RADNAV"); + } else if (btn == "perf") { + if (getprop("/FMGC/status/phase") == 0 or getprop("/FMGC/status/phase") == 1) { + setprop("/MCDU[" ~ i ~ "]/page", "TO"); + } else if (getprop("/FMGC/status/phase") == 2) { + setprop("/MCDU[" ~ i ~ "]/page", "CLB"); + } else if (getprop("/FMGC/status/phase") == 3) { + setprop("/MCDU[" ~ i ~ "]/page", "CRZ"); + } else if (getprop("/FMGC/status/phase") == 4) { + setprop("/MCDU[" ~ i ~ "]/page", "DES"); + } + } else if (btn == "init") { + setprop("/MCDU[" ~ i ~ "]/page", "INITA"); + } else if (btn == "data") { + setprop("/MCDU[" ~ i ~ "]/page", "DATA"); + } else if (btn == "mcdu") { + setprop("/MCDU[" ~ i ~ "]/last-page", getprop("/MCDU[" ~ i ~ "]/page")); + setprop("/MCDU[" ~ i ~ "]/last-fmgc-page", getprop("/MCDU[" ~ i ~ "]/page")); + setprop("/MCDU[" ~ i ~ "]/scratchpad", "SELECT DESIRED SYSTEM"); + setprop("/MCDU[" ~ i ~ "]/page", "MCDU"); + } else if (btn == "f-pln") { + setprop("/MCDU[" ~ i ~ "]/page", "F-PLNA"); + } else if (btn == "fuel-pred") { + setprop("/MCDU[" ~ i ~ "]/page", "FUELPRED"); + } + } +} + +var button = func(btn, i) { + if (getprop("/MCDU[" ~ i ~ "]/scratchpad-msg") == 0 and getprop("/MCDU[" ~ i ~ "]/page") != "MCDU") { + var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); + if (btn == "A") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "A"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "B") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "B"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "C") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "C"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "D") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "D"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "E") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "E"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "F") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "F"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "G") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "G"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "H") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "H"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "I") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "I"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "J") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "J"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "K") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "K"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "L") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "L"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "M") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "M"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "N") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "N"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "O") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "O"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "P") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "P"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "Q") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Q"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "R") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "R"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "S") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "S"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "T") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "T"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "U") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "U"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "V") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "V"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "W") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "W"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "X") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "X"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "Y") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Y"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "Z") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Z"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "SLASH") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "/"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "SP") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ " "); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "CLR") { + var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); + if (size(scratchpad) == 0) { + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", "CLR"); + } else if (getprop("/MCDU[" ~ i ~ "]/scratchpad-msg") == 1) { + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (size(scratchpad) > 0) { + setprop("/MCDU[" ~ i ~ "]/last-scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", left(scratchpad, size(scratchpad)-1)); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } + } else if (btn == "0") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "1") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "1"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "2") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "2"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "3") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "3"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "4") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "4"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "5") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "5"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "6") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "6"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "7") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "7"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "8") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "8"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "9") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "9"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "DOT") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "."); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } else if (btn == "PLUSMINUS") { + setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "-"); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } + } else { + if (btn == "CLR") { + var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); + if (size(scratchpad) == 0) { + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", "CLR"); + } else if (getprop("/MCDU[" ~ i ~ "]/scratchpad-msg") == 1) { + setprop("/MCDU[" ~ i ~ "]/scratchpad", getprop("/MCDU[" ~ i ~ "]/last-scratchpad")); + setprop("/MCDU[" ~ i ~ "]/last-scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + } + } + } +} + +var notAllowed = func(i) { + if (getprop("/MCDU[" ~ i ~ "]/scratchpad") != "NOT ALLOWED") { + setprop("/MCDU[" ~ i ~ "]/last-scratchpad", getprop("/MCDU[" ~ i ~ "]/scratchpad")); + } + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", "NOT ALLOWED"); +} + +var screenFlash = func(time, i) { + var page = getprop("/MCDU[" ~ i ~ "]/page"); + setprop("/MCDU[" ~ i ~ "]/page", "NONE"); + settimer(func { + setprop("/MCDU[" ~ i ~ "]/page", page); + }, time); +} diff --git a/Nasal/MCDU/PERFCLB.nas b/Nasal/MCDU/PERFCLB.nas new file mode 100644 index 00000000..2fa7c58b --- /dev/null +++ b/Nasal/MCDU/PERFCLB.nas @@ -0,0 +1,37 @@ +# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath + +############################################## +# Copyright (c) Joshua Davidson (it0uchpods) # +############################################## + +var perfCLBInput = func(key, i) { + var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); + if (key == "L5") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/cost-index", 0); + setprop("/FMGC/internal/cost-index-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var ci = int(scratchpad); + var cis = size(scratchpad); + if (cis >= 1 and cis <= 3) { + if (ci == nil) { + notAllowed(i); + } else if (ci >= 0 and ci <= 999) { + setprop("/FMGC/internal/cost-index", ci); + setprop("/FMGC/internal/cost-index-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "L6") { + setprop("/MCDU[" ~ i ~ "]/page", "TO"); + } else if (key == "R6") { + setprop("/MCDU[" ~ i ~ "]/page", "CRZ"); + } +} diff --git a/Nasal/MCDU1/PERFCRZ.nas b/Nasal/MCDU/PERFCRZ.nas similarity index 68% rename from Nasal/MCDU1/PERFCRZ.nas rename to Nasal/MCDU/PERFCRZ.nas index 46c35846..fc304c5f 100644 --- a/Nasal/MCDU1/PERFCRZ.nas +++ b/Nasal/MCDU/PERFCRZ.nas @@ -4,11 +4,11 @@ # Copyright (c) Joshua Davidson (it0uchpods) # ############################################## -var perfCRZInput = func(key) { +var perfCRZInput = func(key, i) { if (key == "L6") { - setprop("/MCDU[0]/page", "CLB"); + setprop("/MCDU[" ~ i ~ "]/page", "CLB"); } if (key == "R6") { - setprop("/MCDU[0]/page", "DES"); + setprop("/MCDU[" ~ i ~ "]/page", "DES"); } } diff --git a/Nasal/MCDU2/PERFDES.nas b/Nasal/MCDU/PERFDES.nas similarity index 75% rename from Nasal/MCDU2/PERFDES.nas rename to Nasal/MCDU/PERFDES.nas index 8462237f..9f00771b 100644 --- a/Nasal/MCDU2/PERFDES.nas +++ b/Nasal/MCDU/PERFDES.nas @@ -4,8 +4,8 @@ # Copyright (c) Joshua Davidson (it0uchpods) # ############################################## -var perfDESInput = func(key) { +var perfDESInput = func(key, i) { if (key == "L6") { - setprop("/MCDU[1]/page", "CRZ"); + setprop("/MCDU[" ~ i ~ "]/page", "CRZ"); } } diff --git a/Nasal/MCDU/PERFTO.nas b/Nasal/MCDU/PERFTO.nas new file mode 100644 index 00000000..ab3c4c86 --- /dev/null +++ b/Nasal/MCDU/PERFTO.nas @@ -0,0 +1,176 @@ +# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath + +############################################## +# Copyright (c) Joshua Davidson (it0uchpods) # +############################################## + +var perfTOInput = func(key, i) { + var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); + if (key == "L1") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/v1", 0); + setprop("/FMGC/internal/v1-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3) { + if (scratchpad >= 100 and scratchpad <= 200) { + setprop("/FMGC/internal/v1", scratchpad); + setprop("/FMGC/internal/v1-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "L2") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/vr", 0); + setprop("/FMGC/internal/vr-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3) { + if (scratchpad >= 100 and scratchpad <= 200) { + setprop("/FMGC/internal/vr", scratchpad); + setprop("/FMGC/internal/vr-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "L3") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/v2", 0); + setprop("/FMGC/internal/v2-set", 0); + setprop("/it-autoflight/settings/togaspd", 157); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 3) { + if (scratchpad >= 100 and scratchpad <= 200) { + setprop("/FMGC/internal/v2", scratchpad); + setprop("/FMGC/internal/v2-set", 1); + setprop("/it-autoflight/settings/togaspd", scratchpad + 10); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "L4") { + if (scratchpad == "CLR") { + notAllowed(i); + } else { + var tfs = size(scratchpad); + if (tfs == 4 or tfs == 5) { + if (scratchpad >= 1000 and scratchpad <= 18000) { + setprop("/FMGC/internal/trans-alt", scratchpad); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "L5") { + if (scratchpad == "CLR") { + setprop("/systems/thrust/clbreduc-ft", "1500"); + setprop("/FMGC/internal/reduc-agl-ft", "3000"); + setprop("/MCDUC/thracc-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs >= 7 and tfs <= 9 and find("/", scratchpad) != -1) { + var thracc = split("/", scratchpad); + var thrred = size(thracc[0]); + var acc = size(thracc[1]); + if ((thrred >= 3 and thrred <= 5) and (acc >= 3 and acc <= 5)) { + setprop("/systems/thrust/clbreduc-ft", thracc[0]); + setprop("/FMGC/internal/reduc-agl-ft", thracc[1]); + setprop("/MCDUC/thracc-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "R3") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/to-flap", 0); + setprop("/FMGC/internal/to-ths", "0.0"); + setprop("/FMGC/internal/flap-ths-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 7 and find("/", scratchpad) != -1) { + var flapths = split("/UP", scratchpad); + if ((flapths[0] >= 1 and flapths[0] <= 4) and (flapths[1] >= 0.0 and flapths[1] <= 2.5)) { + setprop("/FMGC/internal/to-flap", flapths[0]); + setprop("/FMGC/internal/to-ths", flapths[1]); + setprop("/FMGC/internal/flap-ths-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "R4") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/flex", 0); + setprop("/FMGC/internal/flex-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs == 1 or tfs == 2) { + if (scratchpad >= 0 and scratchpad <= 70) { + setprop("/FMGC/internal/flex", scratchpad); + setprop("/FMGC/internal/flex-set", 1); + var flex_calc = getprop("/FMGC/internal/flex") - getprop("/environment/temperature-degc"); + setprop("/FMGC/internal/flex-cmd", flex_calc); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } else { + notAllowed(i); + } + } + } else if (key == "R5") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/eng-out-reduc", "3500"); + setprop("/MCDUC/reducacc-set", 0); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + var tfs = size(scratchpad); + if (tfs >= 3 and tfs <= 5) { + setprop("/FMGC/internal/eng-out-reduc", scratchpad); + setprop("/MCDUC/reducacc-set", 1); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); + } else { + notAllowed(i); + } + } + } else if (key == "R6") { + setprop("/MCDU[" ~ i ~ "]/page", "CLB"); + } +} diff --git a/Nasal/MCDU1/RADNAV.nas b/Nasal/MCDU/RADNAV.nas similarity index 54% rename from Nasal/MCDU1/RADNAV.nas rename to Nasal/MCDU/RADNAV.nas index a9a0a48b..d3aabb66 100644 --- a/Nasal/MCDU1/RADNAV.nas +++ b/Nasal/MCDU/RADNAV.nas @@ -4,13 +4,13 @@ # Copyright (c) Joshua Davidson (it0uchpods) # ############################################## -var radnavInput = func(key) { - var scratchpad = getprop("/MCDU[0]/scratchpad"); +var radnavInput = func(key, i) { + var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); if (key == "L1") { if (scratchpad == "CLR") { setprop("/FMGC/internal/vor1freq-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { var tfs = size(scratchpad); if (tfs == 3 or tfs == 5 or tfs == 6) { @@ -19,67 +19,47 @@ var radnavInput = func(key) { 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) { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } else { setprop("/instrumentation/nav[2]/frequencies/selected-mhz", scratchpad); setprop("/FMGC/internal/vor1freq-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } } else if (scratchpad >= 112.00 and scratchpad <= 117.95) { setprop("/instrumentation/nav[2]/frequencies/selected-mhz", scratchpad); setprop("/FMGC/internal/vor1freq-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } } else if (key == "L2") { if (scratchpad == "CLR") { setprop("/FMGC/internal/vor1crs-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { var tfs = size(scratchpad); if (tfs >= 1 and tfs <= 3) { if (scratchpad >= 0 and scratchpad <= 360) { setprop("/instrumentation/nav[2]/radials/selected-deg", scratchpad); setprop("/FMGC/internal/vor1crs-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } } else if (key == "L3") { if (scratchpad == "CLR") { setprop("/FMGC/internal/ils1freq-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { var tfs = size(scratchpad); if (tfs == 3 or tfs == 5 or tfs == 6) { @@ -90,88 +70,60 @@ var radnavInput = func(key) { 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/ils1freq-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } } else if (key == "L4") { if (scratchpad == "CLR") { setprop("/FMGC/internal/ils1crs-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/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/ils1crs-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } } else if (key == "L5") { if (scratchpad == "CLR") { setprop("/FMGC/internal/adf1freq-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { var tfs = size(scratchpad); if (tfs == 3 or tfs == 4) { if (scratchpad >= 190 and scratchpad <= 1750) { setprop("/instrumentation/adf[0]/frequencies/selected-khz", scratchpad); setprop("/FMGC/internal/adf1freq-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } } else if (key == "R1") { if (scratchpad == "CLR") { setprop("/FMGC/internal/vor2freq-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { var tfs = size(scratchpad); if (tfs == 3 or tfs == 5 or tfs == 6) { @@ -180,87 +132,59 @@ var radnavInput = func(key) { 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) { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } else { setprop("/instrumentation/nav[3]/frequencies/selected-mhz", scratchpad); setprop("/FMGC/internal/vor2freq-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } } else if (scratchpad >= 112.00 and scratchpad <= 117.95) { setprop("/instrumentation/nav[3]/frequencies/selected-mhz", scratchpad); setprop("/FMGC/internal/vor2freq-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } } else if (key == "R2") { if (scratchpad == "CLR") { setprop("/FMGC/internal/vor2crs-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { var tfs = size(scratchpad); if (tfs >= 1 and tfs <= 3) { if (scratchpad >= 0 and scratchpad <= 360) { setprop("/instrumentation/nav[3]/radials/selected-deg", scratchpad); setprop("/FMGC/internal/vor2crs-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } } else if (key == "R5") { if (scratchpad == "CLR") { setprop("/FMGC/internal/adf2freq-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { var tfs = size(scratchpad); if (tfs == 3 or tfs == 4) { if (scratchpad >= 190 and scratchpad <= 1750) { setprop("/instrumentation/adf[1]/frequencies/selected-khz", scratchpad); setprop("/FMGC/internal/adf2freq-set", 1); - setprop("/MCDU[0]/scratchpad", ""); + setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + notAllowed(i); } } } diff --git a/Nasal/MCDU1/STATUS.nas b/Nasal/MCDU/STATUS.nas similarity index 88% rename from Nasal/MCDU1/STATUS.nas rename to Nasal/MCDU/STATUS.nas index 4087d8f3..585549a6 100644 --- a/Nasal/MCDU1/STATUS.nas +++ b/Nasal/MCDU/STATUS.nas @@ -4,7 +4,7 @@ # Copyright (c) Joshua Davidson (it0uchpods) # ############################################## -var statusInput = func(key) { +var statusInput = func(key, i) { if (key == "L3") { fmgc.switchDatabase(); } diff --git a/Nasal/MCDU1/INITA.nas b/Nasal/MCDU1/INITA.nas deleted file mode 100644 index 488a4b27..00000000 --- a/Nasal/MCDU1/INITA.nas +++ /dev/null @@ -1,161 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var initInputA = func(key) { - var scratchpad = getprop("/MCDU[0]/scratchpad"); - if (key == "L3") { - if (scratchpad == "CLR") { - setprop("/MCDUC/flight-num", ""); - setprop("/MCDUC/flight-num-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var flts = size(scratchpad); - if (flts >= 1 and flts <= 8) { - setprop("/MCDUC/flight-num", scratchpad); - setprop("/MCDUC/flight-num-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L5") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/cost-index", 0); - setprop("/FMGC/internal/cost-index-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var ci = int(scratchpad); - var cis = size(scratchpad); - if (cis >= 1 and cis <= 3) { - if (ci == nil) { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } else if (ci >= 0 and ci <= 999) { - setprop("/FMGC/internal/cost-index", ci); - setprop("/FMGC/internal/cost-index-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L6") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/cruise-ft", 10000); - setprop("/FMGC/internal/cruise-fl", 100); - setprop("/FMGC/internal/cruise-lvl-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var crz = int(scratchpad); - var crzs = size(scratchpad); - if (crzs >= 1 and crzs <= 3) { - if (crz == nil) { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } else if (crz > 0 and crz <= 430) { - setprop("/FMGC/internal/cruise-ft", crz * 100); - setprop("/FMGC/internal/cruise-fl", crz); - setprop("/FMGC/internal/cruise-lvl-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R1") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/dep-arpt", ""); - setprop("/FMGC/internal/arr-arpt", ""); - setprop("/FMGC/internal/tofrom-set", 0); - fmgc.updateARPT(); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 9 and find("/", scratchpad) != -1) { - var fromto = split("/", scratchpad); - var froms = size(fromto[0]); - var tos = size(fromto[1]); - if (froms == 4 and tos == 4) { - setprop("/FMGC/internal/dep-arpt", fromto[0]); - setprop("/FMGC/internal/arr-arpt", fromto[1]); - setprop("/FMGC/internal/tofrom-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - fmgc.updateARPT(); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R3") { - if (getprop("/controls/adirs/mcducbtn") == 0) { - setprop("/controls/adirs/mcducbtn", 1); - } - } else if (key == "R6") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/tropo", 36090); - setprop("/FMGC/internal/tropo-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tropo = size(scratchpad); - if (tropo == 5) { - setprop("/FMGC/internal/tropo-set", 1); - setprop("/FMGC/internal/tropo", scratchpad); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } -} diff --git a/Nasal/MCDU1/INITB.nas b/Nasal/MCDU1/INITB.nas deleted file mode 100644 index 29de161a..00000000 --- a/Nasal/MCDU1/INITB.nas +++ /dev/null @@ -1,95 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var initInputB = func(key) { - var scratchpad = getprop("/MCDU[0]/scratchpad"); - if (key == "R1") { - if (scratchpad == "CLR") { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } else { - var tfs = size(scratchpad); - if (tfs == 0) { - var zfw = getprop("/fdm/jsbsim/inertia/weight-lbs") - getprop("/consumables/fuel/total-fuel-lbs"); - setprop("/MCDU[0]/scratchpad", "/" ~ sprintf("%3.1f", math.round(zfw / 1000, 0.1))); - } else if (tfs >= 2 and tfs <= 11 and find("/", scratchpad) != -1) { - var zfwi = split("/", scratchpad); - var zfwcg = size(zfwi[0]); - var zfw = size(zfwi[1]); - if (zfwcg >= 1 and zfwcg <= 5 and zfwi[0] > 0 and zfwi[0] <= 99.9) { - setprop("/FMGC/internal/zfwcg", zfwi[0]); - setprop("/FMGC/internal/zfwcg-set", 1); - } - if (zfw >= 1 and zfw <= 5 and zfwi[1] > 0 and zfwi[1] <= 999.9) { - setprop("/FMGC/internal/zfw", zfwi[1]); - setprop("/FMGC/internal/zfw-set", 1); - } - if ((zfwcg >= 1 and zfwcg <= 5 and zfwi[0] > 0 and zfwi[0] <= 99.9) or (zfw >= 1 and zfw <= 5 and zfwi[1] > 0 and zfwi[1] <= 999.9)) { - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else if (tfs >= 1 and tfs <= 5) { - var zfwcg = size(scratchpad); - if (zfwcg >= 1 and zfwcg <= 5 and scratchpad > 0 and scratchpad <= 99.9) { - setprop("/FMGC/internal/zfwcg", scratchpad); - setprop("/FMGC/internal/zfwcg-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R2") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/block", 0.0); - setprop("/FMGC/internal/block-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - var maxblock = getprop("/options/maxblock"); - if (tfs == 0) { - setprop("/MCDU[0]/scratchpad", sprintf("%3.1f", math.round(getprop("/consumables/fuel/total-fuel-lbs") / 1000, 0.1))); - } else if (tfs >= 1 and tfs <= 5) { - if (scratchpad >= 1.0 and scratchpad <= maxblock) { - setprop("/FMGC/internal/block", scratchpad); - setprop("/FMGC/internal/block-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } -} diff --git a/Nasal/MCDU1/MCDU.nas b/Nasal/MCDU1/MCDU.nas deleted file mode 100644 index 9091098f..00000000 --- a/Nasal/MCDU1/MCDU.nas +++ /dev/null @@ -1,568 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var MCDU_init = func { - setprop("/MCDU[0]/brightness", "1.0"); - MCDU_reset(); # Reset MCDU, clears data -} - -var MCDU_reset = func { - setprop("/MCDU[0]/active", 0); - setprop("/it-autoflight/settings/togaspd", 157); - setprop("/MCDU[0]/last-scratchpad", ""); - setprop("/MCDU[0]/last-fmgc-page", "STATUS"); - setprop("/MCDU[0]/page", "MCDU"); - setprop("/MCDU[0]/scratchpad", "SELECT DESIRED SYSTEM"); - setprop("/MCDU[0]/scratchpad-msg", 0); - setprop("/MCDUC/flight-num", ""); - setprop("/MCDUC/thracc-set", 0); - setprop("/MCDUC/reducacc-set", 0); - setprop("/MCDUC/flight-num-set", 0); - setprop("/FMGC/internal/flex", 0); - setprop("/FMGC/internal/dep-arpt", ""); - setprop("/FMGC/internal/arr-arpt", ""); - setprop("/FMGC/internal/cruise-ft", 10000); - setprop("/FMGC/internal/cruise-fl", 100); - setprop("/FMGC/internal/cost-index", "0"); - setprop("/FMGC/internal/trans-alt", 18000); - setprop("/FMGC/internal/reduc-agl-ft", "3000"); - setprop("/FMGC/internal/eng-out-reduc", "3500"); - setprop("/FMGC/internal/v1", 0); - setprop("/FMGC/internal/vr", 0); - setprop("/FMGC/internal/v2", 0); - setprop("/FMGC/internal/block", 0.0); - setprop("/FMGC/internal/zfw", 0); - setprop("/FMGC/internal/zfwcg", 55.1); # 25KG default - setprop("/FMGC/internal/v1-set", 0); - setprop("/FMGC/internal/vr-set", 0); - setprop("/FMGC/internal/v2-set", 0); - setprop("/FMGC/internal/block-set", 0); - setprop("/FMGC/internal/zfw-set", 0); - setprop("/FMGC/internal/zfwcg-set", 0); - setprop("/FMGC/internal/to-flap", 0); - setprop("/FMGC/internal/to-ths", "0.0"); - setprop("/FMGC/internal/tofrom-set", 0); - setprop("/FMGC/internal/cost-index-set", 0); - setprop("/FMGC/internal/cruise-lvl-set", 0); - setprop("/FMGC/internal/flap-ths-set", 0); - setprop("/FMGC/internal/flex-set", 0); - setprop("/FMGC/internal/ils1freq-set", 0); - setprop("/FMGC/internal/ils1crs-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); - setprop("/FMGC/internal/adf1freq-set", 0); - setprop("/FMGC/internal/adf2freq-set", 0); - setprop("/FMGC/internal/navdatabase", "01JAN-28JAN"); - setprop("/FMGC/internal/navdatabase2", "29JAN-26FEB"); - setprop("/FMGC/internal/navdatabasecode", "AB20170101"); - setprop("/FMGC/internal/navdatabasecode2", "AB20170102"); - setprop("/FMGC/print/mcdu/page1/L1auto", 0); - setprop("/FMGC/print/mcdu/page1/L2auto", 0); - setprop("/FMGC/print/mcdu/page1/L3auto", 0); - setprop("/FMGC/print/mcdu/page1/R1req", 0); - setprop("/FMGC/print/mcdu/page1/R2req", 0); - setprop("/FMGC/print/mcdu/page1/R3req", 0); - setprop("/FMGC/print/mcdu/page2/L1auto", 0); - setprop("/FMGC/print/mcdu/page2/L2auto", 0); - setprop("/FMGC/print/mcdu/page2/L3auto", 0); - setprop("/FMGC/print/mcdu/page2/L4auto", 0); - setprop("/FMGC/print/mcdu/page2/R1req", 0); - setprop("/FMGC/print/mcdu/page2/R2req", 0); - setprop("/FMGC/print/mcdu/page2/R3req", 0); - setprop("/FMGC/print/mcdu/page2/R4req", 0); - setprop("/FMGC/internal/tropo", 36090); - setprop("/FMGC/internal/tropo-set", 0); -} - -var lskbutton = func(btn) { - if (btn == "1") { - if (getprop("/MCDU[0]/page") == "MCDU") { - if (getprop("/MCDU[0]/active") != 2) { - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "WAIT FOR SYSTEM RESPONSE"); - setprop("/MCDU[0]/active", 1); - settimer(func(){ - setprop("/MCDU[0]/page", getprop("/MCDU[0]/last-fmgc-page")); - setprop("/MCDU[0]/scratchpad", ""); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/active", 2); - }, 2); - } else { - setprop("/MCDU[0]/page", getprop("/MCDU[0]/last-fmgc-page")); - setprop("/MCDU[0]/scratchpad", ""); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } - } else if (getprop("/MCDU[0]/page") == "TO") { - perfTOInput("L1"); - } else if (getprop("/MCDU[0]/page") == "RADNAV") { - radnavInput("L1"); - } else if (getprop("/MCDU[0]/page") == "DATA") { - dataInput("L1"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - printInput("L1"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("L1"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } 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 (getprop("/MCDU[0]/page") == "CLB") { - initInputA("L5"); # Does the same thing as on the INIT page - } else if (getprop("/MCDU[0]/page") == "CRZ") { - initInputA("L5"); - } else if (getprop("/MCDU[0]/page") == "DES") { - initInputA("L5"); - } else if (getprop("/MCDU[0]/page") == "DATA") { - dataInput("L2"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - printInput("L2"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("L2"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } 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") == "STATUS") { - statusInput("L3"); - } else if (getprop("/MCDU[0]/page") == "RADNAV") { - radnavInput("L3"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - printInput("L3"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("L3"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } 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 (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("L4"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "5") { - if (getprop("/MCDU[0]/page") == "INITA") { - initInputA("L5"); - } else if (getprop("/MCDU[0]/page") == "TO") { - perfTOInput("L5"); - } else if (getprop("/MCDU[0]/page") == "CLB") { - perfCLBInput("L5"); - } else if (getprop("/MCDU[0]/page") == "CRZ") { - perfCRZInput("L5"); - } else if (getprop("/MCDU[0]/page") == "DES") { - perfDESInput("L5"); - } else if (getprop("/MCDU[0]/page") == "RADNAV") { - radnavInput("L5"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - printInput("L5"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("L5"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "6") { - if (getprop("/MCDU[0]/page") == "INITA") { - initInputA("L6"); - } else if (getprop("/MCDU[0]/page") == "CLB") { - perfCLBInput("L6"); - } else if (getprop("/MCDU[0]/page") == "CRZ") { - perfCRZInput("L6"); - } else if (getprop("/MCDU[0]/page") == "DES") { - perfDESInput("L6"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("L6"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } -} - -var lskbutton_b = func(btn) { - # Special Middle Click Functions -} - -var rskbutton = func(btn) { - if (btn == "1") { - if (getprop("/MCDU[0]/page") == "INITA") { - initInputA("R1"); - } else if (getprop("/MCDU[0]/page") == "INITB") { - initInputB("R1"); - } else if (getprop("/MCDU[0]/page") == "RADNAV") { - radnavInput("R1"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - printInput("R1"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("R1"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "2") { - if (getprop("/MCDU[0]/page") == "INITB") { - initInputB("R2"); - } else if (getprop("/MCDU[0]/page") == "RADNAV") { - radnavInput("R2"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - printInput("R2"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("R2"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "3") { - if (getprop("/MCDU[0]/page") == "INITA") { - initInputA("R3"); - } else if (getprop("/MCDU[0]/page") == "TO") { - perfTOInput("R3"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - printInput("R3"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("R3"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "4") { - if (getprop("/MCDU[0]/page") == "TO") { - perfTOInput("R4"); - } else if (getprop("/MCDU[0]/page") == "RADNAV") { - radnavInput("R4"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - printInput2("R4"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "5") { - if (getprop("/MCDU[0]/page") == "TO") { - perfTOInput("R5"); - } else if (getprop("/MCDU[0]/page") == "RADNAV") { - radnavInput("R5"); - } else if (getprop("/MCDU[0]/page") == "DATA") { - dataInput("R5"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "6") { - if (getprop("/MCDU[0]/page") == "TO") { - perfTOInput("R6"); - } else if (getprop("/MCDU[0]/page") == "CLB") { - perfCLBInput("R6"); - } else if (getprop("/MCDU[0]/page") == "CRZ") { - perfCRZInput("R6"); - } else if ((getprop("/MCDU[0]/page") == "DATA") or (getprop("/MCDU[0]/page") == "PRINTFUNC") or (getprop("/MCDU[0]/page") == "PRINTFUNC2")) { - if (getprop("/MCDU[0]/scratchpad") != "AOC DISABLED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "AOC DISABLED"); - } else if (getprop("/MCDU[0]/page") == "INITA") { - initInputA("R6"); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } -} - -var rskbutton_b = func(btn) { - # Special Middle Click Functions -} - -var arrowbutton = func(btn) { - if (btn == "left") { - if (getprop("/MCDU[0]/page") == "DATA") { - setprop("/MCDU[0]/page", "DATA2"); - } else if (getprop("/MCDU[0]/page") == "DATA2") { - setprop("/MCDU[0]/page", "DATA"); - } - if (getprop("/MCDU[0]/page") == "INITA") { - if (getprop("/engines/engine[0]/state") != 3 and getprop("/engines/engine[1]/state") != 3) { - setprop("/MCDU[0]/page", "INITB"); - } - } else if (getprop("/MCDU[0]/page") == "INITB") { - setprop("/MCDU[0]/page", "INITA"); - } - if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - setprop("/MCDU[0]/page", "PRINTFUNC2"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - setprop("/MCDU[0]/page", "PRINTFUNC"); - } - } else if (btn == "right") { - if (getprop("/MCDU[0]/page") == "DATA") { - setprop("/MCDU[0]/page", "DATA2"); - } else if (getprop("/MCDU[0]/page") == "DATA2") { - setprop("/MCDU[0]/page", "DATA"); - } - if (getprop("/MCDU[0]/page") == "INITA") { - if (getprop("/engines/engine[0]/state") != 3 and getprop("/engines/engine[1]/state") != 3) { - setprop("/MCDU[0]/page", "INITB"); - } - } else if (getprop("/MCDU[0]/page") == "INITB") { - setprop("/MCDU[0]/page", "INITA"); - } - if (getprop("/MCDU[0]/page") == "PRINTFUNC") { - setprop("/MCDU[0]/page", "PRINTFUNC2"); - } else if (getprop("/MCDU[0]/page") == "PRINTFUNC2") { - setprop("/MCDU[0]/page", "PRINTFUNC"); - } - } else if (btn == "up") { - # Nothing for now - } else if (btn == "down") { - # Nothing for now - } -} - -var pagebutton = func(btn) { - if (getprop("/MCDU[0]/page") != "MCDU") { - if (btn == "radnav") { - setprop("/MCDU[0]/page", "RADNAV"); - } else if (btn == "perf") { - if (getprop("/FMGC/status/phase") == 0 or getprop("/FMGC/status/phase") == 1) { - setprop("/MCDU[0]/page", "TO"); - } else if (getprop("/FMGC/status/phase") == 2) { - setprop("/MCDU[0]/page", "CLB"); - } else if (getprop("/FMGC/status/phase") == 3) { - setprop("/MCDU[0]/page", "CRZ"); - } else if (getprop("/FMGC/status/phase") == 4) { - setprop("/MCDU[0]/page", "DES"); - } - } else if (btn == "init") { - setprop("/MCDU[0]/page", "INITA"); - } else if (btn == "data") { - setprop("/MCDU[0]/page", "DATA"); - } else if (btn == "mcdu") { - setprop("/MCDU[0]/last-fmgc-page", getprop("/MCDU[0]/page")); - setprop("/MCDU[0]/scratchpad", "SELECT DESIRED SYSTEM"); - setprop("/MCDU[0]/page", "MCDU"); - } else if (btn == "f-pln") { - setprop("/MCDU[0]/page", "F-PLNA"); - } else if (btn == "fuel-pred") { - setprop("/MCDU[0]/page", "FUELPRED"); - } - } -} - -var button = func(btn) { - if (getprop("/MCDU[0]/scratchpad-msg") == 0 and getprop("/MCDU[0]/page") != "MCDU") { - var scratchpad = getprop("/MCDU[0]/scratchpad"); - if (btn == "A") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "A"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "B") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "B"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "C") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "C"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "D") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "D"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "E") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "E"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "F") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "F"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "G") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "G"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "H") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "H"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "I") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "I"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "J") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "J"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "K") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "K"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "L") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "L"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "M") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "M"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "N") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "N"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "O") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "O"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "P") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "P"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "Q") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "Q"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "R") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "R"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "S") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "S"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "T") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "T"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "U") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "U"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "V") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "V"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "W") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "W"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "X") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "X"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "Y") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "Y"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "Z") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "Z"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "SLASH") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "/"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "SP") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ " "); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "CLR") { - var scratchpad = getprop("/MCDU[0]/scratchpad"); - if (size(scratchpad) == 0) { - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "CLR"); - } else if (getprop("/MCDU[0]/scratchpad-msg") == 1) { - setprop("/MCDU[0]/scratchpad", ""); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (size(scratchpad) > 0) { - setprop("/MCDU[0]/last-scratchpad", ""); - setprop("/MCDU[0]/scratchpad", left(scratchpad, size(scratchpad)-1)); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } - } else if (btn == "0") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "0"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "1") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "1"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "2") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "2"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "3") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "3"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "4") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "4"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "5") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "5"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "6") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "6"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "7") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "7"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "8") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "8"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "9") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "9"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "DOT") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "."); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } else if (btn == "PLUSMINUS") { - setprop("/MCDU[0]/scratchpad", scratchpad ~ "-"); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } - } else { - if (btn == "CLR") { - var scratchpad = getprop("/MCDU[0]/scratchpad"); - if (size(scratchpad) == 0) { - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "CLR"); - } else if (getprop("/MCDU[0]/scratchpad-msg") == 1) { - setprop("/MCDU[0]/scratchpad", getprop("/MCDU[0]/last-scratchpad")); - setprop("/MCDU[0]/last-scratchpad", ""); - setprop("/MCDU[0]/scratchpad-msg", "0"); - } - } - } -} - -var screenFlash = func(time) { - var page = getprop("/MCDU[0]/page"); - setprop("/MCDU[0]/page", "NONE"); - settimer(func { - setprop("/MCDU[0]/page", page); - }, time); -} diff --git a/Nasal/MCDU1/PERFCLB.nas b/Nasal/MCDU1/PERFCLB.nas deleted file mode 100644 index 4d0f9985..00000000 --- a/Nasal/MCDU1/PERFCLB.nas +++ /dev/null @@ -1,49 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var perfCLBInput = func(key) { - var scratchpad = getprop("/MCDU[0]/scratchpad"); - if (key == "L5") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/cost-index", 0); - setprop("/FMGC/internal/cost-index-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var ci = int(scratchpad); - var cis = size(scratchpad); - if (cis >= 1 and cis <= 3) { - if (ci == nil) { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } else if (ci >= 0 and ci <= 999) { - setprop("/FMGC/internal/cost-index", ci); - setprop("/FMGC/internal/cost-index-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L6") { - setprop("/MCDU[0]/page", "TO"); - } else if (key == "R6") { - setprop("/MCDU[0]/page", "CRZ"); - } -} diff --git a/Nasal/MCDU1/PERFDES.nas b/Nasal/MCDU1/PERFDES.nas deleted file mode 100644 index 048bf187..00000000 --- a/Nasal/MCDU1/PERFDES.nas +++ /dev/null @@ -1,11 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var perfDESInput = func(key) { - if (key == "L6") { - setprop("/MCDU[0]/page", "CRZ"); - } -} diff --git a/Nasal/MCDU1/PERFTO.nas b/Nasal/MCDU1/PERFTO.nas deleted file mode 100644 index efa0e737..00000000 --- a/Nasal/MCDU1/PERFTO.nas +++ /dev/null @@ -1,240 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var perfTOInput = func(key) { - var scratchpad = getprop("/MCDU[0]/scratchpad"); - if (key == "L1") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/v1", 0); - setprop("/FMGC/internal/v1-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3) { - if (scratchpad >= 100 and scratchpad <= 200) { - setprop("/FMGC/internal/v1", scratchpad); - setprop("/FMGC/internal/v1-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L2") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/vr", 0); - setprop("/FMGC/internal/vr-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3) { - if (scratchpad >= 100 and scratchpad <= 200) { - setprop("/FMGC/internal/vr", scratchpad); - setprop("/FMGC/internal/vr-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L3") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/v2", 0); - setprop("/FMGC/internal/v2-set", 0); - setprop("/it-autoflight/settings/togaspd", 157); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3) { - if (scratchpad >= 100 and scratchpad <= 200) { - setprop("/FMGC/internal/v2", scratchpad); - setprop("/FMGC/internal/v2-set", 1); - setprop("/it-autoflight/settings/togaspd", scratchpad + 10); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L4") { - if (scratchpad == "CLR") { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } else { - var tfs = size(scratchpad); - if (tfs == 4 or tfs == 5) { - if (scratchpad >= 1000 and scratchpad <= 18000) { - setprop("/FMGC/internal/trans-alt", scratchpad); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L5") { - if (scratchpad == "CLR") { - setprop("/systems/thrust/clbreduc-ft", "1500"); - setprop("/FMGC/internal/reduc-agl-ft", "3000"); - setprop("/MCDUC/thracc-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs >= 7 and tfs <= 9 and find("/", scratchpad) != -1) { - var thracc = split("/", scratchpad); - var thrred = size(thracc[0]); - var acc = size(thracc[1]); - if ((thrred >= 3 and thrred <= 5) and (acc >= 3 and acc <= 5)) { - setprop("/systems/thrust/clbreduc-ft", thracc[0]); - setprop("/FMGC/internal/reduc-agl-ft", thracc[1]); - setprop("/MCDUC/thracc-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R3") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/to-flap", 0); - setprop("/FMGC/internal/to-ths", "0.0"); - setprop("/FMGC/internal/flap-ths-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 7 and find("/", scratchpad) != -1) { - var flapths = split("/UP", scratchpad); - if ((flapths[0] >= 1 and flapths[0] <= 4) and (flapths[1] >= 0.0 and flapths[1] <= 2.5)) { - setprop("/FMGC/internal/to-flap", flapths[0]); - setprop("/FMGC/internal/to-ths", flapths[1]); - setprop("/FMGC/internal/flap-ths-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R4") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/flex", 0); - setprop("/FMGC/internal/flex-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 1 or tfs == 2) { - if (scratchpad >= 0 and scratchpad <= 70) { - setprop("/FMGC/internal/flex", scratchpad); - setprop("/FMGC/internal/flex-set", 1); - var flex_calc = getprop("/FMGC/internal/flex") - getprop("/environment/temperature-degc"); - setprop("/FMGC/internal/flex-cmd", flex_calc); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R5") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/eng-out-reduc", "3500"); - setprop("/MCDUC/reducacc-set", 0); - setprop("/MCDU[0]/scratchpad-msg", "0"); - setprop("/MCDU[0]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs >= 3 and tfs <= 5) { - setprop("/FMGC/internal/eng-out-reduc", scratchpad); - setprop("/MCDUC/reducacc-set", 1); - setprop("/MCDU[0]/scratchpad", ""); - } else { - if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); - } - setprop("/MCDU[0]/scratchpad-msg", "1"); - setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R6") { - setprop("/MCDU[0]/page", "CLB"); - } -} diff --git a/Nasal/MCDU2/DATA.nas b/Nasal/MCDU2/DATA.nas deleted file mode 100644 index 7fadc9a1..00000000 --- a/Nasal/MCDU2/DATA.nas +++ /dev/null @@ -1,71 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var dataInput = func(key) { - if (key == "L1") { - setprop("/MCDU[1]/page", "POSMON"); - } - if (key == "L2") { - setprop("/MCDU[1]/page", "IRSMON"); - } - if (key == "R5") { - setprop("/MCDU[1]/page", "PRINTFUNC"); - } -} - -var printInput = func(key) { - if (key == "L1") { - setprop("/FMGC/print/mcdu/page1/L1auto", 1); - } - if (key == "L2") { - setprop("/FMGC/print/mcdu/page1/L2auto", 1); - } - if (key == "L3") { - setprop("/FMGC/print/mcdu/page1/L3auto", 1); - } - if (key == "L5") { - setprop("/MCDU[1]/page", "DATA"); - } - if (key == "R1") { - setprop("/FMGC/print/mcdu/page1/R1req", 1); - } - if (key == "R2") { - setprop("/FMGC/print/mcdu/page1/R2req", 1); - } - if (key == "R3") { - setprop("/FMGC/print/mcdu/page1/R3req", 1); - } -} - -var printInput2 = func(key) { - if (key == "L1") { - setprop("/FMGC/print/mcdu/page2/L1auto", 1); - } - if (key == "L2") { - setprop("/FMGC/print/mcdu/page2/L2auto", 1); - } - if (key == "L3") { - setprop("/FMGC/print/mcdu/page2/L3auto", 1); - } - if (key == "L4") { - setprop("/FMGC/print/mcdu/page2/L4auto", 1); - } - if (key == "L6") { - setprop("/MCDU[1]/page", "DATA"); - } - if (key == "R1") { - setprop("/FMGC/print/mcdu/page2/R1req", 1); - } - if (key == "R2") { - setprop("/FMGC/print/mcdu/page2/R2req", 1); - } - if (key == "R3") { - setprop("/FMGC/print/mcdu/page2/R3req", 1); - } - if (key == "R4") { - setprop("/FMGC/print/mcdu/page2/R4req", 1); - } -} \ No newline at end of file diff --git a/Nasal/MCDU2/F-PLNA.nas b/Nasal/MCDU2/F-PLNA.nas deleted file mode 100644 index 977e56b7..00000000 --- a/Nasal/MCDU2/F-PLNA.nas +++ /dev/null @@ -1,47 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -setprop("/MCDUC/F-PLNA/left-1", "F-PLN PAGE IS NOT ENABLED"); -setprop("/MCDUC/F-PLNA/left-2", "BECAUSE IT IS NOT READY"); -setprop("/MCDUC/F-PLNA/left-3", "KIND REGARDS"); -setprop("/MCDUC/F-PLNA/left-4", "JOSH"); -setprop("/MCDUC/F-PLNA/left-5", ""); -setprop("/MCDUC/F-PLNA/left-6", "A3XX MCDU 0.55"); -setprop("/MCDUC/F-PLNA/center-1", ""); -setprop("/MCDUC/F-PLNA/center-2", ""); -setprop("/MCDUC/F-PLNA/center-3", ""); -setprop("/MCDUC/F-PLNA/center-4", ""); -setprop("/MCDUC/F-PLNA/center-5", ""); -setprop("/MCDUC/F-PLNA/center-6", ""); -setprop("/MCDUC/F-PLNA/right-1", ""); -setprop("/MCDUC/F-PLNA/right-2", ""); -setprop("/MCDUC/F-PLNA/right-3", ""); -setprop("/MCDUC/F-PLNA/right-4", ""); -setprop("/MCDUC/F-PLNA/right-5", ""); -setprop("/MCDUC/F-PLNA/right-6", ""); - -setprop("/MCDUC/F-PLNA/left-1c", "w"); -setprop("/MCDUC/F-PLNA/left-2c", "w"); -setprop("/MCDUC/F-PLNA/left-3c", "w"); -setprop("/MCDUC/F-PLNA/left-4c", "w"); -setprop("/MCDUC/F-PLNA/left-5c", "w"); -setprop("/MCDUC/F-PLNA/left-6c", "w"); -setprop("/MCDUC/F-PLNA/center-1c", "w"); -setprop("/MCDUC/F-PLNA/center-2c", "w"); -setprop("/MCDUC/F-PLNA/center-3c", "w"); -setprop("/MCDUC/F-PLNA/center-4c", "w"); -setprop("/MCDUC/F-PLNA/center-5c", "w"); -setprop("/MCDUC/F-PLNA/center-6c", "w"); -setprop("/MCDUC/F-PLNA/right-1c", "w"); -setprop("/MCDUC/F-PLNA/right-2c", "w"); -setprop("/MCDUC/F-PLNA/right-3c", "w"); -setprop("/MCDUC/F-PLNA/right-4c", "w"); -setprop("/MCDUC/F-PLNA/right-5c", "w"); -setprop("/MCDUC/F-PLNA/right-6c", "w"); - -var discontinuity = "---- F-PLN DISCONTINUITY ----"; -var fpln_end = "------- END OF F-PLN -------"; -var altn_fpln_end = "----- END OF ALTN F-PLN -----"; \ No newline at end of file diff --git a/Nasal/MCDU2/INITA.nas b/Nasal/MCDU2/INITA.nas deleted file mode 100644 index 3c546451..00000000 --- a/Nasal/MCDU2/INITA.nas +++ /dev/null @@ -1,161 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var initInputA = func(key) { - var scratchpad = getprop("/MCDU[1]/scratchpad"); - if (key == "L3") { - if (scratchpad == "CLR") { - setprop("/MCDUC/flight-num", ""); - setprop("/MCDUC/flight-num-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var flts = size(scratchpad); - if (flts >= 1 and flts <= 8) { - setprop("/MCDUC/flight-num", scratchpad); - setprop("/MCDUC/flight-num-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L5") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/cost-index", 0); - setprop("/FMGC/internal/cost-index-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var ci = int(scratchpad); - var cis = size(scratchpad); - if (cis >= 1 and cis <= 3) { - if (ci == nil) { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } else if (ci >= 0 and ci <= 999) { - setprop("/FMGC/internal/cost-index", ci); - setprop("/FMGC/internal/cost-index-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L6") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/cruise-ft", 10000); - setprop("/FMGC/internal/cruise-fl", 100); - setprop("/FMGC/internal/cruise-lvl-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var crz = int(scratchpad); - var crzs = size(scratchpad); - if (crzs >= 1 and crzs <= 3) { - if (crz == nil) { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } else if (crz > 0 and crz <= 430) { - setprop("/FMGC/internal/cruise-ft", crz * 100); - setprop("/FMGC/internal/cruise-fl", crz); - setprop("/FMGC/internal/cruise-lvl-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R1") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/dep-arpt", ""); - setprop("/FMGC/internal/arr-arpt", ""); - setprop("/FMGC/internal/tofrom-set", 0); - fmgc.updateARPT(); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 9 and find("/", scratchpad) != -1) { - var fromto = split("/", scratchpad); - var froms = size(fromto[0]); - var tos = size(fromto[1]); - if (froms == 4 and tos == 4) { - setprop("/FMGC/internal/dep-arpt", fromto[0]); - setprop("/FMGC/internal/arr-arpt", fromto[1]); - setprop("/FMGC/internal/tofrom-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - fmgc.updateARPT(); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R3") { - if (getprop("/controls/adirs/mcducbtn") == 0) { - setprop("/controls/adirs/mcducbtn", 1); - } - } else if (key == "R6") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/tropo", 36090); - setprop("/FMGC/internal/tropo-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tropo = size(scratchpad); - if (tropo == 5) { - setprop("/FMGC/internal/tropo-set", 1); - setprop("/FMGC/internal/tropo", scratchpad); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } -} diff --git a/Nasal/MCDU2/INITB.nas b/Nasal/MCDU2/INITB.nas deleted file mode 100644 index cb587f8d..00000000 --- a/Nasal/MCDU2/INITB.nas +++ /dev/null @@ -1,95 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var initInputB = func(key) { - var scratchpad = getprop("/MCDU[1]/scratchpad"); - if (key == "R1") { - if (scratchpad == "CLR") { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } else { - var tfs = size(scratchpad); - if (tfs == 0) { - var zfw = getprop("/fdm/jsbsim/inertia/weight-lbs") - getprop("/consumables/fuel/total-fuel-lbs"); - setprop("/MCDU[1]/scratchpad", "/" ~ sprintf("%3.1f", math.round(zfw / 1000, 0.1))); - } else if (tfs >= 2 and tfs <= 11 and find("/", scratchpad) != -1) { - var zfwi = split("/", scratchpad); - var zfwcg = size(zfwi[0]); - var zfw = size(zfwi[1]); - if (zfwcg >= 1 and zfwcg <= 5 and zfwi[0] > 0 and zfwi[0] <= 99.9) { - setprop("/FMGC/internal/zfwcg", zfwi[0]); - setprop("/FMGC/internal/zfwcg-set", 1); - } - if (zfw >= 1 and zfw <= 5 and zfwi[1] > 0 and zfwi[1] <= 999.9) { - setprop("/FMGC/internal/zfw", zfwi[1]); - setprop("/FMGC/internal/zfw-set", 1); - } - if ((zfwcg >= 1 and zfwcg <= 5 and zfwi[0] > 0 and zfwi[0] <= 99.9) or (zfw >= 1 and zfw <= 5 and zfwi[1] > 0 and zfwi[1] <= 999.9)) { - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else if (tfs >= 1 and tfs <= 5) { - var zfwcg = size(scratchpad); - if (zfwcg >= 1 and zfwcg <= 5 and scratchpad > 0 and scratchpad <= 99.9) { - setprop("/FMGC/internal/zfwcg", scratchpad); - setprop("/FMGC/internal/zfwcg-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R2") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/block", 0.0); - setprop("/FMGC/internal/block-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - var maxblock = getprop("/options/maxblock"); - if (tfs == 0) { - setprop("/MCDU[1]/scratchpad", sprintf("%3.1f", math.round(getprop("/consumables/fuel/total-fuel-lbs") / 1000, 0.1))); - } else if (tfs >= 1 and tfs <= 5) { - if (scratchpad >= 1.0 and scratchpad <= maxblock) { - setprop("/FMGC/internal/block", scratchpad); - setprop("/FMGC/internal/block-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } -} diff --git a/Nasal/MCDU2/MCDU.nas b/Nasal/MCDU2/MCDU.nas deleted file mode 100644 index 12640f77..00000000 --- a/Nasal/MCDU2/MCDU.nas +++ /dev/null @@ -1,568 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var MCDU_init = func { - setprop("/MCDU[1]/brightness", "1.0"); - MCDU_reset(); # Reset MCDU, clears data -} - -var MCDU_reset = func { - setprop("/MCDU[1]/active", 0); - setprop("/it-autoflight/settings/togaspd", 157); - setprop("/MCDU[1]/last-scratchpad", ""); - setprop("/MCDU[1]/last-fmgc-page", "STATUS"); - setprop("/MCDU[1]/page", "MCDU"); - setprop("/MCDU[1]/scratchpad", "SELECT DESIRED SYSTEM"); - setprop("/MCDU[1]/scratchpad-msg", 0); - setprop("/MCDUC/flight-num", ""); - setprop("/MCDUC/thracc-set", 0); - setprop("/MCDUC/reducacc-set", 0); - setprop("/MCDUC/flight-num-set", 0); - setprop("/FMGC/internal/flex", 0); - setprop("/FMGC/internal/dep-arpt", ""); - setprop("/FMGC/internal/arr-arpt", ""); - setprop("/FMGC/internal/cruise-ft", 10000); - setprop("/FMGC/internal/cruise-fl", 100); - setprop("/FMGC/internal/cost-index", "0"); - setprop("/FMGC/internal/trans-alt", 18000); - setprop("/FMGC/internal/reduc-agl-ft", "3000"); - setprop("/FMGC/internal/eng-out-reduc", "3500"); - setprop("/FMGC/internal/v1", 0); - setprop("/FMGC/internal/vr", 0); - setprop("/FMGC/internal/v2", 0); - setprop("/FMGC/internal/block", 0.0); - setprop("/FMGC/internal/zfw", 0); - setprop("/FMGC/internal/zfwcg", 55.1); # 25KG default - setprop("/FMGC/internal/v1-set", 0); - setprop("/FMGC/internal/vr-set", 0); - setprop("/FMGC/internal/v2-set", 0); - setprop("/FMGC/internal/block-set", 0); - setprop("/FMGC/internal/zfw-set", 0); - setprop("/FMGC/internal/zfwcg-set", 0); - setprop("/FMGC/internal/to-flap", 0); - setprop("/FMGC/internal/to-ths", "0.0"); - setprop("/FMGC/internal/tofrom-set", 0); - setprop("/FMGC/internal/cost-index-set", 0); - setprop("/FMGC/internal/cruise-lvl-set", 0); - setprop("/FMGC/internal/flap-ths-set", 0); - setprop("/FMGC/internal/flex-set", 0); - setprop("/FMGC/internal/ils1freq-set", 0); - setprop("/FMGC/internal/ils1crs-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); - setprop("/FMGC/internal/adf1freq-set", 0); - setprop("/FMGC/internal/adf2freq-set", 0); - setprop("/FMGC/internal/navdatabase", "01JAN-28JAN"); - setprop("/FMGC/internal/navdatabase2", "29JAN-26FEB"); - setprop("/FMGC/internal/navdatabasecode", "AB20170101"); - setprop("/FMGC/internal/navdatabasecode2", "AB20170102"); - setprop("/FMGC/print/mcdu/page1/L1auto", 0); - setprop("/FMGC/print/mcdu/page1/L2auto", 0); - setprop("/FMGC/print/mcdu/page1/L3auto", 0); - setprop("/FMGC/print/mcdu/page1/R1req", 0); - setprop("/FMGC/print/mcdu/page1/R2req", 0); - setprop("/FMGC/print/mcdu/page1/R3req", 0); - setprop("/FMGC/print/mcdu/page2/L1auto", 0); - setprop("/FMGC/print/mcdu/page2/L2auto", 0); - setprop("/FMGC/print/mcdu/page2/L3auto", 0); - setprop("/FMGC/print/mcdu/page2/L4auto", 0); - setprop("/FMGC/print/mcdu/page2/R1req", 0); - setprop("/FMGC/print/mcdu/page2/R2req", 0); - setprop("/FMGC/print/mcdu/page2/R3req", 0); - setprop("/FMGC/print/mcdu/page2/R4req", 0); - setprop("/FMGC/internal/tropo", 36090); - setprop("/FMGC/internal/tropo-set", 0); -} - -var lskbutton = func(btn) { - if (btn == "1") { - if (getprop("/MCDU[1]/page") == "MCDU") { - if (getprop("/MCDU[1]/active") != 2) { - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "WAIT FOR SYSTEM RESPONSE"); - setprop("/MCDU[1]/active", 1); - settimer(func(){ - setprop("/MCDU[1]/page", getprop("/MCDU[1]/last-fmgc-page")); - setprop("/MCDU[1]/scratchpad", ""); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/active", 2); - }, 2); - } else { - setprop("/MCDU[1]/page", getprop("/MCDU[1]/last-fmgc-page")); - setprop("/MCDU[1]/scratchpad", ""); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } - } else if (getprop("/MCDU[1]/page") == "TO") { - perfTOInput("L1"); - } else if (getprop("/MCDU[1]/page") == "RADNAV") { - radnavInput("L1"); - } else if (getprop("/MCDU[1]/page") == "DATA") { - dataInput("L1"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - printInput("L1"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("L1"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } 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 (getprop("/MCDU[1]/page") == "CLB") { - initInputA("L5"); # Does the same thing as on the INIT page - } else if (getprop("/MCDU[1]/page") == "CRZ") { - initInputA("L5"); - } else if (getprop("/MCDU[1]/page") == "DES") { - initInputA("L5"); - } else if (getprop("/MCDU[1]/page") == "DATA") { - dataInput("L2"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - printInput("L2"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("L2"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } 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") == "STATUS") { - statusInput("L3"); - } else if (getprop("/MCDU[1]/page") == "RADNAV") { - radnavInput("L3"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - printInput("L3"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("L3"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } 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 (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("L4"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "5") { - if (getprop("/MCDU[1]/page") == "INITA") { - initInputA("L5"); - } else if (getprop("/MCDU[1]/page") == "TO") { - perfTOInput("L5"); - } else if (getprop("/MCDU[1]/page") == "CLB") { - perfCLBInput("L5"); - } else if (getprop("/MCDU[1]/page") == "CRZ") { - perfCRZInput("L5"); - } else if (getprop("/MCDU[1]/page") == "DES") { - perfDESInput("L5"); - } else if (getprop("/MCDU[1]/page") == "RADNAV") { - radnavInput("L5"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - printInput("L5"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("L5"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "6") { - if (getprop("/MCDU[1]/page") == "INITA") { - initInputA("L6"); - } else if (getprop("/MCDU[1]/page") == "CLB") { - perfCLBInput("L6"); - } else if (getprop("/MCDU[1]/page") == "CRZ") { - perfCRZInput("L6"); - } else if (getprop("/MCDU[1]/page") == "DES") { - perfDESInput("L6"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("L6"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } -} - -var lskbutton_b = func(btn) { - # Special Middle Click Functions -} - -var rskbutton = func(btn) { - if (btn == "1") { - if (getprop("/MCDU[1]/page") == "INITA") { - initInputA("R1"); - } else if (getprop("/MCDU[1]/page") == "INITB") { - initInputB("R1"); - } else if (getprop("/MCDU[1]/page") == "RADNAV") { - radnavInput("R1"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - printInput("R1"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("R1"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "2") { - if (getprop("/MCDU[1]/page") == "INITB") { - initInputB("R2"); - } else if (getprop("/MCDU[1]/page") == "RADNAV") { - radnavInput("R2"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - printInput("R2"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("R2"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "3") { - if (getprop("/MCDU[1]/page") == "INITA") { - initInputA("R3"); - } else if (getprop("/MCDU[1]/page") == "TO") { - perfTOInput("R3"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - printInput("R3"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("R3"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "4") { - if (getprop("/MCDU[1]/page") == "TO") { - perfTOInput("R4"); - } else if (getprop("/MCDU[1]/page") == "RADNAV") { - radnavInput("R4"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - printInput2("R4"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "5") { - if (getprop("/MCDU[1]/page") == "TO") { - perfTOInput("R5"); - } else if (getprop("/MCDU[1]/page") == "RADNAV") { - radnavInput("R5"); - } else if (getprop("/MCDU[1]/page") == "DATA") { - dataInput("R5"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else if (btn == "6") { - if (getprop("/MCDU[1]/page") == "TO") { - perfTOInput("R6"); - } else if (getprop("/MCDU[1]/page") == "CLB") { - perfCLBInput("R6"); - } else if (getprop("/MCDU[1]/page") == "CRZ") { - perfCRZInput("R6"); - } else if ((getprop("/MCDU[1]/page") == "DATA") or (getprop("/MCDU[1]/page") == "PRINTFUNC") or (getprop("/MCDU[1]/page") == "PRINTFUNC2")) { - if (getprop("/MCDU[1]/scratchpad") != "AOC DISABLED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "AOC DISABLED"); - } else if (getprop("/MCDU[1]/page") == "INITA") { - initInputA("R6"); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } -} - -var rskbutton_b = func(btn) { - # Special Middle Click Functions -} - -var arrowbutton = func(btn) { - if (btn == "left") { - if (getprop("/MCDU[1]/page") == "DATA") { - setprop("/MCDU[1]/page", "DATA2"); - } else if (getprop("/MCDU[1]/page") == "DATA2") { - setprop("/MCDU[1]/page", "DATA"); - } - if (getprop("/MCDU[1]/page") == "INITA") { - if (getprop("/engines/engine[0]/state") != 3 and getprop("/engines/engine[1]/state") != 3) { - setprop("/MCDU[1]/page", "INITB"); - } - } else if (getprop("/MCDU[1]/page") == "INITB") { - setprop("/MCDU[1]/page", "INITA"); - } - if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - setprop("/MCDU[1]/page", "PRINTFUNC2"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - setprop("/MCDU[1]/page", "PRINTFUNC"); - } - } else if (btn == "right") { - if (getprop("/MCDU[1]/page") == "DATA") { - setprop("/MCDU[1]/page", "DATA2"); - } else if (getprop("/MCDU[1]/page") == "DATA2") { - setprop("/MCDU[1]/page", "DATA"); - } - if (getprop("/MCDU[1]/page") == "INITA") { - if (getprop("/engines/engine[0]/state") != 3 and getprop("/engines/engine[1]/state") != 3) { - setprop("/MCDU[1]/page", "INITB"); - } - } else if (getprop("/MCDU[1]/page") == "INITB") { - setprop("/MCDU[1]/page", "INITA"); - } - if (getprop("/MCDU[1]/page") == "PRINTFUNC") { - setprop("/MCDU[1]/page", "PRINTFUNC2"); - } else if (getprop("/MCDU[1]/page") == "PRINTFUNC2") { - setprop("/MCDU[1]/page", "PRINTFUNC"); - } - } else if (btn == "up") { - # Nothing for now - } else if (btn == "down") { - # Nothing for now - } -} - -var pagebutton = func(btn) { - if (getprop("/MCDU[1]/page") != "MCDU") { - if (btn == "radnav") { - setprop("/MCDU[1]/page", "RADNAV"); - } else if (btn == "perf") { - if (getprop("/FMGC/status/phase") == 0 or getprop("/FMGC/status/phase") == 1) { - setprop("/MCDU[1]/page", "TO"); - } else if (getprop("/FMGC/status/phase") == 2) { - setprop("/MCDU[1]/page", "CLB"); - } else if (getprop("/FMGC/status/phase") == 3) { - setprop("/MCDU[1]/page", "CRZ"); - } else if (getprop("/FMGC/status/phase") == 4) { - setprop("/MCDU[1]/page", "DES"); - } - } else if (btn == "init") { - setprop("/MCDU[1]/page", "INITA"); - } else if (btn == "data") { - setprop("/MCDU[1]/page", "DATA"); - } else if (btn == "mcdu") { - setprop("/MCDU[1]/last-fmgc-page", getprop("/MCDU[1]/page")); - setprop("/MCDU[1]/scratchpad", "SELECT DESIRED SYSTEM"); - setprop("/MCDU[1]/page", "MCDU"); - } else if (btn == "f-pln") { - setprop("/MCDU[1]/page", "F-PLNA"); - } else if (btn == "fuel-pred") { - setprop("/MCDU[1]/page", "FUELPRED"); - } - } -} - -var button = func(btn) { - if (getprop("/MCDU[1]/scratchpad-msg") == 0 and getprop("/MCDU[1]/page") != "MCDU") { - var scratchpad = getprop("/MCDU[1]/scratchpad"); - if (btn == "A") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "A"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "B") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "B"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "C") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "C"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "D") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "D"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "E") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "E"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "F") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "F"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "G") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "G"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "H") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "H"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "I") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "I"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "J") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "J"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "K") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "K"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "L") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "L"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "M") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "M"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "N") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "N"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "O") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "O"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "P") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "P"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "Q") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "Q"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "R") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "R"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "S") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "S"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "T") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "T"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "U") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "U"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "V") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "V"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "W") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "W"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "X") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "X"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "Y") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "Y"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "Z") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "Z"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "SLASH") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "/"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "SP") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ " "); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "CLR") { - var scratchpad = getprop("/MCDU[1]/scratchpad"); - if (size(scratchpad) == 0) { - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "CLR"); - } else if (getprop("/MCDU[1]/scratchpad-msg") == 1) { - setprop("/MCDU[1]/scratchpad", ""); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (size(scratchpad) > 0) { - setprop("/MCDU[1]/last-scratchpad", ""); - setprop("/MCDU[1]/scratchpad", left(scratchpad, size(scratchpad)-1)); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } - } else if (btn == "0") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "0"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "1") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "1"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "2") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "2"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "3") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "3"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "4") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "4"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "5") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "5"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "6") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "6"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "7") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "7"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "8") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "8"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "9") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "9"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "DOT") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "."); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } else if (btn == "PLUSMINUS") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ "-"); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } - } else { - if (btn == "CLR") { - var scratchpad = getprop("/MCDU[1]/scratchpad"); - if (size(scratchpad) == 0) { - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "CLR"); - } else if (getprop("/MCDU[1]/scratchpad-msg") == 1) { - setprop("/MCDU[1]/scratchpad", getprop("/MCDU[1]/last-scratchpad")); - setprop("/MCDU[1]/last-scratchpad", ""); - setprop("/MCDU[1]/scratchpad-msg", "0"); - } - } - } -} - -var screenFlash = func(time) { - var page = getprop("/MCDU[1]/page"); - setprop("/MCDU[1]/page", "NONE"); - settimer(func { - setprop("/MCDU[1]/page", page); - }, time); -} diff --git a/Nasal/MCDU2/PERFCLB.nas b/Nasal/MCDU2/PERFCLB.nas deleted file mode 100644 index 1a4c8c46..00000000 --- a/Nasal/MCDU2/PERFCLB.nas +++ /dev/null @@ -1,49 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var perfCLBInput = func(key) { - var scratchpad = getprop("/MCDU[1]/scratchpad"); - if (key == "L5") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/cost-index", 0); - setprop("/FMGC/internal/cost-index-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var ci = int(scratchpad); - var cis = size(scratchpad); - if (cis >= 1 and cis <= 3) { - if (ci == nil) { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } else if (ci >= 0 and ci <= 999) { - setprop("/FMGC/internal/cost-index", ci); - setprop("/FMGC/internal/cost-index-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L6") { - setprop("/MCDU[1]/page", "TO"); - } else if (key == "R6") { - setprop("/MCDU[1]/page", "CRZ"); - } -} diff --git a/Nasal/MCDU2/PERFCRZ.nas b/Nasal/MCDU2/PERFCRZ.nas deleted file mode 100644 index 82d47e88..00000000 --- a/Nasal/MCDU2/PERFCRZ.nas +++ /dev/null @@ -1,14 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var perfCRZInput = func(key) { - if (key == "L6") { - setprop("/MCDU[1]/page", "CLB"); - } - if (key == "R6") { - setprop("/MCDU[1]/page", "DES"); - } -} diff --git a/Nasal/MCDU2/PERFTO.nas b/Nasal/MCDU2/PERFTO.nas deleted file mode 100644 index 2c6b59c7..00000000 --- a/Nasal/MCDU2/PERFTO.nas +++ /dev/null @@ -1,240 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var perfTOInput = func(key) { - var scratchpad = getprop("/MCDU[1]/scratchpad"); - if (key == "L1") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/v1", 0); - setprop("/FMGC/internal/v1-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3) { - if (scratchpad >= 100 and scratchpad <= 200) { - setprop("/FMGC/internal/v1", scratchpad); - setprop("/FMGC/internal/v1-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L2") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/vr", 0); - setprop("/FMGC/internal/vr-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3) { - if (scratchpad >= 100 and scratchpad <= 200) { - setprop("/FMGC/internal/vr", scratchpad); - setprop("/FMGC/internal/vr-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L3") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/v2", 0); - setprop("/FMGC/internal/v2-set", 0); - setprop("/it-autoflight/settings/togaspd", 157); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3) { - if (scratchpad >= 100 and scratchpad <= 200) { - setprop("/FMGC/internal/v2", scratchpad); - setprop("/FMGC/internal/v2-set", 1); - setprop("/it-autoflight/settings/togaspd", scratchpad + 10); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L4") { - if (scratchpad == "CLR") { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } else { - var tfs = size(scratchpad); - if (tfs == 4 or tfs == 5) { - if (scratchpad >= 1000 and scratchpad <= 18000) { - setprop("/FMGC/internal/trans-alt", scratchpad); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L5") { - if (scratchpad == "CLR") { - setprop("/systems/thrust/clbreduc-ft", "1500"); - setprop("/FMGC/internal/reduc-agl-ft", "3000"); - setprop("/MCDUC/thracc-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs >= 7 and tfs <= 9 and find("/", scratchpad) != -1) { - var thracc = split("/", scratchpad); - var thrred = size(thracc[0]); - var acc = size(thracc[1]); - if ((thrred >= 3 and thrred <= 5) and (acc >= 3 and acc <= 5)) { - setprop("/systems/thrust/clbreduc-ft", thracc[0]); - setprop("/FMGC/internal/reduc-agl-ft", thracc[1]); - setprop("/MCDUC/thracc-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R3") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/to-flap", 0); - setprop("/FMGC/internal/to-ths", "0.0"); - setprop("/FMGC/internal/flap-ths-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 7 and find("/", scratchpad) != -1) { - var flapths = split("/UP", scratchpad); - if ((flapths[0] >= 1 and flapths[0] <= 4) and (flapths[1] >= 0.0 and flapths[1] <= 2.5)) { - setprop("/FMGC/internal/to-flap", flapths[0]); - setprop("/FMGC/internal/to-ths", flapths[1]); - setprop("/FMGC/internal/flap-ths-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R4") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/flex", 0); - setprop("/FMGC/internal/flex-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 1 or tfs == 2) { - if (scratchpad >= 0 and scratchpad <= 70) { - setprop("/FMGC/internal/flex", scratchpad); - setprop("/FMGC/internal/flex-set", 1); - var flex_calc = getprop("/FMGC/internal/flex") - getprop("/environment/temperature-degc"); - setprop("/FMGC/internal/flex-cmd", flex_calc); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R5") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/eng-out-reduc", "3500"); - setprop("/MCDUC/reducacc-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs >= 3 and tfs <= 5) { - setprop("/FMGC/internal/eng-out-reduc", scratchpad); - setprop("/MCDUC/reducacc-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R6") { - setprop("/MCDU[1]/page", "CLB"); - } -} diff --git a/Nasal/MCDU2/RADNAV.nas b/Nasal/MCDU2/RADNAV.nas deleted file mode 100644 index 73d373a8..00000000 --- a/Nasal/MCDU2/RADNAV.nas +++ /dev/null @@ -1,267 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -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-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3 or tfs == 5 or tfs == 6) { - if (scratchpad >= 108.00 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) { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } else { - setprop("/instrumentation/nav[2]/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[2]/frequencies/selected-mhz", scratchpad); - setprop("/FMGC/internal/vor1freq-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - 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-msg", "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[2]/radials/selected-deg", scratchpad); - setprop("/FMGC/internal/vor1crs-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L3") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/ils1freq-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3 or tfs == 5 or tfs == 6) { - if (scratchpad >= 108.00 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/ils1freq-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L4") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/ils1crs-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "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/ils1crs-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "L5") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/adf1freq-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3 or tfs == 4) { - if (scratchpad >= 190 and scratchpad <= 1750) { - setprop("/instrumentation/adf[0]/frequencies/selected-khz", scratchpad); - setprop("/FMGC/internal/adf1freq-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - 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-msg", "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) { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } else { - setprop("/instrumentation/nav[3]/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[3]/frequencies/selected-mhz", scratchpad); - setprop("/FMGC/internal/vor2freq-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - 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-msg", "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[3]/radials/selected-deg", scratchpad); - setprop("/FMGC/internal/vor2crs-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } else if (key == "R5") { - if (scratchpad == "CLR") { - setprop("/FMGC/internal/adf2freq-set", 0); - setprop("/MCDU[1]/scratchpad-msg", "0"); - setprop("/MCDU[1]/scratchpad", ""); - } else { - var tfs = size(scratchpad); - if (tfs == 3 or tfs == 4) { - if (scratchpad >= 190 and scratchpad <= 1750) { - setprop("/instrumentation/adf[1]/frequencies/selected-khz", scratchpad); - setprop("/FMGC/internal/adf2freq-set", 1); - setprop("/MCDU[1]/scratchpad", ""); - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } else { - if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { - setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad")); - } - setprop("/MCDU[1]/scratchpad-msg", "1"); - setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); - } - } - } -} diff --git a/Nasal/MCDU2/STATUS.nas b/Nasal/MCDU2/STATUS.nas deleted file mode 100644 index 4087d8f3..00000000 --- a/Nasal/MCDU2/STATUS.nas +++ /dev/null @@ -1,11 +0,0 @@ -# A3XX mCDU by Joshua Davidson (it0uchpods) and Jonathan Redpath - -############################################## -# Copyright (c) Joshua Davidson (it0uchpods) # -############################################## - -var statusInput = func(key) { - if (key == "L3") { - fmgc.switchDatabase(); - } -} diff --git a/Nasal/libraries.nas b/Nasal/libraries.nas index bdab14a2..c04dcb0f 100644 --- a/Nasal/libraries.nas +++ b/Nasal/libraries.nas @@ -182,8 +182,8 @@ var systemsInit = func { systems.autobrake_init(); fmgc.APinit(); fmgc.FMGCinit(); - mcdu1.MCDU_init(); - mcdu2.MCDU_init(); + mcdu.MCDU_init(0); + mcdu.MCDU_init(1); systemsLoop.start(); libraries.CVR.start(); icing.icingInit();