# A3XX ECAM Messages # Joshua Davidson (it0uchpods) ######################################### # Copyright (c) it0uchpods Design Group # ######################################### # It no works yet, so please don't touch a thing until it works. Thanks -JD ################## # Init Functions # ################## setprop("/position/gear-agl-ft", 0); setprop("/ECAM/noupdate", 0); setprop("/ECAM/donotrevert", 0); setprop("/ECAM/Lower/page", "eng"); ###################################################### # w = White, b = Blue, g = Green, a = Amber, r = Red # ###################################################### var ECAMinit = func { if (getprop("/options/enable-ecam-actions") == 1) { ECAMloop.start(); setprop("/ECAM/phase-1-inhibit", 0); setprop("/ECAM/phase-2-inhibit", 0); setprop("/ECAM/phase-3-inhibit", 0); setprop("/ECAM/phase-4-inhibit", 0); setprop("/ECAM/phase-5-inhibit", 0); setprop("/ECAM/phase-6-inhibit", 0); setprop("/ECAM/phase-7-inhibit", 0); setprop("/ECAM/phase-8-inhibit", 0); setprop("/ECAM/phase-9-inhibit", 0); setprop("/ECAM/phase-10-inhibit", 0); var stateL = getprop("/engines/engine[0]/state"); var stateR = getprop("/engines/engine[1]/state"); var thrustL = getprop("/systems/thrust/state1"); var thrustR = getprop("/systems/thrust/state2"); var elec = getprop("/systems/electrical/on"); var speed = getprop("/velocities/airspeed-kt"); var wowL = getprop("/gear/gear[1]/wow"); var altitude = getprop("/position/gear-agl-ft"); var phase1inhibit = getprop("/ECAM/phase-1-inhibit"); var phase2inhibit = getprop("/ECAM/phase-2-inhibit"); var phase3inhibit = getprop("/ECAM/phase-3-inhibit"); var phase4inhibit = getprop("/ECAM/phase-4-inhibit"); var phase5inhibit = getprop("/ECAM/phase-5-inhibit"); var phase6inhibit = getprop("/ECAM/phase-6-inhibit"); var phase7inhibit = getprop("/ECAM/phase-7-inhibit"); var phase8inhibit = getprop("/ECAM/phase-8-inhibit"); var phase9inhibit = getprop("/ECAM/phase-9-inhibit"); var phase10inhibit = getprop("/ECAM/phase-10-inhibit"); } } # setlistener("/ECAM/phase-10-inhibit", func { # phase10inhibit = getprop("/ECAM/phase-10-inhibit"); # if (phase10inhibit) { # settimer(func { # setprop("/ECAM/phase-10-inhibit", 0); # }, 300); # } #}); var MSGclr = func { setprop("/ECAM/ecam-checklist-active", 0); setprop("/ECAM/left-msg", "NONE"); setprop("/ECAM/msg/line1", ""); setprop("/ECAM/msg/line2", ""); setprop("/ECAM/msg/line3", ""); setprop("/ECAM/msg/line4", ""); setprop("/ECAM/msg/line5", ""); setprop("/ECAM/msg/line6", ""); setprop("/ECAM/msg/line7", ""); setprop("/ECAM/msg/line8", ""); setprop("/ECAM/msg/line1c", "w"); setprop("/ECAM/msg/line2c", "w"); setprop("/ECAM/msg/line3c", "w"); setprop("/ECAM/msg/line4c", "w"); setprop("/ECAM/msg/line5c", "w"); setprop("/ECAM/msg/line6c", "w"); setprop("/ECAM/msg/line7c", "w"); setprop("/ECAM/msg/line8c", "w"); } MSGclr(); var ECAMloop = maketimer(0.2, func { stateL = getprop("/engines/engine[0]/state"); stateR = getprop("/engines/engine[1]/state"); thrustL = getprop("/systems/thrust/state1"); thrustR = getprop("/systems/thrust/state2"); elec = getprop("/systems/electrical/on"); speed = getprop("/velocities/airspeed-kt"); wowL = getprop("/gear/gear[1]/wow"); altitude = getprop("/position/gear-agl-ft"); phase1inhibit = getprop("/ECAM/phase-1-inhibit"); phase2inhibit = getprop("/ECAM/phase-2-inhibit"); phase3inhibit = getprop("/ECAM/phase-3-inhibit"); phase4inhibit = getprop("/ECAM/phase-4-inhibit"); phase5inhibit = getprop("/ECAM/phase-5-inhibit"); phase6inhibit = getprop("/ECAM/phase-6-inhibit"); phase7inhibit = getprop("/ECAM/phase-7-inhibit"); phase8inhibit = getprop("/ECAM/phase-8-inhibit"); phase9inhibit = getprop("/ECAM/phase-9-inhibit"); phase10inhibit = getprop("/ECAM/phase-10-inhibit"); var noUpdate = getprop("/ECAM/noupdate"); var doNotRevert = getprop("/ECAM/donotrevert"); if (getprop("/FMGC/status/phase") == 0 and getprop("/engines/engine[0]/state") == 3 and getprop("/engines/engine[1]/state") == 3) { setprop("/ECAM/left-msg", "TO-MEMO"); } else if (!doNotRevert) { setprop("/ECAM/left-msg", "NONE"); } var leftMSG = getprop("/ECAM/left-msg"); if (leftMSG == "TO-MEMO" and !noUpdate) { setprop("/ECAM/msg/line1", " AUTO BRK"); setprop("/ECAM/msg/line2", " SIGNS"); setprop("/ECAM/msg/line3", " CABIN"); setprop("/ECAM/msg/line4", " SPLRS"); setprop("/ECAM/msg/line5", " FLAPS"); setprop("/ECAM/msg/line6", ""); setprop("/ECAM/msg/line7", ""); setprop("/ECAM/msg/line8", ""); setprop("/ECAM/msg/line1c", "g"); setprop("/ECAM/msg/line2c", "g"); setprop("/ECAM/msg/line3c", "g"); setprop("/ECAM/msg/line4c", "g"); setprop("/ECAM/msg/line5c", "g"); setprop("/ECAM/msg/line6c", "g"); setprop("/ECAM/msg/line7c", "g"); setprop("/ECAM/msg/line8c", "g"); } ########### # Inhibit # ########### if (elec == 1 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-1-inhibit", 1); } else if (stateL == 3 or stateR == 3 and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-1-inhibit", 0); setprop("/ECAM/phase-2-inhibit", 1); } else if (thrustL == "FLX" or thrustL == "TOGA" or thrustR == "FLX" or thrustR == "TOGA" and speed < 80 and !phase1inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-2-inhibit", 0); setprop("/ECAM/phase-3-inhibit", 1); } else if (thrustL == "FLX" or thrustL == "TOGA" or thrustR == "FLX" or thrustR == "TOGA" and speed > 80 and wowL and !phase1inhibit and !phase2inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-3-inhibit", 0); setprop("/ECAM/phase-4-inhibit", 1); } else if (speed > 80 and !wowL and altitude < 1501 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-4-inhibit", 0); setprop("/ECAM/phase-5-inhibit", 1); } else if (speed > 80 and !wowL and altitude > 1501 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-5-inhibit", 0); setprop("/ECAM/phase-6-inhibit", 1); } else if (speed > 80 and !wowL and altitude < 801 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-6-inhibit", 0); setprop("/ECAM/phase-7-inhibit", 1); } else if (speed > 80 and wowL and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase8inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-7-inhibit", 0); setprop("/ECAM/phase-8-inhibit", 1); } else if (speed < 80 and wowL and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase9inhibit and !phase10inhibit) { setprop("/ECAM/phase-8-inhibit", 0); setprop("/ECAM/phase-9-inhibit", 1); } else if (stateL == 0 and stateR == 0 and !phase1inhibit and !phase2inhibit and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase6inhibit and !phase7inhibit and !phase8inhibit and !phase10inhibit) { setprop("/ECAM/phase-9-inhibit", 0); setprop("/ECAM/phase-10-inhibit", 1); } ############ # Air Cond # ############ if (getprop("/systems/failures/pack1") == 1 and getprop("/systems/failures/pack2") == 0 and getprop("/controls/pneumatic/switches/pack1") == 1 and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit) { setprop("/ECAM/msg/line1", "AIR PACK 1 FAULT"); setprop("/ECAM/msg/line2", " - PACK 1: OFF"); setprop("/ECAM/msg/line3", ""); setprop("/ECAM/msg/line4", ""); setprop("/ECAM/msg/line5", ""); setprop("/ECAM/msg/line6", ""); setprop("/ECAM/msg/line7", ""); setprop("/ECAM/msg/line8", ""); setprop("/ECAM/msg/line1c", "a"); setprop("/ECAM/msg/line2c", "b"); setprop("/ECAM/msg/line3c", "g"); setprop("/ECAM/msg/line4c", "g"); setprop("/ECAM/msg/line5c", "g"); setprop("/ECAM/msg/line6c", "g"); setprop("/ECAM/msg/line7c", "g"); setprop("/ECAM/msg/line8c", "g"); setprop("/ECAM/left-msg", "MSG"); } else if (getprop("/systems/failures/pack1") == 1 and getprop("/systems/failures/pack2") == 0 and getprop("/controls/pneumatic/switches/pack1") == 0 and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit) { setprop("/ECAM/msg/line1", "AIR PACK 1 FAULT"); setprop("/ECAM/msg/line2", ""); setprop("/ECAM/msg/line3", ""); setprop("/ECAM/msg/line4", ""); setprop("/ECAM/msg/line5", ""); setprop("/ECAM/msg/line6", ""); setprop("/ECAM/msg/line7", ""); setprop("/ECAM/msg/line8", ""); setprop("/ECAM/msg/line1c", "a"); setprop("/ECAM/msg/line2c", "g"); setprop("/ECAM/msg/line3c", "g"); setprop("/ECAM/msg/line4c", "g"); setprop("/ECAM/msg/line5c", "g"); setprop("/ECAM/msg/line6c", "g"); setprop("/ECAM/msg/line7c", "g"); setprop("/ECAM/msg/line8c", "g"); setprop("/ECAM/left-msg", "MSG"); } else { # MSGclr(); } if (getprop("/systems/failures/pack1") == 0 and getprop("/systems/failures/pack2") == 1 and getprop("/controls/pneumatic/switches/pack2") == 1 and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit) { setprop("/ECAM/msg/line1", "AIR PACK 2 FAULT"); setprop("/ECAM/msg/line2", " - PACK 2: OFF"); setprop("/ECAM/msg/line3", ""); setprop("/ECAM/msg/line4", ""); setprop("/ECAM/msg/line5", ""); setprop("/ECAM/msg/line6", ""); setprop("/ECAM/msg/line7", ""); setprop("/ECAM/msg/line8", ""); setprop("/ECAM/msg/line1c", "a"); setprop("/ECAM/msg/line2c", "b"); setprop("/ECAM/msg/line3c", "g"); setprop("/ECAM/msg/line4c", "g"); setprop("/ECAM/msg/line5c", "g"); setprop("/ECAM/msg/line6c", "g"); setprop("/ECAM/msg/line7c", "g"); setprop("/ECAM/msg/line8c", "g"); setprop("/ECAM/left-msg", "MSG"); } else if (getprop("/systems/failures/pack1") == 0 and getprop("/systems/failures/pack2") == 1 and getprop("/controls/pneumatic/switches/pack2") == 0 and !phase3inhibit and !phase4inhibit and !phase5inhibit and !phase7inhibit and !phase8inhibit) { setprop("/ECAM/msg/line1", "AIR PACK 2 FAULT"); setprop("/ECAM/msg/line2", ""); setprop("/ECAM/msg/line3", ""); setprop("/ECAM/msg/line4", ""); setprop("/ECAM/msg/line5", ""); setprop("/ECAM/msg/line6", ""); setprop("/ECAM/msg/line7", ""); setprop("/ECAM/msg/line8", ""); setprop("/ECAM/msg/line1c", "a"); setprop("/ECAM/msg/line2c", "g"); setprop("/ECAM/msg/line3c", "g"); setprop("/ECAM/msg/line4c", "g"); setprop("/ECAM/msg/line5c", "g"); setprop("/ECAM/msg/line6c", "g"); setprop("/ECAM/msg/line7c", "g"); setprop("/ECAM/msg/line8c", "g"); setprop("/ECAM/left-msg", "MSG"); } else { # MSGclr(); } });