From d970754180edaf3831dad00df39bfbd3b99d34e9 Mon Sep 17 00:00:00 2001 From: merspieler Date: Fri, 14 Sep 2018 11:35:00 +0200 Subject: [PATCH] Added Manual LECAM page select logic Signed-off-by: merspieler --- Models/FlightDeck/a320.flightdeck.xml | 24 +++++++-------- Nasal/ECAM.nas | 43 ++++++++++++++++++++++++--- 2 files changed, 51 insertions(+), 16 deletions(-) diff --git a/Models/FlightDeck/a320.flightdeck.xml b/Models/FlightDeck/a320.flightdeck.xml index 5fe8009b..21fb8a91 100644 --- a/Models/FlightDeck/a320.flightdeck.xml +++ b/Models/FlightDeck/a320.flightdeck.xml @@ -1074,7 +1074,7 @@ nasal - + @@ -1093,7 +1093,7 @@ nasal - + @@ -1112,7 +1112,7 @@ nasal - + @@ -1131,7 +1131,7 @@ nasal - + @@ -1150,7 +1150,7 @@ nasal - + @@ -1169,7 +1169,7 @@ nasal - + @@ -1188,7 +1188,7 @@ nasal - + @@ -1207,7 +1207,7 @@ nasal - + @@ -1226,7 +1226,7 @@ nasal - + @@ -1245,7 +1245,7 @@ nasal - + @@ -1264,7 +1264,7 @@ nasal - + @@ -1283,7 +1283,7 @@ nasal - + diff --git a/Nasal/ECAM.nas b/Nasal/ECAM.nas index 8893ef3b..d13763f5 100644 --- a/Nasal/ECAM.nas +++ b/Nasal/ECAM.nas @@ -16,7 +16,8 @@ var ECAM = { setprop("/ECAM/to-memo-enable", 1); setprop("/ECAM/to-config", 0); setprop("/ECAM/ldg-memo-enable", 0); - setprop("/ECAM/Lower/page", ""); + setprop("/ECAM/Lower/page", "door"); + setprop("/ECAM/Lower/man-select", 0); setprop("/ECAM/Lower/light/apu", 0); setprop("/ECAM/Lower/light/bleed", 0); setprop("/ECAM/Lower/light/cond", 0); @@ -155,12 +156,46 @@ ECAM.MSGclr(); var LowerECAM = { button: func(b) { - + var man_sel = getprop("/ECAM/Lower/man-select"); + + if(!man_sel) { + setprop("/ECAM/Lower/man-select", 1); + setprop("/ECAM/Lower/page", b); + setprop("/ECAM/Lower/light/" ~ b, 1); + } else { + if(b == getprop("/ECAM/Lower/page")) { + setprop("/ECAM/Lower/man-select", 0); + LowerECAM.loop(); + setprop("/ECAM/Lower/light/" ~ b, 0); + } else { + setprop("/ECAM/Lower/light/" ~ getprop("/ECAM/Lower/page"), 0); + setprop("/ECAM/Lower/page", b); + setprop("/ECAM/Lower/light/" ~ b, 1); + } + } }, loop: func() { - + var man_sel = getprop("/ECAM/Lower/man-select"); + + if(!man_sel) { + setprop("/ECAM/Lower/page", "crz"); + #TODO auto select page + } }, reset: func() { - + setprop("/ECAM/Lower/page", "door"); + setprop("/ECAM/Lower/man-select", 0); + setprop("/ECAM/Lower/light/apu", 0); + setprop("/ECAM/Lower/light/bleed", 0); + setprop("/ECAM/Lower/light/cond", 0); + setprop("/ECAM/Lower/light/door", 0); + setprop("/ECAM/Lower/light/elec", 0); + setprop("/ECAM/Lower/light/eng", 0); + setprop("/ECAM/Lower/light/fctl", 0); + setprop("/ECAM/Lower/light/fuel", 0); + setprop("/ECAM/Lower/light/hyd", 0); + setprop("/ECAM/Lower/light/press", 0); + setprop("/ECAM/Lower/light/sts", 0); + setprop("/ECAM/Lower/light/wheel", 0); }, };