From 68a4a1e1d54886c93f9123443decef2add001cb0 Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Thu, 3 Aug 2017 13:11:45 -0400 Subject: [PATCH] A3XX: Improve FCTL Lower ECAM --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 420 +++--- .../Upper-ECAM/res/iae-eis1-wip.svg | 1269 +++++++++++++++++ Systems/hydraulics.xml | 8 +- Systems/lower-ecam.xml | 62 +- 4 files changed, 1538 insertions(+), 221 deletions(-) create mode 100644 Models/Instruments/Upper-ECAM/res/iae-eis1-wip.svg diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index 7b096cd9..42727792 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -23,9 +23,12 @@ setprop("/ECAM/Lower/Oil-QT[0]", 0); setprop("/ECAM/Lower/Oil-QT[1]", 0); setprop("/ECAM/Lower/Oil-PSI[0]", 0); setprop("/ECAM/Lower/Oil-PSI[1]", 0); +setprop("/ECAM/Lower/aileron-ind-left", 0); +setprop("/ECAM/Lower/aileron-ind-right", 0); setprop("/ECAM/Lower/elevator-ind-left", 0); setprop("/ECAM/Lower/elevator-ind-right", 0); setprop("/ECAM/Lower/elevator-trim-deg", 0); +setprop("/controls/flight/rudder-fdm", 0); setprop("/environment/temperature-degc", 0); setprop("/FMGC/internal/gw", 0); setprop("/controls/flight/spoiler-l1-failed", 0); @@ -274,340 +277,347 @@ var canvas_lowerECAM_eng = { var canvas_lowerECAM_fctl = { - new: func(canvas_group, file) { - var m = { parents: [canvas_lowerECAM_fctl , canvas_lowerECAM_base] }; - m.init(canvas_group, file); - - return m; + new: func(canvas_group, file) { + var m = { parents: [canvas_lowerECAM_fctl , canvas_lowerECAM_base] }; + m.init(canvas_group, file); + + return m; }, getKeys: func() { - return ["ailL","ailR","elevL","elevR","PTcc","PT","PTupdn","GW","TAT","SAT","elac1","elac2","sec1","sec2","sec3","ailLblue","ailRblue","elevLblue","elevRblue","rudderblue","ailLgreen","ailRgreen","elevLgreen","ruddergreen","PTgreen","elevRyellow","rudderyellow","PTyellow","rudder","spdbrkblue","spdbrkgreen","spdbrkyellow","spoiler1Rex","spoiler1Rrt","spoiler2Rex","spoiler2Rrt","spoiler3Rex","spoiler3Rrt","spoiler4Rex","spoiler4Rrt","spoiler5Rex","spoiler5Rrt","spoiler1Lex","spoiler1Lrt","spoiler2Lex","spoiler2Lrt","spoiler3Lex","spoiler3Lrt","spoiler4Lex","spoiler4Lrt","spoiler5Lex","spoiler5Lrt" - ,"spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf","spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf","spoiler5Lf","ailLscale","ailRscale"]; + return["ailL","ailR","elevL","elevR","PTcc","PT","PTupdn","GW","TAT","SAT","elac1","elac2","sec1","sec2","sec3","ailLblue","ailRblue","elevLblue","elevRblue","rudderblue","ailLgreen","ailRgreen","elevLgreen","ruddergreen","PTgreen","elevRyellow", + "rudderyellow","PTyellow","rudder","spdbrkblue","spdbrkgreen","spdbrkyellow","spoiler1Rex","spoiler1Rrt","spoiler2Rex","spoiler2Rrt","spoiler3Rex","spoiler3Rrt","spoiler4Rex","spoiler4Rrt","spoiler5Rex","spoiler5Rrt","spoiler1Lex","spoiler1Lrt", + "spoiler2Lex","spoiler2Lrt","spoiler3Lex","spoiler3Lrt","spoiler4Lex","spoiler4Lrt","spoiler5Lex","spoiler5Lrt","spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf","spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf","spoiler5Lf", + "ailLscale","ailRscale"]; }, update: func() { - var blue_psi=getprop("/systems/hydraulic/blue-psi"); - var green_psi=getprop("/systems/hydraulic/green-psi"); - var yellow_psi=getprop("/systems/hydraulic/yellow-psi"); + var blue_psi = getprop("/systems/hydraulic/blue-psi"); + var green_psi = getprop("/systems/hydraulic/green-psi"); + var yellow_psi = getprop("/systems/hydraulic/yellow-psi"); - - #PITCH TRIM + # Pitch Trim me["PT"].setText(sprintf("%2.1f", getprop("/ECAM/Lower/elevator-trim-deg"))); - #me["PT-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/ECAM/Lower/elevator-trim-deg"),1)))); - if(getprop("/controls/flight/elevator-trim")<0){ + + if (getprop("/controls/flight/elevator-trim") < 0) { me["PTupdn"].setText(sprintf("UP")); - }else if(getprop("/controls/flight/elevator-trim")>0){ + } else if (getprop("/controls/flight/elevator-trim") > 0) { me["PTupdn"].setText(sprintf("DN")); - }else{ + } else { me["PTupdn"].setText(sprintf("")); } - #Pitch Trim numbers become amber if green+yellow hydraulic pressure decreases - if(green_psi<2900 and yellow_psi<2900){ + + if (green_psi < 1500 and yellow_psi < 1500) { me["PT"].setColor(1,0.6,0); me["PTupdn"].setColor(1,0.6,0); me["PTcc"].setColor(1,0.6,0); - }else{ + } else { me["PT"].setColor(0,1,0); me["PTupdn"].setColor(0,1,0); me["PTcc"].setColor(0,1,0); } - #AILERONS - #Becomes amber if no green and blue servojack - if(blue_psi<2900 and green_psi<2900){ + # Ailerons + me["ailL"].setTranslation(0,getprop("/ECAM/Lower/aileron-ind-left")*100); + me["ailR"].setTranslation(0,getprop("/ECAM/Lower/aileron-ind-right")*(-100)); + + if (blue_psi < 1500 and green_psi < 1500) { me["ailL"].setColor(1,0.6,0); me["ailR"].setColor(1,0.6,0); me["ailLscale"].setColor(1,0.6,0); me["ailRscale"].setColor(1,0.6,0); - me["ailL"].setTranslation(0,100); - me["ailR"].setTranslation(0,100); - }else{ + } else { me["ailL"].setColor(0,1,0); me["ailR"].setColor(0,1,0); me["ailLscale"].setColor(1,1,1); me["ailRscale"].setColor(1,1,1); - me["ailL"].setTranslation(0,getprop("/controls/flight/aileron-left")*100); - me["ailR"].setTranslation(0,getprop("/controls/flight/aileron-right")*(-100)); } - #ELEVATORS + # Elevators me["elevL"].setTranslation(0,getprop("/ECAM/Lower/elevator-ind-left")*100); me["elevR"].setTranslation(0,getprop("/ECAM/Lower/elevator-ind-right")*100); - #Index becomes amber when both actuators don't work - if(blue_psi<2900 and green_psi<2900){ + + if (blue_psi < 1500 and green_psi < 1500) { me["elevL"].setColor(1,0.6,0); - }else{ + } else { me["elevL"].setColor(0,1,0); } - if(blue_psi<2900 and yellow_psi<2900){ + if (blue_psi < 1500 and yellow_psi < 1500) { me["elevR"].setColor(1,0.6,0); - }else{ + } else { me["elevR"].setColor(0,1,0); } - #RUDDER - me["rudder"].setRotation(getprop("/controls/flight/rudder")*(-0.6)); - #Indicator becomes amber if green yellow and blue hydraulic pressure is low - if(blue_psi<2900 and yellow_psi<2900 and green_psi<2900){ + # Rudder + me["rudder"].setRotation(getprop("/controls/flight/rudder-fdm")*(-0.6)); + + if (blue_psi < 1500 and yellow_psi < 1500 and green_psi < 1500) { me["rudder"].setColor(1,0.6,0); - }else{ + } else { me["rudder"].setColor(0,1,0); } - #SPOILERS - if(getprop("/controls/flight/spoiler-r1")<0.083){ - me["spoiler1Rex"].hide(); - me["spoiler1Rrt"].show(); - }else{ - me["spoiler1Rrt"].hide(); - me["spoiler1Rex"].show(); - } - if(getprop("/controls/flight/spoiler-r2")<0.083){ - me["spoiler2Rex"].hide(); - me["spoiler2Rrt"].show(); - }else{ - me["spoiler2Rrt"].hide(); - me["spoiler2Rex"].show(); - } - if(getprop("/controls/flight/spoiler-r3")<0.083){ - me["spoiler3Rex"].hide(); - me["spoiler3Rrt"].show(); - }else{ - me["spoiler3Rrt"].hide(); - me["spoiler3Rex"].show(); - } - if(getprop("/controls/flight/spoiler-r4")<0.083){ - me["spoiler4Rex"].hide(); - me["spoiler4Rrt"].show(); - }else{ - me["spoiler4Rrt"].hide(); - me["spoiler4Rex"].show(); - } - if(getprop("/controls/flight/spoiler-r5")<0.083){ - me["spoiler5Rex"].hide(); - me["spoiler5Rrt"].show(); - }else{ - me["spoiler5Rrt"].hide(); - me["spoiler5Rex"].show(); - } - - - - if(getprop("/controls/flight/spoiler-l1")<0.083){ + # Spoilers + if (getprop("/controls/flight/spoiler-l1") < 0.083) { me["spoiler1Lex"].hide(); me["spoiler1Lrt"].show(); - }else{ + } else { me["spoiler1Lrt"].hide(); me["spoiler1Lex"].show(); } - if(getprop("/controls/flight/spoiler-l2")<0.083){ + + if (getprop("/controls/flight/spoiler-l2") < 0.083) { me["spoiler2Lex"].hide(); me["spoiler2Lrt"].show(); - }else{ + } else { me["spoiler2Lrt"].hide(); me["spoiler2Lex"].show(); } - if(getprop("/controls/flight/spoiler-l3")<0.083){ + + if (getprop("/controls/flight/spoiler-l3") < 0.083) { me["spoiler3Lex"].hide(); me["spoiler3Lrt"].show(); - }else{ + } else { me["spoiler3Lrt"].hide(); me["spoiler3Lex"].show(); } - if(getprop("/controls/flight/spoiler-l4")<0.083){ + + if (getprop("/controls/flight/spoiler-l4") < 0.083) { me["spoiler4Lex"].hide(); me["spoiler4Lrt"].show(); - }else{ + } else { me["spoiler4Lrt"].hide(); me["spoiler4Lex"].show(); } - if(getprop("/controls/flight/spoiler-l5")<0.083){ + + if (getprop("/controls/flight/spoiler-l5") < 0.083) { me["spoiler5Lex"].hide(); me["spoiler5Lrt"].show(); - }else{ + } else { me["spoiler5Lrt"].hide(); me["spoiler5Lex"].show(); } - #STBY CODE - SPOILER FAIL - if(getprop("/controls/flight/spoiler-r1-failed")){ - me["spoiler1Rex"].setColor(1,0.6,0); - me["spoiler1Rrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-r1")<0.083){ - me["spoiler1Rf"].show(); - }else{ - me["spoiler1Rf"].hide(); - } - - }else{ - me["spoiler1Rex"].setColor(0,1,0); - me["spoiler1Rrt"].setColor(0,1,0); - me["spoiler1Rf"].hide(); - } - if(getprop("/controls/flight/spoiler-r2-failed")){ - me["spoiler2Rex"].setColor(1,0.6,0); - me["spoiler2Rrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-r2")<0.083){ - me["spoiler2Rf"].show(); - }else{ - me["spoiler2Rf"].hide(); - } - - }else{ - me["spoiler2Rex"].setColor(0,1,0); - me["spoiler2Rrt"].setColor(0,1,0); - me["spoiler2Rf"].hide(); - } - if(getprop("/controls/flight/spoiler-r3-failed")){ - me["spoiler3Rex"].setColor(1,0.6,0); - me["spoiler3Rrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-r3")<0.083){ - me["spoiler3Rf"].show(); - }else{ - me["spoiler3Rf"].hide(); - } - - }else{ - me["spoiler3Rex"].setColor(0,1,0); - me["spoiler3Rrt"].setColor(0,1,0); - me["spoiler3Rf"].hide(); - } - if(getprop("/controls/flight/spoiler-r4-failed")){ - me["spoiler4Rex"].setColor(1,0.6,0); - me["spoiler4Rrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-r4")<0.083){ - me["spoiler4Rf"].show(); - }else{ - me["spoiler4Rf"].hide(); - } - - }else{ - me["spoiler4Rex"].setColor(0,1,0); - me["spoiler4Rrt"].setColor(0,1,0); - me["spoiler4Rf"].hide(); - } - if(getprop("/controls/flight/spoiler-r5-failed")){ - me["spoiler5Rex"].setColor(1,0.6,0); - me["spoiler5Rrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-r5")<0.083){ - me["spoiler5Rf"].show(); - }else{ - me["spoiler5Rf"].hide(); - } - - }else{ - me["spoiler5Rex"].setColor(0,1,0); - me["spoiler5Rrt"].setColor(0,1,0); - me["spoiler5Rf"].hide(); + if (getprop("/controls/flight/spoiler-r1") < 0.083) { + me["spoiler1Rex"].hide(); + me["spoiler1Rrt"].show(); + } else { + me["spoiler1Rrt"].hide(); + me["spoiler1Rex"].show(); } - if(getprop("/controls/flight/spoiler-l1-failed")){ + if (getprop("/controls/flight/spoiler-r2")<0.083) { + me["spoiler2Rex"].hide(); + me["spoiler2Rrt"].show(); + } else { + me["spoiler2Rrt"].hide(); + me["spoiler2Rex"].show(); + } + + if (getprop("/controls/flight/spoiler-r3") < 0.083) { + me["spoiler3Rex"].hide(); + me["spoiler3Rrt"].show(); + } else { + me["spoiler3Rrt"].hide(); + me["spoiler3Rex"].show(); + } + + if (getprop("/controls/flight/spoiler-r4") < 0.083) { + me["spoiler4Rex"].hide(); + me["spoiler4Rrt"].show(); + } else { + me["spoiler4Rrt"].hide(); + me["spoiler4Rex"].show(); + } + + if (getprop("/controls/flight/spoiler-r5") < 0.083) { + me["spoiler5Rex"].hide(); + me["spoiler5Rrt"].show(); + } else { + me["spoiler5Rrt"].hide(); + me["spoiler5Rex"].show(); + } + + # Spoiler Fail + if (getprop("/controls/flight/spoiler-l1-failed")) { me["spoiler1Lex"].setColor(1,0.6,0); me["spoiler1Lrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-l1")<0.083){ + if (getprop("/controls/flight/spoiler-l1") < 0.083) { me["spoiler1Lf"].show(); - }else{ + } else { me["spoiler1Lf"].hide(); } - - }else{ + } else { me["spoiler1Lex"].setColor(0,1,0); me["spoiler1Lrt"].setColor(0,1,0); me["spoiler1Lf"].hide(); } - if(getprop("/controls/flight/spoiler-l2-failed")){ + + if (getprop("/controls/flight/spoiler-l2-failed")) { me["spoiler2Lex"].setColor(1,0.6,0); me["spoiler2Lrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-l2")<0.083){ + if (getprop("/controls/flight/spoiler-l2") < 0.083) { me["spoiler2Lf"].show(); - }else{ + } else { me["spoiler2Lf"].hide(); } - - }else{ + } else { me["spoiler2Lex"].setColor(0,1,0); me["spoiler2Lrt"].setColor(0,1,0); me["spoiler2Lf"].hide(); } - if(getprop("/controls/flight/spoiler-l3-failed")){ + + if (getprop("/controls/flight/spoiler-l3-failed")) { me["spoiler3Lex"].setColor(1,0.6,0); me["spoiler3Lrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-l3")<0.083){ + if (getprop("/controls/flight/spoiler-l3") < 0.083) { me["spoiler3Lf"].show(); - }else{ + } else { me["spoiler3Lf"].hide(); } - - }else{ + } else { me["spoiler3Lex"].setColor(0,1,0); me["spoiler3Lrt"].setColor(0,1,0); me["spoiler3Lf"].hide(); } - if(getprop("/controls/flight/spoiler-l4-failed")){ + + if (getprop("/controls/flight/spoiler-l4-failed")) { me["spoiler4Lex"].setColor(1,0.6,0); me["spoiler4Lrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-l4")<0.083){ + if (getprop("/controls/flight/spoiler-l4") < 0.083) { me["spoiler4Lf"].show(); - }else{ + } else { me["spoiler4Lf"].hide(); } - - }else{ + } else { me["spoiler4Lex"].setColor(0,1,0); me["spoiler4Lrt"].setColor(0,1,0); me["spoiler4Lf"].hide(); } - if(getprop("/controls/flight/spoiler-l5-failed")){ + + if (getprop("/controls/flight/spoiler-l5-failed")) { me["spoiler5Lex"].setColor(1,0.6,0); me["spoiler5Lrt"].setColor(1,0.6,0); - if(getprop("/controls/flight/spoiler-l5")<0.083){ + if (getprop("/controls/flight/spoiler-l5") < 0.083) { me["spoiler5Lf"].show(); - }else{ + } else { me["spoiler5Lf"].hide(); } - - }else{ + } else { me["spoiler5Lex"].setColor(0,1,0); me["spoiler5Lrt"].setColor(0,1,0); me["spoiler5Lf"].hide(); } - #FLIGHT COMPUTERS - if(getprop("/systems/fctl/elac1")){ + if (getprop("/controls/flight/spoiler-r1-failed")) { + me["spoiler1Rex"].setColor(1,0.6,0); + me["spoiler1Rrt"].setColor(1,0.6,0); + if (getprop("/controls/flight/spoiler-r1") < 0.083) { + me["spoiler1Rf"].show(); + } else { + me["spoiler1Rf"].hide(); + } + } else { + me["spoiler1Rex"].setColor(0,1,0); + me["spoiler1Rrt"].setColor(0,1,0); + me["spoiler1Rf"].hide(); + } + + if (getprop("/controls/flight/spoiler-r2-failed")) { + me["spoiler2Rex"].setColor(1,0.6,0); + me["spoiler2Rrt"].setColor(1,0.6,0); + if (getprop("/controls/flight/spoiler-r2") < 0.083) { + me["spoiler2Rf"].show(); + } else { + me["spoiler2Rf"].hide(); + } + } else { + me["spoiler2Rex"].setColor(0,1,0); + me["spoiler2Rrt"].setColor(0,1,0); + me["spoiler2Rf"].hide(); + } + + if (getprop("/controls/flight/spoiler-r3-failed")) { + me["spoiler3Rex"].setColor(1,0.6,0); + me["spoiler3Rrt"].setColor(1,0.6,0); + if (getprop("/controls/flight/spoiler-r3") < 0.083) { + me["spoiler3Rf"].show(); + } else { + me["spoiler3Rf"].hide(); + } + } else { + me["spoiler3Rex"].setColor(0,1,0); + me["spoiler3Rrt"].setColor(0,1,0); + me["spoiler3Rf"].hide(); + } + + if (getprop("/controls/flight/spoiler-r4-failed")) { + me["spoiler4Rex"].setColor(1,0.6,0); + me["spoiler4Rrt"].setColor(1,0.6,0); + if (getprop("/controls/flight/spoiler-r4") < 0.083) { + me["spoiler4Rf"].show(); + } else { + me["spoiler4Rf"].hide(); + } + } else { + me["spoiler4Rex"].setColor(0,1,0); + me["spoiler4Rrt"].setColor(0,1,0); + me["spoiler4Rf"].hide(); + } + + if (getprop("/controls/flight/spoiler-r5-failed")) { + me["spoiler5Rex"].setColor(1,0.6,0); + me["spoiler5Rrt"].setColor(1,0.6,0); + if (getprop("/controls/flight/spoiler-r5") < 0.083) { + me["spoiler5Rf"].show(); + } else { + me["spoiler5Rf"].hide(); + } + } else { + me["spoiler5Rex"].setColor(0,1,0); + me["spoiler5Rrt"].setColor(0,1,0); + me["spoiler5Rf"].hide(); + } + + # Flight Computers + if (getprop("/systems/fctl/elac1")){ me["elac1"].setColor(0,1,0); - }else{ + } else { me["elac1"].setColor(1,0.6,0); } - if(getprop("/systems/fctl/elac2")){ + + if (getprop("/systems/fctl/elac2")){ me["elac2"].setColor(0,1,0); - }else{ + } else { me["elac2"].setColor(1,0.6,0); } - if(getprop("/systems/fctl/sec1")){ + + if (getprop("/systems/fctl/sec1")){ me["sec1"].setColor(0,1,0); - }else{ + } else { me["sec1"].setColor(1,0.6,0); } - if(getprop("/systems/fctl/sec2")){ + + if (getprop("/systems/fctl/sec2")){ me["sec2"].setColor(0,1,0); - }else{ + } else { me["sec2"].setColor(1,0.6,0); } - if(getprop("/systems/fctl/sec3")){ + + if (getprop("/systems/fctl/sec3")){ me["sec3"].setColor(0,1,0); - }else{ + } else { me["sec3"].setColor(1,0.6,0); } - #HYDRAULIC INDICATORS - if(getprop("/systems/hydraulic/blue-psi")>2900){ + # Hydraulic Indicators + if (getprop("/systems/hydraulic/blue-psi") > 1500){ me["ailLblue"].setColor(0,1,0); me["ailRblue"].setColor(0,1,0); me["elevLblue"].setColor(0,1,0); me["elevRblue"].setColor(0,1,0); me["rudderblue"].setColor(0,1,0); me["spdbrkblue"].setColor(0,1,0); - }else{ + } else { me["ailLblue"].setColor(1,0.6,0); me["ailRblue"].setColor(1,0.6,0); me["elevLblue"].setColor(1,0.6,0); @@ -615,14 +625,15 @@ var canvas_lowerECAM_fctl = { me["rudderblue"].setColor(1,0.6,0); me["spdbrkblue"].setColor(1,0.6,0); } - if(getprop("/systems/hydraulic/green-psi")>2900){ + + if (getprop("/systems/hydraulic/green-psi") > 1500){ me["ailLgreen"].setColor(0,1,0); me["ailRgreen"].setColor(0,1,0); me["elevLgreen"].setColor(0,1,0); me["ruddergreen"].setColor(0,1,0); me["PTgreen"].setColor(0,1,0); me["spdbrkgreen"].setColor(0,1,0); - }else{ + } else { me["ailLgreen"].setColor(1,0.6,0); me["ailRgreen"].setColor(1,0.6,0); me["elevLgreen"].setColor(1,0.6,0); @@ -630,20 +641,19 @@ var canvas_lowerECAM_fctl = { me["PTgreen"].setColor(1,0.6,0); me["spdbrkgreen"].setColor(1,0.6,0); } - if(getprop("/systems/hydraulic/yellow-psi")>2900){ + + if (getprop("/systems/hydraulic/yellow-psi") > 1500){ me["elevRyellow"].setColor(0,1,0); me["rudderyellow"].setColor(0,1,0); me["PTyellow"].setColor(0,1,0); me["spdbrkyellow"].setColor(0,1,0); - }else{ + } else { me["elevRyellow"].setColor(1,0.6,0); me["rudderyellow"].setColor(1,0.6,0); me["PTyellow"].setColor(1,0.6,0); me["spdbrkyellow"].setColor(1,0.6,0); } - - me.updateBottomStatus(); settimer(func me.update(), 0.02); @@ -660,19 +670,19 @@ setlistener("sim/signals/fdm-initialized", func { }); lowerECAM_display.addPlacement({"node": "lecam.screen"}); var groupApu = lowerECAM_display.createGroup(); - var groupFctl = lowerECAM_display.createGroup(); var groupEng1 = lowerECAM_display.createGroup(); var groupEng = lowerECAM_display.createGroup(); + var groupFctl = lowerECAM_display.createGroup(); lowerECAM_apu = canvas_lowerECAM_apu.new(groupApu, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/apu.svg"); - lowerECAM_fctl = canvas_lowerECAM_fctl.new(groupFctl, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/fctl.svg"); lowerECAM_eng1 = canvas_lowerECAM_eng1.new(groupEng1, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/eng-eis1.svg"); lowerECAM_eng = canvas_lowerECAM_eng.new(groupEng, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/eng-eis2.svg"); + lowerECAM_fctl = canvas_lowerECAM_fctl.new(groupFctl, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/fctl.svg"); lowerECAM_apu.update(); - lowerECAM_fctl.update(); lowerECAM_eng1.update(); lowerECAM_eng.update(); + lowerECAM_fctl.update(); canvas_lowerECAM_base.update(); }); diff --git a/Models/Instruments/Upper-ECAM/res/iae-eis1-wip.svg b/Models/Instruments/Upper-ECAM/res/iae-eis1-wip.svg new file mode 100644 index 00000000..167fe839 --- /dev/null +++ b/Models/Instruments/Upper-ECAM/res/iae-eis1-wip.svg @@ -0,0 +1,1269 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + EGT + °C + N1 + % + % + N2 + F.F + LBS/H + FOB : + LBS + + + + + + + + + + + + + + + + 5 + 10 + 5 + + 000 + 00 + 00000 + + 0 + 00 + + 0 + XX + XX + XX + 0000000 + LINE 1 + LINE 2 + LINE 3 + LINE 4 + LINE 5 + LINE 6 + LINE 7 + LINE 8 + + + 10 + 5 + + + TOGA + XX + 00 + + 0 + XX + 1+F + 00 + + 0 + XX + + REV + 00000 + XX + XX + + + + + + % + + + + + + + + + + + + + + + + + + + + 5 + 10 + 5 + + 000 + 00 + + 0 + XX + XX + + + 10 + 5 + + + + REV + + + FLAP + + + + + + + + + S + F + + diff --git a/Systems/hydraulics.xml b/Systems/hydraulics.xml index 541f30d6..52855a10 100644 --- a/Systems/hydraulics.xml +++ b/Systems/hydraulics.xml @@ -151,8 +151,8 @@ /fdm/jsbsim/fcs/flap-pos-deg - 10.0 - 50.2 + 10.00 + 50.13
@@ -268,8 +268,8 @@ /fdm/jsbsim/fcs/flap-pos-deg - 1 0.0 - 5-0.2 + 1 0.00 + 5-0.13
diff --git a/Systems/lower-ecam.xml b/Systems/lower-ecam.xml index 0903640e..7c2df95c 100644 --- a/Systems/lower-ecam.xml +++ b/Systems/lower-ecam.xml @@ -172,32 +172,67 @@ - ELEV L Indication + Aileron L Indication + gain + 1 + + + + /controls/flight/aileron-left + -0.5-0.73 + 0.0 0.00 + 0.5 0.83 +
+
+ + /ECAM/Lower/aileron-ind-left +
+ + + Aileron R Indication + gain + 1 + + + + /controls/flight/aileron-right + -0.5-0.83 + 0.0 0.00 + 0.5 0.73 +
+
+ + /ECAM/Lower/aileron-ind-right +
+ + + Elevator L Indication gain 1 /controls/flight/elevator-left - -0.5-1 - 0 0 - 0.5 0.66 + -0.5-1.03 + 0.0 0.00 + 0.5 0.63
/ECAM/Lower/elevator-ind-left
+ - ELEV R Indication + Elevator R Indication gain 1 /controls/flight/elevator-right - -0.5-1 - 0 0 - 0.5 0.66 + -0.5-1.03 + 0.0 0.00 + 0.5 0.63
@@ -205,16 +240,19 @@
- ELEV Trim Deg + Elevator Trim Deg gain 1 /controls/flight/elevator-trim - 14 - 0 0 - -1 13.5 + 0.4283-4.0 + 0.1161-1.0 + 0.0000 0.0 + -0.0883 1.0 + -0.1900 2.0 + -0.5035 5.0