From 650d9fdb3f74a2469303c76f7425933bf11c2ea8 Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Thu, 18 May 2017 09:53:16 -0400 Subject: [PATCH] move all button logic to nasal --- Models/Instruments/MCDU1/MCDU1.xml | 257 +++++++++++++++++---- Models/Instruments/MCDU2/MCDU2.xml | 355 +++++++++++++++++++++-------- Nasal/MCDU1.nas | 75 ++++-- Nasal/MCDU2.nas | 77 +++++-- 4 files changed, 572 insertions(+), 192 deletions(-) diff --git a/Models/Instruments/MCDU1/MCDU1.xml b/Models/Instruments/MCDU1/MCDU1.xml index e9549faa..c8cd2c4e 100644 --- a/Models/Instruments/MCDU1/MCDU1.xml +++ b/Models/Instruments/MCDU1/MCDU1.xml @@ -182,29 +182,71 @@ false nasal - + - /systems/electrical/bus/ac1 25 - - - /FMGC/status/phase - 0 - - - /FMGC/status/phase - 1 - - - + + pick + L1 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + L2 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + L3 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + pick L4 @@ -213,18 +255,48 @@ false nasal - + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + L5 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + L6 + + + false + + nasal + - /systems/electrical/bus/ac1 25 - - /MCDU[0]/page - DATA - - @@ -232,28 +304,113 @@ pick - right + R1 false nasal - + - /systems/electrical/bus/ac1 25 - - /MCDU[0]/page - DATA - - + + pick + R2 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + R3 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + R4 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + R5 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + R6 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + pick left @@ -262,18 +419,12 @@ false nasal - + - /systems/electrical/bus/ac1 25 - - /MCDU[0]/page - DATA - - @@ -286,42 +437,48 @@ false nasal - + - /systems/electrical/bus/ac1 25 - - /MCDU[0]/page - DATA2 - - pick - left + up false nasal - + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + down + + + false + + nasal + - /systems/electrical/bus/ac1 25 - - /MCDU[0]/page - DATA2 - - diff --git a/Models/Instruments/MCDU2/MCDU2.xml b/Models/Instruments/MCDU2/MCDU2.xml index cf660c8d..e126bcee 100644 --- a/Models/Instruments/MCDU2/MCDU2.xml +++ b/Models/Instruments/MCDU2/MCDU2.xml @@ -20,7 +20,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -37,7 +37,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -59,7 +59,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -81,7 +81,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -103,7 +103,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -147,7 +147,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -166,7 +166,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -182,29 +182,71 @@ false nasal - + - /systems/electrical/bus/ac1 25 - - - /FMGC/status/phase - 0 - - - /FMGC/status/phase - 1 - - - + + pick + L1 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + L2 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + L3 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + pick L4 @@ -213,18 +255,48 @@ false nasal - + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + L5 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + L6 + + + false + + nasal + - /systems/electrical/bus/ac1 25 - - /MCDU[1]/page - DATA - - @@ -232,28 +304,113 @@ pick - right + R1 false nasal - + - /systems/electrical/bus/ac1 25 - - /MCDU[1]/page - DATA - - + + pick + R2 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + R3 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + R4 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + R5 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + R6 + + + false + + nasal + + + + /systems/electrical/bus/ac1 + 25 + + + + + + pick left @@ -262,18 +419,12 @@ false nasal - + - /systems/electrical/bus/ac1 25 - - /MCDU[1]/page - DATA - - @@ -286,42 +437,48 @@ false nasal - + - /systems/electrical/bus/ac1 25 - - /MCDU[1]/page - DATA2 - - pick - left + up false nasal - + + + + /systems/electrical/bus/ac1 + 25 + + + + + + + pick + down + + + false + + nasal + - /systems/electrical/bus/ac1 25 - - /MCDU[1]/page - DATA2 - - @@ -338,7 +495,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -356,7 +513,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -374,7 +531,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -392,7 +549,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -410,7 +567,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -428,7 +585,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -446,7 +603,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -464,7 +621,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -482,7 +639,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -500,7 +657,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -518,7 +675,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -536,7 +693,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -554,7 +711,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -572,7 +729,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -590,7 +747,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -608,7 +765,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -626,7 +783,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -644,7 +801,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -662,7 +819,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -680,7 +837,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -698,7 +855,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -716,7 +873,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -734,7 +891,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -752,7 +909,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -770,7 +927,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -788,7 +945,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -806,7 +963,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -824,7 +981,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -842,7 +999,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -860,7 +1017,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -878,7 +1035,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -896,7 +1053,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -914,7 +1071,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -932,7 +1089,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -950,7 +1107,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -968,7 +1125,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -986,7 +1143,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -1004,7 +1161,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -1022,7 +1179,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -1040,7 +1197,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -1058,7 +1215,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 @@ -1076,7 +1233,7 @@ - /systems/electrical/bus/ac2 + /systems/electrical/bus/ac1 25 diff --git a/Nasal/MCDU1.nas b/Nasal/MCDU1.nas index 7f0407d2..1624f954 100644 --- a/Nasal/MCDU1.nas +++ b/Nasal/MCDU1.nas @@ -14,37 +14,70 @@ var MCDU_reset = func { setprop("/MCDU[0]/scratchpad", " "); } +var latbutton = func(btn) { + if (btn == "4") { + if (getprop("/MCDU[0]/page") == "DATA") { + setprop("/MCDU[0]/page", "NONE"); + settimer(func { + setprop("/MCDU[0]/page", "STATUS"); + }, 0.2); + } + } +} + +var vertbutton = func(btn) { + # LOL Nothing here :D +} + +var arrowbutton = func(btn) { + if (btn == "left") { + setprop("/MCDU[0]/page", "NONE"); + if (getprop("/MCDU[0]/page") == "DATA") { + settimer(func { + setprop("/MCDU[0]/page", "DATA2"); + }, 0.2); + } else if (getprop("/MCDU[0]/page") == "DATA2") { + settimer(func { + setprop("/MCDU[0]/page", "DATA"); + }, 0.2); + } + } else if (btn == "right") { + setprop("/MCDU[0]/page", "NONE"); + if (getprop("/MCDU[0]/page") == "DATA") { + settimer(func { + setprop("/MCDU[0]/page", "DATA2"); + }, 0.2); + } else if (getprop("/MCDU[0]/page") == "DATA2") { + settimer(func { + setprop("/MCDU[0]/page", "DATA"); + }, 0.2); + } + } else if (btn == "up") { + # Nothing for now + } else if (btn == "down") { + # Nothing for now + } +} + var pagebutton = func(btn) { - if (btn == "init") { + if (btn == "perf") { + setprop("/MCDU[0]/page", "NONE"); + if (getprop("/FMGC/status/phase") == 0 or getprop("/FMGC/status/phase") == 1) { + settimer(func { + setprop("/MCDU[0]/page", "TO"); + }, 0.2); + } + } else if (btn == "init") { setprop("/MCDU[0]/page", "NONE"); settimer(func { setprop("/MCDU[0]/page", "INITA"); }, 0.2); - } - if (btn == "data") { + } else if (btn == "data") { setprop("/MCDU[0]/page", "NONE"); settimer(func { setprop("/MCDU[0]/page", "DATA"); }, 0.2); } - if (btn == "status") { - setprop("/MCDU[0]/page", "NONE"); - settimer(func { - setprop("/MCDU[0]/page", "STATUS"); - }, 0.2); - } - if (btn == "data2") { - setprop("/MCDU[0]/page", "NONE"); - settimer(func { - setprop("/MCDU[0]/page", "DATA2"); - }, 0.2); - } - if (btn == "perfto") { - setprop("/MCDU[0]/page", "NONE"); - settimer(func { - setprop("/MCDU[0]/page", "TO"); - }, 0.2); - } } var button = func(btn) { diff --git a/Nasal/MCDU2.nas b/Nasal/MCDU2.nas index 55bf4d54..0f3613a9 100644 --- a/Nasal/MCDU2.nas +++ b/Nasal/MCDU2.nas @@ -14,37 +14,70 @@ var MCDU_reset = func { setprop("/MCDU[1]/scratchpad", " "); } +var latbutton = func(btn) { + if (btn == "4") { + if (getprop("/MCDU[1]/page") == "DATA") { + setprop("/MCDU[1]/page", "NONE"); + settimer(func { + setprop("/MCDU[1]/page", "STATUS"); + }, 0.2); + } + } +} + +var vertbutton = func(btn) { + # LOL Nothing here :D +} + +var arrowbutton = func(btn) { + if (btn == "left") { + setprop("/MCDU[1]/page", "NONE"); + if (getprop("/MCDU[1]/page") == "DATA") { + settimer(func { + setprop("/MCDU[1]/page", "DATA2"); + }, 0.2); + } else if (getprop("/MCDU[1]/page") == "DATA2") { + settimer(func { + setprop("/MCDU[1]/page", "DATA"); + }, 0.2); + } + } else if (btn == "right") { + setprop("/MCDU[1]/page", "NONE"); + if (getprop("/MCDU[1]/page") == "DATA") { + settimer(func { + setprop("/MCDU[1]/page", "DATA2"); + }, 0.2); + } else if (getprop("/MCDU[1]/page") == "DATA2") { + settimer(func { + setprop("/MCDU[1]/page", "DATA"); + }, 0.2); + } + } else if (btn == "up") { + # Nothing for now + } else if (btn == "down") { + # Nothing for now + } +} + var pagebutton = func(btn) { - if (btn == "init") { + if (btn == "perf") { + setprop("/MCDU[1]/page", "NONE"); + if (getprop("/FMGC/status/phase") == 0 or getprop("/FMGC/status/phase") == 1) { + settimer(func { + setprop("/MCDU[1]/page", "TO"); + }, 0.2); + } + } else if (btn == "init") { setprop("/MCDU[1]/page", "NONE"); settimer(func { setprop("/MCDU[1]/page", "INITA"); }, 0.2); - } - if (btn == "data") { + } else if (btn == "data") { setprop("/MCDU[1]/page", "NONE"); settimer(func { setprop("/MCDU[1]/page", "DATA"); }, 0.2); } - if (btn == "status") { - setprop("/MCDU[1]/page", "NONE"); - settimer(func { - setprop("/MCDU[1]/page", "STATUS"); - }, 0.2); - } - if (btn == "data2") { - setprop("/MCDU[1]/page", "NONE"); - settimer(func { - setprop("/MCDU[1]/page", "DATA2"); - }, 0.2); - } - if (btn == "perfto") { - setprop("/MCDU[1]/page", "NONE"); - settimer(func { - setprop("/MCDU[1]/page", "TO"); - }, 0.2); - } } var button = func(btn) { @@ -104,7 +137,7 @@ var button = func(btn) { } else if (btn == "SLASH") { setprop("/MCDU[1]/scratchpad", scratchpad ~ "/"); } else if (btn == "SP") { - setprop("/MCDU[1]/scratchpad", scratchpad ~ " "); # adds a space + setprop("/MCDU[1]/scratchpad", scratchpad ~ " "); # this button adds a space } else if (btn == "CLR") { var scratchpad = getprop("/MCDU[1]/scratchpad"); if (scratchpad == " ") {