From 9332ca07b13667ed1e07ca116b557c98912d92da Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Thu, 12 Apr 2018 12:54:25 -0400 Subject: [PATCH 01/14] ECAM: Add merspieler and legoboyvdlp's ECAM changes -- a few thing to sort out still --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 1135 +++++++- Models/Instruments/Lower-ECAM/res/bleed.svg | 1347 ++++++++++ Models/Instruments/Lower-ECAM/res/cond.svg | 1004 +++++++ Models/Instruments/Lower-ECAM/res/elec.svg | 2337 +++++++++++++++++ .../Lower-ECAM/res/{eng-eis2.svg => eng.svg} | 0 Models/Instruments/Lower-ECAM/res/fuel.svg | 1455 ++++++++++ Models/Instruments/Lower-ECAM/res/hyd.svg | 1166 ++++++++ Models/Instruments/Lower-ECAM/res/press.svg | 1051 ++++++++ Nasal/electrical.nas | 21 +- Nasal/it-fbw.nas | 40 +- revision.txt | 2 +- 11 files changed, 9503 insertions(+), 55 deletions(-) create mode 100644 Models/Instruments/Lower-ECAM/res/bleed.svg create mode 100644 Models/Instruments/Lower-ECAM/res/cond.svg create mode 100644 Models/Instruments/Lower-ECAM/res/elec.svg rename Models/Instruments/Lower-ECAM/res/{eng-eis2.svg => eng.svg} (100%) create mode 100644 Models/Instruments/Lower-ECAM/res/fuel.svg create mode 100644 Models/Instruments/Lower-ECAM/res/hyd.svg create mode 100644 Models/Instruments/Lower-ECAM/res/press.svg diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index 467129eb..01d8bded 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -6,13 +6,19 @@ ############################################## var lowerECAM_apu = nil; +var lowerECAM_bleed = nil; +var lowerECAM_cond = nil; +var lowerECAM_door = nil; +var lowerECAM_elec = nil; var lowerECAM_eng = nil; var lowerECAM_fctl = nil; +var lowerECAM_fuel = nil; +var lowerECAM_hyd = nil; +var lowerECAM_press = nil; var lowerECAM_wheel = nil; -var lowerECAM_door = nil; var lowerECAM_test = nil; var lowerECAM_display = nil; -var page = "eng"; +var page = "fctl"; var oat = getprop("/environment/temperature-degc"); var blue_psi = 0; var green_psi = 0; @@ -29,6 +35,10 @@ var askidsw = 0; var brakemode = 0; var accum = 0; var elapsedtime = 0; +var tr1_v = 0; +var tr1_a = 0; +var tr2_v = 0; +var tr2_a = 0; setprop("/systems/electrical/extra/apu-load", 0); setprop("/systems/electrical/extra/apu-volts", 0); setprop("/systems/electrical/extra/apu-hz", 0); @@ -106,10 +116,15 @@ var canvas_lowerECAM_base = { if (getprop("/systems/electrical/bus/ac2") >= 110 and getprop("/controls/lighting/DU/du4") > 0) { if (getprop("/instrumentation/du/du4-test-time") + getprop("/instrumentation/du/du4-test-amount") >= elapsedtime) { lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); lowerECAM_eng.page.hide(); lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); lowerECAM_wheel.page.hide(); - lowerECAM_door.page.hide(); lowerECAM_test.page.show(); lowerECAM_test.update(); } else { @@ -117,54 +132,174 @@ var canvas_lowerECAM_base = { page = getprop("/ECAM/Lower/page"); if (page == "apu") { lowerECAM_apu.page.show(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); lowerECAM_eng.page.hide(); lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); - lowerECAM_door.page.hide(); lowerECAM_apu.update(); + } else if (page == "bleed") { + lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.show(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); + lowerECAM_eng.page.hide(); + lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); + lowerECAM_wheel.page.hide(); + lowerECAM_bleed.update(); + } else if (page == "cond") { + lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.show(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); + lowerECAM_eng.page.hide(); + lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); + lowerECAM_wheel.page.hide(); + lowerECAM_cond.update(); + } else if (page == "door") { + lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.show(); + lowerECAM_elec.page.hide(); + lowerECAM_eng.page.hide(); + lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); + lowerECAM_wheel.page.hide(); + lowerECAM_door.update(); + } else if (page == "elec") { + lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.show(); + lowerECAM_eng.page.hide(); + lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); + lowerECAM_wheel.page.hide(); + lowerECAM_elec.update(); } else if (page == "eng") { lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); lowerECAM_eng.page.show(); lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); - lowerECAM_door.page.hide(); lowerECAM_eng.update(); } else if (page == "fctl") { lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); lowerECAM_eng.page.hide(); lowerECAM_fctl.page.show(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); - lowerECAM_door.page.hide(); lowerECAM_fctl.update(); + } else if (page == "fuel") { + lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); + lowerECAM_eng.page.hide(); + lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.show(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); + lowerECAM_wheel.page.hide(); + lowerECAM_fuel.update(); + } else if (page == "press") { + lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); + lowerECAM_eng.page.hide(); + lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.show(); + lowerECAM_hyd.page.hide(); + lowerECAM_wheel.page.hide(); + lowerECAM_press.update(); + } else if (page == "hyd") { + lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); + lowerECAM_eng.page.hide(); + lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.show(); + lowerECAM_wheel.page.hide(); + lowerECAM_hyd.update(); } else if (page == "wheel") { lowerECAM_apu.page.hide(); - lowerECAM_eng.page.hide(); - lowerECAM_fctl.page.hide(); - lowerECAM_wheel.page.show(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); lowerECAM_door.page.hide(); - lowerECAM_wheel.update(); - } else if (page == "door") { - lowerECAM_apu.page.hide(); + lowerECAM_elec.page.hide(); lowerECAM_eng.page.hide(); lowerECAM_fctl.page.hide(); - lowerECAM_wheel.page.hide(); - lowerECAM_door.page.show(); - lowerECAM_door.update(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); + lowerECAM_wheel.page.show(); + lowerECAM_wheel.update(); } else { lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); lowerECAM_eng.page.hide(); lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); - lowerECAM_door.page.hide(); } } } else { lowerECAM_test.page.hide(); lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); lowerECAM_eng.page.hide(); lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); - lowerECAM_door.page.hide(); } }, updateBottomStatus: func() { @@ -297,6 +432,38 @@ var canvas_lowerECAM_apu = { }, }; +var canvas_lowerECAM_bleed = { + new: func(canvas_group, file) { + var m = {parents: [canvas_lowerECAM_bleed, canvas_lowerECAM_base]}; + m.init(canvas_group, file); + + return m; + }, + getKeys: func() { + return ["TAT","SAT","GW","UTCh","UTCm"]; + }, + update: func() { + + me.updateBottomStatus(); + }, +}; + +var canvas_lowerECAM_cond = { + new: func(canvas_group, file) { + var m = {parents: [canvas_lowerECAM_cond, canvas_lowerECAM_base]}; + m.init(canvas_group, file); + + return m; + }, + getKeys: func() { + return ["TAT","SAT","GW","UTCh","UTCm"]; + }, + update: func() { + + me.updateBottomStatus(); + }, +}; + var canvas_lowerECAM_door = { new: func(canvas_group, file) { var m = {parents: [canvas_lowerECAM_door, canvas_lowerECAM_base]}; @@ -308,7 +475,7 @@ var canvas_lowerECAM_door = { return["TAT","SAT","GW","UTCh","UTCm","Bulk","BulkLine","BulkLbl","Exit1L","Exit1R","Cabin1Left","Cabin1LeftLbl","Cabin1LeftLine","Cabin1LeftSlide","Cabin1Right","Cabin1RightLbl","Cabin1RightLine","Cabin1RightSlide","Cabin2Left","Cabin2LeftLbl", "Cabin2LeftLine","Cabin2LeftSlide","Cabin2Right","Cabin2RightLbl","Cabin2RightLine","Cabin2RightSlide","Cabin3Left","Cabin3LeftLbl","Cabin3LeftLine","Cabin3LeftSlide","Cabin3Right","Cabin3RightLbl","Cabin3RightLine","Cabin3RightSlide","AvionicsLine1", "AvionicsLbl1","AvionicsLine2","AvionicsLbl2","Cargo1Line","Cargo1Lbl","Cargo1Door","Cargo2Line","Cargo2Lbl","Cargo2Door","ExitLSlide","ExitLLine","ExitLLbl","ExitRSlide","ExitRLine","ExitRLbl","Cabin4Left","Cabin4LeftLbl","Cabin4LeftLine", - "Cabin4LeftSlide","Cabin4Right","Cabin4RightLbl","Cabin4RightLine","Cabin4RightSlide"]; + "Cabin4LeftSlide","Cabin4Right","Cabin4RightLbl","Cabin4RightLine","Cabin4RightSlide","DOOROXY-REGUL-LO-PR"]; }, update: func() { # If you make AirBerlin or Allegiant livery add below @@ -410,6 +577,7 @@ var canvas_lowerECAM_door = { me["Cabin4LeftSlide"].hide(); me["Cabin4RightSlide"].hide(); + me["DOOROXY-REGUL-LO-PR"].hide(); me["AvionicsLine1"].hide(); me["AvionicsLine2"].hide(); me["AvionicsLbl1"].hide(); @@ -436,6 +604,559 @@ var canvas_lowerECAM_door = { me["Cabin3Right"].hide(); me["Cabin3RightLine"].hide(); me["Cabin3RightLbl"].hide(); + + me.updateBottomStatus(); + }, +}; + +var canvas_lowerECAM_elec = { + new: func(canvas_group, file) { + var m = {parents: [canvas_lowerECAM_elec, canvas_lowerECAM_base]}; + m.init(canvas_group, file); + + return m; + }, + getKeys: func() { + return ["TAT","SAT","GW","UTCh","UTCm","BAT1-label","Bat1Volt","Bat1Ampere","BAT2-label","Bat2Volt","Bat2Ampere","BAT1-charge","BAT1-discharge","ELEC-Line-BAT1-DCBAT","BAT2-charge","BAT2-discharge","ELEC-Line-BAT2-DCBAT","ELEC-Line-DC1-DCBAT", + "ELEC-Line-DC1-DCESS","ELEC-Line-DC2-DCBAT","ELEC-Line-DC1-DCESS_DCBAT","ELEC-Line-DC2-DCESS_DCBAT","ELEC-Line-TR1-DC1","ELEC-Line-TR2-DC2","Shed-label","ELEC-Line-ESSTR-DCESS","TR1-label","TR1Volt","TR1Ampere","TR2-label","TR2Volt","TR2Ampere", + "EMERGEN-Box-on","EmergenVolt","EmergenHz","ELEC-Line-Emergen-ESSTR","EMERGEN-Label-off","EMERGEN-out","ELEC-Line-ACESS-TRESS","ELEC-Line-AC1-TR1","ELEC-Line-AC2-TR2","ELEC-Line-AC1-ACESS","ELEC-Line-AC2-ACESS","ACESS-SHED","ACESS","AC1-in","AC2-in", + "ELEC-Line-GEN1-AC1","ELEC-Line-GEN2-AC2","ELEC-Line-APU-AC1","ELEC-Line-APU-EXT","ELEC-Line-EXT-AC2","APU-out","EXT-out","EXTPWR-group","ExtVolt","ExtHz","APU-content","APU-border","APUGentext","APUGenLoad","APUGenVolt","APUGenHz","APUGEN-off", + "GEN1-label","Gen1Load","Gen1Volt","Gen1Hz","GEN2-label","Gen2Load","GEN2-off","Gen2Volt","Gen2Hz","ELEC-IDG-1-label","ELEC-IDG-1-Temp","IDG1-LOPR","IDG1-DISC","IDG1-RISE-Value","IDG1-RISE-label","GalleyShed","ELEC-IDG-2-Temp","ELEC-IDG-2-label", + "IDG2-RISE-label","IDG2-RISE-Value","IDG2-LOPR","IDG2-DISC","ESSTR-group","ESSTR-Volt","ESSTR-Ampere","BAT1-content","BAT2-content","BAT1-OFF","BAT2-OFF","GEN1-content","GEN2-content","GEN-1-num-label","GEN-2-num-label","GEN1-off","GEN2-off", + "GEN1-num-label","GEN2-num-label","EXTPWR-label","ELEC-ACESS-SHED-label","ELEC-DCBAT-label","ELEC-DCESS-label","ELEC-DC2-label","ELEC-DC1-label","ELEC-AC1-label","ELEC-AC2-label","ELEC-ACESS-label"]; + }, + update: func() { + + # BAT1 + if (getprop("/controls/electrical/switches/battery1") == 0) { + me["BAT1-OFF"].show(); + me["BAT1-content"].hide(); + me["BAT1-discharge"].hide(); + me["BAT1-charge"].hide(); + me["ELEC-Line-BAT1-DCBAT"].hide(); + } else { + me["BAT1-OFF"].hide(); + me["BAT1-content"].show(); + me["Bat1Ampere"].setText(sprintf("%s", math.round(getprop("/systems/electrical/battery1-amps")))); + me["Bat1Volt"].setText(sprintf("%s", math.round(getprop("/systems/electrical/battery1-volts")))); + + if (getprop("/systems/electrical/battery1-volts") >= 25) { + me["Bat1Volt"].setColor(0.0509,0.7529,0.2941); + } else { + me["Bat1Volt"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/battery1-amps") > 5) { + me["Bat1Ampere"].setColor(0.7333,0.3803,0); + } else { + me["Bat1Ampere"].setColor(0.0509,0.7529,0.2941); + } + + # TODO add correct charge/dischare behaviour + # this is only temporary + me["ELEC-Line-BAT1-DCBAT"].show(); + me["BAT1-discharge"].hide(); + me["BAT1-charge"].hide(); + } + + if (getprop("/systems/electrical/batt1-fault") == 1 or getprop("/systems/electrical/battery1-volts") < 25 or getprop("/systems/electrical/battery1-amps") > 5) { + me["BAT1-label"].setColor(0.7333,0.3803,0); + } else { + me["BAT1-label"].setColor(0.8078,0.8039,0.8078); + } + + # BAT2 + if (getprop("/controls/electrical/switches/battery2") == 0) { + me["BAT2-OFF"].show(); + me["BAT2-content"].hide(); + me["BAT2-discharge"].hide(); + me["BAT2-charge"].hide(); + me["ELEC-Line-BAT2-DCBAT"].hide(); + } else { + me["BAT2-OFF"].hide(); + me["BAT2-content"].show(); + me["Bat2Ampere"].setText(sprintf("%s", math.round(getprop("/systems/electrical/battery2-amps")))); + me["Bat2Volt"].setText(sprintf("%s", math.round(getprop("/systems/electrical/battery2-volts")))); + + if (getprop("/systems/electrical/battery2-volts") >= 25) { + me["Bat2Volt"].setColor(0.0509,0.7529,0.2941); + } else { + me["Bat2Volt"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/battery2-amps") > 5) { + me["Bat2Ampere"].setColor(0.7333,0.3803,0); + } else { + me["Bat2Ampere"].setColor(0.0509,0.7529,0.2941); + } + # TODO add correct charge/dischare behaviour + # this is only temporary + me["ELEC-Line-BAT2-DCBAT"].show(); + me["BAT2-discharge"].hide(); + me["BAT2-charge"].hide(); + } + + if (getprop("/systems/electrical/batt2-fault") == 1 or getprop("/systems/electrical/battery2-volts") < 25 or getprop("/systems/electrical/battery2-amps") > 5) { + me["BAT2-label"].setColor(0.7333,0.3803,0); + } else { + me["BAT2-label"].setColor(0.8078,0.8039,0.8078); + } + + # TR1 + # is only powered when ac1 has power + tr1_v = getprop("/systems/electrical/extra/tr1-volts"); + tr1_a = getprop("/systems/electrical/extra/tr1-amps"); + + me["TR1Volt"].setText(sprintf("%s", math.round(tr1_v))); + me["TR1Ampere"].setText(sprintf("%s", math.round(tr1_a))); + + if (tr1_v < 25 or tr1_v > 31 or tr1_a <= 5) { + me["TR1-label"].setColor(0.7333,0.3803,0); + } else { + me["TR1-label"].setColor(0.8078,0.8039,0.8078); + } + + if (tr1_v < 25 or tr1_v > 31) { + me["TR1Volt"].setColor(0.7333,0.3803,0); + } else { + me["TR1Volt"].setColor(0.0509,0.7529,0.2941); + } + + if (tr1_a <= 5) { + me["TR1Ampere"].setColor(0.7333,0.3803,0); + } else { + me["TR1Ampere"].setColor(0.0509,0.7529,0.2941); + } + + # TR2 + # is only powered when ac2 has power + tr2_v = getprop("/systems/electrical/extra/tr2-volts"); + tr2_a = getprop("/systems/electrical/extra/tr2-amps"); + + me["TR2Volt"].setText(sprintf("%s", math.round(tr2_v))); + me["TR2Ampere"].setText(sprintf("%s", math.round(tr2_a))); + + if (tr2_v < 25 or tr2_v > 31 or tr2_a <= 5) { + me["TR2-label"].setColor(0.7333,0.3803,0); + } else { + me["TR2-label"].setColor(0.8078,0.8039,0.8078); + } + + if (tr2_v < 25 or tr2_v > 31) { + me["TR2Volt"].setColor(0.7333,0.3803,0); + } else { + me["TR2Volt"].setColor(0.0509,0.7529,0.2941); + } + + if (tr2_a <= 5) { + me["TR2Ampere"].setColor(0.7333,0.3803,0); + } else { + me["TR2Ampere"].setColor(0.0509,0.7529,0.2941); + } + + # ESS TR + # TODO add amber title on under A. + # TODO add correct A + if (getprop("/systems/electrical/bus/dc1") < 25) { + me["ESSTR-group"].show(); + me["ESSTR-Volt"].setText(sprintf("%s", math.round(getprop("/systems/electrical/bus/dc-ess")))); + + if (getprop("/systems/electrical/bus/dc-ess") < 25 or getprop("/systems/electrical/bus/dc-ess") > 31) { + me["ESSTR-Volt"].setColor(0.7333,0.3803,0); + } else { + me["ESSTR-Volt"].setColor(0.0509,0.7529,0.2941); + } + } else { + me["ESSTR-group"].hide(); + } + + # EMER GEN + # TODO add values and amber on over/under load + # TODO changes the prop to the one which indicates the use of the emergen and not of the man depoly + if (getprop("/controls/electrical/switches/emer-gen") == 0) { + me["EMERGEN-Box-on"].hide(); + me["EMERGEN-Label-off"].show(); + } else { + me["EMERGEN-Box-on"].show(); + me["EMERGEN-Label-off"].hide(); + } + + # GEN1 + if (getprop("/controls/electrical/switches/gen1") == 0) { + me["GEN1-content"].hide(); + me["GEN1-off"].show(); + me["GEN1-label"].setColor(0.7333,0.3803,0); + + if (getprop("/engines/engine[0]/running") == 0) { + me["GEN1-num-label"].setColor(0.7333,0.3803,0); + } else { + me["GEN1-num-label"].setColor(0.8078,0.8039,0.8078); + } + } else { + me["GEN1-content"].show(); + me["GEN1-off"].hide(); + me["Gen1Load"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/gen1-load")))); + me["Gen1Volt"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/gen1-volts")))); + + if (getprop("/systems/electrical/bus/gen1-hz") == 0) { + me["Gen1Hz"].setText(sprintf("XX")); + } else { + me["Gen1Hz"].setText(sprintf("%s", math.round(getprop("/systems/electrical/bus/gen1-hz")))); + } + + if (getprop("/engines/engine[0]/running") == 0) { + me["GEN1-num-label"].setColor(0.7333,0.3803,0); + } else { + me["GEN1-num-label"].setColor(0.8078,0.8039,0.8078); + } + + if (getprop("/systems/electrical/extra/gen1-volts") > 120 or getprop("/systems/electrical/extra/gen1-volts") < 110 or getprop("/systems/electrical/bus/gen1-hz") > 410 or getprop("/systems/electrical/bus/gen1-hz") < 390 or getprop("/systems/electrical/extra/gen1-load") > 100) { + me["GEN1-label"].setColor(0.7333,0.3803,0); + } else { + me["GEN1-label"].setColor(0.8078,0.8039,0.8078); + } + + if (getprop("/systems/electrical/extra/gen1-load") > 100) { + me["Gen1Load"].setColor(0.7333,0.3803,0); + } else { + me["Gen1Load"].setColor(0.0509,0.7529,0.2941); + } + + if (getprop("/systems/electrical/extra/gen1-volts") > 120 or getprop("/systems/electrical/extra/gen1-volts") < 110) { + me["Gen1Volt"].setColor(0.7333,0.3803,0); + } else { + me["Gen1Volt"].setColor(0.0509,0.7529,0.2941); + } + + if (getprop("/systems/electrical/bus/gen1-hz") > 410 or getprop("/systems/electrical/bus/gen1-hz") < 390) { + me["Gen1Hz"].setColor(0.7333,0.3803,0); + } else { + me["Gen1Hz"].setColor(0.0509,0.7529,0.2941); + } + } + + # GEN2 + if (getprop("/controls/electrical/switches/gen2") == 0) { + me["GEN2-content"].hide(); + me["GEN2-off"].show(); + me["GEN2-label"].setColor(0.7333,0.3803,0); + + if (getprop("/engines/engine[1]/running") == 0) { + me["GEN2-num-label"].setColor(0.7333,0.3803,0); + } else { + me["GEN2-num-label"].setColor(0.8078,0.8039,0.8078); + } + } else { + me["GEN2-content"].show(); + me["GEN2-off"].hide(); + me["Gen2Load"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/gen2-load")))); + me["Gen2Volt"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/gen2-volts")))); + if (getprop("/systems/electrical/bus/gen2-hz") == 0) { + me["Gen2Hz"].setText(sprintf("XX")); + } else { + me["Gen2Hz"].setText(sprintf("%s", math.round(getprop("/systems/electrical/bus/gen2-hz")))); + } + + if (getprop("/engines/engine[1]/running") == 0) { + me["GEN2-num-label"].setColor(0.7333,0.3803,0); + } else { + me["GEN2-num-label"].setColor(0.8078,0.8039,0.8078); + } + + if (getprop("/systems/electrical/extra/gen2-volts") > 120 or getprop("/systems/electrical/extra/gen2-volts") < 110 or getprop("/systems/electrical/bus/gen2-hz") > 410 or getprop("/systems/electrical/bus/gen2-hz") < 390 or getprop("/systems/electrical/extra/gen2-load") > 100) { + me["GEN2-label"].setColor(0.7333,0.3803,0); + } else { + me["GEN2-label"].setColor(0.8078,0.8039,0.8078); + } + + if (getprop("/systems/electrical/extra/gen1-load") > 100) { + me["Gen1Load"].setColor(0.7333,0.3803,0); + } else { + me["Gen1Load"].setColor(0.0509,0.7529,0.2941); + } + + + if (getprop("/systems/electrical/extra/gen2-volts") > 120 or getprop("/systems/electrical/extra/gen2-volts") < 110) { + me["Gen2Volt"].setColor(0.7333,0.3803,0); + } else { + me["Gen2Volt"].setColor(0.0509,0.7529,0.2941); + } + + if (getprop("/systems/electrical/bus/gen2-hz") > 410 or getprop("/systems/electrical/bus/gen2-hz") < 390) { + me["Gen2Hz"].setColor(0.7333,0.3803,0); + } else { + me["Gen2Hz"].setColor(0.0509,0.7529,0.2941); + } + } + + # APU + if (getprop("/controls/APU/master") == 0) { + me["APU-content"].hide(); + me["APUGEN-off"].hide(); + me["APU-border"].hide(); + me["APUGentext"].setColor(0.8078,0.8039,0.8078); + } else { + me["APU-border"].show(); + if (getprop("/controls/electrical/switches/gen-apu") == 0) { + me["APU-content"].hide(); + me["APUGEN-off"].show(); + me["APUGentext"].setColor(0.7333,0.3803,0); + } else { + me["APU-content"].show(); + me["APUGEN-off"].hide(); + me["APUGenLoad"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/apu-load")))); + me["APUGenVolt"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/apu-volts")))); + + if (getprop("/systems/electrical/extra/apu-hz") == 0) { + me["APUGenHz"].setText(sprintf("XX")); + } else { + me["APUGenHz"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/apu-hz")))); + } + + if (getprop("/systems/electrical/extra/apu-volts") > 120 or getprop("/systems/electrical/extra/apu-volts") < 110 or getprop("/systems/electrical/extra/apu-hz") > 410 or getprop("/systems/electrical/extra/apu-hz") < 390 or getprop("/systems/electrical/extra/apu-load") > 100) { + me["APUGentext"].setColor(0.7333,0.3803,0); + } else { + me["APUGentext"].setColor(0.8078,0.8039,0.8078); + } + + if(getprop("/systems/electrical/extra/apu-load") > 100) { + me["APUGenLoad"].setColor(0.7333,0.3803,0); + } else { + me["APUGenLoad"].setColor(0.0509,0.7529,0.2941); + } + + if (getprop("/systems/electrical/extra/apu-volts") > 120 or getprop("/systems/electrical/extra/apu-volts") < 110) { + me["APUGenVolt"].setColor(0.7333,0.3803,0); + } else { + me["APUGenVolt"].setColor(0.0509,0.7529,0.2941); + } + + if (getprop("/systems/electrical/extra/apu-hz") > 410 or getprop("/systems/electrical/extra/apu-hz") < 390) { + me["APUGenHz"].setColor(0.7333,0.3803,0); + } else { + me["APUGenHz"].setColor(0.0509,0.7529,0.2941); + } + } + } + + # EXT PWR + + if (getprop("/controls/switches/cart") == 0) { + me["EXTPWR-group"].hide(); + } else { + me["EXTPWR-group"].show(); + me["ExtVolt"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/ext-volts")))); + me["ExtHz"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/ext-hz")))); + + if (getprop("/systems/electrical/extra/ext-hz") > 410 or getprop("/systems/electrical/extra/ext-hz") < 390 or getprop("/systems/electrical/extra/ext-volts") > 120 or getprop("/systems/electrical/extra/ext-volts") < 110) { + me["EXTPWR-label"].setColor(0.7333,0.3803,0); + } else { + me["EXTPWR-label"].setColor(0.0509,0.7529,0.2941); + } + + if (getprop("/systems/electrical/extra/ext-hz") > 410 or getprop("/systems/electrical/extra/ext-hz") < 390) { + me["ExtHz"].setColor(0.7333,0.3803,0); + } else { + me["ExtHz"].setColor(0.0509,0.7529,0.2941); + } + + if (getprop("/systems/electrical/extra/ext-volts") > 120 or getprop("/systems/electrical/extra/ext-volts") < 110) { + me["ExtVolt"].setColor(0.7333,0.3803,0); + } else { + me["ExtVolt"].setColor(0.0509,0.7529,0.2941); + } + } + + # TODO add IDG warnings and rise part + + if (getprop("/systems/electrical/extra/galleyshed") == 1 or (getprop("/controls/electrical/switches/galley") == 0)) { + me["GalleyShed"].show(); + } else { + me["GalleyShed"].hide(); + } + + # Bus indicators + if (getprop("/systems/electrical/bus/dcbat") > 25) { + me["ELEC-DCBAT-label"].setColor(0.0509,0.7529,0.2941); + } else { + me["ELEC-DCBAT-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/bus/dc1") > 25) { + me["ELEC-DC1-label"].setColor(0.0509,0.7529,0.2941); + } else { + me["ELEC-DC1-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/bus/dc2") > 25) { + me["ELEC-DC2-label"].setColor(0.0509,0.7529,0.2941); + } else { + me["ELEC-DC2-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/bus/dc-ess") > 25) { + me["ELEC-DCESS-label"].setColor(0.0509,0.7529,0.2941); + } else { + me["ELEC-DCESS-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/bus/ac-ess") > 110) { + me["ELEC-ACESS-label"].setColor(0.0509,0.7529,0.2941); + } else { + me["ELEC-ACESS-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/bus/ac-ess") > 110) { + me["ACESS-SHED"].hide(); + } else { + me["ACESS-SHED"].show(); + } + + if (getprop("/systems/electrical/bus/ac1") > 110) { + me["ELEC-AC1-label"].setColor(0.0509,0.7529,0.2941); + } else { + me["ELEC-AC1-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/bus/ac2") > 110) { + me["ELEC-AC2-label"].setColor(0.0509,0.7529,0.2941); + } else { + me["ELEC-AC2-label"].setColor(0.7333,0.3803,0); + } + + + # Managment of the connecting lines between the components + if (getprop("/systems/electrical/ac1-src") == "APU" or getprop("/systems/electrical/ac2-src") == "APU") { + me["APU-out"].show(); + } else { + me["APU-out"].hide(); + } + + if (getprop("/systems/electrical/ac1-src") == "EXT" or getprop("/systems/electrical/ac2-src") == "EXT") { + me["EXT-out"].show(); + } else { + me["EXT-out"].hide(); + } + + if (getprop("/systems/electrical/extra/gen1-volts") >= 110) { + me["ELEC-Line-GEN1-AC1"].show(); + } else { + me["ELEC-Line-GEN1-AC1"].hide(); + } + + if (getprop("/systems/electrical/extra/gen2-volts") >= 110) { + me["ELEC-Line-GEN2-AC2"].show(); + } else { + me["ELEC-Line-GEN2-AC2"].hide(); + } + + if (getprop("/systems/electrical/bus/ac1") >= 110) { + me["AC1-in"].show(); + } else { + me["AC1-in"].hide() + } + + if (getprop("/systems/electrical/bus/ac2") >= 110) { + me["AC2-in"].show(); + } else { + me["AC2-in"].hide() + } + + if (getprop("/systems/electrical/ac1-src") == "APU" or getprop("/systems/electrical/ac1-src") == "EXT" or getprop("/systems/electrical/ac1-src") == "XTIE" or getprop("/systems/electrical/ac2-src") == "XTIE") { + me["ELEC-Line-APU-AC1"].show(); + } else { + me["ELEC-Line-APU-AC1"].hide(); + } + + if (getprop("/systems/electrical/ac1-src") == "EXT" or getprop("/systems/electrical/ac2-src") == "APU" or getprop("/systems/electrical/ac1-src") == "XTIE" or getprop("/systems/electrical/ac2-src") == "XTIE") { + me["ELEC-Line-APU-EXT"].show(); + } else { + me["ELEC-Line-APU-EXT"].hide(); + } + + if (getprop("/systems/electrical/ac2-src") == "APU" or getprop("/systems/electrical/ac2-src") == "EXT" or getprop("/systems/electrical/ac1-src") == "XTIE" or getprop("/systems/electrical/ac2-src") == "XTIE") { + me["ELEC-Line-EXT-AC2"].show(); + } else { + me["ELEC-Line-EXT-AC2"].hide(); + } + + if (getprop("/controls/electrical/switches/ac-ess-feed") == 1) { + me["ELEC-Line-AC1-ACESS"].hide(); + me["ELEC-Line-AC2-ACESS"].show(); + } else { + me["ELEC-Line-AC1-ACESS"].show(); + me["ELEC-Line-AC2-ACESS"].hide(); + } + + if (getprop("/systems/electrical/tr1-fault") == 0) { + if (getprop("/systems/electrical/bus/ac1") < 110) { + me["ELEC-Line-AC1-TR1"].setColorFill(0.7333,0.3803,0); + } else { + me["ELEC-Line-AC1-TR1"].setColorFill(0.0509,0.7529,0.2941); + } + me["ELEC-Line-AC1-TR1"].show(); + me["ELEC-Line-TR1-DC1"].show(); + } else { + me["ELEC-Line-AC1-TR1"].hide(); + me["ELEC-Line-TR1-DC1"].hide(); + } + + if (getprop("/systems/electrical/tr2-fault") == 0) { + if (getprop("/systems/electrical/bus/ac2") < 110) { + me["ELEC-Line-AC2-TR2"].setColorFill(0.7333,0.3803,0); + } else { + me["ELEC-Line-AC2-TR2"].setColorFill(0.0509,0.7529,0.2941); + } + me["ELEC-Line-AC2-TR2"].show(); + me["ELEC-Line-TR2-DC2"].show(); + } else { + me["ELEC-Line-AC2-TR2"].hide(); + me["ELEC-Line-TR2-DC2"].hide(); + } + + if (getprop("/systems/electrical/bus/ac1") < 110) { + me["ELEC-Line-DC1-DCESS"].hide(); + } else { + me["ELEC-Line-DC1-DCESS"].show(); + } + + if (getprop("/systems/electrical/bus/dc1") < 25) { + me["ELEC-Line-DC1-DCESS_DCBAT"].hide(); + me["ELEC-Line-DC1-DCBAT"].hide(); + } else { + me["ELEC-Line-DC1-DCESS_DCBAT"].show(); + me["ELEC-Line-DC1-DCBAT"].show(); + } + + if (getprop("/systems/electrical/bus/dc2") < 25 or getprop("/systems/electrical/bus/dc1") >= 25 and getprop("/systems/electrical/bus/ac1") >= 110) { + me["ELEC-Line-DC2-DCESS_DCBAT"].hide(); + me["ELEC-Line-DC2-DCBAT"].hide(); + } else { + me["ELEC-Line-DC2-DCESS_DCBAT"].show(); + me["ELEC-Line-DC2-DCBAT"].show(); + } + + if (getprop("/controls/electrical/switches/emer-gen") == 1 and (getprop("/systems/electrical/bus/ac1") < 110 and getprop("/controls/electrical/switches/ac-ess-feed") == 0 or getprop("/systems/electrical/bus/ac2") < 110 and getprop("/controls/electrical/switches/ac-ess-feed") == 1)) { + me["EMERGEN-out"].show(); + } else { + me["EMERGEN-out"].hide(); + } + + # TODO add connections from/to ESS TR + + # hide not yet implemented items + me["IDG1-LOPR"].hide(); + me["IDG2-LOPR"].hide(); + me["IDG1-DISC"].hide(); + me["IDG2-DISC"].hide(); + me["Shed-label"].hide(); + me["ELEC-Line-ACESS-TRESS"].hide(); + me["ELEC-Line-Emergen-ESSTR"].hide(); + me["IDG2-RISE-label"].hide(); + me["IDG2-RISE-Value"].hide(); + me["IDG1-RISE-label"].hide(); + me["IDG1-RISE-Value"].hide(); + me.updateBottomStatus(); }, }; @@ -874,6 +1595,363 @@ var canvas_lowerECAM_fctl = { }, }; +var canvas_lowerECAM_fuel = { + new: func(canvas_group, file) { + var m = {parents: [canvas_lowerECAM_fuel, canvas_lowerECAM_base]}; + m.init(canvas_group, file); + + return m; + }, + getKeys: func() { + return["TAT","SAT","GW","UTCh","UTCm","FUEL-Pump-Left-1","FUEL-Pump-Left-2","FUEL-Pump-Center-1","FUEL-Pump-Center-2","FUEL-Pump-Right-1","FUEL-Pump-Right-2","FUEL-Left-blocked","FUEL-Right-blocked","FUEL-Center-blocked","FUEL-Left-Tranfser", + "FUEL-Right-Tranfse","FUEL-Left-Outer-Inacc","FUEL-Left-Inner-Inacc","FUEL-Center-Inacc","FUEL-Right-Inner-Inacc","FUEL-Right-Outer-Inacc","FUEL-Left-Outer-quantity","FUEL-Left-Inner-quantity","FUEL-Center-quantity","FUEL-Right-Inner-quantity", + "FUEL-Right-Outer-quantity","FUEL-On-Board","FUEL-Flow-per-min","FUEL-APU-arrow","FUEL-APU-label","FUEL-used-1","FUEL-used-both","FUEL-used-2","FUEL-ENG-Master-1","FUEL-ENG-Master-2","FUEL-XFEED","FUEL-XFEED-pipes","FUEL-Left-Outer-temp", + "FUEL-Left-Inner-temp","FUEL-Right-Inner-temp","FUEL-Right-Outer-temp","FUEL-Pump-Left-1-Closed","FUEL-Pump-Left-1-Open","FUEL-Pump-Left-2-Closed","FUEL-Pump-Left-2-Open","FUEL-Pump-Center-1-Open","FUEL-Pump-Center-1-Closed","FUEL-Pump-Center-2-Closed", + "FUEL-Pump-Center-2-Open","FUEL-Pump-Right-1-Closed","FUEL-Pump-Right-1-Open","FUEL-Pump-Right-2-Closed","FUEL-Pump-Right-2-Open","FUEL-ENG-1-label","FUEL-ENG-2-label","FUEL-ENG-1-pipe","FUEL-ENG-2-pipe","FUEL-Right-Tranfser","ENG1idFFlow","ENG2idFFlow"]; + }, + update: func() { + + # if (getprop("engines/engine[0]/n1-actual") < getprop("/controls/engines/idle-limit")) { + if (getprop("engines/engine[0]/n1-actual") < 19.7) { + me["ENG1idFFlow"].setColor(0.7333,0.3803,0); + } else { + me["ENG1idFFlow"].setColor(0.8078,0.8039,0.8078); + } + + # if (getprop("engines/engine[1]/n1-actual") < getprop("/controls/engines/idle-limit")) { + if (getprop("engines/engine[1]/n1-actual") < 19.7) { + me["ENG2idFFlow"].setColor(0.7333,0.3803,0); + } else { + me["ENG2idFFlow"].setColor(0.8078,0.8039,0.8078); + } + + # TODO add FOB half-boxed amber if some fuel is blocked + me["FUEL-On-Board"].setText(sprintf("%s", math.round(getprop("/consumables/fuel/total-fuel-lbs"), 10))); + + if (getprop("/systems/fadec/powered1") == 1 and getprop("/systems/fadec/powered2") == 1) { + me["FUEL-Flow-per-min"].setColor(0.0509,0.7529,0.2941); + me["FUEL-Flow-per-min"].setText(sprintf("%s", math.round((getprop("/engines/engine[0]/fuel-flow_actual") + getprop("/engines/engine[1]/fuel-flow_actual")) / 60, 1))); + } else { + me["FUEL-Flow-per-min"].setColor(0.7333,0.3803,0); + me["FUEL-Flow-per-min"].setText("XX"); + } + + # this is now bound to the ENG master switch + # TODO use the valve prop and add amber if diffrence between eng master and valve + # TODO add transition state + # TODO fix amber/green at the same time when closed + if (getprop("/controls/engines/engine[0]/cutoff-switch") == 0) { + me["FUEL-ENG-Master-1"].setRotation(0); + me["FUEL-ENG-Master-1"].setColor(0.0509,0.7529,0.2941); + me["FUEL-ENG-1-pipe"].setColor(0.0509,0.7529,0.2941); + } else { + me["FUEL-ENG-Master-1"].setRotation(90 * D2R); + me["FUEL-ENG-Master-1"].setColor(0.7333,0.3803,0); + me["FUEL-ENG-1-pipe"].setColor(0.7333,0.3803,0); + } + + # this is now bound to the ENG master switch + # TODO use the valve prop and add amber if diffrence between eng master and valve + # TODO add transition state + # TODO fix amber/green at the same time when closed + if (getprop("/controls/engines/engine[1]/cutoff-switch") == 0) { + me["FUEL-ENG-Master-2"].setRotation(0); + me["FUEL-ENG-Master-2"].setColor(0.0509,0.7529,0.2941); + me["FUEL-ENG-2-pipe"].setColor(0.0509,0.7529,0.2941); + } else { + me["FUEL-ENG-Master-2"].setRotation(90 * D2R); + me["FUEL-ENG-Master-2"].setColor(0.7333,0.3803,0); + me["FUEL-ENG-2-pipe"].setColor(0.7333,0.3803,0); + } + + # this is now bound to the XFEED switch + # TODO use the valve prop + # TODO add amber when disagree between switch and btn + # TODO add transition state + if (getprop("/controls/fuel/x-feed") == 1) { + me["FUEL-XFEED"].setRotation(0); + me["FUEL-XFEED-pipes"].show(); + } else { + me["FUEL-XFEED"].setRotation(90 * D2R); + me["FUEL-XFEED-pipes"].hide(); + } + + # TODO add LO indication + # TODO fix amber/green at the same time when closed + if (getprop("controls/fuel/tank0pump1") == 1) { + me["FUEL-Pump-Left-1-Open"].show(); + me["FUEL-Pump-Left-1-Closed"].hide(); + me["FUEL-Pump-Left-1"].setColor(0.0509,0.7529,0.2941); + } else { + me["FUEL-Pump-Left-1-Open"].hide(); + me["FUEL-Pump-Left-1-Closed"].show(); + me["FUEL-Pump-Left-1"].setColor(0.7333,0.3803,0); + } + + # TODO add LO indication + # TODO fix amber/green at the same time when closed + if (getprop("controls/fuel/tank0pump2") == 1) { + me["FUEL-Pump-Left-2-Open"].show(); + me["FUEL-Pump-Left-2-Closed"].hide(); + me["FUEL-Pump-Left-2"].setColor(0.0509,0.7529,0.2941); + } else { + me["FUEL-Pump-Left-2-Open"].hide(); + me["FUEL-Pump-Left-2-Closed"].show(); + me["FUEL-Pump-Left-2"].setColor(0.7333,0.3803,0); + } + + # TODO fix amber/green at the same time when closed + # TODO add functionality to match FCOM 1.28.20 "Amber: Transfer valve is open, whereas commanded closed in automatic or manual mode" + if (getprop("controls/fuel/tank1pump1") == 1) { + me["FUEL-Pump-Center-1-Open"].show(); + me["FUEL-Pump-Center-1-Closed"].hide(); + me["FUEL-Pump-Center-1"].setColor(0.0509,0.7529,0.2941); + } else { + me["FUEL-Pump-Center-1-Open"].hide(); + me["FUEL-Pump-Center-1-Closed"].show(); + me["FUEL-Pump-Center-1"].setColor(0.7333,0.3803,0); + } + + # TODO add LO indication + # TODO fix amber/green at the same time when closed + if (getprop("controls/fuel/tank1pump2") == 1) { + me["FUEL-Pump-Center-2-Open"].show(); + me["FUEL-Pump-Center-2-Closed"].hide(); + me["FUEL-Pump-Center-2"].setColor(0.0509,0.7529,0.2941); + } else { + me["FUEL-Pump-Center-2-Open"].hide(); + me["FUEL-Pump-Center-2-Closed"].show(); + me["FUEL-Pump-Center-2"].setColor(0.7333,0.3803,0); + } + + # TODO add LO indication + # TODO fix amber/green at the same time when closed + if (getprop("controls/fuel/tank2pump1") == 1) { + me["FUEL-Pump-Right-1-Open"].show(); + me["FUEL-Pump-Right-1-Closed"].hide(); + me["FUEL-Pump-Right-1"].setColor(0.0509,0.7529,0.2941); + } else { + me["FUEL-Pump-Right-1-Open"].hide(); + me["FUEL-Pump-Right-1-Closed"].show(); + me["FUEL-Pump-Right-1"].setColor(0.7333,0.3803,0); + } + + # TODO add LO indication + # TODO fix amber/green at the same time when closed + if (getprop("controls/fuel/tank2pump2") == 1) { + me["FUEL-Pump-Right-2-Open"].show(); + me["FUEL-Pump-Right-2-Closed"].hide(); + me["FUEL-Pump-Right-2"].setColor(0.0509,0.7529,0.2941); + } else { + me["FUEL-Pump-Right-2-Open"].hide(); + me["FUEL-Pump-Right-2-Closed"].show(); + me["FUEL-Pump-Right-2"].setColor(0.7333,0.3803,0); + } + + # Hide not yet implemented features + # TODO add them + me["FUEL-Left-blocked"].hide(); + me["FUEL-Right-blocked"].hide(); + me["FUEL-Center-blocked"].hide(); + me["FUEL-Left-Outer-Inacc"].hide(); + me["FUEL-Left-Inner-Inacc"].hide(); + me["FUEL-Right-Outer-Inacc"].hide(); + me["FUEL-Right-Inner-Inacc"].hide(); + me["FUEL-Center-Inacc"].hide(); + me["FUEL-Left-Tranfser"].hide(); + me["FUEL-Right-Tranfser"].hide(); + me["FUEL-Left-Outer-temp"].hide(); + me["FUEL-Left-Inner-temp"].hide(); + me["FUEL-Right-Outer-temp"].hide(); + me["FUEL-Right-Inner-temp"].hide(); + + me.updateBottomStatus(); + }, +}; + +var canvas_lowerECAM_press = { + new: func(canvas_group, file) { + var m = {parents: [canvas_lowerECAM_press, canvas_lowerECAM_base]}; + m.init(canvas_group, file); + + return m; + }, + getKeys: func() { + return ["TAT","SAT","GW","UTCh","UTCm"]; + }, + update: func() { + + me.updateBottomStatus(); + }, +}; + +var canvas_lowerECAM_hyd = { + new: func(canvas_group, file) { + var m = {parents: [canvas_lowerECAM_hyd, canvas_lowerECAM_base]}; + m.init(canvas_group, file); + + return m; + }, + getKeys: func() { + return ["TAT","SAT","GW","UTCh","UTCm","Green-Indicator","Blue-Indicator","Yellow-Indicator","Press-Green","Press-Blue","Press-Yellow","Green-Line","Blue-Line","Yellow-Line","PTU-Supply-Line","PTU-supply-yellow","PTU-supply-green","PTU-connection", + "PTU-Auto-or-off","RAT-label","RAT-stowed","RAT-not-stowed","ELEC-Yellow-off","ELEC-Yellow-on","ELEC-Yellow-label","ELEC-OVTH-Yellow","ELEC-Blue-label","ELEC-OVHT-Blue","ELEC-OVHT-Yellow","Pump-Green-label","Pump-Yellow-label","Pump-Green", + "Pump-LOPR-Green","Pump-Green-off","Pump-Green-on","Pump-Yellow","Pump-LOPR-Yellow","Pump-Yellow-off","Pump-Yellow-on","Pump-Blue","Pump-LOPR-Blue","Pump-Blue-off","Pump-Blue-on","Fire-Valve-Green","Fire-Valve-Yellow","LO-AIR-PRESS-Green", + "LO-AIR-PRESS-Yellow","LO-AIR-PRESS-Blue","OVHT-Green","OVHT-Blue","OVHT-Yellow","Quantity-Indicator-Green","Quantity-Indicator-Blue","Quantity-Indicator-Yellow","Green-label","Blue-label","Yellow-label"]; + }, + update: func() { + blue_psi = getprop("/systems/hydraulic/blue-psi"); + green_psi = getprop("/systems/hydraulic/green-psi"); + yellow_psi = getprop("/systems/hydraulic/yellow-psi"); + + me["Press-Green"].setText(sprintf("%s", green_psi)); + me["Press-Blue"].setText(sprintf("%s", blue_psi)); + me["Press-Yellow"].setText(sprintf("%s", yellow_psi)); + + if (blue_psi >= 1500) { + me["Blue-Line"].setColor(0.0509,0.7529,0.2941); + me["Blue-Line"].setColorFill(0.0509,0.7529,0.2941); + me["Blue-Indicator"].setColor(0.0509,0.7529,0.2941); + me["Press-Blue"].setColor(0.0509,0.7529,0.2941); + me["Blue-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["Blue-Line"].setColor(0.7333,0.3803,0); + me["Blue-Line"].setColorFill(0.7333,0.3803,0); + me["Blue-Indicator"].setColor(0.7333,0.3803,0); + me["Press-Blue"].setColor(0.7333,0.3803,0); + me["Blue-label"].setColor(0.7333,0.3803,0); + } + + if (yellow_psi >= 1500) { + me["Yellow-Line"].setColor(0.0509,0.7529,0.2941); + me["Yellow-Line"].setColorFill(0.0509,0.7529,0.2941); + me["Yellow-Indicator"].setColor(0.0509,0.7529,0.2941); + me["Press-Yellow"].setColor(0.0509,0.7529,0.2941); + me["Yellow-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["Yellow-Line"].setColor(0.7333,0.3803,0); + me["Yellow-Line"].setColorFill(0.7333,0.3803,0); + me["Yellow-Indicator"].setColor(0.7333,0.3803,0); + me["Press-Yellow"].setColor(0.7333,0.3803,0); + me["Yellow-label"].setColor(0.7333,0.3803,0); + } + + if (green_psi >= 1500) { + me["Green-Line"].setColor(0.0509,0.7529,0.2941); + me["Green-Line"].setColorFill(0.0509,0.7529,0.2941); + me["Green-Indicator"].setColor(0.0509,0.7529,0.2941); + me["Press-Green"].setColor(0.0509,0.7529,0.2941); + me["Green-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["Green-Line"].setColor(0.7333,0.3803,0); + me["Green-Line"].setColorFill(0.7333,0.3803,0); + me["Green-Indicator"].setColor(0.7333,0.3803,0); + me["Press-Green"].setColor(0.7333,0.3803,0); + me["Green-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/controls/hydraulic/ptu") == 1 and getprop("/systems/hydraulic/ptu-fault") == 0) { + me["PTU-connection"].setColor(0.0509,0.7529,0.2941); + me["PTU-Auto-or-off"].setColor(0.0509,0.7529,0.2941); + } else { + me["PTU-connection"].setColor(0.7333,0.3803,0); + me["PTU-Auto-or-off"].setColor(0.7333,0.3803,0); + } + + if (getprop("/engines/engine[0]/n2-actual") >= 59) { + me["Pump-Green-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["Pump-Green-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/engines/engine[1]/n2-actual") >= 59) { + me["Pump-Yellow-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["Pump-Yellow-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/controls/hydraulic/eng1-pump") == 1) { + me["Pump-Green-off"].hide(); + if (yellow_psi >= 1500) { + me["Pump-Green-on"].show(); + me["Pump-LOPR-Green"].hide(); + me["Pump-Green"].setColor(0.0509,0.7529,0.2941); + me["Pump-Green"].setColorFill(0.0509,0.7529,0.2941); + } else { + me["Pump-Green-on"].hide(); + me["Pump-LOPR-Green"].show(); + me["Pump-Green"].setColor(0.7333,0.3803,0); + me["Pump-Green"].setColorFill(0.7333,0.3803,0); + } + } else { + me["Pump-Green-off"].show(); + me["Pump-Green-on"].hide(); + me["Pump-LOPR-Green"].hide(); + me["Pump-Green"].setColor(0.7333,0.3803,0); + } + + if (getprop("/controls/hydraulic/eng2-pump") == 1) { + me["Pump-Yellow-off"].hide(); + if (yellow_psi >= 1500) { + me["Pump-Yellow-on"].show(); + me["Pump-LOPR-Yellow"].hide(); + me["Pump-Yellow"].setColor(0.0509,0.7529,0.2941); + } else { + me["Pump-Yellow-on"].hide(); + me["Pump-LOPR-Yellow"].show(); + me["Pump-Yellow"].setColor(0.7333,0.3803,0); + } + } else { + me["Pump-Yellow-off"].show(); + me["Pump-Yellow-on"].hide(); + me["Pump-LOPR-Yellow"].hide(); + me["Pump-Yellow"].setColor(0.7333,0.3803,0); + } + + if (getprop("/controls/hydraulic/elec-pump-blue") == 1) { + me["Pump-Blue-off"].hide(); + if (blue_psi >= 1500) { + me["Pump-Blue-on"].show(); + me["Pump-LOPR-Blue"].hide(); + me["Pump-Blue"].setColor(0.0509,0.7529,0.2941); + } else { + me["Pump-LOPR-Blue"].show(); + me["Pump-Blue-on"].hide(); + me["Pump-Blue"].setColor(0.7333,0.3803,0); + } + } else { + me["Pump-Blue-off"].show(); + me["Pump-Blue-on"].hide(); + me["Pump-LOPR-Blue"].hide(); + me["Pump-Blue"].setColor(0.7333,0.3803,0); + } + + if (getprop("/controls/hydraulic/elec-pump-yellow") == 0) { + me["ELEC-Yellow-on"].hide(); + me["ELEC-Yellow-off"].show(); + } else { + me["ELEC-Yellow-on"].show(); + me["ELEC-Yellow-off"].hide(); + } + + # hiding elements which have no props in the tree yet and doesn't suite in in normal ops + # TODO add these when they are in the prop tree + me["LO-AIR-PRESS-Green"].hide(); + me["LO-AIR-PRESS-Blue"].hide(); + me["LO-AIR-PRESS-Yellow"].hide(); + me["ELEC-OVHT-Yellow"].hide(); + me["ELEC-OVHT-Blue"].hide(); + me["RAT-not-stowed"].hide(); + me["PTU-Supply-Line"].hide(); + me["PTU-supply-yellow"].hide(); + me["PTU-supply-green"].hide(); + me["OVHT-Yellow"].hide(); + me["OVHT-Green"].hide(); + me["OVHT-Blue"].hide(); + + me.updateBottomStatus(); + }, +}; + var canvas_lowerECAM_wheel = { new: func(canvas_group, file) { var m = {parents: [canvas_lowerECAM_wheel, canvas_lowerECAM_base]}; @@ -1370,29 +2448,34 @@ setlistener("sim/signals/fdm-initialized", func { }); lowerECAM_display.addPlacement({"node": "lecam.screen"}); var groupApu = lowerECAM_display.createGroup(); + var groupBleed = lowerECAM_display.createGroup(); + var groupCond = lowerECAM_display.createGroup(); var groupDoor = lowerECAM_display.createGroup(); + var groupElec = lowerECAM_display.createGroup(); var groupEng = lowerECAM_display.createGroup(); var groupFctl = lowerECAM_display.createGroup(); + var groupFuel = lowerECAM_display.createGroup(); + var groupPress = lowerECAM_display.createGroup(); + var groupHyd = lowerECAM_display.createGroup(); var groupWheel = lowerECAM_display.createGroup(); var group_test = lowerECAM_display.createGroup(); lowerECAM_apu = canvas_lowerECAM_apu.new(groupApu, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/apu.svg"); + lowerECAM_bleed = canvas_lowerECAM_bleed.new(groupBleed, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/bleed.svg"); + lowerECAM_cond = canvas_lowerECAM_cond.new(groupCond, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/cond.svg"); lowerECAM_door = canvas_lowerECAM_door.new(groupDoor, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/door.svg"); - lowerECAM_eng = canvas_lowerECAM_eng.new(groupEng, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/eng-eis2.svg"); + lowerECAM_elec = canvas_lowerECAM_elec.new(groupElec, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/elec.svg"); + lowerECAM_eng = canvas_lowerECAM_eng.new(groupEng, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/eng.svg"); lowerECAM_fctl = canvas_lowerECAM_fctl.new(groupFctl, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/fctl.svg"); + lowerECAM_fuel = canvas_lowerECAM_fuel.new(groupFuel, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/fuel.svg"); + lowerECAM_press = canvas_lowerECAM_press.new(groupPress, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/press.svg"); + lowerECAM_hyd = canvas_lowerECAM_hyd.new(groupHyd, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/hyd.svg"); lowerECAM_wheel = canvas_lowerECAM_wheel.new(groupWheel, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/wheel.svg"); lowerECAM_test = canvas_lowerECAM_test.new(group_test, "Aircraft/IDG-A32X/Models/Instruments/Common/res/du-test.svg"); lowerECAM_update.start(); - if (getprop("/systems/acconfig/options/lecam-rate") > 1) { - l_rateApply(); - } }); -var l_rateApply = func { - lowerECAM_update.restart(0.05 * getprop("/systems/acconfig/options/lecam-rate")); -} - var lowerECAM_update = maketimer(0.05, func { canvas_lowerECAM_base.update(); }); diff --git a/Models/Instruments/Lower-ECAM/res/bleed.svg b/Models/Instruments/Lower-ECAM/res/bleed.svg new file mode 100644 index 00000000..5061cc60 --- /dev/null +++ b/Models/Instruments/Lower-ECAM/res/bleed.svg @@ -0,0 +1,1347 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + PSI + 1 + APU + + RAM + AIR + + 30 + 160 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GND + + + + + + + + + + + + + + + + 24 + 50 + C + ° C + + + ° C + + + + + + + + + H + HI + LO + + + + + 24 + 50 + C + ° C + + + ° C + + + + + + + + + H + HI + LO + + + ° C + ° C + + + + + + + + + + + + + 2 + + IP + IP + HP + HP + + + + + + + + + + PSI + + 30 + 160 + + ANTI + + ICE + + + + ANTI + + ICE + + + BLEED + + + + + + + H + °C + LBS + GW + TAT + SAT + 25 + 25 + 120000 + °C + 00 + 00 + diff --git a/Models/Instruments/Lower-ECAM/res/cond.svg b/Models/Instruments/Lower-ECAM/res/cond.svg new file mode 100644 index 00000000..a57a4a4e --- /dev/null +++ b/Models/Instruments/Lower-ECAM/res/cond.svg @@ -0,0 +1,1004 @@ + + + + + + image/svg+xml + + + + + + + + + + COND + + FAN + + + + + + + ALTN MODE + 34 + 34 + 34 + + + + FAN + + TEMP : + ° C + + + + + + C + H + + CKPT + FWD + AFT + 34 + 34 + 34 + + + + + + + + C + H + + + + + + + + + C + H + + + + + + + HOT + AIR + + + + + + + + + + + C + H + + 34 + 34 + + + + + + + + + + + HOT + AIR + + + + + + + + + + + + + + + + + + + AFT + + + + + + H + °C + LBS + GW + TAT + SAT + 25 + 25 + 120000 + °C + 00 + 00 + diff --git a/Models/Instruments/Lower-ECAM/res/elec.svg b/Models/Instruments/Lower-ECAM/res/elec.svg new file mode 100644 index 00000000..ba2d6408 --- /dev/null +++ b/Models/Instruments/Lower-ECAM/res/elec.svg @@ -0,0 +1,2337 @@ + + + + + + image/svg+xml + + + + + + + + + + ELEC + + + + + + + + + + + + + + + + + + APU GEN + + + + + + + + % + V + HZ + 0 + 115 + 400 + + + + + + GEN + + + + + + + + + % + V + HZ + 0 + 115 + 400 + + GEN + + + + + + + + + % + V + HZ + 0 + 115 + 400 + + IDG + IDG + °C + °C + 115 + 115 + + + + + + + + + + + + + EXT PWR + V + HZ + 115 + 400 + + + + + + + + + + DC + + + + + + + DC ESS + + + + + + + + + + + DC BAT + + V + A + 28 + 0 + + BAT 1 + + + + + + + + + + + + V + A + 28 + 0 + + BAT 2 + + ESS TR + + + EMER GEN + + GALLEY SHED + + + + + + + + + + + + + + V + A + 28 + 150 + TR 1 + + + + + + + V + A + 28 + 150 + TR 2 + + + + + + + + V + A + 28 + 150 + + + + + + + + + + + + + + + + + EMER GEN + V + HZ + 115 + 400 + + SHED + OFF + OFF + OFF + DISC + LO PR + DISC + LO PR + 2 + 1 + RISE + 15 + RISE + 15 + OFF + OFF + 1 + 2 + + + AC ESS + + SHED + + DC + + + AC + + + + AC + + 2 + 1 + 1 + 2 + + + + + + H + °C + LBS + GW + TAT + SAT + 25 + 25 + 120000 + °C + 00 + 00 + diff --git a/Models/Instruments/Lower-ECAM/res/eng-eis2.svg b/Models/Instruments/Lower-ECAM/res/eng.svg similarity index 100% rename from Models/Instruments/Lower-ECAM/res/eng-eis2.svg rename to Models/Instruments/Lower-ECAM/res/eng.svg diff --git a/Models/Instruments/Lower-ECAM/res/fuel.svg b/Models/Instruments/Lower-ECAM/res/fuel.svg new file mode 100644 index 00000000..cab9baf3 --- /dev/null +++ b/Models/Instruments/Lower-ECAM/res/fuel.svg @@ -0,0 +1,1455 @@ + + + + + + image/svg+xml + + + + + + + + + + + + 1 + FUEL + + F.USED + APU + 0000 + + + + + + 1+2 + LBS + + + + + + + 0000 + 0000 + 000 + 000 + + + + + + + + + + + + + + + + + + 1 + 2 + F.FLOW + 2 + : + LBS/MIN + 00 + : + FOB + 00000 + LBS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0000 + 0000 + 0000 + + + °C + °C + 00 + 00 + 00 + 00 + + + + + + + + + + + + + + + + + + + + + + z +   + + + + + + + + H + °C + LBS + GW + TAT + SAT + 25 + 25 + 120000 + °C + 00 + 00 + diff --git a/Models/Instruments/Lower-ECAM/res/hyd.svg b/Models/Instruments/Lower-ECAM/res/hyd.svg new file mode 100644 index 00000000..bbb7f9f4 --- /dev/null +++ b/Models/Instruments/Lower-ECAM/res/hyd.svg @@ -0,0 +1,1166 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + 1 + 2 + + + + + + + + + 3000 + + + LO AIR + PRESS + + + LO AIR + PRESS + + + LO AIR + PRESS + + OVHT + OVHT + OVHT + LO + LO + LO + 3000 + 3000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GREEN + BLUE + YELLOW + + + + + + + + + + + + + + + + + + + + PTU + PSI + PSI + RAT + + + + + + + + + + + ELEC + OVHT + ELEC + OVHT + + + + + + + + + + + + + + + + + + + + + + + + + + + HYD + + + + + + + H + °C + LBS + GW + TAT + SAT + 25 + 25 + 120000 + °C + 00 + 00 + diff --git a/Models/Instruments/Lower-ECAM/res/press.svg b/Models/Instruments/Lower-ECAM/res/press.svg new file mode 100644 index 00000000..71188465 --- /dev/null +++ b/Models/Instruments/Lower-ECAM/res/press.svg @@ -0,0 +1,1051 @@ + + + + + + image/svg+xml + + + + + + + + + + CAB PRESS + + LDG ELEV + FT + P + V/S + AUTO + 1750 + 4150 + + + + + + + + + + SAFETY + 500 + FT/MIN + PSI + FT + CAB ALT + + + + + + + VENT + INLET + OUTLET + + + + XX + XX + SYS1 + SYS2 + MAN + PACK 1 + PACK 2 + + + + - + + + + + + + + + + + + + + + + + + + + UP + DN + 0 + 2 + 2 + 8 + 0 + . + 1 + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + H + °C + LBS + GW + TAT + SAT + 25 + 25 + 120000 + °C + 00 + 00 + diff --git a/Nasal/electrical.nas b/Nasal/electrical.nas index 0c2fbf16..b4fb121e 100644 --- a/Nasal/electrical.nas +++ b/Nasal/electrical.nas @@ -1,5 +1,6 @@ # A3XX Electrical System # Joshua Davidson (it0uchpods) and Jonathan Redpath (legoboyvdlp) +# Some parts are in JSBsim system! ############################################## # Copyright (c) Joshua Davidson (it0uchpods) # @@ -137,13 +138,13 @@ var fctlpoweruptest = func { setprop("/systems/failures/sec1", 1); setprop("/systems/electrical/battery-available", 1); setprop("/systems/electrical/elac1-test", 1); - settimer(func(){ + settimer(func() { setprop("/systems/failures/elac1-fault", 0); setprop("/systems/electrical/elac1-test", 0); - },8); - settimer(func(){ + }, 8); + settimer(func() { setprop("/systems/failures/sec1", 0); - },8.5); + }, 8.5); } gen1_sw = getprop("/controls/electrical/switches/gen1"); @@ -155,15 +156,13 @@ var fctlpoweruptest = func { setprop("/systems/failures/elac2-fault", 1); setprop("/systems/electrical/dc2-available", 1); setprop("/systems/electrical/elac2-test", 1); - settimer(func(){ + settimer(func() { setprop("/systems/failures/elac2-fault", 0); setprop("/systems/electrical/elac2-test", 0); - },8); + }, 8); } } - - # Main Elec System var ELEC = { @@ -204,6 +203,12 @@ var ELEC = { setprop("/systems/electrical/extra/apu-volts", 0); setprop("/systems/electrical/extra/gen1-volts", 0); setprop("/systems/electrical/extra/gen2-volts", 0); + setprop("/systems/electrical/extra/gen1-load", 0); + setprop("/systems/electrical/extra/gen2-load", 0); + setprop("/systems/electrical/extra/tr1-volts", 0); + setprop("/systems/electrical/extra/tr2-volts", 0); + setprop("/systems/electrical/extra/tr1-amps", 0); + setprop("/systems/electrical/extra/tr2-amps", 0); setprop("/systems/electrical/extra/ext-hz", 0); setprop("/systems/electrical/extra/apu-hz", 0); setprop("/systems/electrical/extra/galleyshed", 0); diff --git a/Nasal/it-fbw.nas b/Nasal/it-fbw.nas index a1a84610..165ad056 100644 --- a/Nasal/it-fbw.nas +++ b/Nasal/it-fbw.nas @@ -39,31 +39,31 @@ var fctlInit = func { var update_loop = func { var elac1_sw = getprop("/controls/fctl/elac1"); var elac2_sw = getprop("/controls/fctl/elac2"); - var sec1_sw = getprop("/controls/fctl/sec1"); - var sec2_sw = getprop("/controls/fctl/sec2"); - var sec3_sw = getprop("/controls/fctl/sec3"); - var fac1_sw = getprop("/controls/fctl/fac1"); - var fac2_sw = getprop("/controls/fctl/fac2"); + var sec1_sw = getprop("/controls/fctl/sec1"); + var sec2_sw = getprop("/controls/fctl/sec2"); + var sec3_sw = getprop("/controls/fctl/sec3"); + var fac1_sw = getprop("/controls/fctl/fac1"); + var fac2_sw = getprop("/controls/fctl/fac2"); - var elac1_fail = getprop("/systems/failures/elac1"); - var elac2_fail = getprop("/systems/failures/elac2"); - var sec1_fail = getprop("/systems/failures/sec1"); - var sec2_fail = getprop("/systems/failures/sec2"); - var sec3_fail = getprop("/systems/failures/sec3"); - var fac1_fail = getprop("/systems/failures/fac1"); - var fac2_fail = getprop("/systems/failures/fac2"); + var elac1_fail = getprop("/systems/failures/elac1"); + var elac2_fail = getprop("/systems/failures/elac2"); + var sec1_fail = getprop("/systems/failures/sec1"); + var sec2_fail = getprop("/systems/failures/sec2"); + var sec3_fail = getprop("/systems/failures/sec3"); + var fac1_fail = getprop("/systems/failures/fac1"); + var fac2_fail = getprop("/systems/failures/fac2"); - var ac_ess = getprop("/systems/electrical/bus/ac-ess"); - var dc_ess = getprop("/systems/electrical/bus/dc-ess"); + var ac_ess = getprop("/systems/electrical/bus/ac-ess"); + var dc_ess = getprop("/systems/electrical/bus/dc-ess"); var dc_ess_shed = getprop("/systems/electrical/bus/dc-ess-shed"); - var ac1 = getprop("/systems/electrical/bus/ac1"); - var ac2 = getprop("/systems/electrical/bus/ac2"); - var dc1 = getprop("/systems/electrical/bus/dc1"); - var dc2 = getprop("/systems/electrical/bus/dc2"); + var ac1 = getprop("/systems/electrical/bus/ac1"); + var ac2 = getprop("/systems/electrical/bus/ac2"); + var dc1 = getprop("/systems/electrical/bus/dc1"); + var dc2 = getprop("/systems/electrical/bus/dc2"); var battery1_sw = getprop("/controls/electrical/switches/battery1"); var battery2_sw = getprop("/controls/electrical/switches/battery2"); - var elac1_test = getprop("/systems/electrical/elac1-test"); - var elac2_test = getprop("/systems/electrical/elac2-test"); + var elac1_test = getprop("/systems/electrical/elac1-test"); + var elac2_test = getprop("/systems/electrical/elac2-test"); if (elac1_sw and !elac1_fail and (dc_ess >= 25 or battery1_sw) and !elac1_test) { setprop("/systems/fctl/elac1", 1); diff --git a/revision.txt b/revision.txt index f17a1c59..fef2ed65 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -4404 \ No newline at end of file +4405 \ No newline at end of file From dcfa139628417cfa20ed9214f91cdac3742cb512 Mon Sep 17 00:00:00 2001 From: merspieler Date: Thu, 12 Apr 2018 19:05:11 +0200 Subject: [PATCH 02/14] Alignment fix in fuel page Signed-off-by: merspieler --- Models/Instruments/Lower-ECAM/res/fuel.svg | 55 +++++++++------------- 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/res/fuel.svg b/Models/Instruments/Lower-ECAM/res/fuel.svg index cab9baf3..277ed37e 100644 --- a/Models/Instruments/Lower-ECAM/res/fuel.svg +++ b/Models/Instruments/Lower-ECAM/res/fuel.svg @@ -12,7 +12,7 @@ viewBox="0 0 1024 1024" version="1.1" id="svg2" - inkscape:version="0.91 r13725" + inkscape:version="0.92.1 r15371" sodipodi:docname="fuel.svg"> @@ -46,15 +46,15 @@ inkscape:pageopacity="1" inkscape:pageshadow="2" inkscape:window-width="1920" - inkscape:window-height="1027" + inkscape:window-height="1047" id="namedview371" showgrid="true" - inkscape:zoom="0.50686315" - inkscape:cx="642.81542" - inkscape:cy="444.62018" - inkscape:window-x="1592" - inkscape:window-y="-8" - inkscape:window-maximized="1" + inkscape:zoom="16.219621" + inkscape:cx="994.3226" + inkscape:cy="903.02019" + inkscape:window-x="0" + inkscape:window-y="33" + inkscape:window-maximized="0" inkscape:current-layer="svg2"> + inkscape:label="#g5620" + transform="translate(0,-6.6012608e-5)"> 120000 °C Date: Thu, 12 Apr 2018 19:31:34 -0400 Subject: [PATCH 03/14] ECAM: Adjust and tweak ELEC page, not complete yet --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 18 +- Models/Instruments/Lower-ECAM/res/elec.svg | 2906 +++++++++--------- 2 files changed, 1465 insertions(+), 1459 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index 01d8bded..ec32b6d3 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -617,13 +617,13 @@ var canvas_lowerECAM_elec = { return m; }, getKeys: func() { - return ["TAT","SAT","GW","UTCh","UTCm","BAT1-label","Bat1Volt","Bat1Ampere","BAT2-label","Bat2Volt","Bat2Ampere","BAT1-charge","BAT1-discharge","ELEC-Line-BAT1-DCBAT","BAT2-charge","BAT2-discharge","ELEC-Line-BAT2-DCBAT","ELEC-Line-DC1-DCBAT", - "ELEC-Line-DC1-DCESS","ELEC-Line-DC2-DCBAT","ELEC-Line-DC1-DCESS_DCBAT","ELEC-Line-DC2-DCESS_DCBAT","ELEC-Line-TR1-DC1","ELEC-Line-TR2-DC2","Shed-label","ELEC-Line-ESSTR-DCESS","TR1-label","TR1Volt","TR1Ampere","TR2-label","TR2Volt","TR2Ampere", - "EMERGEN-Box-on","EmergenVolt","EmergenHz","ELEC-Line-Emergen-ESSTR","EMERGEN-Label-off","EMERGEN-out","ELEC-Line-ACESS-TRESS","ELEC-Line-AC1-TR1","ELEC-Line-AC2-TR2","ELEC-Line-AC1-ACESS","ELEC-Line-AC2-ACESS","ACESS-SHED","ACESS","AC1-in","AC2-in", - "ELEC-Line-GEN1-AC1","ELEC-Line-GEN2-AC2","ELEC-Line-APU-AC1","ELEC-Line-APU-EXT","ELEC-Line-EXT-AC2","APU-out","EXT-out","EXTPWR-group","ExtVolt","ExtHz","APU-content","APU-border","APUGentext","APUGenLoad","APUGenVolt","APUGenHz","APUGEN-off", - "GEN1-label","Gen1Load","Gen1Volt","Gen1Hz","GEN2-label","Gen2Load","GEN2-off","Gen2Volt","Gen2Hz","ELEC-IDG-1-label","ELEC-IDG-1-Temp","IDG1-LOPR","IDG1-DISC","IDG1-RISE-Value","IDG1-RISE-label","GalleyShed","ELEC-IDG-2-Temp","ELEC-IDG-2-label", - "IDG2-RISE-label","IDG2-RISE-Value","IDG2-LOPR","IDG2-DISC","ESSTR-group","ESSTR-Volt","ESSTR-Ampere","BAT1-content","BAT2-content","BAT1-OFF","BAT2-OFF","GEN1-content","GEN2-content","GEN-1-num-label","GEN-2-num-label","GEN1-off","GEN2-off", - "GEN1-num-label","GEN2-num-label","EXTPWR-label","ELEC-ACESS-SHED-label","ELEC-DCBAT-label","ELEC-DCESS-label","ELEC-DC2-label","ELEC-DC1-label","ELEC-AC1-label","ELEC-AC2-label","ELEC-ACESS-label"]; + return ["TAT","SAT","GW","UTCh","UTCm","BAT1-label","Bat1Volt","Bat1Ampere","BAT2-label","Bat2Volt","Bat2Ampere","BAT1-charge","BAT1-discharge","BAT2-charge","BAT2-discharge","ELEC-Line-DC1-DCBAT","ELEC-Line-DC1-DCESS","ELEC-Line-DC2-DCBAT", + "ELEC-Line-DC1-DCESS_DCBAT","ELEC-Line-DC2-DCESS_DCBAT","ELEC-Line-TR1-DC1","ELEC-Line-TR2-DC2","Shed-label","ELEC-Line-ESSTR-DCESS","TR1-label","TR1Volt","TR1Ampere","TR2-label","TR2Volt","TR2Ampere","EMERGEN-Box-on","EmergenVolt","EmergenHz", + "ELEC-Line-Emergen-ESSTR","EMERGEN-Label-off","EMERGEN-out","ELEC-Line-ACESS-TRESS","ELEC-Line-AC1-TR1","ELEC-Line-AC2-TR2","ELEC-Line-AC1-ACESS","ELEC-Line-AC2-ACESS","ACESS-SHED","ACESS","AC1-in","AC2-in","ELEC-Line-GEN1-AC1","ELEC-Line-GEN2-AC2", + "ELEC-Line-APU-AC1","ELEC-Line-APU-EXT","ELEC-Line-EXT-AC2","APU-out","EXT-out","EXTPWR-group","ExtVolt","ExtHz","APU-content","APU-border","APUGentext","APUGenLoad","APUGenVolt","APUGenHz","APUGEN-off","GEN1-label","Gen1Load","Gen1Volt","Gen1Hz", + "GEN2-label","Gen2Load","GEN2-off","Gen2Volt","Gen2Hz","ELEC-IDG-1-label","ELEC-IDG-1-Temp","IDG1-LOPR","IDG1-DISC","IDG1-RISE-Value","IDG1-RISE-label","GalleyShed","ELEC-IDG-2-Temp","ELEC-IDG-2-label","IDG2-RISE-label","IDG2-RISE-Value","IDG2-LOPR", + "IDG2-DISC","ESSTR-group","ESSTR-Volt","ESSTR-Ampere","BAT1-content","BAT2-content","BAT1-OFF","BAT2-OFF","GEN1-content","GEN2-content","GEN-1-num-label","GEN-2-num-label","GEN1-off","GEN2-off","GEN1-num-label","GEN2-num-label","EXTPWR-label", + "ELEC-ACESS-SHED-label","ELEC-DCBAT-label","ELEC-DCESS-label","ELEC-DC2-label","ELEC-DC1-label","ELEC-AC1-label","ELEC-AC2-label","ELEC-ACESS-label"]; }, update: func() { @@ -633,7 +633,6 @@ var canvas_lowerECAM_elec = { me["BAT1-content"].hide(); me["BAT1-discharge"].hide(); me["BAT1-charge"].hide(); - me["ELEC-Line-BAT1-DCBAT"].hide(); } else { me["BAT1-OFF"].hide(); me["BAT1-content"].show(); @@ -654,7 +653,6 @@ var canvas_lowerECAM_elec = { # TODO add correct charge/dischare behaviour # this is only temporary - me["ELEC-Line-BAT1-DCBAT"].show(); me["BAT1-discharge"].hide(); me["BAT1-charge"].hide(); } @@ -671,7 +669,6 @@ var canvas_lowerECAM_elec = { me["BAT2-content"].hide(); me["BAT2-discharge"].hide(); me["BAT2-charge"].hide(); - me["ELEC-Line-BAT2-DCBAT"].hide(); } else { me["BAT2-OFF"].hide(); me["BAT2-content"].show(); @@ -691,7 +688,6 @@ var canvas_lowerECAM_elec = { } # TODO add correct charge/dischare behaviour # this is only temporary - me["ELEC-Line-BAT2-DCBAT"].show(); me["BAT2-discharge"].hide(); me["BAT2-charge"].hide(); } diff --git a/Models/Instruments/Lower-ECAM/res/elec.svg b/Models/Instruments/Lower-ECAM/res/elec.svg index ba2d6408..61d737b4 100644 --- a/Models/Instruments/Lower-ECAM/res/elec.svg +++ b/Models/Instruments/Lower-ECAM/res/elec.svg @@ -41,282 +41,94 @@ inkscape:window-height="1027" id="namedview371" showgrid="true" - inkscape:zoom="0.5" - inkscape:cx="847.12649" - inkscape:cy="469.57581" + inkscape:zoom="0.50000001" + inkscape:cx="482.80276" + inkscape:cy="725.21479" inkscape:window-x="1592" inkscape:window-y="-8" inkscape:window-maximized="1" - inkscape:current-layer="APU-out" + inkscape:current-layer="svg2" inkscape:snap-nodes="false" inkscape:snap-global="false"> + + + + + + + ELEC + x="17.189734" + y="46.515823" + style="fill:#cecdce;fill-opacity:1;stroke-width:4.02436924px">ELEC - - - - - - - - - - - - - - - - APU GEN - - - - - - - - % - V - HZ - 0 - 115 - 400 - + transform="translate(-458.38424,-17.298486)" /> + transform="matrix(1.0000036,0,0,0.99999824,-746.52997,427.27293)"> + inkscape:transform-center-x="-0.042417572" + inkscape:transform-center-y="-2.8748476" + transform="matrix(0.98944731,0,0,0.81209163,63.509767,12.068865)" /> - GEN - - - - - - - - % - V - HZ - 0 - 115 - 400 - + transform="matrix(0,-1,1,0,0,0)" /> GEN - - - - - - - - - % - V - HZ - 0 - 115 - 400 - - IDG + id="tspan4808" + x="-673.88678" + y="810.87653">IDG IDG + id="tspan4830" + x="1358.6049" + y="806.85168">IDG °C °C 115 115 + transform="matrix(1,0,0,0.96168826,394.15021,527.05135)"> + transform="matrix(0,-1,1,0,0,0)" /> + inkscape:label="#g5189" + transform="translate(517.03646,0)"> 400 - - + transform="matrix(0,-1,1,0,0,0)" /> - + transform="matrix(0,-1,1,0,0,0)" /> - DC + width="149.16417" + height="45.763382" + x="13.651078" + y="151.76567" /> - + transform="matrix(0,1,-1,0,0,0)" /> - - - - DC ESS - - - - - - - - - + transform="matrix(0,1,-1,0,0,0)" /> + width="238.08084" + height="45.597965" + x="392.7948" + y="57.977303" /> DC BAT - - V - A - 28 - 0 - - BAT 1 + x="270.22003" + y="49.576725" + style="font-size:36px;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">BAT 1 - - - - - - - - - - - V - A - 28 - 0 - - BAT 2 + transform="translate(-0.79999998,-240.70473)" /> ESS TR + transform="translate(-959.04657,-63.877081)"> GALLEY SHED - - - - - - - - - - - V - A - 28 - 150 - TR 1 - - - - - - - V - A - 28 - 150 - TR 2 + transform="translate(-974.04656,-63.877072)"> @@ -1580,7 +608,8 @@ y="438.8324" x="474.74988" style="font-style:normal;font-weight:normal;font-size:12.2777729px;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:1.0231477px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - xml:space="preserve"> + transform="matrix(1,0,0,-1,-1277.0416,547.48947)"> + transform="matrix(0,1,1,0,-540.05263,-484.86776)"> + transform="translate(-959.04657,-63.877081)"> SHED OFF - OFF - OFF - DISC LO PR DISC LO PR 2 - 1 - RISE 15 RISE 15 OFF - OFF - 1 2 - - - AC ESS - + id="tspan4850" + x="1458.6829" + y="806.74823">2 SHED - - DC - - - AC - - - - AC - - 2 - 1 - 1 - 2 00 + OFF + + 28 + 0 + V + A + + + + + + + + BAT 2 + OFF + + 28 + 0 + V + A + + DC BAT + DC 1 + + DC 2 + DC ESS + + + + + + + + + TR 1 + 28 + 150 + V + A + + + + + + + TR 2 + 28 + 150 + V + A + + AC 1 + + AC 2 + + AC ESS + + + + + + + + + + + GEN + OFF + + 0 + 115 + % + V + 400 + HZ + + 1 + + + + + + + OFF + + 0 + 115 + % + V + 400 + HZ + + + + + + + + + + + GEN + 2 + + + + + + + APU GEN + OFF + + 0 + 115 + % + V + 400 + HZ + + + + + + + + + + + + + + + + + From 998244e46716182dc0bed21fe1e74fa6dc073752 Mon Sep 17 00:00:00 2001 From: Jonathan Redpath Date: Fri, 13 Apr 2018 15:58:59 +0100 Subject: [PATCH 04/14] Dummy TR logic --- Nasal/electrical.nas | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Nasal/electrical.nas b/Nasal/electrical.nas index b4fb121e..6f6a06a9 100644 --- a/Nasal/electrical.nas +++ b/Nasal/electrical.nas @@ -11,6 +11,7 @@ var ac_volt_min = 110; var dc_volt_std = 28; var dc_volt_min = 25; var dc_amps_std = 150; +var tr_amps_std = 55; var ac_hz_std = 400; var ac1_src = "XX"; var ac2_src = "XX"; @@ -397,55 +398,85 @@ var ELEC = { if (stateL == 3 and gen1_sw and !gen1_fail) { setprop("/systems/electrical/bus/dc1", dc_volt_std); setprop("/systems/electrical/bus/dc-ess", dc_volt_std); + setprop("/systems/electrical/extra/tr1-volts", dc_volt_std); setprop("/systems/electrical/bus/dc1-amps", dc_amps_std); + setprop("/systems/electrical/extra/tr1-amps", tr_amps_std); } else if (extpwr_on and gen_ext_sw and apu_ext_crosstie_sw) { setprop("/systems/electrical/bus/dc1", dc_volt_std); setprop("/systems/electrical/bus/dc-ess", dc_volt_std); + setprop("/systems/electrical/extra/tr1-volts", dc_volt_std); setprop("/systems/electrical/bus/dc1-amps", dc_amps_std); + setprop("/systems/electrical/extra/tr1-amps", tr_amps_std); } else if (gen_apu and !genapu_fail and apu_ext_crosstie_sw) { setprop("/systems/electrical/bus/dc1", dc_volt_std); setprop("/systems/electrical/bus/dc-ess", dc_volt_std); + setprop("/systems/electrical/extra/tr1-volts", dc_volt_std); setprop("/systems/electrical/bus/dc1-amps", dc_amps_std); + setprop("/systems/electrical/extra/tr1-amps", tr_amps_std); } else if (apu_ext_crosstie_sw == 1 and xtieL) { setprop("/systems/electrical/bus/dc1", dc_volt_std); setprop("/systems/electrical/bus/dc-ess", dc_volt_std); + setprop("/systems/electrical/extra/tr1-volts", dc_volt_std); setprop("/systems/electrical/bus/dc1-amps", dc_amps_std); + setprop("/systems/electrical/extra/tr1-amps", tr_amps_std); } else if (emergen) { setprop("/systems/electrical/bus/dc1", 0); setprop("/systems/electrical/bus/dc-ess", dc_volt_std); + setprop("/systems/electrical/extra/tr1-volts", 0); setprop("/systems/electrical/bus/dc1-amps", 0); + setprop("/systems/electrical/extra/tr1-amps", 0); } else if (dcbat and ias >= 50) { setprop("/systems/electrical/bus/dc1", 0); setprop("/systems/electrical/bus/dc-ess", dc_volt_std); + setprop("/systems/electrical/extra/tr1-volts", 0); setprop("/systems/electrical/bus/dc1-amps", 0); + setprop("/systems/electrical/extra/tr1-amps", 0); } else { setprop("/systems/electrical/bus/dc1", 0); + setprop("/systems/electrical/extra/tr1-volts", 0); setprop("/systems/electrical/bus/dc1-amps", 0); + setprop("/systems/electrical/extra/tr1-amps", 0); setprop("/systems/electrical/bus/dc-ess", 0); } # Right DC bus yes? if (stateR == 3 and gen2_sw and !gen2_fail) { setprop("/systems/electrical/bus/dc2", dc_volt_std); + setprop("/systems/electrical/extra/tr2-volts", dc_volt_std); setprop("/systems/electrical/bus/dc2-amps", dc_amps_std); + setprop("/systems/electrical/extra/tr2-amps", tr_amps_std); } else if (extpwr_on and gen_ext_sw and apu_ext_crosstie_sw) { setprop("/systems/electrical/bus/dc2", dc_volt_std); + + setprop("/systems/electrical/extra/tr2-volts", dc_volt_std); setprop("/systems/electrical/bus/dc2-amps", dc_amps_std); + setprop("/systems/electrical/extra/tr2-amps", tr_amps_std); } else if (gen_apu and !genapu_fail and apu_ext_crosstie_sw) { setprop("/systems/electrical/bus/dc2", dc_volt_std); + + setprop("/systems/electrical/extra/tr2-volts", dc_volt_std); setprop("/systems/electrical/bus/dc2-amps", dc_amps_std); + setprop("/systems/electrical/extra/tr2-amps", tr_amps_std); } else if (apu_ext_crosstie_sw == 1 and xtieR) { setprop("/systems/electrical/bus/dc2", dc_volt_std); + setprop("/systems/electrical/extra/tr2-volts", dc_volt_std); setprop("/systems/electrical/bus/dc2-amps", dc_amps_std); + setprop("/systems/electrical/extra/tr2-amps", tr_amps_std); } else if (emergen) { setprop("/systems/electrical/bus/dc2", 0); + setprop("/systems/electrical/extra/tr2-volts", 0); setprop("/systems/electrical/bus/dc2-amps", 0); + setprop("/systems/electrical/extra/tr2-amps", 0); } else if (dcbat and ias >= 50) { setprop("/systems/electrical/bus/dc2", 0); + setprop("/systems/electrical/extra/tr2-volts", 0); setprop("/systems/electrical/bus/dc2-amps", 0); + setprop("/systems/electrical/extra/tr2-amps", 0); } else { setprop("/systems/electrical/bus/dc2", 0); + setprop("/systems/electrical/extra/tr2-volts", 0); setprop("/systems/electrical/bus/dc2-amps", 0); + setprop("/systems/electrical/extra/tr2-amps", 0); } # Left AC bus yes? From 38d2279b5e0f958cfa13991c802fd2a26bde2bde Mon Sep 17 00:00:00 2001 From: merspieler Date: Fri, 13 Apr 2018 19:21:18 +0200 Subject: [PATCH 05/14] Make status page visible Signed-off-by: merspieler --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 47 ++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index ec32b6d3..7acd8ed7 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -15,6 +15,7 @@ var lowerECAM_fctl = nil; var lowerECAM_fuel = nil; var lowerECAM_hyd = nil; var lowerECAM_press = nil; +var lowerECAM_status = nil; var lowerECAM_wheel = nil; var lowerECAM_test = nil; var lowerECAM_display = nil; @@ -124,6 +125,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_test.page.show(); lowerECAM_test.update(); @@ -140,6 +142,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_apu.update(); @@ -153,6 +156,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_bleed.update(); @@ -166,6 +170,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_cond.update(); @@ -179,6 +184,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_door.update(); @@ -192,6 +198,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_elec.update(); @@ -205,6 +212,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_eng.update(); @@ -218,6 +226,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.show(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_fctl.update(); @@ -231,6 +240,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.show(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_fuel.update(); @@ -244,9 +254,24 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.show(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); lowerECAM_press.update(); + } else if (page == "sts") { + lowerECAM_apu.page.hide(); + lowerECAM_bleed.page.hide(); + lowerECAM_cond.page.hide(); + lowerECAM_door.page.hide(); + lowerECAM_elec.page.hide(); + lowerECAM_eng.page.hide(); + lowerECAM_fctl.page.hide(); + lowerECAM_fuel.page.hide(); + lowerECAM_press.page.hide(); + lowerECAM_status.page.show(); + lowerECAM_hyd.page.hide(); + lowerECAM_wheel.page.hide(); + lowerECAM_status.update(); } else if (page == "hyd") { lowerECAM_apu.page.hide(); lowerECAM_bleed.page.hide(); @@ -257,6 +282,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.show(); lowerECAM_wheel.page.hide(); lowerECAM_hyd.update(); @@ -270,6 +296,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.show(); lowerECAM_wheel.update(); @@ -283,6 +310,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); } @@ -298,6 +326,7 @@ var canvas_lowerECAM_base = { lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); + lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); } @@ -1781,6 +1810,22 @@ var canvas_lowerECAM_press = { }, }; +var canvas_lowerECAM_status = { + new: func(canvas_group, file) { + var m = {parents: [canvas_lowerECAM_status, canvas_lowerECAM_base]}; + m.init(canvas_group, file); + + return m; + }, + getKeys: func() { + return ["TAT","SAT","GW","UTCh","UTCm"]; + }, + update: func() { + + me.updateBottomStatus(); + }, +}; + var canvas_lowerECAM_hyd = { new: func(canvas_group, file) { var m = {parents: [canvas_lowerECAM_hyd, canvas_lowerECAM_base]}; @@ -2452,6 +2497,7 @@ setlistener("sim/signals/fdm-initialized", func { var groupFctl = lowerECAM_display.createGroup(); var groupFuel = lowerECAM_display.createGroup(); var groupPress = lowerECAM_display.createGroup(); + var groupStatus = lowerECAM_display.createGroup(); var groupHyd = lowerECAM_display.createGroup(); var groupWheel = lowerECAM_display.createGroup(); var group_test = lowerECAM_display.createGroup(); @@ -2465,6 +2511,7 @@ setlistener("sim/signals/fdm-initialized", func { lowerECAM_fctl = canvas_lowerECAM_fctl.new(groupFctl, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/fctl.svg"); lowerECAM_fuel = canvas_lowerECAM_fuel.new(groupFuel, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/fuel.svg"); lowerECAM_press = canvas_lowerECAM_press.new(groupPress, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/press.svg"); + lowerECAM_status = canvas_lowerECAM_status.new(groupStatus, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/status.svg"); lowerECAM_hyd = canvas_lowerECAM_hyd.new(groupHyd, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/hyd.svg"); lowerECAM_wheel = canvas_lowerECAM_wheel.new(groupWheel, "Aircraft/IDG-A32X/Models/Instruments/Lower-ECAM/res/wheel.svg"); lowerECAM_test = canvas_lowerECAM_test.new(group_test, "Aircraft/IDG-A32X/Models/Instruments/Common/res/du-test.svg"); From a98f04191dfb7304319c6c4b1f576cf6ebd7609a Mon Sep 17 00:00:00 2001 From: merspieler Date: Fri, 13 Apr 2018 22:49:03 +0200 Subject: [PATCH 06/14] Added HYD stuff Signed-off-by: merspieler --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 129 ++++++++++++++++--- Nasal/hydraulics.nas | 11 ++ 2 files changed, 125 insertions(+), 15 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index 7acd8ed7..d219fb38 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -1892,10 +1892,35 @@ var canvas_lowerECAM_hyd = { if (getprop("/controls/hydraulic/ptu") == 1 and getprop("/systems/hydraulic/ptu-fault") == 0) { me["PTU-connection"].setColor(0.0509,0.7529,0.2941); - me["PTU-Auto-or-off"].setColor(0.0509,0.7529,0.2941); + + if (getprop("/systems/hydraulic/ptu-active") == 1) { + if (getprop("/systems/hydraulic/ptu-supplies") == "yellow") { + print("if"); + me["PTU-Supply-Line"].show(); + me["PTU-supply-yellow"].show(); + me["PTU-supply-green"].hide(); + me["PTU-Auto-or-off"].hide(); + } else if (getprop("/systems/hydraulic/ptu-supplies") == "green") { + print("else if"); + me["PTU-Supply-Line"].show(); + me["PTU-supply-yellow"].hide(); + me["PTU-supply-green"].show(); + me["PTU-Auto-or-off"].hide(); + } + } else { + me["PTU-Auto-or-off"].setColor(0.0509,0.7529,0.2941); + me["PTU-Supply-Line"].hide(); + me["PTU-supply-yellow"].hide(); + me["PTU-supply-green"].hide(); + me["PTU-Auto-or-off"].show(); + } } else { me["PTU-connection"].setColor(0.7333,0.3803,0); me["PTU-Auto-or-off"].setColor(0.7333,0.3803,0); + me["PTU-Supply-Line"].hide(); + me["PTU-supply-yellow"].hide(); + me["PTU-supply-green"].hide(); + me["PTU-Auto-or-off"].show(); } if (getprop("/engines/engine[0]/n2-actual") >= 59) { @@ -1972,22 +1997,96 @@ var canvas_lowerECAM_hyd = { } else { me["ELEC-Yellow-on"].show(); me["ELEC-Yellow-off"].hide(); + if (getprop("/systems/hydraulic/yellow-psi") >= 1500) { + me["ELEC-Yellow-on"].setColor(0.0509,0.7529,0.2941); + } else { + me["ELEC-Yellow-on"].setColor(0.7333,0.3803,0); + } } - # hiding elements which have no props in the tree yet and doesn't suite in in normal ops - # TODO add these when they are in the prop tree - me["LO-AIR-PRESS-Green"].hide(); - me["LO-AIR-PRESS-Blue"].hide(); - me["LO-AIR-PRESS-Yellow"].hide(); - me["ELEC-OVHT-Yellow"].hide(); - me["ELEC-OVHT-Blue"].hide(); - me["RAT-not-stowed"].hide(); - me["PTU-Supply-Line"].hide(); - me["PTU-supply-yellow"].hide(); - me["PTU-supply-green"].hide(); - me["OVHT-Yellow"].hide(); - me["OVHT-Green"].hide(); - me["OVHT-Blue"].hide(); + if (getprop("/systems/hydraulic/yellow-resv-lo-air-press") == 1) { + me["LO-AIR-PRESS-Yellow"].show(); + } else { + me["LO-AIR-PRESS-Yellow"].hide(); + } + + if (getprop("/systems/hydraulic/blue-resv-lo-air-press") == 1) { + me["LO-AIR-PRESS-Blue"].show(); + } else { + me["LO-AIR-PRESS-Blue"].hide(); + } + + if (getprop("/systems/hydraulic/green-resv-lo-air-press") == 1) { + me["LO-AIR-PRESS-Green"].show(); + } else { + me["LO-AIR-PRESS-Green"].hide(); + } + + if (getprop("/systems/hydraulic/elec-pump-yellow-ovht") == 1) { + me["ELEC-OVHT-Yellow"].show(); + } else { + me["ELEC-OVHT-Yellow"].hide(); + } + + if (getprop("/systems/hydraulic/elec-pump-blue-ovht") == 1) { + me["ELEC-OVHT-Blue"].show(); + } else { + me["ELEC-OVHT-Blue"].hide(); + } + + if (getprop("/controls/hydraulic/rat-deployed") == 1) { + me["RAT-stowed"].hide(); + me["RAT-not-stowed"].show(); + } else { + me["RAT-stowed"].show(); + me["RAT-not-stowed"].hide(); + } + + if (getprop("/systems/hydraulic/yellow-resv-ovht") == 1) { + me["OVHT-Yellow"].show(); + } else { + me["OVHT-Yellow"].hide(); + } + + if (getprop("/systems/hydraulic/blue-resv-ovht") == 1) { + me["OVHT-Green"].show(); + } else { + me["OVHT-Green"].hide(); + } + + if (getprop("/systems/hydraulic/green-resv-ovht") == 1) { + me["OVHT-Blue"].show(); + } else { + me["OVHT-Blue"].hide(); + } + + if (getprop("/systems/electrical/bus/ac1") > 110) { + me["ELEC-Blue-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["ELEC-Blue-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/electrical/bus/ac2") > 110) { + me["ELEC-Yellow-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["ELEC-Yellow-label"].setColor(0.7333,0.3803,0); + } + + if (getprop("/systems/hydraulic/yellow-fire-valve") == 1) { + me["Fire-Valve-Yellow"].setColor(0.7333,0.3803,0); + me["Fire-Valve-Yellow"].setRotation(90 * D2R) + } else { + me["Fire-Valve-Yellow"].setColor(0.0509,0.7529,0.2941); + me["Fire-Valve-Yellow"].setRotation(0) + } + + if (getprop("/systems/hydraulic/green-fire-valve") == 1) { + me["Fire-Valve-Green"].setColor(0.7333,0.3803,0); + me["Fire-Valve-Green"].setRotation(90 * D2R) + } else { + me["Fire-Valve-Green"].setColor(0.0509,0.7529,0.2941); + me["Fire-Valve-Green"].setRotation(0) + } me.updateBottomStatus(); }, diff --git a/Nasal/hydraulics.nas b/Nasal/hydraulics.nas index d9d20ec4..bffe7247 100644 --- a/Nasal/hydraulics.nas +++ b/Nasal/hydraulics.nas @@ -78,6 +78,17 @@ var HYD = { setprop("/systems/hydraulic/elec-pump-b-fault", 0); setprop("/systems/hydraulic/elec-pump-y-fault", 0); setprop("/systems/hydraulic/ptu-fault", 0); + setprop("/systems/hydraulic/ptu-supplies", "XX"); + setprop("/systems/hydraulic/yellow-resv-lo-air-press", 0); + setprop("/systems/hydraulic/blue-resv-lo-air-press", 0); + setprop("/systems/hydraulic/green-resv-lo-air-press", 0); + setprop("/systems/hydraulic/yellow-resv-ovht", 0); + setprop("/systems/hydraulic/blue-resv-ovht", 0); + setprop("/systems/hydraulic/green-resv-ovht", 0); + setprop("/systems/hydraulic/elec-pump-yellow-ovht", 0); + setprop("/systems/hydraulic/elec-pump-blue-ovht", 0); + setprop("/systems/hydraulic/yellow-fire-valve", 0); + setprop("/systems/hydraulic/green-fire-valve", 0); }, loop: func() { eng1_pump_sw = getprop("/controls/hydraulic/eng1-pump"); From 26af64791983ac17e536724c3745155e92fc95c1 Mon Sep 17 00:00:00 2001 From: merspieler Date: Sat, 14 Apr 2018 11:48:32 +0200 Subject: [PATCH 07/14] Changes to the bleed.svg Signed-off-by: merspieler --- Models/Instruments/Lower-ECAM/res/bleed.svg | 193 ++++++++++---------- 1 file changed, 92 insertions(+), 101 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/res/bleed.svg b/Models/Instruments/Lower-ECAM/res/bleed.svg index 5061cc60..677f5d0b 100644 --- a/Models/Instruments/Lower-ECAM/res/bleed.svg +++ b/Models/Instruments/Lower-ECAM/res/bleed.svg @@ -12,7 +12,7 @@ viewBox="0 0 1024 1024" version="1.1" id="svg2" - inkscape:version="0.91 r13725" + inkscape:version="0.92.1 r15371" sodipodi:docname="bleed.svg"> @@ -38,15 +38,15 @@ inkscape:pageopacity="1" inkscape:pageshadow="2" inkscape:window-width="1920" - inkscape:window-height="1027" + inkscape:window-height="1047" id="namedview371" showgrid="true" inkscape:zoom="0.47" - inkscape:cx="575.50811" - inkscape:cy="214.10909" - inkscape:window-x="1592" - inkscape:window-y="-8" - inkscape:window-maximized="1" + inkscape:cx="557.40426" + inkscape:cy="473.3889" + inkscape:window-x="0" + inkscape:window-y="33" + inkscape:window-maximized="0" inkscape:current-layer="svg2"> - ° C - + + - ° C - + + ICE - - + ANTI - - ANTI + + ICE - + x="171.19373" + id="tspan5836-7" + sodipodi:role="line">ICE 120000 °C Date: Sat, 14 Apr 2018 11:51:25 +0200 Subject: [PATCH 08/14] Added vims swap files to the .gitignore Signed-off-by: merspieler --- .gitignore | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a6ee3646..24d6568e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ -#ignore generated backup files +# ignore generated backup files *.*~ .*~ MyDevWIP SHS -AKV.* \ No newline at end of file +AKV.* +# ignore swap files +*.swp +*.swo From b405e027259075cb1e06e08731e330d54223ada5 Mon Sep 17 00:00:00 2001 From: merspieler Date: Thu, 19 Apr 2018 23:36:36 +0200 Subject: [PATCH 09/14] Added major bleed logic Signed-off-by: merspieler --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 261 ++++++++++++++++++- Models/Instruments/Lower-ECAM/res/bleed.svg | 100 +++---- Nasal/pneumatics.nas | 25 ++ 3 files changed, 339 insertions(+), 47 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index d219fb38..df3afb6d 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -469,10 +469,267 @@ var canvas_lowerECAM_bleed = { return m; }, getKeys: func() { - return ["TAT","SAT","GW","UTCh","UTCm"]; + return ["TAT","SAT","GW","UTCh","UTCm", "BLEED-XFEED", "BLEED-Ram-Air", "BLEED-APU", "BLEED-HP-Valve-1", + "BLEED-ENG-1", "BLEED-HP-Valve-2", "BLEED-ENG-2", "BLEED-Precooler-1-Inlet-Press", "BLEED-Precooler-1-Outlet-Temp", + "BLEED-Precooler-2-Inlet-Press", "BLEED-Precooler-2-Outlet-Temp", "BLEED-ENG-1-label", "BLEED-ENG-2-label", + "BLEED-GND", "BLEED-Pack-1-Flow-Valve", "BLEED-Pack-2-Flow-Valve", "BLEED-Pack-1-Out-Temp", + "BLEED-Pack-1-Comp-Out-Temp", "BLEED-Pack-1-Packflow-needel", "BLEED-Pack-1-Bypass-needel", "BLEED-Pack-2-Out-Temp", + "BLEED-Pack-2-Bypass-needel", "BLEED-Pack-2-Comp-Out-Temp", "BLEED-Pack-2-Packflow-needel", "BLEED-Anti-Ice-Left", + "BLEED-Anti-Ice-Right", "BLEED-HP-2-connection", "BLEED-HP-1-connection", "BLEED-ANTI-ICE-ARROW-LEFT", "BLEED-ANTI-ICE-ARROW-RIGHT"]; }, update: func() { - + # X BLEED + if (getprop("/systems/pneumatic/xbleed-state") == "transit") { + me["BLEED-XFEED"].setColor(0.7333,0.3803,0); + me["BLEED-XFEED"].setRotation(45 * D2R); + } else { + if (getprop("/systems/pneumatic/xbleed-state") == "open") { + var xbleed_state = 1; + } else { + var xbleed_state = 0; + } + + if (xbleed_state == 1) { + me["BLEED-XFEED"].setRotation(0); + } else { + me["BLEED-XFEED"].setRotation(90 * D2R); + } + if (xbleed_state == getprop("/systems/pneumatic/xbleed")) { + me["BLEED-XFEED"].setColor(0.0509,0.7529,0.2941); + } else { + me["BLEED-XFEED"].setColor(0.7333,0.3803,0); + } + } + + # HP valve 1 + var hp_valve_state = getprop("/systems/pneumatic/hp-valve-1-state"); + + if (hp_valve_state == 1) { + me["BLEED-HP-Valve-1"].setRotation(90 * D2R); + } else { + me["BLEED-HP-Valve-1"].setRotation(0); + } + if (hp_valve_state == getprop("/systems/pneumatic/hp-valve-1")) { + me["BLEED-HP-Valve-1"].setColor(0.0509,0.7529,0.2941); + } else { + me["BLEED-HP-Valve-1"].setColor(0.7333,0.3803,0); + } + + # HP valve 2 + var hp_valve_state = getprop("/systems/pneumatic/hp-valve-2-state"); + + if (hp_valve_state == 1) { + me["BLEED-HP-Valve-2"].setRotation(90 * D2R); + } else { + me["BLEED-HP-Valve-2"].setRotation(0); + } + if (hp_valve_state == getprop("/systems/pneumatic/hp-valve-2")) { + me["BLEED-HP-Valve-2"].setColor(0.0509,0.7529,0.2941); + } else { + me["BLEED-HP-Valve-2"].setColor(0.7333,0.3803,0); + } + + # ENG BLEED valve 1 + var eng_valve_state = getprop("/systems/pneumatic/eng-valve-1-state"); + + if (eng_valve_state == 1) { + me["BLEED-ENG-1"].setRotation(90 * D2R); + } else { + me["BLEED-ENG-1"].setRotation(0); + } + if (eng_valve_state == getprop("/systems/pneumatic/eng-valve-1")) { + me["BLEED-ENG-1"].setColor(0.0509,0.7529,0.2941); + } else { + me["BLEED-ENG-1"].setColor(0.7333,0.3803,0); + } + + # ENG BLEED valve 2 + var eng_valve_state = getprop("/systems/pneumatic/eng-valve-2-state"); + + if (eng_valve_state == 1) { + me["BLEED-ENG-2"].setRotation(90 * D2R); + } else { + me["BLEED-ENG-2"].setRotation(0); + } + if (eng_valve_state == getprop("/systems/pneumatic/eng-valve-2")) { + me["BLEED-ENG-2"].setColor(0.0509,0.7529,0.2941); + } else { + me["BLEED-ENG-2"].setColor(0.7333,0.3803,0); + } + + # Precooler inlet 1 + var precooler_psi = getprop("/systems/pneumatic/precooler-1-psi"); + me["BLEED-Precooler-1-Inlet-Press"].setText(sprintf("%s", math.round(precooler_psi))); + if (precooler_psi < 4 or precooler_psi > 57) { + me["BLEED-Precooler-1-Inlet-Press"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Precooler-1-Inlet-Press"].setColor(0.0509,0.7529,0.2941); + } + + # Precooler inlet 2 + var precooler_psi = getprop("/systems/pneumatic/precooler-2-psi"); + me["BLEED-Precooler-2-Inlet-Press"].setText(sprintf("%s", math.round(precooler_psi))); + if (precooler_psi < 4 or precooler_psi > 57) { + me["BLEED-Precooler-2-Inlet-Press"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Precooler-2-Inlet-Press"].setColor(0.0509,0.7529,0.2941); + } + + # Precooler outlet 1 + var precooler_temp = getprop("/systems/pneumatic/precooler-1-temp"); + me["BLEED-Precooler-1-Outlet-Temp"].setText(sprintf("%s", math.round(precooler_temp))); + if (precooler_temp < 150 or getprop("/systems/pneumatic/precooler-1-ovht")) { + me["BLEED-Precooler-1-Outlet-Temp"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Precooler-1-Outlet-Temp"].setColor(0.0509,0.7529,0.2941); + } + + # Precooler outlet 2 + var precooler_temp = getprop("/systems/pneumatic/precooler-2-temp"); + me["BLEED-Precooler-2-Outlet-Temp"].setText(sprintf("%s", math.round(precooler_temp))); + if (precooler_temp < 150 or getprop("/systems/pneumatic/precooler-2-ovht") == 1) { + me["BLEED-Precooler-2-Outlet-Temp"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Precooler-2-Outlet-Temp"].setColor(0.0509,0.7529,0.2941); + } + + # GND air + if (getprop("/velocities/groundspeed-kt") < 1) { + me["BLEED-GND"].show(); + } else { + me["BLEED-GND"].hide(); + } + + # WING ANTI ICE + if (getprop("/controls/switches/wing") == 1) { + me["BLEED-Anti-Ice-Left"].show(); + me["BLEED-Anti-Ice-Right"].show(); + # TODO when seperated valves for left and right wing are implemented, do the following `if` and `else` clause for each wing. + if (getprop("/controls/deice/wing")) { + me["BLEED-ANTI-ICE-ARROW-LEFT"].show(); + me["BLEED-ANTI-ICE-ARROW-RIGHT"].show(); + if (getprop("/systems/pneumatic/total-psi") < 4 or getprop("/systems/pneumatic/total-psi") > 57) { + me["BLEED-ANTI-ICE-ARROW-LEFT"].setColor(0.7333,0.3803,0); + me["BLEED-ANTI-ICE-ARROW-RIGHT"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-ANTI-ICE-ARROW-LEFT"].setColor(0.0509,0.7529,0.2941); + me["BLEED-ANTI-ICE-ARROW-RIGHT"].setColor(0.0509,0.7529,0.2941); + } + } else { + me["BLEED-ANTI-ICE-ARROW-LEFT"].hide(); + me["BLEED-ANTI-ICE-ARROW-RIGHT"].hide(); + } + } else { + me["BLEED-Anti-Ice-Left"].hide(); + me["BLEED-Anti-Ice-Right"].hide(); + } + + # ENG 1 label + if (getprop("/engines/engine[0]/n2-actual") >= 59) { + me["BLEED-ENG-1-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["BLEED-ENG-1-label"].setColor(0.7333,0.3803,0); + } + + # ENG 2 label + if (getprop("/engines/engine[1]/n2-actual") >= 59) { + me["BLEED-ENG-2-label"].setColor(0.8078,0.8039,0.8078); + } else { + me["BLEED-ENG-2-label"].setColor(0.7333,0.3803,0); + } + + # PACK 1 ----------------------------------------- + me["BLEED-Pack-1-Out-Temp"].setText(sprintf("%s", getprop("/systems/pressurization/pack-1-out-temp"))); + me["BLEED-Pack-1-Comp-Out-Temp"].setText(sprintf("%s", getprop("/systems/pressurization/pack-1-comp-out-temp"))); + + if (getprop("/systems/pressurization/pack-1-out-temp") > 90) { + me["BLEED-Pack-1-Out-Temp"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Pack-1-Out-Temp"].setColor(0.0509,0.7529,0.2941); + } + + var bypass_pos = getprop("/systems/pressurization/pack-1-bypass") - 50; # `-50` cause the middel position from where we move the needel is at 50 + bypass_pos = bypass_pos * D2R; + me["BLEED-Pack-1-Bypass-needel"].setRotation(bypass_pos); + + if (getprop("/systems/pressurization/pack-1-comp-out-temp") > 230) { + me["BLEED-Pack-1-Comp-Out-Temp"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Pack-1-Comp-Out-Temp"].setColor(0.0509,0.7529,0.2941); + } + + var flow_pos = getprop("/systems/pressurization/pack-1-flow") - 50; # `-50` cause the middel position from where we move the needel is at 50 + flow_pos = flow_pos * D2R; + me["BLEED-Pack-1-Packflow-needel"].setRotation(flow_pos); + + if (getprop("/systems/pressurization/pack-1-valve") == 0) { + me["BLEED-Pack-1-Packflow-needel"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Pack-1-Packflow-needel"].setColor(0.0509,0.7529,0.2941); + } + + if (getprop("/systems/pressurization/pack-1-valve") == 1) { + me["BLEED-Pack-1-Flow-Valve"].setRotation(0); + } else { + me["BLEED-Pack-1-Flow-Valve"].setRotation(90 * D2R); + } + + var pack_state = getprop("/systems/pressurization/pack-1-valve"); + if (pack_state == 1) { + me["BLEED-Pack-1-Flow-Valve"].setRotation(0); + } else { + me["BLEED-Pack-2-Flow-Valve"].setRotation(90 * D2R); + } + + if (pack_state == getprop("/controls/pneumatic/switches/pack1")) { + me["BLEED-Pack-1-Flow-Valve"].setColor(0.0509,0.7529,0.2941); + } else { + me["BLEED-Pack-1-Flow-Valve"].setColor(0.7333,0.3803,0); + } + + # PACK 2 ----------------------------------------- + me["BLEED-Pack-2-Out-Temp"].setText(sprintf("%s", getprop("/systems/pressurization/pack-2-out-temp"))); + me["BLEED-Pack-2-Comp-Out-Temp"].setText(sprintf("%s", getprop("/systems/pressurization/pack-2-comp-out-temp"))); + + if (getprop("/systems/pressurization/pack-2-out-temp") > 90) { + me["BLEED-Pack-2-Out-Temp"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Pack-2-Out-Temp"].setColor(0.0509,0.7529,0.2941); + } + + var bypass_pos = getprop("/systems/pressurization/pack-2-bypass") - 50; # `-50` cause the middel position from where we move the needel is at 50 + bypass_pos = bypass_pos * D2R; + me["BLEED-Pack-2-Bypass-needel"].setRotation(bypass_pos); + + if (getprop("/systems/pressurization/pack-2-comp-out-temp") > 230) { + me["BLEED-Pack-2-Comp-Out-Temp"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Pack-2-Comp-Out-Temp"].setColor(0.0509,0.7529,0.2941); + } + + var flow_pos = getprop("/systems/pressurization/pack-2-flow") - 50; # `-50` cause the middel position from where we move the needel is at 50 + flow_pos = flow_pos * D2R; + me["BLEED-Pack-2-Packflow-needel"].setRotation(flow_pos); + + if (getprop("/systems/pressurization/pack-2-valve") == 0) { + me["BLEED-Pack-2-Packflow-needel"].setColor(0.7333,0.3803,0); + } else { + me["BLEED-Pack-2-Packflow-needel"].setColor(0.0509,0.7529,0.2941); + } + + var pack_state = getprop("/systems/pressurization/pack-2-valve"); + if (pack_state == 1) { + me["BLEED-Pack-2-Flow-Valve"].setRotation(0); + } else { + me["BLEED-Pack-2-Flow-Valve"].setRotation(90 * D2R); + } + + if (pack_state == getprop("/controls/pneumatic/switches/pack2")) { + me["BLEED-Pack-2-Flow-Valve"].setColor(0.0509,0.7529,0.2941); + } else { + me["BLEED-Pack-2-Flow-Valve"].setColor(0.7333,0.3803,0); + } + me.updateBottomStatus(); }, }; diff --git a/Models/Instruments/Lower-ECAM/res/bleed.svg b/Models/Instruments/Lower-ECAM/res/bleed.svg index 677f5d0b..0e0cbe59 100644 --- a/Models/Instruments/Lower-ECAM/res/bleed.svg +++ b/Models/Instruments/Lower-ECAM/res/bleed.svg @@ -41,9 +41,9 @@ inkscape:window-height="1047" id="namedview371" showgrid="true" - inkscape:zoom="0.47" - inkscape:cx="557.40426" - inkscape:cy="473.3889" + inkscape:zoom="0.94" + inkscape:cx="538.35254" + inkscape:cy="985.87416" inkscape:window-x="0" inkscape:window-y="33" inkscape:window-maximized="0" @@ -252,18 +252,21 @@ + id="BLEED-cond-1" + inkscape:connector-curvature="0" + inkscape:label="#path5062" /> + id="BLEED-cond-2" + inkscape:connector-curvature="0" + inkscape:label="#path5062-5" /> + id="BLEED-cond-3" + inkscape:connector-curvature="0" + inkscape:label="#path5062-5-0" /> + transform="rotate(90)" + inkscape:label="#rect5105-6-4-5-0" /> - + id="BLEED-APU-LINES" + inkscape:label="#g4686"> + + + + + y="602.28253" + x="510.74338" + height="35.467422" + width="5.3955846" + id="rect5105-6-4-5-1" + style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1.27201295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + - - @@ -1104,9 +1112,10 @@ sodipodi:role="line">ANTI + style="fill:none;stroke:#cecdce;stroke-width:3.19372106;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:label="#path5062-54-1" /> ANTI + style="fill:none;stroke:#cecdce;stroke-width:3.19372106;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:label="#path5062-54-1-8" /> Date: Sat, 21 Apr 2018 10:23:23 +0100 Subject: [PATCH 10/14] Improvements to the hydraulic page --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 15 +- Models/Instruments/Lower-ECAM/res/hyd.svg | 219 +++++++++---------- 2 files changed, 118 insertions(+), 116 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index df3afb6d..65e31391 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -2093,7 +2093,7 @@ var canvas_lowerECAM_hyd = { getKeys: func() { return ["TAT","SAT","GW","UTCh","UTCm","Green-Indicator","Blue-Indicator","Yellow-Indicator","Press-Green","Press-Blue","Press-Yellow","Green-Line","Blue-Line","Yellow-Line","PTU-Supply-Line","PTU-supply-yellow","PTU-supply-green","PTU-connection", "PTU-Auto-or-off","RAT-label","RAT-stowed","RAT-not-stowed","ELEC-Yellow-off","ELEC-Yellow-on","ELEC-Yellow-label","ELEC-OVTH-Yellow","ELEC-Blue-label","ELEC-OVHT-Blue","ELEC-OVHT-Yellow","Pump-Green-label","Pump-Yellow-label","Pump-Green", - "Pump-LOPR-Green","Pump-Green-off","Pump-Green-on","Pump-Yellow","Pump-LOPR-Yellow","Pump-Yellow-off","Pump-Yellow-on","Pump-Blue","Pump-LOPR-Blue","Pump-Blue-off","Pump-Blue-on","Fire-Valve-Green","Fire-Valve-Yellow","LO-AIR-PRESS-Green", + "Pump-LOPR-Green","Pump-Green-off","Pump-Green-on","Pump-Yellow","Pump-LOPR-Yellow","Pump-Yellow-off","Pump-Yellow-on","Pump-Blue", "Pump-Blue-off","Pump-Blue-on","Fire-Valve-Green","Fire-Valve-Yellow","LO-AIR-PRESS-Green", "LO-AIR-PRESS-Yellow","LO-AIR-PRESS-Blue","OVHT-Green","OVHT-Blue","OVHT-Yellow","Quantity-Indicator-Green","Quantity-Indicator-Blue","Quantity-Indicator-Yellow","Green-label","Blue-label","Yellow-label"]; }, update: func() { @@ -2194,7 +2194,7 @@ var canvas_lowerECAM_hyd = { if (getprop("/controls/hydraulic/eng1-pump") == 1) { me["Pump-Green-off"].hide(); - if (yellow_psi >= 1500) { + if (green_psi >= 1500) { me["Pump-Green-on"].show(); me["Pump-LOPR-Green"].hide(); me["Pump-Green"].setColor(0.0509,0.7529,0.2941); @@ -2217,16 +2217,19 @@ var canvas_lowerECAM_hyd = { if (yellow_psi >= 1500) { me["Pump-Yellow-on"].show(); me["Pump-LOPR-Yellow"].hide(); + me["Pump-Yellow"].setColorFill(0.0509,0.7529,0.2941); me["Pump-Yellow"].setColor(0.0509,0.7529,0.2941); } else { me["Pump-Yellow-on"].hide(); me["Pump-LOPR-Yellow"].show(); + me["Pump-Yellow"].setColorFill(0.7333,0.3803,0); me["Pump-Yellow"].setColor(0.7333,0.3803,0); } } else { me["Pump-Yellow-off"].show(); me["Pump-Yellow-on"].hide(); me["Pump-LOPR-Yellow"].hide(); + me["Pump-Yellow"].setColorFill(0.7333,0.3803,0); me["Pump-Yellow"].setColor(0.7333,0.3803,0); } @@ -2234,17 +2237,19 @@ var canvas_lowerECAM_hyd = { me["Pump-Blue-off"].hide(); if (blue_psi >= 1500) { me["Pump-Blue-on"].show(); - me["Pump-LOPR-Blue"].hide(); + me["Pump-Blue-off"].hide(); + me["Pump-Blue"].setColorFill(0.0509,0.7529,0.2941); me["Pump-Blue"].setColor(0.0509,0.7529,0.2941); } else { - me["Pump-LOPR-Blue"].show(); + me["Pump-Blue-off"].show(); me["Pump-Blue-on"].hide(); + me["Pump-Blue"].setColorFill(0.7333,0.3803,0); me["Pump-Blue"].setColor(0.7333,0.3803,0); } } else { me["Pump-Blue-off"].show(); me["Pump-Blue-on"].hide(); - me["Pump-LOPR-Blue"].hide(); + me["Pump-Blue"].setColorFill(0.7333,0.3803,0); me["Pump-Blue"].setColor(0.7333,0.3803,0); } diff --git a/Models/Instruments/Lower-ECAM/res/hyd.svg b/Models/Instruments/Lower-ECAM/res/hyd.svg index bbb7f9f4..9be69769 100644 --- a/Models/Instruments/Lower-ECAM/res/hyd.svg +++ b/Models/Instruments/Lower-ECAM/res/hyd.svg @@ -12,7 +12,7 @@ viewBox="0 0 1024 1024" version="1.1" id="svg2" - inkscape:version="0.91 r13725" + inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" sodipodi:docname="hyd.svg"> @@ -27,7 +27,22 @@ + id="defs373"> + + + + 1 + style="font-size:44.86862183px;line-height:1.25;fill:#cecdce;fill-opacity:1;stroke-width:1.12171543">1 2 + y="518.83655" + style="font-size:44.86899948px;line-height:1.25">2 + inkscape:label="#g5620" + style="stroke:none;stroke-opacity:1;fill:#0dc04b;fill-opacity:1;stroke-width:0.99974997;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.99974997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.99974997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.99974997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.99974997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 3000 + style="font-size:44.42589188px;line-height:1.25;text-align:center;text-anchor:middle;stroke-width:1.11064732">3000 PRESS + sodipodi:role="line" + style="font-size:39.82600021px;line-height:0">PRESS PRESS + sodipodi:role="line" + style="font-size:39.82600021px;line-height:0">PRESS PRESS + sodipodi:role="line" + style="font-size:39.82600021px;line-height:0">PRESS OVHT + style="font-size:45.25045776px;line-height:0;stroke-width:3.77088857px">OVHT OVHT + style="font-size:45.25045395px;line-height:0;stroke-width:3.77088857px">OVHT OVHT + style="font-size:45.25045395px;line-height:0;stroke-width:3.77088857px">OVHT LO - LO + y="462.30356" + style="font-size:45.25px;line-height:0">LO LO 3000 + style="font-size:44.42589188px;line-height:1.25;text-align:center;text-anchor:middle;stroke-width:1.11064732">3000 3000 + style="font-size:44.42589188px;line-height:1.25;text-align:center;text-anchor:middle;stroke-width:1.11064732">3000 + inkscape:label="#g5620" + style="fill:#0dc04b;fill-opacity:1"> @@ -500,7 +509,8 @@ + inkscape:label="#g5620" + style="fill:#0dc04b;fill-opacity:1"> GREEN + style="font-size:38.8080368px;line-height:0;stroke-width:3.23399234px">GREEN BLUE + style="font-size:39.86965179px;line-height:0;stroke-width:3.32247186px">BLUE YELLOW + style="font-size:38.93328094px;line-height:0;stroke-width:3.24444103px">YELLOW @@ -685,7 +695,7 @@ PTU + style="font-size:33.22635651px;line-height:0;stroke-width:2.7688396px">PTU PSI + style="font-size:33.75585175px;line-height:0;fill:#179ab7;fill-opacity:1;stroke-width:2.81296372px">PSI PSI + style="font-size:33.75584793px;line-height:0;fill:#179ab7;fill-opacity:1;stroke-width:2.81296349px">PSI RAT + style="font-size:30px;line-height:1.25;fill:#cecdce;fill-opacity:1;stroke-width:0.75">RAT @@ -789,52 +799,52 @@ style="fill:none;fill-opacity:1;stroke:#cecdce;stroke-width:2.77499986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.80000019;stroke-dasharray:none;stroke-opacity:1" /> ELEC OVHT ELEC 120000 °C Date: Sat, 21 Apr 2018 11:42:14 +0100 Subject: [PATCH 11/14] press page --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 5 +- Models/Instruments/Lower-ECAM/res/press.svg | 234 +++++++++++-------- 2 files changed, 139 insertions(+), 100 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index 65e31391..f6d3497c 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -2059,9 +2059,12 @@ var canvas_lowerECAM_press = { return m; }, getKeys: func() { - return ["TAT","SAT","GW","UTCh","UTCm"]; + return ["TAT","SAT","GW","UTCh","UTCm", "PRESS-Cab-VS", "PRESS-Cab-VS-neg", "PRESS-Cab-Alt"]; }, update: func() { + me["PRESS-Cab-VS"].setText(sprintf("%4.0f", getprop("/systems/pressurization/vs-norm"))); + me["PRESS-Cab-Alt"].setText(sprintf("%4.0f", getprop("/systems/pressurization/cabinalt-norm"))); + me.updateBottomStatus(); }, diff --git a/Models/Instruments/Lower-ECAM/res/press.svg b/Models/Instruments/Lower-ECAM/res/press.svg index 71188465..ab2a7f16 100644 --- a/Models/Instruments/Lower-ECAM/res/press.svg +++ b/Models/Instruments/Lower-ECAM/res/press.svg @@ -12,7 +12,7 @@ viewBox="0 0 1024 1024" version="1.1" id="svg2" - inkscape:version="0.91 r13725" + inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" sodipodi:docname="press.svg"> @@ -37,14 +37,14 @@ guidetolerance="10" inkscape:pageopacity="1" inkscape:pageshadow="2" - inkscape:window-width="1920" - inkscape:window-height="1027" + inkscape:window-width="1366" + inkscape:window-height="705" id="namedview371" showgrid="true" - inkscape:zoom="0.47" - inkscape:cx="743.39292" - inkscape:cy="516.25289" - inkscape:window-x="1592" + inkscape:zoom="0.88" + inkscape:cx="397.64824" + inkscape:cy="880.3857" + inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg2"> @@ -54,7 +54,7 @@ CAB PRESS + style="font-size:47.18841171px;line-height:0;stroke-width:3.93235493px">CAB PRESS LDG ELEV + y="81.319038" + style="font-size:31.72899818px;line-height:0">LDG ELEV FT + y="76.684959" + style="font-size:30.27799988px;line-height:0">FT P + id="tspan4673" + x="249.60272" + y="182.78824" + style="font-size:32.18700027px;line-height:0">P V/S + id="tspan4675" + x="513.77496" + y="161.26424" + style="font-size:32.18700027px;line-height:0">V/S AUTO + y="82.279198" + style="font-size:32.18700027px;line-height:0">AUTO 1750 + style="font-size:31.46363831px;line-height:0;fill:#0dbe4a;fill-opacity:1;stroke-width:2.62196994px">1750 4150 + style="font-size:33.5581131px;line-height:0;fill:#0dbe4a;fill-opacity:1;stroke-width:2.7965095px">4150 SAFETY + y="528.80182" + style="font-size:32.18700027px;line-height:0">SAFETY 500 + style="font-size:51.0536499px;line-height:1.25;fill:#0dc04b;fill-opacity:1;stroke-width:1.27634132">500 FT/MIN + y="204.29079" + style="font-size:32.18700027px;line-height:0">FT/MIN PSI + y="225.43718" + style="font-size:32.18700027px;line-height:0">PSI FT + y="225.28615" + style="font-size:32.18700027px;line-height:0">FT CAB ALT + y="183.31689" + style="font-size:32.18700027px;line-height:0">CAB ALT VENT + y="636.0766" + style="font-size:32.18700027px;line-height:0">VENT INLET + id="tspan4889" + x="228.83083" + y="677.76526" + style="font-size:32.18700027px;line-height:0">INLET OUTLET + y="678.62573" + style="font-size:32.18700027px;line-height:0">OUTLET XX + style="font-size:30px;line-height:1.25;fill:#bb6100;fill-opacity:1;stroke-width:0.75">XX XX + style="font-size:30.00000191px;line-height:1.25;fill:#bb6100;fill-opacity:1;stroke-width:0.75">XX SYS1 + id="tspan4996" + x="353.07776" + y="501.948" + style="font-size:32.18700027px;line-height:0">SYS1 SYS2 + id="tspan5016" + x="666.98248" + y="500.89069" + style="font-size:32.18700027px;line-height:0">SYS2 MAN + y="608.12244" + style="font-size:32.18700027px;line-height:0">MAN PACK 1 + style="font-size:34.92427444px;line-height:1.25;fill:#0dc04b;fill-opacity:1;stroke-width:0.87310684">PACK 1 PACK 2 + id="tspan5060" + x="802.58295" + y="788.27905" + style="font-size:34.92399979px;line-height:1.25">PACK 2 - + style="font-size:57.48457718px;line-height:1.25;fill:#0dbe4a;fill-opacity:1;stroke-width:1.43711448">- UP + id="tspan5421" + x="547.65417" + y="245.98978" + style="font-size:32.18700027px;line-height:0">UP DN + id="tspan5441" + x="549.61725" + y="409.40216" + style="font-size:32.18700027px;line-height:0">DN 0 + style="font-size:27.24671745px;line-height:0;stroke-width:2.27059054px">0 2 + id="tspan5481" + x="548.5213" + y="375.95663" + style="font-size:27.24699974px;line-height:0">2 2 8 + id="tspan5519" + x="278.70834" + y="284.73062" + style="font-size:27.24699974px;line-height:0">8 0 + id="tspan5539" + x="185.16533" + y="366.22198" + style="font-size:27.24699974px;line-height:0">0 . + style="font-size:59.90160751px;line-height:0;fill:#0dbe4a;fill-opacity:1;stroke-width:4.99181652px">. 1 + id="tspan5595" + x="278.09778" + y="360.78436" + style="font-size:27.24699974px;line-height:0">1 4 + y="362.90103" + style="font-size:27.24699974px;line-height:0">4 120000 °C Date: Wed, 16 May 2018 19:25:25 -0400 Subject: [PATCH 12/14] DU: Lower ECAM Elec now has EXT PWR --- Models/Instruments/Lower-ECAM/res/elec.svg | 287 ++++++++++----------- 1 file changed, 138 insertions(+), 149 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/res/elec.svg b/Models/Instruments/Lower-ECAM/res/elec.svg index 61d737b4..5cf06ff2 100644 --- a/Models/Instruments/Lower-ECAM/res/elec.svg +++ b/Models/Instruments/Lower-ECAM/res/elec.svg @@ -41,9 +41,9 @@ inkscape:window-height="1027" id="namedview371" showgrid="true" - inkscape:zoom="0.50000001" - inkscape:cx="482.80276" - inkscape:cy="725.21479" + inkscape:zoom="0.5" + inkscape:cx="-261.41196" + inkscape:cy="543.75283" inkscape:window-x="1592" inkscape:window-y="-8" inkscape:window-maximized="1" @@ -234,147 +234,6 @@ x="1244.2257" y="820.23645" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:48.37769699px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;text-anchor:end;fill:#0dc04b;stroke-width:1.15184999px">115 - - - - - - - - - - - - - EXT PWR - V - HZ - 115 - 400 - @@ -1883,7 +1742,7 @@ style="fill:none;stroke:#4d4d4d;stroke-width:5.5999999;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> @@ -2344,4 +2203,134 @@ style="fill:none;fill-opacity:1;stroke:#bb6100;stroke-width:5.35478449;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" sodipodi:type="star" /> + + + + + + + + + + + + EXT GEN + 115 + V + 400 + HZ + From 9ebdc9fa84c6b337aface1457dfdc19eab6dd615 Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Fri, 24 Aug 2018 12:23:59 -0400 Subject: [PATCH 13/14] System: Fix Elec Battery logic, finish ELEC ECAM page --- Models/Instruments/IESI/IESI.nas | 4 +- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 26 +- Models/Instruments/Lower-ECAM/res/elec.svg | 1215 +++++++++--------- Models/Instruments/OHpanel/OHpanel.xml | 120 +- Nasal/ADIRS.nas | 15 +- Nasal/electrical.nas | 13 +- revision.txt | 2 +- 7 files changed, 685 insertions(+), 710 deletions(-) diff --git a/Models/Instruments/IESI/IESI.nas b/Models/Instruments/IESI/IESI.nas index 124c7f83..a426a7af 100644 --- a/Models/Instruments/IESI/IESI.nas +++ b/Models/Instruments/IESI/IESI.nas @@ -58,7 +58,7 @@ var canvas_IESI_base = { return []; }, update: func() { - if (getprop("/systems/electrical/battery1-amps") >= 120 or getprop("/systems/electrical/battery2-amps") >= 120 or getprop("/systems/electrical/bus/dc1") >= 25 or getprop("/systems/electrical/bus/dc2") >= 25) { + if (getprop("/systems/electrical/bus/dcbat") >= 25 or getprop("/systems/electrical/bus/dc1") >= 25 or getprop("/systems/electrical/bus/dc2") >= 25) { if (getprop("/systems/acconfig/autoconfig-running") != 1 and getprop("/instrumentation/iesi/iesi-init") != 1) { setprop("/instrumentation/iesi/iesi-init", 1); setprop("/instrumentation/iesi/iesi-init-time", getprop("/sim/time/elapsed-sec")); @@ -70,7 +70,7 @@ var canvas_IESI_base = { setprop("/instrumentation/iesi/iesi-init", 0); } - if (getprop("/systems/electrical/battery1-amps") >= 120 or getprop("/systems/electrical/battery2-amps") >= 120 or getprop("/systems/electrical/bus/dc1") >= 25 or getprop("/systems/electrical/bus/dc2") >= 25) { + if (getprop("/systems/electrical/bus/dcbat") >= 25 or getprop("/systems/electrical/bus/dc1") >= 25 or getprop("/systems/electrical/bus/dc2") >= 25) { IESI.page.show(); IESI.update(); } else { diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index 039d6364..ee82da95 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -138,7 +138,7 @@ var canvas_lowerECAM_base = { lowerECAM_apu.update(); } else if (page == "bleed") { lowerECAM_apu.page.hide(); - lowerECAM_bleed.page.show(); +# lowerECAM_bleed.page.show(); lowerECAM_cond.page.hide(); lowerECAM_door.page.hide(); lowerECAM_elec.page.hide(); @@ -153,7 +153,7 @@ var canvas_lowerECAM_base = { } else if (page == "cond") { lowerECAM_apu.page.hide(); lowerECAM_bleed.page.hide(); - lowerECAM_cond.page.show(); +# lowerECAM_cond.page.show(); lowerECAM_door.page.hide(); lowerECAM_elec.page.hide(); lowerECAM_eng.page.hide(); @@ -228,7 +228,7 @@ var canvas_lowerECAM_base = { lowerECAM_elec.page.hide(); lowerECAM_eng.page.hide(); lowerECAM_fctl.page.hide(); - lowerECAM_fuel.page.show(); +# lowerECAM_fuel.page.show(); lowerECAM_press.page.hide(); lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); @@ -243,7 +243,7 @@ var canvas_lowerECAM_base = { lowerECAM_eng.page.hide(); lowerECAM_fctl.page.hide(); lowerECAM_fuel.page.hide(); - lowerECAM_press.page.show(); +# lowerECAM_press.page.show(); lowerECAM_status.page.hide(); lowerECAM_hyd.page.hide(); lowerECAM_wheel.page.hide(); @@ -273,7 +273,7 @@ var canvas_lowerECAM_base = { lowerECAM_fuel.page.hide(); lowerECAM_press.page.hide(); lowerECAM_status.page.hide(); - lowerECAM_hyd.page.show(); +# lowerECAM_hyd.page.show(); lowerECAM_wheel.page.hide(); lowerECAM_hyd.update(); } else if (page == "wheel") { @@ -894,12 +894,12 @@ var canvas_lowerECAM_elec = { }, getKeys: func() { return ["TAT","SAT","GW","UTCh","UTCm","BAT1-label","Bat1Volt","Bat1Ampere","BAT2-label","Bat2Volt","Bat2Ampere","BAT1-charge","BAT1-discharge","BAT2-charge","BAT2-discharge","ELEC-Line-DC1-DCBAT","ELEC-Line-DC1-DCESS","ELEC-Line-DC2-DCBAT", - "ELEC-Line-DC1-DCESS_DCBAT","ELEC-Line-DC2-DCESS_DCBAT","ELEC-Line-TR1-DC1","ELEC-Line-TR2-DC2","Shed-label","ELEC-Line-ESSTR-DCESS","TR1-label","TR1Volt","TR1Ampere","TR2-label","TR2Volt","TR2Ampere","EMERGEN-Box-on","EmergenVolt","EmergenHz", + "ELEC-Line-DC1-DCESS_DCBAT","ELEC-Line-DC2-DCESS_DCBAT","ELEC-Line-TR1-DC1","ELEC-Line-TR2-DC2","Shed-label","ELEC-Line-ESSTR-DCESS","TR1-label","TR1Volt","TR1Ampere","TR2-label","TR2Volt","TR2Ampere","EMERGEN-group","EmergenVolt","EmergenHz", "ELEC-Line-Emergen-ESSTR","EMERGEN-Label-off","EMERGEN-out","ELEC-Line-ACESS-TRESS","ELEC-Line-AC1-TR1","ELEC-Line-AC2-TR2","ELEC-Line-AC1-ACESS","ELEC-Line-AC2-ACESS","ACESS-SHED","ACESS","AC1-in","AC2-in","ELEC-Line-GEN1-AC1","ELEC-Line-GEN2-AC2", "ELEC-Line-APU-AC1","ELEC-Line-APU-EXT","ELEC-Line-EXT-AC2","APU-out","EXT-out","EXTPWR-group","ExtVolt","ExtHz","APU-content","APU-border","APUGentext","APUGenLoad","APUGenVolt","APUGenHz","APUGEN-off","GEN1-label","Gen1Load","Gen1Volt","Gen1Hz", "GEN2-label","Gen2Load","GEN2-off","Gen2Volt","Gen2Hz","ELEC-IDG-1-label","ELEC-IDG-1-Temp","IDG1-LOPR","IDG1-DISC","IDG1-RISE-Value","IDG1-RISE-label","GalleyShed","ELEC-IDG-2-Temp","ELEC-IDG-2-label","IDG2-RISE-label","IDG2-RISE-Value","IDG2-LOPR", "IDG2-DISC","ESSTR-group","ESSTR-Volt","ESSTR-Ampere","BAT1-content","BAT2-content","BAT1-OFF","BAT2-OFF","GEN1-content","GEN2-content","GEN-1-num-label","GEN-2-num-label","GEN1-off","GEN2-off","GEN1-num-label","GEN2-num-label","EXTPWR-label", - "ELEC-ACESS-SHED-label","ELEC-DCBAT-label","ELEC-DCESS-label","ELEC-DC2-label","ELEC-DC1-label","ELEC-AC1-label","ELEC-AC2-label","ELEC-ACESS-label"]; + "ELEC-ACESS-SHED-label","ELEC-DCBAT-label","ELEC-DCESS-label","ELEC-DC2-label","ELEC-DC1-label","ELEC-AC1-label","ELEC-AC2-label","ELEC-ACESS-label","ELEC-Line-ESSTR-DCESS-off","ELEC-Line-Emergen-ESSTR-off"]; }, update: func() { @@ -1046,10 +1046,12 @@ var canvas_lowerECAM_elec = { # TODO add values and amber on over/under load # TODO changes the prop to the one which indicates the use of the emergen and not of the man depoly if (getprop("/controls/electrical/switches/emer-gen") == 0) { - me["EMERGEN-Box-on"].hide(); + me["EMERGEN-group"].hide(); + me["ELEC-Line-Emergen-ESSTR"].hide(); me["EMERGEN-Label-off"].show(); } else { - me["EMERGEN-Box-on"].show(); + me["EMERGEN-group"].show(); + me["ELEC-Line-Emergen-ESSTR"].show(); me["EMERGEN-Label-off"].hide(); } @@ -1360,7 +1362,7 @@ var canvas_lowerECAM_elec = { me["ELEC-Line-AC2-ACESS"].hide(); } - if (getprop("/systems/electrical/tr1-fault") == 0) { + if (getprop("/systems/electrical/tr1-fault") != 1) { if (getprop("/systems/electrical/bus/ac1") < 110) { me["ELEC-Line-AC1-TR1"].setColorFill(0.7333,0.3803,0); } else { @@ -1373,7 +1375,7 @@ var canvas_lowerECAM_elec = { me["ELEC-Line-TR1-DC1"].hide(); } - if (getprop("/systems/electrical/tr2-fault") == 0) { + if (getprop("/systems/electrical/tr2-fault") != 1) { if (getprop("/systems/electrical/bus/ac2") < 110) { me["ELEC-Line-AC2-TR2"].setColorFill(0.7333,0.3803,0); } else { @@ -1422,8 +1424,8 @@ var canvas_lowerECAM_elec = { me["IDG1-DISC"].hide(); me["IDG2-DISC"].hide(); me["Shed-label"].hide(); + me["ELEC-Line-ESSTR-DCESS"].hide(); me["ELEC-Line-ACESS-TRESS"].hide(); - me["ELEC-Line-Emergen-ESSTR"].hide(); me["IDG2-RISE-label"].hide(); me["IDG2-RISE-Value"].hide(); me["IDG1-RISE-label"].hide(); diff --git a/Models/Instruments/Lower-ECAM/res/elec.svg b/Models/Instruments/Lower-ECAM/res/elec.svg index 5cf06ff2..53105392 100644 --- a/Models/Instruments/Lower-ECAM/res/elec.svg +++ b/Models/Instruments/Lower-ECAM/res/elec.svg @@ -42,14 +42,15 @@ id="namedview371" showgrid="true" inkscape:zoom="0.5" - inkscape:cx="-261.41196" - inkscape:cy="543.75283" + inkscape:cx="455.53074" + inkscape:cy="693.51145" inkscape:window-x="1592" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg2" inkscape:snap-nodes="false" - inkscape:snap-global="false"> + inkscape:snap-global="false" + showguides="false"> @@ -145,6 +146,55 @@ inkscape:transform-center-y="-2.8748476" transform="matrix(0.98944731,0,0,0.81209163,63.509767,12.068865)" /> + + + + + - IDG - IDG - °C - °C - 115 - 115 - - - ESS TR - - - EMER GEN - - GALLEY SHED - - - - - - - - V - A - 28 - 150 - - - - - - - - - - - - - - - - - EMER GEN - V - HZ - 115 - 400 - - SHED - DISC - LO PR - DISC - LO PR - RISE - 15 - RISE - 15 - 1 - 2 - SHED HZ + IDG + 1 + °C + 25 + LO PR + DISC + 25 + RISE + IDG + 2 + LO PR + DISC + °C + 25 + 25 + RISE + + GALLEY SHED + ESS TR + EMER GEN + + + + + + + + 28 + 150 + V + A + + + SHED + SHED + + + + + + + + + + + + + EMER GEN + 115 + V + 400 + HZ + + + + + diff --git a/Models/Instruments/OHpanel/OHpanel.xml b/Models/Instruments/OHpanel/OHpanel.xml index 9372640b..22e185ae 100644 --- a/Models/Instruments/OHpanel/OHpanel.xml +++ b/Models/Instruments/OHpanel/OHpanel.xml @@ -75,12 +75,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -1793,12 +1789,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -2887,12 +2879,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -2963,12 +2951,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -3034,12 +3018,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -3107,12 +3087,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -3189,12 +3165,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -3242,12 +3214,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -3627,12 +3595,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -3771,12 +3735,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -3981,12 +3941,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -4061,12 +4017,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -4334,12 +4286,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -5114,12 +5062,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess @@ -5185,12 +5129,8 @@ - systems/electrical/battery1-amps - 120 - - - systems/electrical/battery2-amps - 120 + systems/electrical/bus/dcbat + 25 systems/electrical/bus/dc-ess diff --git a/Nasal/ADIRS.nas b/Nasal/ADIRS.nas index 3fee3305..61a6a740 100644 --- a/Nasal/ADIRS.nas +++ b/Nasal/ADIRS.nas @@ -14,8 +14,7 @@ setlistener("/sim/signals/fdm-initialized", func { var gs = getprop("/velocities/groundspeed-kt"); var ac1 = 0; var ac2 = 0; - var batt1_amps = 0; - var batt2_amps = 0; + var dcbat = 0; var pwr_src = "XX"; }); @@ -65,8 +64,7 @@ var ADIRS = { gs = getprop("/velocities/groundspeed-kt"); ac1 = getprop("/systems/electrical/bus/ac1"); ac2 = getprop("/systems/electrical/bus/ac2"); - batt1_amps = getprop("/systems/electrical/battery1-amps"); - batt2_amps = getprop("/systems/electrical/battery2-amps"); + dcbat = getprop("/systems/electrical/bus/dcbat"); if (getprop("/controls/adirs/skip") == 1) { if (getprop("/controls/adirs/align-time") != 5) { @@ -78,7 +76,7 @@ var ADIRS = { } } - if (gs > 5 or pitch > 5 or pitch < -5 or roll > 10 or roll < -10 or (ac1 < 110 and ac2 < 110 and batt1_amps < 120 and batt2_amps < 120)) { + if (gs > 5 or pitch > 5 or pitch < -5 or roll > 10 or roll < -10 or (ac1 < 110 and ac2 < 110 and dcbat < 25)) { if (getprop("/controls/adirs/ir[0]/align") == 1) { me.stopAlign(0,1); } @@ -92,7 +90,7 @@ var ADIRS = { if (ac1 >= 110 or ac2 >= 110) { pwr_src = "AC"; - } else if ((batt1_amps >= 120 or batt2_amps >= 120) and (getprop("/controls/adirs/ir[0]/knob") != 0 or getprop("/controls/adirs/ir[1]/knob") != 0 or getprop("/controls/adirs/ir[2]/knob") != 0)) { + } else if (dcbat >= 25 and (getprop("/controls/adirs/ir[0]/knob") != 0 or getprop("/controls/adirs/ir[1]/knob") != 0 or getprop("/controls/adirs/ir[2]/knob") != 0)) { pwr_src = "BATT"; } else { pwr_src = "XX"; @@ -119,10 +117,9 @@ var ADIRS = { beginAlign: func(n) { ac1 = getprop("/systems/electrical/bus/ac1"); ac2 = getprop("/systems/electrical/bus/ac2"); - batt1_amps = getprop("/systems/electrical/battery1-amps"); - batt2_amps = getprop("/systems/electrical/battery2-amps"); + dcbat = getprop("/systems/electrical/bus/dcbat"); setprop("/instrumentation/adirs/adr[" ~ n ~ "]/active", 1); - if (getprop("/controls/adirs/ir[" ~ n ~ "]/align") != 1 and getprop("/instrumentation/adirs/ir[" ~ n ~ "]/aligned") != 1 and (ac1 >= 110 or ac2 >= 110 or batt1_amps >= 120 or batt2_amps >= 120)) { + if (getprop("/controls/adirs/ir[" ~ n ~ "]/align") != 1 and getprop("/instrumentation/adirs/ir[" ~ n ~ "]/aligned") != 1 and (ac1 >= 110 or ac2 >= 110 or dcbat >= 25)) { setprop("/controls/adirs/ir[" ~ n ~ "]/time", getprop("/sim/time/elapsed-sec")); setprop("/controls/adirs/ir[" ~ n ~ "]/align", 1); setprop("/controls/adirs/ir[" ~ n ~ "]/fault", 0); diff --git a/Nasal/electrical.nas b/Nasal/electrical.nas index 78f6e11e..249abf69 100644 --- a/Nasal/electrical.nas +++ b/Nasal/electrical.nas @@ -10,6 +10,7 @@ var ac_volt_min = 110; var dc_volt_std = 28; var dc_volt_min = 25; var dc_amps_std = 150; +var batt_amps = 2; var tr_amps_std = 55; var ac_hz_std = 400; var ac1_src = "XX"; @@ -313,14 +314,16 @@ var ELEC = { replay = getprop("/sim/replay/replay-state"); wow = getprop("/gear/gear[1]/wow"); + + if (battery1_volts >= 20 and battery1_sw and !batt1_fail) { - setprop("/systems/electrical/battery1-amps", dc_amps_std); + setprop("/systems/electrical/battery1-amps", batt_amps); } else { setprop("/systems/electrical/battery1-amps", 0); } if (battery2_volts >= 20 and battery2_sw and !batt2_fail) { - setprop("/systems/electrical/battery2-amps", dc_amps_std); + setprop("/systems/electrical/battery2-amps", batt_amps); } else { setprop("/systems/electrical/battery2-amps", 0); } @@ -328,7 +331,7 @@ var ELEC = { battery1_amps = getprop("/systems/electrical/battery1-amps"); battery2_amps = getprop("/systems/electrical/battery2-amps"); - if (battery1_amps > 120 or battery2_amps > 120) { + if (battery1_amps > 0 or battery2_amps > 0) { setprop("/systems/electrical/bus/dcbat", dc_volt_std); } else { setprop("/systems/electrical/bus/dcbat", 0); @@ -623,7 +626,7 @@ var ELEC = { } } else if (battery1_percent == 100 and (dc1 > 25 or dc2 > 25) and battery1_sw and !batt1_fail) { setprop("/systems/electrical/battery1-time", getprop("/sim/time/elapsed-sec")); - } else if (battery1_amps >= 120 and battery1_sw and !batt1_fail) { + } else if (battery1_amps > 0 and battery1_sw and !batt1_fail) { if (getprop("/systems/electrical/battery1-time") + 5 < getprop("/sim/time/elapsed-sec")) { battery1_percent_calc = battery1_percent - 0.25; # Roughly 90 percent every 30 mins if (battery1_percent_calc < 0) { @@ -647,7 +650,7 @@ var ELEC = { } } else if (battery2_percent == 100 and (dc1 > 25 or dc2 > 25) and battery2_sw and !batt2_fail) { setprop("/systems/electrical/battery2-time", getprop("/sim/time/elapsed-sec")); - } else if (battery2_amps >= 120 and battery2_sw and !batt2_fail) { + } else if (battery2_amps > 0 and battery2_sw and !batt2_fail) { if (getprop("/systems/electrical/battery2-time") + 5 < getprop("/sim/time/elapsed-sec")) { battery2_percent_calc = battery2_percent - 0.25; # Roughly 90 percent every 30 mins if (battery2_percent_calc < 0) { diff --git a/revision.txt b/revision.txt index ea53445d..85691346 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -4626 \ No newline at end of file +4630 \ No newline at end of file From 9f759a9e0cbec4889a406ca9f617a4938a59476f Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Fri, 24 Aug 2018 13:15:24 -0400 Subject: [PATCH 14/14] DU: Fix APU page bleed bug --- Models/Instruments/Lower-ECAM/Lower-ECAM.nas | 2 +- revision.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index ee82da95..f5ac95e3 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -411,7 +411,7 @@ var canvas_lowerECAM_apu = { me["APUGenHz"].setText(sprintf("%s", math.round(getprop("/systems/electrical/extra/apu-hz")))); # APU Bleed - if (getprop("/controls/adirs/ir[1]/knob") != 1 and (getprop("/controls/APU/master") == 1 or getprop("/systems/pneumatic/bleedapu") > 0)) { + if (getprop("/controls/adirs/ir[1]/knob") != 0 and (getprop("/controls/APU/master") == 1 or getprop("/systems/pneumatic/bleedapu") > 0)) { me["APUBleedPSI"].setColor(0.0509,0.7529,0.2941); me["APUBleedPSI"].setText(sprintf("%s", math.round(getprop("/systems/pneumatic/bleedapu")))); } else { diff --git a/revision.txt b/revision.txt index 85691346..53d48984 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -4630 \ No newline at end of file +4631 \ No newline at end of file