diff --git a/A320-main.xml b/A320-main.xml index 493ca69c..30fbbdec 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -1878,8 +1878,9 @@ - 0 - 0 + 0 + 0 + 0 0 0 diff --git a/Models/FlightDeck/a320.flightdeck.xml b/Models/FlightDeck/a320.flightdeck.xml index 0691d528..dfa728d1 100644 --- a/Models/FlightDeck/a320.flightdeck.xml +++ b/Models/FlightDeck/a320.flightdeck.xml @@ -2159,6 +2159,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2178,6 +2190,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2197,6 +2221,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2216,6 +2252,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2235,6 +2283,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2254,6 +2314,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2273,6 +2345,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2292,6 +2376,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2311,6 +2407,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2330,6 +2438,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2349,6 +2469,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + @@ -2368,6 +2500,18 @@ nasal + + + + + systems/electrical/bus/dc-ess + 25 + + + nasal + + + diff --git a/Models/Instruments/IESI/IESI.nas b/Models/Instruments/IESI/IESI.nas index 63415808..c7231d65 100644 --- a/Models/Instruments/IESI/IESI.nas +++ b/Models/Instruments/IESI/IESI.nas @@ -186,9 +186,8 @@ var canvas_IESI = { me["QNH_std"].hide(); } }, + _transientVar: 0, updatePower: func(notification) { - # todo consider relay 7XB for power of DC HOT 1 - # todo transient max 0.2s # todo 20W power consumption if (notification.attReset == 1) { if (notification.iesiInit and _IESITime + 90 >= notification.elapsedTime) { @@ -199,7 +198,7 @@ var canvas_IESI = { iesi_init.setBoolValue(0); } - if (notification.dcEss >= 25 or (notification.dcHot1 >= 25 and notification.airspeed >= 50 and notification.elapsedTime >= 5)) { + if (notification.dcEss >= 25 or (notification.relay7XB and notification.dcHot1 >= 25)) { _showIESI = 1; if (notification.acconfig != 1 and notification.iesiInit != 1) { iesi_init.setBoolValue(1); @@ -213,9 +212,19 @@ var canvas_IESI = { iesi_init.setBoolValue(1); _IESITime = notification.elapsedTime - 87; } - } else { - _showIESI = 0; - iesi_init.setBoolValue(0); + } elsif (notification.iesiInit) { + if (!me._transientVar) { + me._transientVar = 1; + settimer(func() { + if (systems.ELEC.Bus.dcEss.getValue() >= 25 or (systems.ELEC.Bus.dcHot1.getValue() >= 25 and systems.ELEC.Relay.relay7XB.getValue())) { + me._transientVar = 0; + } else { + _showIESI = 0; + iesi_init.setBoolValue(0); + me._transientVar = 0; + } + }, 0.2); # 200ms delay power transients + } } if (_showIESI and notification.iesiBrt > 0.01) { @@ -269,6 +278,7 @@ var input = { "qnh_inhg": "/instrumentation/altimeter[0]/setting-inhg", "roll": "/orientation/roll-deg", "skid": "/instrumentation/iesi/slip-skid", + "relay7XB": "/systems/electrical/sources/si-1/inverter-control/relay-7xb", }; foreach (var name; keys(input)) { diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-APU.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-APU.nas index 83d47a84..36d2560e 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-APU.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-APU.nas @@ -232,7 +232,7 @@ var canvas_lowerECAMPageApu = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -281,8 +281,23 @@ var canvas_lowerECAMPageApu = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-base.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-base.nas index fbde5c93..96100c5d 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-base.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-base.nas @@ -1,6 +1,11 @@ # A3XX Lower ECAM Canvas # Copyright (c) 2021 Josh Davidson (Octal450) and Jonathan Redpath +var du3_lgt = props.globals.getNode("/controls/lighting/DU/du3"); +var du3_test = props.globals.initNode("/instrumentation/du/du3-test", 0, "BOOL"); +var du3_test_time = props.globals.initNode("/instrumentation/du/du3-test-time", 0.0, "DOUBLE"); +var du3_test_amount = props.globals.initNode("/instrumentation/du/du3-test-amount", 0.0, "DOUBLE"); +var du3_offtime = props.globals.initNode("/instrumentation/du/du3-off-time", 0.0, "DOUBLE"); var du4_lgt = props.globals.getNode("/controls/lighting/DU/du4", 1); var du4_test = props.globals.initNode("/instrumentation/du/du4-test", 0, "BOOL"); var du4_test_time = props.globals.initNode("/instrumentation/du/du4-test-time", 0, "DOUBLE"); @@ -17,6 +22,7 @@ var canvas_lowerECAM_base = "mipmapping": 1 }); me.canvas.addPlacement({"node": "lecam.screen"}); + me.canvas.addPlacement({"node": "uecam.screen2"}); me.font_mapper = func(family, weight) { return "LiberationFonts/LiberationSans-Regular.ttf"; @@ -32,28 +38,38 @@ var canvas_lowerECAM_base = getKeysTest: func() { return ["Test_white","Test_text"]; }, + off: 0, + on: 0, powerTransient: func() { if (systems.ELEC.Bus.ac2.getValue() >= 110) { - if (du4_offtime.getValue() + 3 < pts.Sim.Time.elapsedSec.getValue()) { - if (pts.Gear.wow[0].getValue()) { - if (!acconfig.getBoolValue() and !du4_test.getBoolValue()) { + if (!me.on) { + if (du4_offtime.getValue() + 3 < pts.Sim.Time.elapsedSec.getValue()) { + if (pts.Gear.wow[0].getValue()) { + if (!acconfig.getBoolValue() and !du4_test.getBoolValue()) { + du4_test.setValue(1); + du4_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du4_test_time.setValue(pts.Sim.Time.elapsedSec.getValue()); + } else if (acconfig.getBoolValue() and !du4_test.getBoolValue()) { + du4_test.setValue(1); + du4_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du4_test_time.setValue(pts.Sim.Time.elapsedSec.getValue() - 30); + } + } else { du4_test.setValue(1); - du4_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du4_test_time.setValue(pts.Sim.Time.elapsedSec.getValue()); - } else if (acconfig.getBoolValue() and !du4_test.getBoolValue()) { - du4_test.setValue(1); - du4_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du4_test_time.setValue(pts.Sim.Time.elapsedSec.getValue() - 30); + du4_test_amount.setValue(0); + du4_test_time.setValue(-100); } - } else { - du4_test.setValue(1); - du4_test_amount.setValue(0); - du4_test_time.setValue(-100); } + me.off = 0; + me.on = 1; } } else { - du4_test.setValue(0); - du4_offtime.setValue(pts.Sim.Time.elapsedSec.getValue()); + if (!me.off) { + du4_test.setValue(0); + du4_offtime.setValue(pts.Sim.Time.elapsedSec.getValue()); + me.off = 1; + me.on = 0; + } } }, # Due to weirdness of the parents hash / me reference diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-bleed.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-bleed.nas index 7c104add..196a8075 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-bleed.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-bleed.nas @@ -449,7 +449,7 @@ var canvas_lowerECAMPageBleed = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -498,8 +498,23 @@ var canvas_lowerECAMPageBleed = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-cond.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-cond.nas index 74b0732a..c609eb59 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-cond.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-cond.nas @@ -130,7 +130,7 @@ var canvas_lowerECAMPageCond = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -179,8 +179,23 @@ var canvas_lowerECAMPageCond = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-cruise.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-cruise.nas index 23445844..ff4d4051 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-cruise.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-cruise.nas @@ -190,7 +190,7 @@ var canvas_lowerECAMPageCruise = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -239,8 +239,23 @@ var canvas_lowerECAMPageCruise = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-door.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-door.nas index 9e279235..282d77e9 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-door.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-door.nas @@ -244,7 +244,7 @@ var canvas_lowerECAMPageDoor = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -293,8 +293,23 @@ var canvas_lowerECAMPageDoor = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-elec.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-elec.nas index 6b7ab26e..97c2532a 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-elec.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-elec.nas @@ -150,23 +150,33 @@ var canvas_lowerECAMPageElec = props.UpdateManager.FromHashValue("elecAC1", 0.5, func(val) { if (val >= 110) { obj["ELEC-AC1-label"].setColor(0.0509,0.7529,0.2941); - obj["AC1-in"].show(); - obj["ELEC-Line-AC1-TR1"].show(); + obj["ELEC-Line-AC1-TR1"].setColor(0.0509,0.7529,0.2941); } else { obj["ELEC-AC1-label"].setColor(0.7333,0.3803,0); - obj["AC1-in"].hide(); - obj["ELEC-Line-AC1-TR1"].hide(); + obj["ELEC-Line-AC1-TR1"].setColor(0.7333,0.3803,0); } }), props.UpdateManager.FromHashValue("elecAC2", 0.5, func(val) { if (val >= 110) { obj["ELEC-AC2-label"].setColor(0.0509,0.7529,0.2941); - obj["AC2-in"].show(); - obj["ELEC-Line-AC2-TR2"].show(); + obj["ELEC-Line-AC2-TR2"].setColor(0.0509,0.7529,0.2941); } else { obj["ELEC-AC2-label"].setColor(0.7333,0.3803,0); + obj["ELEC-Line-AC2-TR2"].setColor(0.7333,0.3803,0); + } + }), + props.UpdateManager.FromHashList(["elecGen1GLC","elecAcTie1"], nil, func(val) { + if (val.elecGen1GLC or val.elecAcTie1) { + obj["AC1-in"].show(); + } else { + obj["AC1-in"].hide(); + } + }), + props.UpdateManager.FromHashList(["elecGen2GLC","elecAcTie2"], nil, func(val) { + if (val.elecGen2GLC or val.elecAcTie2) { + obj["AC2-in"].show(); + } else { obj["AC2-in"].hide(); - obj["ELEC-Line-AC2-TR2"].hide(); } }), props.UpdateManager.FromHashValue("elecACEss", 0.5, func(val) { @@ -380,8 +390,8 @@ var canvas_lowerECAMPageElec = obj["ELEC-Line-DC2-DCBAT"].hide(); } }), - props.UpdateManager.FromHashList(["elecDcEssFeedBat","elecDCTie1"], nil, func(val) { - if (val.elecDcEssFeedBat or val.elecDCTie1) { + props.UpdateManager.FromHashValue("elecDCTie1", nil, func(val) { + if (val) { obj["ELEC-Line-DC1-DCBAT"].show(); } else { obj["ELEC-Line-DC1-DCBAT"].hide(); @@ -401,9 +411,13 @@ var canvas_lowerECAMPageElec = obj["ELEC-Line-ESSTR-DCESS"].hide(); } }), - props.UpdateManager.FromHashValue("elecAcEssEmerGenFeed", nil, func(val) { - if (val) { - obj["EMERGEN-out"].show(); + props.UpdateManager.FromHashList(["elecEmerGenVoltsRelay","elec15XE1"], nil, func(val) { + if (val.elecEmerGenVoltsRelay) { + if (val.elec15XE1) { + obj["EMERGEN-out"].show(); + } else { + obj["EMERGEN-out"].hide(); + } obj["ELEC-Line-Emergen-ESSTR"].show(); } else { obj["EMERGEN-out"].hide(); @@ -551,11 +565,6 @@ var canvas_lowerECAMPageElec = }), props.UpdateManager.FromHashList(["elecTR1Contact","elecAC1"], nil, func(val) { if (val.elecTR1Contact) { - if (val.elecAC1 < 110) { - obj["ELEC-Line-AC1-TR1"].setColorFill(0.7333,0.3803,0); - } else { - obj["ELEC-Line-AC1-TR1"].setColorFill(0.0509,0.7529,0.2941); - } obj["ELEC-Line-TR1-DC1"].show(); } else { obj["ELEC-Line-TR1-DC1"].hide(); @@ -563,11 +572,6 @@ var canvas_lowerECAMPageElec = }), props.UpdateManager.FromHashList(["elecTR2Contact","elecAC2"], nil, func(val) { if (val.elecTR2Contact) { - if (val.elecAC2 < 110) { - obj["ELEC-Line-AC2-TR2"].setColorFill(0.7333,0.3803,0); - } else { - obj["ELEC-Line-AC2-TR2"].setColorFill(0.0509,0.7529,0.2941); - } obj["ELEC-Line-TR2-DC2"].show(); } else { obj["ELEC-Line-TR2-DC2"].hide(); @@ -602,56 +606,60 @@ var canvas_lowerECAMPageElec = }), props.UpdateManager.FromHashList(["elecGen2Volt","elecGen2GLC"], nil, func(val) { if (val.elecGen2Volt >= 110 and val.elecGen2GLC) { - obj["ELEC-Line-GEN1-AC1"].show(); + obj["ELEC-Line-GEN2-AC2"].show(); } else { - obj["ELEC-Line-GEN1-AC1"].hide(); + obj["ELEC-Line-GEN2-AC2"].hide(); } }), - props.UpdateManager.FromHashList(["elecAcTie1","elecAcTie2","apuGLC","elecExtEPC","elecGen1GLC","elecGen2GLC"], nil, func(val) { - if (val.apuGLC and (val.elecAcTie1 or val.elecAcTie2)) { - obj["APU-out"].show(); + props.UpdateManager.FromHashValue("elecAcTie1", nil, func(val) { + if (val) { + obj["ELEC-Line-APU-AC1"].show(); } else { - obj["APU-out"].hide(); + obj["ELEC-Line-APU-AC1"].hide(); } - + }), + props.UpdateManager.FromHashValue("elecAcTie2", nil, func(val) { + if (val) { + obj["ELEC-Line-EXT-AC2"].show(); + } else { + obj["ELEC-Line-EXT-AC2"].hide(); + } + }), + props.UpdateManager.FromHashList(["elecAcTie1","elecAcTie2","apuGLC","elecExtEPC"], nil, func(val) { + if ((val.apuGLC and val.elecAcTie2) or (val.elecExtEPC and val.elecAcTie1) or (val.elecAcTie1 and val.elecAcTie2)) { + obj["ELEC-Line-APU-EXT"].show(); + } else { + obj["ELEC-Line-APU-EXT"].hide(); + } + if (val.elecExtEPC and (val.elecAcTie1 or val.elecAcTie2)) { obj["EXT-out"].show(); } else { obj["EXT-out"].hide(); } - - - if (val.elecAcTie1 and val.elecAcTie2) { - obj["ELEC-Line-APU-AC1"].show(); - obj["ELEC-Line-APU-EXT"].show(); - obj["ELEC-Line-EXT-AC2"].show(); + + if (val.apuGLC and (val.elecAcTie1 or val.elecAcTie2)) { + obj["APU-out"].show(); } else { - if (val.elecAcTie1) { - obj["ELEC-Line-APU-AC1"].show(); - } else { - obj["ELEC-Line-APU-AC1"].hide(); - } - - if ((val.elecAcTie2 and val.apuGLC and !val.elecGen2GLC) or (val.elecAcTie1 and val.elecExtEPC and !val.elecGen1GLC)) { - obj["ELEC-Line-APU-EXT"].show(); - } else { - obj["ELEC-Line-APU-EXT"].hide(); - } - - if (val.elecAcTie2) { - obj["ELEC-Line-EXT-AC2"].show(); - } else { - obj["ELEC-Line-EXT-AC2"].hide(); - } + obj["APU-out"].hide(); } }), - props.UpdateManager.FromHashList(["elecACEss","ELEC-Line-ACESS-TRESS","elecTR1Contact","elecTR2Contact"], nil, func(val) { - if (val.elecACEss >= 110 and !val.elecAcEssEmerGenFeed and (!val.elecTR1Contact or !val.elecTR2Contact)) { + props.UpdateManager.FromHashList(["elecEmerGenVoltsRelay","elec15XE1"], nil, func(val) { + if (!val.elecEmerGenVoltsRelay and val.elec15XE1) { obj["ELEC-Line-ACESS-TRESS"].show(); } else { obj["ELEC-Line-ACESS-TRESS"].hide(); } }), + props.UpdateManager.FromHashList(["elec15XE2","statInvVolts","statInvHertz"], nil, func(val) { + if (val.elec15XE2) { + obj["STATINV-group"].show(); + obj["StatVolt"].setText(sprintf("%s",val.statInvVolts)); + obj["StatHertz"].setText(sprintf("%s",val.statInvHertz)); + } else { + obj["STATINV-group"].hide(); + } + }), ]; obj.displayedGForce = 0; @@ -697,7 +705,7 @@ var canvas_lowerECAMPageElec = "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-num-label","ELEC-IDG-1-Temp","IDG1-LOPR","IDG1-DISC","IDG1-RISE-Value","IDG1-RISE-label","GalleyShed","ELEC-IDG-2-Temp","ELEC-IDG-2-label","ELEC-IDG-2-num-label","IDG2-RISE-label","IDG2-RISE-Value","IDG2-LOPR", "IDG2-DISC","ESSTR-group","ESSTR","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-Line-ESSTR-DCESS-off","ELEC-Line-Emergen-ESSTR-off"]; + "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","STATINV-group","StatVolt","StatHz"]; }, updateBottom: func(notification) { foreach(var update_item_bottom; me.updateItemsBottom) @@ -713,7 +721,7 @@ var canvas_lowerECAMPageElec = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -762,8 +770,23 @@ var canvas_lowerECAMPageElec = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); @@ -791,17 +814,17 @@ var input = { elecTR2Volt: "/systems/electrical/relay/tr-contactor-2/output", elecTR1Contact: "/systems/electrical/relay/tr-contactor-1/contact-pos", elecTR2Contact: "/systems/electrical/relay/tr-contactor-2/contact-pos", - elecTREssAmp: "/systems/electrical/relay/dc-ess-feed-tr/output-amp", - elecTrEssContact: "/systems/electrical/relay/dc-ess-feed-tr/contact-pos", - elecTREssVolt: "/systems/electrical/relay/dc-ess-feed-tr/output", + elecTREssAmp: "/systems/electrical/relay/ess-tr-contactor/output-amp", + elecTrEssContact: "/systems/electrical/relay/ess-tr-contactor/contact-pos", + elecTREssVolt: "/systems/electrical/relay/ess-tr-contactor/output", elecIDG1Disc: "/controls/electrical/switches/idg-1-disc", elecIDG2Disc: "/controls/electrical/switches/idg-2-disc", elecGroundCart: "/controls/electrical/ground-cart", elecExtHertz: "/systems/electrical/sources/ext/output-hertz", elecExtVolt: "/systems/electrical/sources/ext/output-volt", - elecDCTie1: "/systems/electrical/relay/dc-bus-tie-dc-1/contact-pos", - elecDCTie2: "/systems/electrical/relay/dc-bus-tie-dc-2/contact-pos", - elecDcEssFeedBat: "/systems/electrical/relay/dc-ess-feed-bat/contact-pos", + elecDCTie1: "/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos", + elecDCTie2: "/systems/electrical/relay/dc-bat-tie-dc-2/contact-pos", + elecDcEssFeedBat: "/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos", elecAcEssEmerGenFeed: "/systems/electrical/relay/ac-ess-feed-emer-gen/contact-pos", elecEmerGenVolts: "/systems/electrical/sources/emer-gen/output-volt", elecEmerGenVoltsRelay: "/systems/electrical/relay/emer-glc/output", @@ -819,6 +842,10 @@ var input = { elecAcTie1: "/systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos", elecAcTie2: "/systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos", elecExtEPC: "/systems/electrical/relay/ext-epc/contact-pos", + elec15XE1: "/systems/electrical/relay/relay-15XE1/contact-pos", + elec15XE2: "/systems/electrical/relay/relay-15XE2/contact-pos", + statInvVolts: "/systems/electrical/sources/si-1/output-volt", + statInvHertz: "/systems/electrical/sources/si-1/output-hertz", ElecGalleyShed: "/systems/electrical/some-electric-thingie/galley-shed", }; diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-eng.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-eng.nas index c00d7e5e..7cfd565c 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-eng.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-eng.nas @@ -185,7 +185,7 @@ var canvas_lowerECAMPageEng = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -234,8 +234,23 @@ var canvas_lowerECAMPageEng = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-fctl.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-fctl.nas index 931d2a65..7458e99d 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-fctl.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-fctl.nas @@ -522,7 +522,7 @@ var canvas_lowerECAMPageFctl = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -571,8 +571,23 @@ var canvas_lowerECAMPageFctl = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-fuel.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-fuel.nas index 4da77543..055b4d70 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-fuel.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-fuel.nas @@ -508,7 +508,7 @@ var canvas_lowerECAMPageFuel = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -557,8 +557,23 @@ var canvas_lowerECAMPageFuel = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-hyd.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-hyd.nas index d87f4901..170cd993 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-hyd.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-hyd.nas @@ -439,7 +439,7 @@ var canvas_lowerECAMPageHyd = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -488,8 +488,23 @@ var canvas_lowerECAMPageHyd = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-press.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-press.nas index 89d8f3ff..ffa558fe 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-press.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-press.nas @@ -155,7 +155,7 @@ var canvas_lowerECAMPagePress = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -204,8 +204,23 @@ var canvas_lowerECAMPagePress = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-sts.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-sts.nas index 009176d4..b1eec1b5 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-sts.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-sts.nas @@ -80,7 +80,7 @@ var canvas_lowerECAMPageSts = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -129,8 +129,23 @@ var canvas_lowerECAMPageSts = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-wheel.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-wheel.nas index 3746763d..2d9063c9 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-wheel.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-wheel.nas @@ -645,7 +645,7 @@ var canvas_lowerECAMPageWheel = } me["GW"].setColor(0.0509,0.7529,0.2941); } else { - me["GW"].setText(sprintf("%s", "-----")); + me["GW"].setText(sprintf("%s", " -- ")); me["GW"].setColor(0.0901,0.6039,0.7176); } @@ -694,8 +694,23 @@ var canvas_lowerECAMPageWheel = me.test.setVisible(0); } } else { - me.group.setVisible(0); - me.test.setVisible(0); + if (pts.Modes.EcamDuXfr.getBoolValue()) { + if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) { + if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) { + me.group.setVisible(0); + me.test.setVisible(1); + } else { + me.group.setVisible(1); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } + } else { + me.group.setVisible(0); + me.test.setVisible(0); + } } } else { me.group.setVisible(0); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.xml b/Models/Instruments/Lower-ECAM/Lower-ECAM.xml index 3c034eab..3e2f70b3 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.xml +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.xml @@ -19,6 +19,14 @@ + + select + lecam.screen + + modes/ecam-du-xfr + + + material lecam.screen diff --git a/Models/Instruments/Lower-ECAM/res/elec.svg b/Models/Instruments/Lower-ECAM/res/elec.svg index 585983f2..f9a31f55 100644 --- a/Models/Instruments/Lower-ECAM/res/elec.svg +++ b/Models/Instruments/Lower-ECAM/res/elec.svg @@ -12,7 +12,7 @@ viewBox="0 0 1024 1024" version="1.1" id="svg2" - inkscape:version="0.91 r13725" + inkscape:version="0.92.4 (5da689c313, 2019-01-14)" sodipodi:docname="elec.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.5" - inkscape:cx="455.53074" + inkscape:cx="580.45699" inkscape:cy="693.51145" - inkscape:window-x="1592" + inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg2" @@ -92,18 +92,17 @@ ELEC + style="font-size:48.29243088px;line-height:0;fill:#cecdce;fill-opacity:1;stroke-width:4.02436924px">ELEC BAT 1 + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">BAT 1 120000 °C G.LOAD 0.6 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6 OFF 28 V BAT 2 OFF + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">OFF 28 0 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;text-anchor:end;fill:#0dc04b">0 A DC BAT DC 1 + style="font-size:40px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle;fill:#0dc04b;fill-opacity:1">DC 1 DC 2 DC ESS + style="font-size:40px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle;fill:#0dc04b;fill-opacity:1">DC ESS TR 1 28 V TR 2 + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">TR 2 28 150 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;text-anchor:end;fill:#0dc04b">150 AC 1 AC 2 + style="font-size:40px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle;fill:#0dc04b;fill-opacity:1">AC 2 AC ESS GEN OFF + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">OFF 0 115 V 400 1 + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">1 @@ -1222,15 +1171,14 @@ sodipodi:nodetypes="cc" /> 0 % V 400 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;text-anchor:end;fill:#0dc04b">400 GEN + style="font-size:36px;line-height:0;text-align:start;letter-spacing:-1.60000002px;text-anchor:start">GEN APU GEN + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">APU GEN 0 % V EXT GEN + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">EXT GEN V 400 IDG + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">IDG 1 °C 25 LO PR DISC + style="font-size:36px;line-height:0;text-align:start;letter-spacing:-1.60000002px;text-anchor:start;fill:#bb6100;fill-opacity:1">DISC 25 RISE IDG 2 + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">2 LO PR + style="font-size:36px;line-height:0;text-align:end;letter-spacing:-1.60000002px;text-anchor:end;fill:#bb6100;fill-opacity:1">LO PR 25 RISE + id="tspan3747">  GALLEY SHED ESS TR + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle">ESS TR 28 V SHED SHED + style="font-size:36px;line-height:0;text-align:center;letter-spacing:-1.60000002px;text-anchor:middle;fill:#bb6100;fill-opacity:1">SHED EMER GEN 115 V + + + + + + + + STAT INV + 115 + V + 400 + HZ + diff --git a/Models/Instruments/ND/canvas/ND.nas b/Models/Instruments/ND/canvas/ND.nas index 0cecff51..1b558f5c 100644 --- a/Models/Instruments/ND/canvas/ND.nas +++ b/Models/Instruments/ND/canvas/ND.nas @@ -14,22 +14,22 @@ var ND_2_test = nil; var elapsedtime = 0; # Fetch nodes: -var du1_test = props.globals.getNode("instrumentation/du/du1-test"); -var du1_test_time = props.globals.getNode("instrumentation/du/du1-test-time"); -var du1_test_amount = props.globals.getNode("instrumentation/du/du1-test-amount"); -var du2_test = props.globals.getNode("instrumentation/du/du2-test"); -var du2_test_time = props.globals.getNode("instrumentation/du/du2-test-time"); -var du2_test_amount = props.globals.getNode("instrumentation/du/du2-test-amount"); +var du1_test = props.globals.getNode("/instrumentation/du/du1-test"); +var du1_test_time = props.globals.getNode("/instrumentation/du/du1-test-time"); +var du1_test_amount = props.globals.getNode("/instrumentation/du/du1-test-amount"); +var du2_test = props.globals.getNode("/instrumentation/du/du2-test"); +var du2_test_time = props.globals.getNode("/instrumentation/du/du2-test-time"); +var du2_test_amount = props.globals.getNode("/instrumentation/du/du2-test-amount"); var du2_offtime = props.globals.initNode("/instrumentation/du/du2-off-time", 0.0, "DOUBLE"); -var du5_test = props.globals.getNode("instrumentation/du/du5-test"); -var du5_test_time = props.globals.getNode("instrumentation/du/du5-test-time"); +var du5_test = props.globals.getNode("/instrumentation/du/du5-test"); +var du5_test_time = props.globals.getNode("/instrumentation/du/du5-test-time"); var du5_offtime = props.globals.initNode("/instrumentation/du/du5-off-time", 0.0, "DOUBLE"); -var du5_test_amount = props.globals.getNode("instrumentation/du/du5-test-amount"); -var du6_test = props.globals.getNode("instrumentation/du/du6-test"); -var du6_test_time = props.globals.getNode("instrumentation/du/du6-test-time"); -var du6_test_amount = props.globals.getNode("instrumentation/du/du6-test-amount"); -var cpt_du_xfr = props.globals.getNode("modes/cpt-du-xfr"); -var fo_du_xfr = props.globals.getNode("modes/fo-du-xfr"); +var du5_test_amount = props.globals.getNode("/instrumentation/du/du5-test-amount"); +var du6_test = props.globals.getNode("/instrumentation/du/du6-test"); +var du6_test_time = props.globals.getNode("/instrumentation/du/du6-test-time"); +var du6_test_amount = props.globals.getNode("/instrumentation/du/du6-test-amount"); +var cpt_du_xfr = props.globals.getNode("/modes/cpt-du-xfr"); +var fo_du_xfr = props.globals.getNode("/modes/fo-du-xfr"); var wow0 = props.globals.getNode("gear/gear[0]/wow"); var nd_display = {}; @@ -87,56 +87,75 @@ var canvas_nd_base = { getKeys: func() { return []; }, + off2: 0, + on2: 0, updateDu2: func() { var elapsedtime = getprop("sim/time/elapsed-sec"); if (getprop("systems/electrical/bus/ac-ess-shed") >= 110) { - if (du2_offtime.getValue() + 3 < elapsedtime) { - if (wow0.getValue() == 1) { - if (getprop("systems/acconfig/autoconfig-running") != 1 and du2_test.getValue() != 1) { + if (!me.on2) { + if (du2_offtime.getValue() + 3 < elapsedtime) { + if (wow0.getValue() == 1) { + if (getprop("systems/acconfig/autoconfig-running") != 1 and du2_test.getValue() != 1) { + du2_test.setValue(1); + du2_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du2_test_time.setValue(getprop("sim/time/elapsed-sec")); + } else if (getprop("systems/acconfig/autoconfig-running") == 1 and du2_test.getValue() != 1) { + du2_test.setValue(1); + du2_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du2_test_time.setValue(getprop("sim/time/elapsed-sec") - 30); + } + } else { du2_test.setValue(1); - du2_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du2_test_time.setValue(getprop("sim/time/elapsed-sec")); - } else if (getprop("systems/acconfig/autoconfig-running") == 1 and du2_test.getValue() != 1) { - du2_test.setValue(1); - du2_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du2_test_time.setValue(getprop("sim/time/elapsed-sec") - 30); + du2_test_amount.setValue(0); + du2_test_time.setValue(-100); } - } else { - du2_test.setValue(1); - du2_test_amount.setValue(0); - du2_test_time.setValue(-100); } + me.off2 = 0; + me.on2 = 1; } } else { - du2_test.setValue(0); - du2_offtime.setValue(elapsedtime); + if (!me.off2) { + du2_test.setValue(0); + du2_offtime.setValue(elapsedtime); + me.off2 = 1; + me.on2 = 0; + } } }, + off: 0, + on: 0, updateDu5: func() { var elapsedtime = getprop("sim/time/elapsed-sec"); if (getprop("systems/electrical/bus/ac-2") >= 110) { - if (du5_offtime.getValue() + 3 < elapsedtime) { - if (wow0.getValue() == 1) { - if (getprop("systems/acconfig/autoconfig-running") != 1 and du5_test.getValue() != 1) { + if (!me.on) { + if (du5_offtime.getValue() + 3 < elapsedtime) { + if (wow0.getValue() == 1) { + if (getprop("systems/acconfig/autoconfig-running") != 1 and du5_test.getValue() != 1) { + du5_test.setValue(1); + du5_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du5_test_time.setValue(getprop("sim/time/elapsed-sec")); + } else if (getprop("systems/acconfig/autoconfig-running") == 1 and du5_test.getValue() != 1) { + du5_test.setValue(1); + du5_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du5_test_time.setValue(getprop("sim/time/elapsed-sec") - 30); + } + } else { du5_test.setValue(1); - du5_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du5_test_time.setValue(getprop("sim/time/elapsed-sec")); - } else if (getprop("systems/acconfig/autoconfig-running") == 1 and du5_test.getValue() != 1) { - du5_test.setValue(1); - du5_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du5_test_time.setValue(getprop("sim/time/elapsed-sec") - 30); + du5_test_amount.setValue(0); + du5_test_time.setValue(-100); } - } else { - du5_test.setValue(1); - du5_test_amount.setValue(0); - du5_test_time.setValue(-100); } + me.off = 0; + me.on = 1; } } else { - du5_test.setValue(0); - du5_offtime.setValue(elapsedtime); + if (!me.off) { + du5_test.setValue(0); + du5_offtime.setValue(elapsedtime); + me.off = 1; + me.on = 0; + } } - }, update: func() { var elapsedtime = getprop("sim/time/elapsed-sec"); @@ -197,7 +216,7 @@ var canvas_ND_1 = { m.init(canvas_group); # here we make the ND: - me.NDCpt = ND.new("instrumentation/efis", myCockpit_switches, "Airbus"); + me.NDCpt = ND.new("/instrumentation/efis", myCockpit_switches, "Airbus"); me.NDCpt.attitude_heading_setting = -1; me.NDCpt.adirs_property = props.globals.getNode("/instrumentation/efis[0]/nd/ir-1",1); me.NDCpt.newMFD(canvas_group); @@ -222,7 +241,7 @@ var canvas_ND_2 = { # here we make the ND: myCockpit_switches["ADIRS"]= {path: "/nd/ir-2", value: 0, type: "BOOL"}; - me.NDFo = ND.new("instrumentation/efis[1]", myCockpit_switches, "Airbus"); + me.NDFo = ND.new("/instrumentation/efis[1]", myCockpit_switches, "Airbus"); me.NDFo.attitude_heading_setting = 1; me.NDFo.adirs_property = props.globals.getNode("/instrumentation/efis[1]/nd/ir-2",1); me.NDFo.newMFD(canvas_group); @@ -268,11 +287,11 @@ var canvas_ND_1_test = { }, update: func() { elapsedtime = getprop("sim/time/elapsed-sec") or 0; - if ((du2_test_time.getValue() + 1 >= elapsedtime) and getprop("modes/cpt-du-xfr") != 1) { + if ((du2_test_time.getValue() + 1 >= elapsedtime) and getprop("/modes/cpt-du-xfr") != 1) { me["Test_white"].show(); me["Test_text"].hide(); - } else if ((du1_test_time.getValue() + 1 >= elapsedtime) and getprop("modes/cpt-du-xfr") != 0) { - print(getprop("modes/cpt-du-xfr")); + } else if ((du1_test_time.getValue() + 1 >= elapsedtime) and getprop("/modes/cpt-du-xfr") != 0) { + print(getprop("/modes/cpt-du-xfr")); me["Test_white"].show(); me["Test_text"].hide(); } else { @@ -310,10 +329,10 @@ var canvas_ND_2_test = { }, update: func() { elapsedtime = getprop("sim/time/elapsed-sec") or 0; - if ((du5_test_time.getValue() + 1 >= elapsedtime) and getprop("modes/cpt-du-xfr") != 1) { + if ((du5_test_time.getValue() + 1 >= elapsedtime) and getprop("/modes/cpt-du-xfr") != 1) { me["Test_white"].show(); me["Test_text"].hide(); - } else if ((du6_test_time.getValue() + 1 >= elapsedtime) and getprop("modes/cpt-du-xfr") != 0) { + } else if ((du6_test_time.getValue() + 1 >= elapsedtime) and getprop("/modes/cpt-du-xfr") != 0) { me["Test_white"].show(); me["Test_text"].hide(); } else { @@ -324,8 +343,8 @@ var canvas_ND_2_test = { }; setlistener("/sim/signals/fdm-initialized", func { - setprop("instrumentation/efis[0]/inputs/plan-wpt-index", -1); - setprop("instrumentation/efis[1]/inputs/plan-wpt-index", -1); + setprop("/instrumentation/efis[0]/inputs/plan-wpt-index", -1); + setprop("/instrumentation/efis[1]/inputs/plan-wpt-index", -1); nd_display.main = canvas.new({ "name": "ND1", @@ -423,7 +442,7 @@ for (i = 0; i < 2; i = i + 1 ) { var idx = par.getIndex(); var canvas_mode = "/instrumentation/efis["~idx~"]/nd/canvas-display-mode"; var nd_centered = "/instrumentation/efis["~idx~"]/inputs/nd-centered"; - var mode = getprop("instrumentation/efis["~idx~"]/nd/display-mode"); + var mode = getprop("/instrumentation/efis["~idx~"]/nd/display-mode"); var cvs_mode = "NAV"; var centered = 1; if (mode == "ILS") { @@ -456,7 +475,7 @@ var startChangePhase = func(nd,txt) { } #setlistener("/instrumentation/efis[0]/nd/terrain-on-nd", func{ -# var terr_on_hd = getprop("instrumentation/efis[0]/nd/terrain-on-nd"); +# var terr_on_hd = getprop("/instrumentation/efis[0]/nd/terrain-on-nd"); # var alpha = 1; # if (terr_on_hd) { # alpha = 0.5; @@ -466,10 +485,10 @@ var startChangePhase = func(nd,txt) { setlistener("/flight-management/control/capture-leg", func(n) { var capture_leg = n.getValue(); - setprop("instrumentation/efis[0]/nd/xtrk-error", capture_leg); - setprop("instrumentation/efis[1]/nd/xtrk-error", capture_leg); - setprop("instrumentation/efis[0]/nd/trk-line", capture_leg); - setprop("instrumentation/efis[1]/nd/trk-line", capture_leg); + setprop("/instrumentation/efis[0]/nd/xtrk-error", capture_leg); + setprop("/instrumentation/efis[1]/nd/xtrk-error", capture_leg); + setprop("/instrumentation/efis[0]/nd/trk-line", capture_leg); + setprop("/instrumentation/efis[1]/nd/trk-line", capture_leg); }, 0, 0); var showNd = func(nd = nil) { diff --git a/Models/Instruments/ND/canvas/res/airbusND.svg b/Models/Instruments/ND/canvas/res/airbusND.svg index cfa7496d..d83f7743 100644 --- a/Models/Instruments/ND/canvas/res/airbusND.svg +++ b/Models/Instruments/ND/canvas/res/airbusND.svg @@ -1,19 +1,19 @@ image/svg+xmlGijs de RooyAHEADAHEAD +TERRTERR +000000 +000000 +XXXX99X + 999.9 + 0 + 33 + 30 + 27 + 24 + 21 + 18 + 15 + 12 + 9 + 6 + 3 + + 1 + 2 + 4 + 5 + 7 + 8 + 10 + 11 + 13 + 14 + 16 + 17 + 19 + 20 + 22 + 23 + 25 + 26 + 28 + 29 + 31 + 32 + 34 + 35 + 999°/ 99 + 999 + 999 + GS + TAS + 999 + HDG + MAG + VOR 1 + NM + ABC + VOR 2 + NM + ABC + 08 34.4z + 99 +   + inkscape:label="#path3888-1" />   +   +   +   + NM + ILS + 999.99 + 360 + 00' 00'' + 99 + .1L + .1L + OFST + 999999 +999999 +999999 +.9.9 +999999 +.9.9 +.1L + .1L + N + 33 + 30 + W + 24 + 21 + S + 15 + 12 + E + 6 + 3 + CRS +   + 999 + 99.9 + ILS APP + N + W + E + S + 99 + 99 + 99 + 99 + 99 + GPS PRIMARY LOSTGPS PRIMARY LOST +TA ONLY + +HDGHDG +MAP NOT AVAILMAP NOT AVAIL +RANGE CHANGE + style="font-size:53.3333px;line-height:1.25;fill:#0dc04b">RANGE CHANGE + \ No newline at end of file diff --git a/Models/Instruments/ND/canvas/style.nas b/Models/Instruments/ND/canvas/style.nas index 0e65b7f1..a0dfa99b 100644 --- a/Models/Instruments/ND/canvas/style.nas +++ b/Models/Instruments/ND/canvas/style.nas @@ -722,7 +722,15 @@ canvas.NDStyles["Airbus"] = { }, }, { - # TODO: taOnly doesn"t need to use getprop polling in update(), use a listener instead! + id: "taOnlyBox", + impl: { + init: func(nd, symbol), + predicate: func(nd) getprop("/instrumentation/tcas/inputs/mode") == 2, + is_true: func(nd) nd.symbols.taOnlyBox.show(), + is_false: func(nd) nd.symbols.taOnlyBox.hide(), + }, + }, + { id: "taOnly", # the SVG ID impl: { # implementation hash init: func(nd, symbol), # for updateCenter stuff, called during initialization in the ctor diff --git a/Models/Instruments/OHpanel/OHpanel.xml b/Models/Instruments/OHpanel/OHpanel.xml index 7150ef0e..2448cac4 100644 --- a/Models/Instruments/OHpanel/OHpanel.xml +++ b/Models/Instruments/OHpanel/OHpanel.xml @@ -25,16 +25,12 @@ BatteryBtn21F BusTieBtn2O DitchBtn2O - ELAC1Btn1F - ELAC1Btn2O EmerExtLtBtn2O Eng1AntiIceBtn1F Eng1AntiIceBtn2O Eng2AntiIceBtn1F Eng2AntiIceBtn2O ExtPwrBtn2O - FAC1Btn1F - FAC1Btn2O IR1Btn1F IR1Btn2O IR2Btn1F @@ -42,8 +38,6 @@ IR3Btn1F IR3Btn2O RamAirBtn2O - SEC1Btn1F - SEC1Btn2O WingAntiIceBtn1F WingAntiIceBtn2O VentBlowBtn1F @@ -73,10 +67,16 @@ Eng1FireAgt2Btn2D Eng2FireAgt2Btn1S Eng2FireAgt2Btn2D + ELAC1Btn1F + ELAC1Btn2O + FAC1Btn1F + FAC1Btn2O Gen1Btn1F Gen1Btn2O Gen2Btn1F Gen2Btn2O + SEC1Btn1F + SEC1Btn2O diff --git a/Models/Instruments/PFD/PFD.nas b/Models/Instruments/PFD/PFD.nas index d17276e1..e5c2fee4 100644 --- a/Models/Instruments/PFD/PFD.nas +++ b/Models/Instruments/PFD/PFD.nas @@ -223,54 +223,74 @@ var canvas_PFD_base = { "HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","HDG_error","HDG_group","HDG_frame","TRK_pointer","machError","ilsError","ils_code","ils_freq","dme_dist","dme_dist_legend","ILS_HDG_R","ILS_HDG_L", "ILS_right","ILS_left","outerMarker","middleMarker","innerMarker","v1_group","v1_text","vr_speed","F_target","S_target","FS_targets","flap_max","clean_speed","ground","ground_ref","FPV","spdLimError","vsFMArate"]; }, + off: 0, + on: 0, updateDu1: func() { var elapsedtime_act = elapsedtime.getValue(); if (systems.ELEC.Bus.acEss.getValue() >= 110) { - if (du1_offtime.getValue() + 3 < elapsedtime_act) { - if (wow0.getValue() == 1) { - if (acconfig.getValue() != 1 and du1_test.getValue() != 1) { + if (!me.on) { + if (du1_offtime.getValue() + 3 < elapsedtime_act) { + if (wow0.getValue() == 1) { + if (acconfig.getValue() != 1 and du1_test.getValue() != 1) { + du1_test.setValue(1); + du1_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du1_test_time.setValue(elapsedtime_act); + } else if (acconfig.getValue() == 1 and du1_test.getValue() != 1) { + du1_test.setValue(1); + du1_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du1_test_time.setValue(elapsedtime_act - 30); + } + } else { du1_test.setValue(1); - du1_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du1_test_time.setValue(elapsedtime_act); - } else if (acconfig.getValue() == 1 and du1_test.getValue() != 1) { - du1_test.setValue(1); - du1_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du1_test_time.setValue(elapsedtime_act - 30); + du1_test_amount.setValue(0); + du1_test_time.setValue(-100); } - } else { - du1_test.setValue(1); - du1_test_amount.setValue(0); - du1_test_time.setValue(-100); } + me.off = 0; + me.on = 1; } } else { - du1_test.setValue(0); - du1_offtime.setValue(elapsedtime_act); + if (!me.off) { + du1_test.setValue(0); + du1_offtime.setValue(elapsedtime_act); + me.off = 1; + me.on = 0; + } } }, + off6: 0, + on6: 0, updateDu6: func() { var elapsedtime_act = elapsedtime.getValue(); if (systems.ELEC.Bus.ac2.getValue() >= 110) { - if (du6_offtime.getValue() + 3 < elapsedtime_act) { - if (wow0.getValue() == 1) { - if (acconfig.getValue() != 1 and du6_test.getValue() != 1) { + if (!me.on6) { + if (du6_offtime.getValue() + 3 < elapsedtime_act) { + if (wow0.getValue() == 1) { + if (acconfig.getValue() != 1 and du6_test.getValue() != 1) { + du6_test.setValue(1); + du6_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du6_test_time.setValue(elapsedtime_act); + } else if (acconfig.getValue() == 1 and du6_test.getValue() != 1) { + du6_test.setValue(1); + du6_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du6_test_time.setValue(elapsedtime_act - 30); + } + } else { du6_test.setValue(1); - du6_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du6_test_time.setValue(elapsedtime_act); - } else if (acconfig.getValue() == 1 and du6_test.getValue() != 1) { - du6_test.setValue(1); - du6_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du6_test_time.setValue(elapsedtime_act - 30); + du6_test_amount.setValue(0); + du6_test_time.setValue(-100); } - } else { - du6_test.setValue(1); - du6_test_amount.setValue(0); - du6_test_time.setValue(-100); } + me.off6 = 0; + me.on6 = 1; } } else { - du6_test.setValue(0); - du6_offtime.setValue(elapsedtime_act); + if (!me.off6) { + du6_test.setValue(0); + du6_offtime.setValue(elapsedtime_act); + me.off6 = 1; + me.on6 = 0; + } } }, update: func() { diff --git a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas index ab8f037d..f9fc706b 100644 --- a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas +++ b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas @@ -913,28 +913,38 @@ var canvas_upperECAM = { me["Test_text"].show(); } }, + off: 0, + on: 0, powerTransient: func() { if (systems.ELEC.Bus.acEss.getValue() >= 110) { - if (du3_offtime.getValue() + 3 < pts.Sim.Time.elapsedSec.getValue()) { - if (pts.Gear.wow[0].getValue()) { - if (!acconfig.getBoolValue() and !du3_test.getBoolValue()) { + if (!me.on) { + if (du3_offtime.getValue() + 3 < pts.Sim.Time.elapsedSec.getValue()) { + if (pts.Gear.wow[0].getValue()) { + if (!acconfig.getBoolValue() and !du3_test.getBoolValue()) { + du3_test.setValue(1); + du3_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du3_test_time.setValue(pts.Sim.Time.elapsedSec.getValue()); + } else if (acconfig.getBoolValue() and !du3_test.getBoolValue()) { + du3_test.setValue(1); + du3_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); + du3_test_time.setValue(pts.Sim.Time.elapsedSec.getValue() - 30); + } + } else { du3_test.setValue(1); - du3_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du3_test_time.setValue(pts.Sim.Time.elapsedSec.getValue()); - } else if (acconfig.getBoolValue() and !du3_test.getBoolValue()) { - du3_test.setValue(1); - du3_test_amount.setValue(math.round((rand() * 5 ) + 35, 0.1)); - du3_test_time.setValue(pts.Sim.Time.elapsedSec.getValue() - 30); + du3_test_amount.setValue(0); + du3_test_time.setValue(-100); } - } else { - du3_test.setValue(1); - du3_test_amount.setValue(0); - du3_test_time.setValue(-100); } + me.off = 0; + me.on = 1; } } else { - du3_test.setValue(0); - du3_offtime.setValue(pts.Sim.Time.elapsedSec.getValue()); + if (!me.off) { + du3_test.setValue(0); + du3_offtime.setValue(pts.Sim.Time.elapsedSec.getValue()); + me.off = 1; + me.on = 0; + } } }, updatePower: func() { diff --git a/Models/Instruments/Upper-ECAM/Upper-ECAM.xml b/Models/Instruments/Upper-ECAM/Upper-ECAM.xml index d2faf06f..0a64cb6e 100644 --- a/Models/Instruments/Upper-ECAM/Upper-ECAM.xml +++ b/Models/Instruments/Upper-ECAM/Upper-ECAM.xml @@ -19,6 +19,22 @@ + + select + uecam.screen + + modes/ecam-du-xfr + + + + + select + uecam.screen2 + + modes/ecam-du-xfr + + + material uecam.screen diff --git a/Models/Instruments/Upper-ECAM/res/Upper-ECAM.ac b/Models/Instruments/Upper-ECAM/res/Upper-ECAM.ac index c0fba7cc..f63fb259 100644 --- a/Models/Instruments/Upper-ECAM/res/Upper-ECAM.ac +++ b/Models/Instruments/Upper-ECAM/res/Upper-ECAM.ac @@ -1,26 +1,44 @@ AC3Db -MATERIAL "buttonlights.001" rgb 1.000 1.000 1.000 amb 1.000 1.000 1.000 emis 1.000 1.000 1.000 spec 0.000 0.000 0.000 shi 0 trans 0.000 +MATERIAL "buttonlights.001" rgb 1 1 1 amb 1 1 1 emis 1 1 1 spec 0 0 0 shi 0 trans 0 OBJECT world -name "Blender_exporter_v2.26__Upper-ECAM.ac" -kids 1 +kids 2 OBJECT poly name "uecam.screen" data 21 uecam.screen.mesh.008 -crease 30.0 texture "screen.png" -texrep 1 1 +crease 30.000000 +numvert 4 +-0.58049 0.30536 0.06855 +-0.53427 0.14966 0.06855 +-0.53427 0.14966 -0.09384 +-0.58049 0.30536 -0.09384 +numsurf 1 +SURF 0x0 +mat 0 +refs 4 +3 1.00067 0.999407 +0 4.5e-005 0.999407 +1 4.5e-005 0.000756 +2 1.00067 0.000756 +kids 0 +OBJECT poly +name "uecam.screen2" +data 21 +uecam.screen.mesh.008 +texture "screen.png" +crease 30.000000 numvert 4 -0.58049 0.30536 -0.09384 -0.53427 0.14966 -0.09384 -0.53427 0.14966 0.06855 -0.58049 0.30536 0.06855 numsurf 1 -SURF 0X0 +SURF 0x0 mat 0 refs 4 0 1.00067 0.999407 -3 0.000045 0.999407 -2 0.000045 0.000756 +3 4.5e-005 0.999407 +2 4.5e-005 0.000756 1 1.00067 0.000756 kids 0 diff --git a/Nasal/ECAM/ECAM-main.nas b/Nasal/ECAM/ECAM-main.nas index b1b619fe..9de2f5d4 100644 --- a/Nasal/ECAM/ECAM-main.nas +++ b/Nasal/ECAM/ECAM-main.nas @@ -131,9 +131,17 @@ var ECAM = { }, }; +var du4_lgt = props.globals.getNode("/controls/lighting/DU/du4", 1); var ECAMControlPanel = { sysPageBtn: func(page) { - SystemDisplayController.manCall(page); + if (page == "REL") { + pts.Modes.EcamDuXfr.setBoolValue(0); + } else { + if (du4_lgt.getValue() < 0.01 or systems.ELEC.Bus.ac2.getValue() < 110) { + pts.Modes.EcamDuXfr.setBoolValue(1); + } + SystemDisplayController.manCall(page); + } }, rclBtn: func() { ecam.ECAM_controller.recall(); diff --git a/Nasal/Libraries/property-tree-setup.nas b/Nasal/Libraries/property-tree-setup.nas index 7280d194..73ee448e 100644 --- a/Nasal/Libraries/property-tree-setup.nas +++ b/Nasal/Libraries/property-tree-setup.nas @@ -212,6 +212,10 @@ var Instrumentation = { }, }; +var Modes = { + EcamDuXfr: props.globals.getNode("/modes/ecam-du-xfr"), +}; + var Options = { eng: props.globals.getNode("/options/eng"), }; diff --git a/Nasal/Libraries/sounds.nas b/Nasal/Libraries/sounds.nas index fabe002d..280e25be 100644 --- a/Nasal/Libraries/sounds.nas +++ b/Nasal/Libraries/sounds.nas @@ -113,8 +113,8 @@ var relayExt = func { settimer(func {setprop("/sim/sounde/relay-ext",0);},0.35); } -setlistener("/systems/electrical/sources/bat-1/contact", relayBatt1, nil, 0); -setlistener("/systems/electrical/sources/bat-2/contact", relayBatt2, nil, 0); +setlistener("/systems/electrical/sources/bat-1/bcl-supply", relayBatt1, nil, 0); +setlistener("/systems/electrical/sources/bat-2/bcl-supply", relayBatt2, nil, 0); setlistener("/systems/electrical/relay/apu-glc/contact-pos", relayApu, nil, 0); setlistener("/systems/electrical/relay/ext-epc/contact-pos", relayExt, nil, 0); diff --git a/Nasal/Systems/APU.nas b/Nasal/Systems/APU.nas index 829acc60..0ec3635c 100644 --- a/Nasal/Systems/APU.nas +++ b/Nasal/Systems/APU.nas @@ -29,6 +29,7 @@ var APU = { bleedTime: 0, cooldownEndTime: 0, fastStart: 0, + inhibitEMERELEC: 0, _count: 0, warnings: { lowOilLevel: 0, @@ -62,6 +63,7 @@ var APU = { me.signals.fault.setValue(0); me.signals.autoshutdown = 0; me.signals.emer = 0; + me.inhibitEMERELEC = 0; checkApuStartTimer.stop(); apuStartTimer.stop(); apuStartTimer2.stop(); @@ -119,7 +121,7 @@ var APU = { if (me.fastStart) { me.inletFlap.setpos(1); } - if (pts.APU.rpm.getValue() < 7 and me.fuelValvePos.getValue() and me.inletFlapPos.getValue() == 1 and me.signals.oilTestComplete and !me.warnings.lowOilLevel) { + if (pts.APU.rpm.getValue() < 7 and me.fuelValvePos.getValue() and me.inletFlapPos.getValue() == 1 and me.signals.oilTestComplete and !me.warnings.lowOilLevel and !me.inhibitEMERELEC) { me.setState(4); me.listenStopSignal = 1; checkApuStartTimer.stop(); @@ -270,6 +272,7 @@ var APU = { if (me.state == 5 and APUNodes.Oil.pressure.getValue() < 35 or APUNodes.Oil.temperature.getValue() > 135) { me.autoStop(); } + if (systems.ELEC.Bus.dcBat.getValue() < 25) { if (!me._powerLost) { me._powerLost = 1; @@ -287,6 +290,12 @@ var APU = { } else { me._powerLost = 0; } + + if (systems.ELEC.EmerElec.getValue() == 1 and (systems.ELEC.EmerElec45.getValue() != 1 and systems.ELEC.Source.EmerGen.voltsRelay.getValue() < 110)) { + me.inhibitEMERELEC = 1; + } else { + me.inhibitEMERELEC = 0; + } } }, }; diff --git a/Nasal/Systems/electrical.nas b/Nasal/Systems/electrical.nas index 6fc42666..2849bb63 100644 --- a/Nasal/Systems/electrical.nas +++ b/Nasal/Systems/electrical.nas @@ -14,6 +14,7 @@ var dc2 = 0; # Main class var ELEC = { EmerElec: props.globals.getNode("/systems/electrical/some-electric-thingie/emer-elec-config"), + EmerElec45: props.globals.getNode("/systems/electrical/some-electric-thingie/emer-elec-config-45"), Bus: { acEss: props.globals.getNode("/systems/electrical/bus/ac-ess"), acEssShed: props.globals.getNode("/systems/electrical/bus/ac-ess-shed"), @@ -33,7 +34,6 @@ var ELEC = { ac2BusFault: props.globals.getNode("/systems/failures/electrical/ac-2-bus"), bat1Fault: props.globals.getNode("/systems/failures/electrical/bat-1"), bat2Fault: props.globals.getNode("/systems/failures/electrical/bat-2"), - dcBatBusFault: props.globals.getNode("/systems/failures/electrical/dc-bat-bus"), dcEssBusFault: props.globals.getNode("/systems/failures/electrical/dc-ess-bus"), dc1BusFault: props.globals.getNode("/systems/failures/electrical/dc-1-bus"), dc2BusFault: props.globals.getNode("/systems/failures/electrical/dc-2-bus"), @@ -79,15 +79,17 @@ var ELEC = { acTie1: props.globals.getNode("/systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos"), acTie2: props.globals.getNode("/systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos"), apuGlc: props.globals.getNode("/systems/electrical/relay/apu-glc/contact-pos"), - dcEssFeedBat: props.globals.getNode("/systems/electrical/relay/dc-ess-feed-bat/contact-pos"), - essTrContactor: props.globals.getNode("/systems/electrical/relay/dc-ess-feed-tr/contact-pos"), + dcEssFeedBat: props.globals.getNode("/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos"), + essTrContactor: props.globals.getNode("/systems/electrical/relay/ess-tr-contactor/contact-pos"), extEpc: props.globals.getNode("/systems/electrical/relay/ext-epc/contact-pos"), - dcTie1: props.globals.getNode("/systems/electrical/relay/dc-bus-tie-dc-1/contact-pos"), - dcTie2: props.globals.getNode("/systems/electrical/relay/dc-bus-tie-dc-2/contact-pos"), + dcTie1: props.globals.getNode("/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos"), + dcTie2: props.globals.getNode("/systems/electrical/relay/dc-bat-tie-dc-2/contact-pos"), glc1: props.globals.getNode("/systems/electrical/relay/gen-1-glc/contact-pos"), glc2: props.globals.getNode("/systems/electrical/relay/gen-2-glc/contact-pos"), tr1Contactor: props.globals.getNode("/systems/electrical/relay/tr-contactor-1/contact-pos"), tr2Contactor: props.globals.getNode("/systems/electrical/relay/tr-contactor-2/contact-pos"), + relay7XB: props.globals.getNode("/systems/electrical/sources/si-1/inverter-control/relay-7xb"), + relay15XE2: props.globals.getNode("/systems/electrical/relay/relay-15XE2/contact-pos"), }, SomeThing: { emerGenSignal: props.globals.getNode("/systems/electrical/some-electric-thingie/emer-gen-operate"), @@ -102,7 +104,7 @@ var ELEC = { Bat1: { volt: props.globals.getNode("/systems/electrical/sources/bat-1/volt"), amps: props.globals.getNode("/systems/electrical/sources/bat-1/amps"), - contact: props.globals.getNode("/systems/electrical/sources/bat-1/contact"), + contact: props.globals.getNode("/systems/electrical/sources/bat-1/bcl-supply"), percent: props.globals.getNode("/systems/electrical/sources/bat-1/percent"), direction: props.globals.getNode("/systems/electrical/sources/bat-1/direction"), time: props.globals.getNode("/systems/electrical/sources/bat-1/time"), @@ -110,7 +112,7 @@ var ELEC = { Bat2: { volt: props.globals.getNode("/systems/electrical/sources/bat-2/volt"), amps: props.globals.getNode("/systems/electrical/sources/bat-2/amps"), - contact: props.globals.getNode("/systems/electrical/sources/bat-2/contact"), + contact: props.globals.getNode("/systems/electrical/sources/bat-2/bcl-supply"), percent: props.globals.getNode("/systems/electrical/sources/bat-2/percent"), direction: props.globals.getNode("/systems/electrical/sources/bat-2/direction"), time: props.globals.getNode("/systems/electrical/sources/bat-2/time"), @@ -134,10 +136,10 @@ var ELEC = { outputAmp: props.globals.getNode("/systems/electrical/relay/tr-contactor-2/output-amp"), }, trEss: { - outputVolt: props.globals.getNode("/systems/electrical/sources/tr-ess/output-volt"), - outputAmp: props.globals.getNode("/systems/electrical/sources/tr-ess/output-amp"), - outputVoltRelay: props.globals.getNode("/systems/electrical/relay/dc-ess-feed-tr/output"), - outputAmpRelay: props.globals.getNode("/systems/electrical/relay/dc-ess-feed-tr/output-amp"), + outputVolt: props.globals.getNode("/systems/electrical/sources/ess-tr/output-volt"), + outputAmp: props.globals.getNode("/systems/electrical/sources/ess-tr/output-amp"), + outputVoltRelay: props.globals.getNode("/systems/electrical/relay/ess-tr-contactor/output"), + outputAmpRelay: props.globals.getNode("/systems/electrical/relay/ess-tr-contactor/output-amp"), }, IDG1: { gcrRelay: props.globals.getNode("/systems/electrical/sources/idg-1/gcr-relay"), @@ -149,6 +151,10 @@ var ELEC = { hertz: props.globals.getNode("/systems/electrical/sources/idg-2/output-hertz"), volts: props.globals.getNode("/systems/electrical/sources/idg-2/output-volt"), }, + Inverter: { + hertz: props.globals.getNode("/systems/electrical/sources/si-1/output-hertz"), + volts: props.globals.getNode("/systems/electrical/sources/si-1/output-volt"), + }, }, Switch: { acEssFeed: props.globals.getNode("/controls/electrical/switches/ac-ess-feed"), @@ -190,7 +196,6 @@ var ELEC = { me.Fail.ac2BusFault.setBoolValue(0); me.Fail.bat1Fault.setBoolValue(0); me.Fail.bat2Fault.setBoolValue(0); - me.Fail.dcBatBusFault.setBoolValue(0); me.Fail.dcEssBusFault.setBoolValue(0); me.Fail.dc1BusFault.setBoolValue(0); me.Fail.dc2BusFault.setBoolValue(0); diff --git a/Systems/a320-electrical.xml b/Systems/a320-electrical.xml index 0ebb8a29..e9f1d84f 100644 --- a/Systems/a320-electrical.xml +++ b/Systems/a320-electrical.xml @@ -1,6 +1,6 @@ - + @@ -8,17 +8,19 @@ /systems/electrical/relay/gen-1-glc/contact-pos /systems/electrical/relay/gen-2-glc/contact-pos - + - + + + 1 /systems/electrical/sources/bat-1/amps - 0.00016666 + 0.011 @@ -29,85 +31,172 @@ 0 0.0 0.0 10 24.0 4.0 50 25.5 5.0 + 85 26.5 6.0 100 31.0 7.0
-
+
- - - + + + + /controls/electrical/switches/bat-1 eq 0 - /systems/electrical/sources/bat-1/volt lt 23 - /systems/electrical/sources/bat-1/amps ge 100 + + + /systems/electrical/sources/bat-1/bcl-logic/discharge-protection-output eq 1 + /systems/electrical/sources/bat-1/bcl-logic/charge-protection-output eq 1 + + + + /systems/electrical/sources/bat-1/amps ge 100 + /systems/electrical/sources/bat-1/direction eq 1 + - + + + /controls/electrical/switches/bat-1 eq 1 - /systems/apu/start eq 1 + /systems/apu/dc-bat-three-minutes eq 1 - + + + /controls/electrical/switches/bat-1 eq 1 /systems/electrical/bus/ac-1 lt 110 /systems/electrical/bus/ac-2 lt 110 /gear/gear[1]/wow eq 1 - /instrumentation/airspeed-indicator/indicated-speed-kt lt 100 + /velocities/airspeed-kt lt 100 - - /systems/electrical/sources/bat-1/charge eq 1 + + + + /systems/electrical/some-electric-thingie/emer-elec-config eq 1 - + + + /systems/electrical/sources/bat-1/charge eq 1 - /controls/electrical/switches/bat-1 eq 1 - /systems/electrical/sources/bat-1/contact eq 1 - /systems/electrical/bus/dc-bat gt 27.5 - /systems/electrical/sources/bat-1/percent-calc lt 99.9 /systems/electrical/sources/bat-1/charge eq 0 + + + + /systems/electrical/sources/bat-1/volt lt 23 + + + + + /systems/electrical/sources/bat-1/bcl-logic/discharge-protection + 120 + 0.06666666666 + + + + + + /systems/electrical/sources/bat-1/amps ge 150 + /systems/electrical/sources/bat-1/direction eq -1 + + + + + /systems/electrical/sources/bat-1/bcl-logic/charge-protection + 120 + 0.01111111111 + + + + + + /systems/electrical/sources/bat-1/bcl-logic/charge-end eq 1 + /systems/electrical/sources/bat-1/direction ne 1 + + + /controls/electrical/switches/bat-1 ne 0 + /systems/electrical/sources/bat-1/amps lt 4 + /systems/electrical/sources/bat-1/direction eq -1 + + + + + /systems/electrical/sources/bat-1/bcl-logic/charge-end + 120 + 0.1 + + + + /systems/electrical/sources/bat-1/bcl-logic/charge-end + 120 + 0.00055555555 + + + + + + /controls/electrical/switches/bat-1 eq 1 + + + - - /systems/electrical/sources/bat-1/charge eq 1 - - /controls/electrical/switches/bat-1 eq 0 - /systems/electrical/bus/dc-bat lt 27.5 - /systems/electrical/sources/bat-1/percent-calc ge 99.9 + + + + + /systems/electrical/sources/bat-1/bcl-logic/charge-end-output eq 1 + /velocities/airspeed-kt lt 100 + + /systems/electrical/sources/bat-1/bcl-logic/charge-end-air-output eq 1 + /systems/electrical/sources/bat-1/charge eq 1 - + + + /controls/electrical/switches/bat-1 eq 1 - /systems/electrical/sources/bat-1/contact eq 0 + /systems/electrical/sources/bat-1/bcl-supply eq 0 /systems/electrical/sources/bat-1/volt lt 26.5 - /systems/electrical/bus/dc-bat gt 27.5 + /systems/electrical/bus/dc-bat gt 27.0 - - /systems/electrical/sources/bat-1/contact eq 0 - /systems/electrical/sources/si-1/inverter-active eq 0 + + /systems/electrical/sources/bat-1/bcl-supply eq 0 + /systems/electrical/sources/si-1/inverter-control/relay-2xb eq 0 - - /systems/electrical/sources/si-1/inverter-active eq 1 + + /systems/electrical/sources/si-1/inverter-control/relay-2xb eq 1 - /systems/electrical/sources/bat-1/contact eq 1 + /systems/electrical/sources/bat-1/bcl-supply eq 1 /systems/electrical/bus/dc-bat-src ne 1 /systems/electrical/bus/dc-bat-src ne 2 - /systems/apu/start eq 1 + /systems/apu/dc-bat-three-minutes eq 1 - /systems/electrical/sources/bat-1/contact eq 1 + /systems/electrical/sources/bat-1/bcl-supply eq 1 /systems/electrical/bus/dc-bat-src ne 3 @@ -120,38 +209,21 @@ 0 /systems/electrical/sources/bat-1/percent-calc - - - /systems/electrical/sources/bat-1/direction - -1 - - - /systems/electrical/sources/bat-1/percent + + /systems/electrical/sources/bat-1/percent + - 2.25 - - /systems/electrical/sources/bat-1/percent - 1 - + /systems/electrical/sources/bat-1/amps + 25 - simulation/channel-dt + 0.00027777777 - - + -/systems/electrical/sources/bat-1/direction /systems/electrical/sources/bat-1/percent - - - -0.75 - - /systems/electrical/sources/bat-1/percent - 1 - - - simulation/channel-dt - - - + simulation/channel-dt + + /systems/electrical/sources/bat-1/percent @@ -161,36 +233,39 @@ /systems/apu/start eq 1 - /systems/electrical/sources/bat-1/contact eq 1 + /systems/electrical/sources/bat-1/bcl-supply eq 1 /systems/electrical/bus/dc-bat-src ne 1 /systems/electrical/bus/dc-bat-src ne 2 - /systems/electrical/sources/bat-1/contact eq 1 + /systems/electrical/sources/bat-1/bcl-supply eq 1 - - - - /systems/electrical/sources/bat-1/load-kw ne 0 - /systems/electrical/sources/bat-1/direction eq 1 - - - /systems/electrical/sources/bat-1/contact eq 1 - /systems/electrical/sources/bat-1/direction eq -1 - - + + + + /systems/electrical/sources/bat-1/bcl-supply + 43202951.13 + + /systems/electrical/sources/bat-1/volt + -4.750 + + + + - + + + 1 /systems/electrical/sources/bat-2/amps - 0.00016666 + 0.011 @@ -201,85 +276,168 @@ 0 0.0 0.0 10 24.0 4.0 50 25.5 5.0 + 85 26.5 6.0 100 31.0 7.0
-
+
- - - + + + + /controls/electrical/switches/bat-2 eq 0 - /systems/electrical/sources/bat-2/volt lt 23 - /systems/electrical/sources/bat-2/amps ge 100 + + + /systems/electrical/sources/bat-2/bcl-logic/discharge-protection-output eq 1 + /systems/electrical/sources/bat-2/bcl-logic/charge-protection-output eq 1 + + + + /systems/electrical/sources/bat-2/amps ge 100 + /systems/electrical/sources/bat-2/direction eq 1 + - + + + /controls/electrical/switches/bat-2 eq 1 - /systems/apu/start eq 1 + /systems/apu/dc-bat-three-minutes eq 1 - + + + /controls/electrical/switches/bat-2 eq 1 /systems/electrical/bus/ac-1 lt 110 /systems/electrical/bus/ac-2 lt 110 /gear/gear[1]/wow eq 1 - /instrumentation/airspeed-indicator/indicated-speed-kt lt 100 + /velocities/airspeed-kt lt 100 - - /systems/electrical/sources/bat-2/charge eq 1 + + + + /systems/electrical/some-electric-thingie/emer-elec-config eq 1 - + + + /systems/electrical/sources/bat-2/charge eq 1 - /controls/electrical/switches/bat-2 eq 1 - /systems/electrical/sources/bat-2/contact eq 1 - /systems/electrical/bus/dc-bat gt 27.5 - /systems/electrical/sources/bat-2/percent-calc lt 99.9 /systems/electrical/sources/bat-2/charge eq 0 + + + + /systems/electrical/sources/bat-2/volt lt 23 + + + + + /systems/electrical/sources/bat-2/bcl-logic/discharge-protection + 120 + 0.06666666666 + + + + + + /systems/electrical/sources/bat-2/amps ge 150 + /systems/electrical/sources/bat-2/direction eq -1 + + + + + /systems/electrical/sources/bat-2/bcl-logic/charge-protection + 120 + 0.01111111111 + + + + + + /controls/electrical/switches/bat-2 ne 0 + /systems/electrical/sources/bat-2/amps lt 4 + /systems/electrical/sources/bat-2/direction eq -1 + + + + + /systems/electrical/sources/bat-2/bcl-logic/charge-end + 120 + 0.1 + + + + /systems/electrical/sources/bat-2/bcl-logic/charge-end + 120 + 0.00055555555 + + + + + + /controls/electrical/switches/bat-2 eq 1 + + + - - /systems/electrical/sources/bat-2/charge eq 1 + + - /controls/electrical/switches/bat-2 eq 0 - /systems/electrical/bus/dc-bat lt 27.5 - /systems/electrical/sources/bat-2/percent-calc ge 99.9 + + /systems/electrical/sources/bat-2/bcl-logic/charge-end-output eq 1 + /velocities/airspeed-kt lt 100 + + /systems/electrical/sources/bat-2/bcl-logic/charge-end-air-output eq 1 + /systems/electrical/sources/bat-2/charge eq 1 - + + + /controls/electrical/switches/bat-2 eq 1 - /systems/electrical/sources/bat-2/contact eq 0 + /systems/electrical/sources/bat-2/bcl-supply eq 0 /systems/electrical/sources/bat-2/volt lt 26.5 - /systems/electrical/bus/dc-bat gt 27.5 + /systems/electrical/bus/dc-bat gt 27.0 - - /systems/electrical/sources/bat-2/contact eq 0 - /systems/electrical/sources/si-1/inverter-active eq 0 + + /systems/electrical/sources/bat-2/bcl-supply eq 0 + /systems/electrical/sources/si-1/inverter-control/relay-2xb eq 0 - - /systems/electrical/sources/si-1/inverter-active eq 1 + + /systems/electrical/sources/si-1/inverter-control/relay-2xb eq 1 - /systems/electrical/sources/bat-2/contact eq 1 + /systems/electrical/sources/bat-2/bcl-supply eq 1 /systems/electrical/bus/dc-bat-src ne 1 /systems/electrical/bus/dc-bat-src ne 2 - /systems/apu/start eq 1 + /systems/apu/dc-bat-three-minutes eq 1 - /systems/electrical/sources/bat-2/contact eq 1 + /systems/electrical/sources/bat-2/bcl-supply eq 1 /systems/electrical/bus/dc-bat-src ne 3 @@ -292,38 +450,21 @@ 0 /systems/electrical/sources/bat-2/percent-calc - - - /systems/electrical/sources/bat-2/direction - -1 - - - /systems/electrical/sources/bat-2/percent + + /systems/electrical/sources/bat-2/percent + - 2.25 - - /systems/electrical/sources/bat-2/percent - 1 - + /systems/electrical/sources/bat-2/amps + 25 - simulation/channel-dt + 0.00027777777 - - + -/systems/electrical/sources/bat-2/direction /systems/electrical/sources/bat-2/percent - - - -0.75 - - /systems/electrical/sources/bat-2/percent - 1 - - - simulation/channel-dt - - - + simulation/channel-dt + + /systems/electrical/sources/bat-2/percent @@ -333,26 +474,27 @@ /systems/apu/start eq 1 - /systems/electrical/sources/bat-2/contact eq 1 + /systems/electrical/sources/bat-2/bcl-supply eq 1 /systems/electrical/bus/dc-bat-src ne 1 /systems/electrical/bus/dc-bat-src ne 2 - /systems/electrical/sources/bat-2/contact eq 1 + /systems/electrical/sources/bat-2/bcl-supply eq 1 - - - - /systems/electrical/sources/bat-2/load-kw ne 0 - /systems/electrical/sources/bat-2/direction eq 1 - - - /systems/electrical/sources/bat-2/contact eq 1 - /systems/electrical/sources/bat-2/direction eq -1 - - + + + + /systems/electrical/sources/bat-2/bcl-supply + 43202951.13 + + /systems/electrical/sources/bat-2/volt + -4.750 + + + + @@ -602,48 +744,72 @@ - + - - /systems/failures/electrical/stat-inv eq 1 - - - /systems/electrical/some-electric-thingie/emer-gen-operate eq 1 - /systems/electrical/sources/emer-gen/coupled ne 1 - - - /instrumentation/airspeed-indicator/indicated-speed-kt lt 100 - /instrumentation/airspeed-indicator/indicated-speed-kt ge 50 - /systems/electrical/some-electric-thingie/emer-elec-config eq 1 - /sim/time/elapsed-sec gt 10 - - - /instrumentation/airspeed-indicator/indicated-speed-kt lt 50 - /controls/electrical/switches/bat-1 eq 1 - /controls/electrical/switches/bat-2 eq 1 - /systems/electrical/some-electric-thingie/emer-elec-config eq 1 - /sim/time/elapsed-sec gt 10 + + /systems/navigation/adr/output/cas-1 gt 50 + /controls/electrical/switches/emer-gen-test eq 1 - + + + + + /systems/electrical/sources/si-1/inverter-control/relay-7xb eq 0 + /systems/electrical/sources/bat-1/bcl-supply eq 1 + /systems/electrical/sources/bat-2/bcl-supply eq 1 + /systems/electrical/bus/dc-hot-2 ge 23 + + + /systems/electrical/sources/si-1/inverter-control/relay-7xb eq 1 + /systems/electrical/bus/dc-hot-2 ge 23 + + + + + + + /systems/electrical/sources/si-1/inverter-control/contactor-power-flow-through-7XB eq 1 + /systems/electrical/bus/ac-1 lt 110 + /systems/electrical/bus/ac-2 lt 110 + /systems/electrical/relay/emer-glc/output lt 110 + + + + + /systems/electrical/sources/si-1/inverter-control/contactor-power-flow-to-timer + 120 + 12.5 + + + + + + /systems/electrical/sources/si-1/inverter-control/timer eq 1 + + + - - - /systems/electrical/sources/si-1/inverter-active - 1 - - - 115 - /systems/electrical/sources/bat-1/volt - - 0 - + + + + /systems/failures/electrical/stat-inv + 1 + + 0 + + 115 + /systems/electrical/sources/bat-1/volt + + + /systems/electrical/sources/si-1/inverter-control/relay-2xb + - /systems/electrical/sources/bat-1/volt + /systems/electrical/sources/bat-1/volt /systems/electrical/sources/si-1/inverter-gain @@ -760,7 +926,11 @@ - +
+ + + + @@ -836,6 +1006,7 @@ + @@ -911,22 +1082,7 @@ - - - - /systems/electrical/sources/ext/output-volt ge 110 - /controls/electrical/switches/ext-pwr eq 1 - /controls/electrical/ground-cart eq 1 - - - - - - - /systems/electrical/relay/ext-epc/contact-pos eq 1 - - - + @@ -1003,6 +1159,24 @@ + + + + + /systems/electrical/sources/ext/output-volt ge 110 + /controls/electrical/switches/ext-pwr eq 1 + /controls/electrical/ground-cart eq 1 + + + + + + + /systems/electrical/relay/ext-epc/contact-pos eq 1 + + + + @@ -1020,164 +1194,9 @@ - - - - - - - /controls/electrical/switches/bus-tie eq 0 - - - /systems/electrical/relay/gen-1-glc/contact-pos eq 1 - /systems/electrical/relay/gen-2-glc/contact-pos eq 0 - /systems/electrical/relay/apu-glc/contact-pos eq 0 - /systems/electrical/relay/ext-epc/contact-pos eq 0 - /controls/electrical/switches/bus-tie eq 1 - - - /systems/electrical/relay/gen-1-glc/contact-pos eq 0 - /systems/electrical/bus/ac-bus-tie ge 110 - /controls/electrical/switches/bus-tie eq 1 - - - - - - - /systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1 - - - - - - - /controls/electrical/switches/bus-tie eq 0 - - - /systems/electrical/relay/gen-2-glc/contact-pos eq 1 - /systems/electrical/relay/gen-1-glc/contact-pos eq 0 - /systems/electrical/relay/apu-glc/contact-pos eq 0 - /systems/electrical/relay/ext-epc/contact-pos eq 0 - /controls/electrical/switches/bus-tie eq 1 - - - /systems/electrical/relay/gen-2-glc/contact-pos eq 0 - /systems/electrical/bus/ac-bus-tie ge 110 - /controls/electrical/switches/bus-tie eq 1 - - - - - - - /systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1 - - - - - - - - /systems/electrical/bus/ac-1 lt 110 - - - - - /systems/electrical/relay/ac-ess-feed-1/auto-switch - 120 - 0.33333333333 - - - - - - /controls/electrical/switches/ac-ess-feed eq 0 - /systems/electrical/relay/ac-ess-feed-1/auto-switch-timer lt 1 - /controls/electrical/switches/emer-gen-test eq 0 - - - - - - - /systems/electrical/relay/ac-ess-feed-1/contact-pos eq 1 - - - - - - - - /controls/electrical/switches/ac-ess-feed eq 1 - /systems/electrical/relay/ac-ess-feed-1/auto-switch-timer eq 1 - - /controls/electrical/switches/emer-gen-test eq 0 - - - - - - - /systems/electrical/relay/ac-ess-feed-2/contact-pos eq 1 - - - - - - - /systems/electrical/bus/ac-1 eq 0 - /systems/electrical/bus/ac-2 eq 0 - /systems/electrical/relay/emer-glc/output ge 110 - - - /systems/electrical/bus/ac-1 ne 0 - /systems/electrical/bus/ac-2 ne 0 - /controls/electrical/switches/emer-gen-test eq 1 - /systems/electrical/relay/emer-glc/output ge 110 - - - - - - - /systems/electrical/relay/ac-ess-feed-emer-gen/contact-pos eq 1 - - - - - - - /instrumentation/airspeed-indicator/indicated-speed-kt ge 50 - /systems/electrical/bus/ac-1 eq 0 - /systems/electrical/bus/ac-2 eq 0 - /controls/electrical/switches/emer-gen-test eq 0 - /systems/electrical/relay/emer-glc/output lt 110 - - - - - - - /systems/electrical/relay/ac-ess-feed-inverter/contact-pos eq 1 - - - - - - - - /systems/electrical/sources/si-1/inverter-active eq 1 - /controls/electrical/switches/emer-gen-test eq 1 - - - - - - - /systems/electrical/relay/ac-ess-shed-switch/contact-pos eq 1 - - + + + @@ -1261,6 +1280,598 @@ + + + + + + + + + /controls/electrical/switches/bus-tie eq 0 + + + /systems/electrical/relay/gen-1-glc/contact-pos eq 1 + /systems/electrical/relay/gen-2-glc/contact-pos eq 0 + /systems/electrical/relay/apu-glc/contact-pos eq 0 + /systems/electrical/relay/ext-epc/contact-pos eq 0 + /controls/electrical/switches/bus-tie eq 1 + + + /systems/electrical/relay/gen-1-glc/contact-pos eq 0 + /controls/electrical/switches/bus-tie eq 1 + + + + + + + /systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1 + + + + + + + /controls/electrical/switches/bus-tie eq 0 + + + /systems/electrical/relay/gen-2-glc/contact-pos eq 1 + /systems/electrical/relay/gen-1-glc/contact-pos eq 0 + /systems/electrical/relay/apu-glc/contact-pos eq 0 + /systems/electrical/relay/ext-epc/contact-pos eq 0 + /controls/electrical/switches/bus-tie eq 1 + + + /systems/electrical/relay/gen-2-glc/contact-pos eq 0 + /controls/electrical/switches/bus-tie eq 1 + + + + + + + /systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1 + + + + + + + + /systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1 + + + + + + + /systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1 + + + + + + + + /systems/electrical/bus/ac-1 lt 110 + + + + + /systems/electrical/relay/ac-ess-feed-1/auto-switch + 120 + 0.33333333333 + + + + + + /controls/electrical/switches/ac-ess-feed eq 0 + /systems/electrical/relay/ac-ess-feed-1/auto-switch-timer lt 1 + /systems/electrical/relay/emer-glc/output lt 110 + /controls/electrical/switches/emer-gen-test eq 0 + + + + + + + /systems/electrical/relay/ac-ess-feed-1/contact-pos eq 1 + + + + + + + + /controls/electrical/switches/ac-ess-feed eq 1 + /systems/electrical/relay/ac-ess-feed-1/auto-switch-timer eq 1 + + /systems/electrical/relay/emer-glc/output lt 110 + /controls/electrical/switches/emer-gen-test eq 0 + + + + + + + /systems/electrical/relay/ac-ess-feed-2/contact-pos eq 1 + + + + + + + + /systems/electrical/relay/emer-glc/output ge 110 + + + /systems/electrical/bus/ac-ess ge 110 + + /systems/electrical/relay/tr-contactor-1/output lt 25 + /systems/electrical/relay/tr-contactor-2/output lt 25 + + + + /systems/electrical/relay/ac-ess-feed-1/output ge 110 + /systems/electrical/relay/ac-ess-feed-2/output ge 110 + + + + + + /systems/electrical/relay/relay-15XE1/contact-pos-demand + 120 + 10 + + + + + + /systems/electrical/relay/relay-15XE1/contact-pos eq 1 + + + + + + + /systems/electrical/relay/relay-15XE1/contact-pos eq 1 + + + + + + + + /systems/electrical/relay/relay-15XE1/output lt 110 + /systems/electrical/relay/relay-15XE1/output-emer lt 110 + /systems/electrical/sources/si-1/inverter-control/relay-7xb eq 1 + /systems/electrical/sources/si-1/output-volt ge 110 + /systems/electrical/relay/ac-ess-feed-1/output lt 110 + /systems/electrical/relay/ac-ess-feed-2/output lt 110 + + + + + + + /systems/electrical/relay/relay-15XE2/contact-pos eq 1 + + + + + + + + /systems/electrical/relay/relay-15XE1/output ge 110 + /systems/electrical/relay/relay-15XE1/output-emer ge 110 + + /systems/electrical/relay/emer-glc/output ge 110 + + + + + + + /systems/electrical/relay/ac-ess-feed-emer-gen/contact-pos eq 1 + + + + + + + + /systems/electrical/sources/si-1/output-volt ge 110 + /controls/electrical/switches/emer-gen-test eq 1 + + + + + + + /systems/electrical/relay/ac-ess-shed-switch/contact-pos eq 1 + + + + + + + + + + + + + + + + /systems/electrical/relay/dc-svc-bus-contactor-tr/contact-pos eq 1 + + + + + + + + + + + /systems/electrical/relay/dc-svc-bus-contactor-bus-2/contact-pos eq 1 + + + + + + + + + + + + /systems/failures/electrical/tr-1 ne 1 + + + + + /systems/electrical/bus/ac-1 + /systems/electrical/sources/tr-1/working + + + + + + /systems/electrical/sources/tr-1/output-volt + + 0 0 + 27.5 200 + +
+
+
+ + + + + /systems/failures/electrical/tr-2 ne 1 + + + + + /systems/electrical/bus/ac-2 + /systems/electrical/sources/tr-2/working + + + + + + /systems/electrical/sources/tr-2/output-volt + + 0 0 + 27.5 200 + +
+
+
+ + + + + /systems/failures/electrical/ess-tr eq 0 + + + + + + + + /systems/electrical/relay/relay-15XE1/output ge 110 + /systems/electrical/relay/relay-15XE1/output-emer ge 110 + + + + /systems/electrical/relay/emer-glc/output ge 110 + + + + + /systems/electrical/sources/ess-tr/feed + /systems/electrical/sources/ess-tr/working + + + + + + /systems/electrical/sources/ess-tr/output-volt + + 0 0 + 27.5 200 + +
+
+
+ + + + + + /systems/electrical/sources/tr-1/output-volt lt 25 + /systems/electrical/sources/tr-1/output-amp eq 0 + + + + + + + /systems/electrical/sources/tr-1/output-volt ge 25 + /systems/electrical/relay/tr-contactor-1/fault eq 0 + + + + + + + /systems/electrical/relay/tr-contactor-1/contact-pos eq 1 + + + + + + + /systems/electrical/relay/tr-contactor-1/contact-pos eq 1 + + + + + + + /systems/electrical/sources/tr-2/output-volt lt 25 + /systems/electrical/sources/tr-2/output-amp eq 0 + + + + + + + /systems/electrical/relay/tr-contactor-2/fault eq 0 + /systems/electrical/sources/tr-2/output-volt ge 25 + + + + + + + + /systems/electrical/relay/tr-contactor-2/contact-pos eq 1 + + + + + + + /systems/electrical/relay/tr-contactor-2/contact-pos eq 1 + + + + + + + /systems/electrical/sources/ess-tr/output-volt lt 25 + /systems/electrical/sources/ess-tr/output-amp eq 0 + + + + + + + /systems/electrical/relay/ess-tr-contactor/fault eq 0 + /systems/electrical/sources/ess-tr/output-volt ge 25 + + + + + + + /systems/electrical/relay/ess-tr-contactor/contact-pos eq 1 + + + + + + + /systems/electrical/relay/ess-tr-contactor/contact-pos eq 1 + + + +
+ + + + + + + + /systems/electrical/bus/ac-1 ge 110 + /systems/electrical/bus/dc-1 ge 25 + /systems/electrical/relay/tr-contactor-1/fault eq 0 + + + /systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 0 + + /systems/electrical/bus/ac-1 ge 110 + /systems/electrical/bus/ac-2 ge 110 + + + + /systems/electrical/relay/tr-contactor-1/fault eq 1 + /systems/electrical/bus/dc-2 ge 25 + + + /systems/electrical/relay/tr-contactor-2/fault eq 1 + /systems/electrical/bus/dc-1 ge 25 + + + + + + + + + /systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 0 + /systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 0 + /systems/electrical/bus/dc-2 ge 25 + /systems/electrical/relay/tr-contactor-2/fault eq 0 + + + /systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 0 + + /systems/electrical/bus/ac-1 ge 110 + /systems/electrical/bus/ac-2 ge 110 + + + + /systems/electrical/relay/tr-contactor-1/fault eq 1 + /systems/electrical/bus/dc-2 ge 25 + + + /systems/electrical/relay/tr-contactor-2/fault eq 1 + /systems/electrical/bus/dc-1 ge 25 + + + + + + + + + /systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1 + /systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 0 + /systems/electrical/relay/tr-contactor-1/output ge 25 + /systems/electrical/relay/ess-tr-contactor/output lt 25 + /systems/electrical/bus/dc-1 ge 25 + + + + + + + + /systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1 + /systems/electrical/bus/dc-1-src eq 2 + + + + + + + /systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 1 + /systems/electrical/bus/dc-2-src eq 2 + + + + + + + /systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1 + /systems/electrical/bus/dc-ess-src eq 2 + + + + + + + + /systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1 + /systems/electrical/bus/dc-1-src ne 2 + + + + + + + /systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 1 + /systems/electrical/bus/dc-2-src ne 2 + + + + + + + /systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1 + /systems/electrical/bus/dc-ess-src ne 2 + + + + + + + + /systems/electrical/sources/si-1/inverter-control/timer eq 1 + /controls/electrical/switches/emer-gen-test eq 1 + + + + + + + + + + + + /systems/electrical/relay/ext-epc/contact-pos eq 1 + + + /systems/electrical/relay/apu-glc/contact-pos eq 1 + + + /systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1 + /systems/electrical/bus/ac-1-src ne 2 + + + /systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1 + /systems/electrical/bus/ac-2-src ne 2 + + + + + + + + /systems/failures/electrical/ac-ess-bus + 1 + + 0 + + /systems/electrical/relay/ac-ess-feed-1/output + /systems/electrical/relay/ac-ess-feed-2/output + /systems/electrical/relay/ac-ess-feed-emer-gen/output + /systems/electrical/relay/relay-15XE2/output + + + + + Tell which source is being used for priority purpose @@ -1317,6 +1928,7 @@ + /systems/electrical/bus/ac-1 0.2260869565 @@ -1332,303 +1944,97 @@ 0.2260869565 + /systems/electrical/sources/si-1/output-volt 1 - - - - - /systems/failures/electrical/ac-ess-bus - 1 - - 0 - - /systems/electrical/relay/ac-ess-feed-1/output - /systems/electrical/relay/ac-ess-feed-2/output - /systems/electrical/relay/ac-ess-feed-emer-gen/output - /systems/electrical/relay/ac-ess-feed-inverter/output - - - - - /systems/electrical/relay/ac-ess-shed-switch/output /systems/electrical/relay/ac-ess-shed-switch/contact-pos - - - - - - /systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1 + + + + + + Tell which source is being used for priority purpose + + + /systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1 + /systems/electrical/bus/dc-1-src ne 2 + + + /systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 1 + /systems/electrical/bus/dc-2-src ne 2 + + + /systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1 + /systems/electrical/bus/dc-ess-src ne 2 + + + /systems/electrical/sources/bat-1/bcl-supply eq 1 + /systems/electrical/sources/bat-2/bcl-supply eq 1 - - - - /systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1 - - - - - + - - /systems/electrical/relay/ext-epc/contact-pos eq 1 + + /systems/electrical/bus/dc-bat-src eq 1 - - /systems/electrical/relay/apu-glc/contact-pos eq 1 + + /systems/electrical/bus/dc-bat-src eq 2 - - /systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1 - /systems/electrical/bus/ac-1-src ne 2 + + /systems/electrical/bus/dc-bat-src eq 3 - - /systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1 - /systems/electrical/bus/ac-2-src ne 2 + + /systems/electrical/sources/bat-1/bcl-supply eq 1 + /systems/electrical/bus/dc-bat-src eq 4 + + + /systems/electrical/sources/bat-2/bcl-supply eq 1 + /systems/electrical/bus/dc-bat-src eq 4 + + + + + + + /systems/electrical/relay/ess-tr-contactor/contact-pos eq 1 + + + /systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1 + + + /systems/electrical/sources/si-1/inverter-control/relay-2xb eq 1 + + + + + + + /systems/failures/electrical/dc-ess-bus eq 1 + + + /systems/electrical/bus/dc-ess-src eq 1 + + + /systems/electrical/bus/dc-ess-src eq 2 + + + /systems/electrical/bus/dc-ess-src eq 3 - - - /systems/electrical/bus/ac-1 - 0.24347826086956523 + + /systems/electrical/bus/dc-ess + /systems/electrical/relay/dc-ess-shed-switch/contact-pos - - - - /systems/electrical/sources/tr-1/output-volt - - 0 0 - 27.5 200 - -
-
-
- - - /systems/electrical/bus/ac-2 - 0.24347826086956523 - - - - - - /systems/electrical/sources/tr-2/output-volt - - 0 0 - 27.5 200 - -
-
-
- - - - - /systems/failures/electrical/ess-tr eq 0 - - - - - /systems/electrical/bus/ac-ess - /systems/electrical/sources/ess-tr/working - - - - - - /systems/electrical/sources/ess-tr/output-volt - - 0 0 - 27.5 200 - -
-
-
- - - - - - /systems/electrical/sources/tr-1/output-volt ne 0 - /systems/electrical/sources/tr-1/output-amp ne 0 - /systems/failures/electrical/tr-1 eq 0 - - - - - - - /systems/electrical/relay/tr-contactor-1/contact-pos eq 1 - - - - - - - /systems/electrical/relay/tr-contactor-1/contact-pos eq 1 - - - - - - - /systems/electrical/sources/tr-2/output-volt ne 0 - /systems/electrical/sources/tr-2/output-amp ne 0 - /systems/failures/electrical/tr-2 eq 0 - - - - - - - /systems/electrical/relay/tr-contactor-2/contact-pos eq 1 - - - - - - - /systems/electrical/relay/tr-contactor-2/contact-pos eq 1 - - - - - - - - /systems/electrical/bus/ac-1 ge 110 - /systems/electrical/bus/dc-1 ge 25 - /systems/electrical/relay/tr-contactor-1/contact-pos eq 1 - - - /systems/electrical/bus/dc-bat ge 25 - /systems/electrical/bus/dc-bat-src ne 3 - - /systems/electrical/relay/tr-contactor-1/contact-pos eq 0 - /systems/electrical/relay/tr-contactor-2/contact-pos eq 0 - - - - - - - - /systems/electrical/relay/dc-bus-tie-dc-1/contact-pos eq 1 - - - - - - - /systems/electrical/relay/dc-ess-feed-bat/contact-pos eq 0 - /systems/electrical/relay/dc-bus-tie-dc-1/contact-pos eq 0 - /systems/electrical/relay/tr-contactor-2/contact-pos eq 1 - /systems/electrical/bus/dc-2 ge 25 - - - /systems/electrical/bus/dc-bat ge 25 - /systems/electrical/bus/dc-bat-src ne 3 - - /systems/electrical/relay/tr-contactor-1/contact-pos eq 0 - /systems/electrical/relay/tr-contactor-2/contact-pos eq 0 - - - - - - - - /systems/electrical/relay/dc-bus-tie-dc-2/contact-pos eq 1 - - - - - - - - - /systems/electrical/relay/tr-contactor-1/output lt 25 - /systems/electrical/relay/tr-contactor-2/output lt 25 - /systems/electrical/relay/emer-glc/output ge 110 - - /systems/electrical/sources/ess-tr/output-volt ge 25 - - - - - - - /systems/electrical/relay/dc-ess-feed-tr/contact-pos eq 1 - - - - - - - /systems/electrical/relay/dc-ess-feed-tr/contact-pos eq 1 - - - - - - - /systems/electrical/relay/dc-ess-feed-tr/contact-pos eq 0 - - /systems/electrical/relay/dc-bus-tie-dc-1/contact-pos eq 0 - /systems/electrical/relay/dc-bus-tie-dc-2/contact-pos eq 0 - - /controls/electrical/switches/emer-gen-test eq 0 - - - - - - - /systems/electrical/relay/dc-ess-feed-bat/contact-pos eq 1 - - - - - - - - /systems/electrical/sources/si-1/inverter-active eq 1 - /controls/electrical/switches/emer-gen-test eq 1 - - - - - - - - - - - - /systems/electrical/relay/dc-svc-bus-contactor-tr/contact-pos eq 1 - - - - - - - - - - - /systems/electrical/relay/dc-svc-bus-contactor-bus-2/contact-pos eq 1 - - - Tell which source is being used for priority purpose @@ -1637,7 +2043,7 @@ /systems/electrical/relay/tr-contactor-1/output ge 25 - /systems/electrical/relay/dc-bus-tie-dc-1/contact-pos eq 1 + /systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1 @@ -1651,7 +2057,7 @@ 0 /systems/electrical/relay/tr-contactor-1/output - /systems/electrical/relay/dc-bus-tie-dc-1/output + /systems/electrical/relay/dc-bat-tie-dc-1/output-bat @@ -1665,7 +2071,7 @@ /systems/electrical/relay/tr-contactor-2/output ge 25 - /systems/electrical/relay/dc-bus-tie-dc-2/contact-pos eq 1 + /systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 1
@@ -1679,12 +2085,14 @@ 0 /systems/electrical/relay/tr-contactor-2/output - /systems/electrical/relay/dc-bus-tie-dc-2/output + /systems/electrical/relay/dc-bat-tie-dc-2/output-bat + + @@ -1694,120 +2102,6 @@ - - - - - - /systems/electrical/relay/dc-bus-tie-dc-1/contact-pos eq 1 - - - - - - - /systems/electrical/relay/dc-bus-tie-dc-2/contact-pos eq 1 - - - - - - Tell which source is being used for priority purpose - - - /systems/electrical/relay/dc-bus-tie-dc-1/contact-pos eq 1 - /systems/electrical/bus/dc-1-src ne 2 - - - /systems/electrical/relay/dc-bus-tie-dc-2/contact-pos eq 1 - /systems/electrical/bus/dc-2-src ne 2 - - - - /instrumentation/airspeed-indicator/indicated-speed-kt lt 100 - - /controls/electrical/switches/bat-1 eq 1 - /controls/electrical/switches/bat-2 eq 1 - - /systems/electrical/some-electric-thingie/emer-elec-config eq 1 - - - - /controls/electrical/switches/bat-1 eq 1 - /controls/electrical/switches/bat-2 eq 1 - - /systems/apu/dc-bat-three-minutes eq 1 - - - - - - - - /systems/failures/electrical/dc-bat-bus eq 1 - - - /systems/electrical/relay/dc-bus-tie-dc-1/contact-pos eq 1 - /systems/electrical/bus/dc-1-src ne 2 - - - /systems/electrical/relay/dc-bus-tie-dc-2/contact-pos eq 1 - /systems/electrical/bus/dc-2-src ne 2 - - - - /instrumentation/airspeed-indicator/indicated-speed-kt lt 100 - /controls/electrical/switches/bat-1 eq 1 - /systems/electrical/bus/dc-bat-src eq 3 - /systems/electrical/sources/bat-1/volt ge 25 - /systems/electrical/some-electric-thingie/emer-elec-config eq 1 - - - /systems/apu/dc-bat-three-minutes eq 1 - /controls/electrical/switches/bat-1 eq 1 - /systems/electrical/bus/dc-bat-src eq 3 - /systems/electrical/sources/bat-1/volt ge 25 - - - - - /instrumentation/airspeed-indicator/indicated-speed-kt lt 100 - /controls/electrical/switches/bat-2 eq 1 - /systems/electrical/bus/dc-bat-src eq 3 - /systems/electrical/sources/bat-2/volt ge 25 - /systems/electrical/some-electric-thingie/emer-elec-config eq 1 - - - /systems/apu/dc-bat-three-minutes eq 1 - /controls/electrical/switches/bat-2 eq 1 - /systems/electrical/bus/dc-bat-src eq 3 - /systems/electrical/sources/bat-2/volt ge 25 - - - - - - - - - - /systems/failures/electrical/dc-ess-bus - 1 - - 0 - - /systems/electrical/relay/dc-ess-feed-bat/output - /systems/electrical/relay/dc-ess-feed-tr/output - - - - - - - /systems/electrical/bus/dc-ess - /systems/electrical/relay/dc-ess-shed-switch/contact-pos - - /systems/electrical/sources/bat-1/volt @@ -1818,7 +2112,11 @@ /systems/electrical/sources/bat-2/volt 1.0 + +
+ + @@ -1882,11 +2180,17 @@ - /systems/electrical/relay/ac-ess-feed-inverter/contact-pos + /systems/electrical/sources/si-1/inverter-control/relay-2xb 120 0.1 + + /systems/electrical/some-electric-thingie/emer-elec-config + 0.02222222222 + 120 + + This makes the FG stuff work because we killed the generic electrical @@ -1915,12 +2219,38 @@ - - - - + + + + /controls/electrical/switches/bat-1 eq 0 + + + /systems/electrical/sources/bat-1/bcl-logic/charge-protection-output eq 1 + + + + + + + /controls/electrical/switches/bat-2 eq 0 + + + /systems/electrical/sources/bat-2/bcl-logic/charge-protection-output eq 1 + + + + + + + /gear/gear[1]/wow eq 0 + /systems/electrical/bus/ac-1 lt 110 + /systems/electrical/bus/ac-2 lt 110 + /systems/electrical/relay/emer-glc/output lt 110 + + + @@ -1945,19 +2275,6 @@ - - - - /systems/failures/electrical/bat-1 eq 1 - - - - - - - /systems/failures/electrical/bat-2 eq 1 - - @@ -2007,16 +2324,6 @@ /controls/electrical/switches/idg-2-disc-momentary eq 1 - - - - - /systems/electrical/relay/dc-ess-feed-tr/output eq 0 - /systems/electrical/bus/ac-1 eq 0 - /systems/electrical/bus/ac-2 eq 0 - position/wow eq 0 - - diff --git a/Systems/a320-fbw.xml b/Systems/a320-fbw.xml index e8ce9803..27dc5285 100644 --- a/Systems/a320-fbw.xml +++ b/Systems/a320-fbw.xml @@ -346,7 +346,7 @@ - + /controls/fctl/switches/fac1 eq 1 @@ -358,6 +358,12 @@ + + /systems/fctl/fac1-healthy-inp + 100 + 10 + + @@ -387,7 +393,7 @@ - /systems/fctl/fac1-healthy eq 1 + /systems/fctl/fac1-healthy ne 0 /systems/fctl/fac1-healthy-latch eq 0 /gear/gear[0]/wow eq 1 @@ -407,11 +413,11 @@ /controls/fctl/switches/fac1 eq 1 - /systems/fctl/fac1-healthy eq 1 + /systems/fctl/fac1-healthy-signal eq 1 - + /controls/fctl/switches/fac2 eq 1 @@ -423,6 +429,12 @@ + + /systems/fctl/fac2-healthy-inp + 100 + 10 + + @@ -452,7 +464,7 @@ - /systems/fctl/fac2-healthy eq 1 + /systems/fctl/fac2-healthy ne 0 /systems/fctl/fac2-healthy-latch eq 0 /gear/gear[0]/wow eq 1 @@ -472,7 +484,7 @@ /controls/fctl/switches/fac2 eq 1 - /systems/fctl/fac2-healthy eq 1 + /systems/fctl/fac2-healthy-signal eq 1 diff --git a/Systems/a320-fwc.xml b/Systems/a320-fwc.xml index de676136..b1f53ffa 100644 --- a/Systems/a320-fwc.xml +++ b/Systems/a320-fwc.xml @@ -363,7 +363,7 @@ /systems/electrical/bus/dc-2 ge 25 - /systems/electrical/relay/dc-ess-feed-bat/contact-pos eq 1 + /systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1 @@ -1341,8 +1341,8 @@ /systems/navigation/adr/operating-1 eq 1 /systems/navigation/adr/operating-3 eq 1 - /systems/electrical/bus/dc-ess-shed ge 25 /systems/electrical/bus/dc-ess ge 25 + /systems/electrical/bus/dc-ess-shed ge 25 /systems/electrical/bus/ac-ess ge 110 /systems/fctl/fac1-healthy-signal eq 0 /systems/fctl/fac2-healthy-signal eq 1