1
0
Fork 0

Merge branch 'dev' into 3D

This commit is contained in:
legoboyvdlp R 2021-07-28 14:11:23 +01:00
commit 38d2be1591
37 changed files with 2353 additions and 1395 deletions

View file

@ -26,6 +26,7 @@ If applicable, add screenshots to help explain your problem.
**System (please complete the following information):**
- OS:
- FlightGear version:
- A320 Version: (FGAddon/Laucher or branch with commit)
**Additional context**

View file

@ -1927,8 +1927,9 @@
</instrumentation>
<modes>
<cpt-du-xfr>0</cpt-du-xfr>
<fo-du-xfr>0</fo-du-xfr>
<cpt-du-xfr type="bool">0</cpt-du-xfr>
<ecam-du-xfr type="bool">0</ecam-du-xfr>
<fo-du-xfr type="bool">0</fo-du-xfr>
<pfd>
<ILS1>0</ILS1>
<ILS2>0</ILS2>

View file

@ -2169,6 +2169,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.stsBtn();</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2188,6 +2200,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("apuPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2207,6 +2231,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("bleedPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2226,6 +2262,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("cabPressPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2245,6 +2293,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("elecPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2264,6 +2324,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("hydraulicPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2283,6 +2355,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("fuelPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2302,6 +2386,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("enginePage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2321,6 +2417,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("condPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2340,6 +2448,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("doorPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2359,6 +2479,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("wheelPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>
@ -2378,6 +2510,18 @@
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("fctlPage");</script>
</binding>
<mod-up>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</condition>
<command>nasal</command>
<script>ecam.ECAMControlPanel.sysPageBtn("REL");</script>
</binding>
</mod-up>
</action>
</animation>

View file

@ -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) {
@ -271,6 +280,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)) {

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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",
};

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -19,6 +19,14 @@
</action>
</animation>
<animation>
<type>select</type>
<object-name>lecam.screen</object-name>
<condition>
<not><property>modes/ecam-du-xfr</property></not>
</condition>
</animation>
<animation>
<type>material</type>
<object-name>lecam.screen</object-name>

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View file

@ -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");
@ -201,7 +220,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);
@ -226,7 +245,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);
@ -272,11 +291,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 {
@ -314,10 +333,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 {
@ -328,8 +347,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",
@ -427,7 +446,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") {
@ -460,7 +479,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;
@ -470,10 +489,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) {

View file

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="airbusND.svg"
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
xml:space="preserve"
id="svg5180"
height="1024"
width="1024"
version="1.1"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><sodipodi:namedview
version="1.1"><sodipodi:namedview
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1"
@ -22,17 +22,17 @@
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview102"
showgrid="false"
inkscape:zoom="0.5494415"
inkscape:cx="505.96833"
inkscape:cy="727.10197"
inkscape:zoom="1.5540552"
inkscape:cx="474.64782"
inkscape:cy="152.79363"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer7"
inkscape:current-layer="g415"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-object-midpoints="true"
@ -45,46 +45,60 @@
inkscape:pagecheckerboard="0"><sodipodi:guide
id="guide3167"
orientation="1,0"
position="512,811.5" /><sodipodi:guide
position="512,811.5"
inkscape:locked="false" /><sodipodi:guide
id="guide3177"
orientation="-0.5,-0.86602541"
position="512,200" /><sodipodi:guide
position="512,200"
inkscape:locked="false" /><sodipodi:guide
id="guide3179"
orientation="-0.866025,-0.5"
position="512,200" /><sodipodi:guide
position="512,200"
inkscape:locked="false" /><sodipodi:guide
position="512,465"
orientation="0,1"
id="guide4003" /><sodipodi:guide
id="guide4003"
inkscape:locked="false" /><sodipodi:guide
orientation="-0.5,0.8660254"
position="512,200"
id="guide3537" /><sodipodi:guide
id="guide3537"
inkscape:locked="false" /><sodipodi:guide
orientation="-0.8660254,0.5"
position="512,200"
id="guide3545" /><sodipodi:guide
id="guide3545"
inkscape:locked="false" /><sodipodi:guide
position="-3.9271069,171.8178"
orientation="1,0"
id="guide742" /><sodipodi:guide
id="guide742"
inkscape:locked="false" /><sodipodi:guide
position="63.243533,882.27478"
orientation="1,0"
id="guide3109" /><sodipodi:guide
id="guide3109"
inkscape:locked="false" /><sodipodi:guide
position="59.703006,906.39896"
orientation="0,-1"
id="guide3111" /><sodipodi:guide
id="guide3111"
inkscape:locked="false" /><sodipodi:guide
position="70.197038,990.32506"
orientation="0,-1"
id="guide3113" /><sodipodi:guide
id="guide3113"
inkscape:locked="false" /><sodipodi:guide
position="211.67107,1010.2551"
orientation="0,-1"
id="guide3115" /><sodipodi:guide
id="guide3115"
inkscape:locked="false" /><sodipodi:guide
position="14.137585,913.25558"
orientation="1,0"
id="guide3498" /><sodipodi:guide
id="guide3498"
inkscape:locked="false" /><sodipodi:guide
position="74.643421,502.13953"
orientation="0,-1"
id="guide3552" /><sodipodi:guide
id="guide3552"
inkscape:locked="false" /><sodipodi:guide
position="43.434749,95.13984"
orientation="0,-1"
id="guide1262" /><sodipodi:guide
id="guide1262"
inkscape:locked="false" /><sodipodi:guide
position="23.634,-25.190503"
orientation="-1,0"
id="guide1264"
@ -93,19 +107,24 @@
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="45.728253,127.63524"
orientation="0,-1"
id="guide1266" /><sodipodi:guide
id="guide1266"
inkscape:locked="false" /><sodipodi:guide
position="40.040659,26.851076"
orientation="1,0"
id="guide1325" /><sodipodi:guide
id="guide1325"
inkscape:locked="false" /><sodipodi:guide
position="96.521665,66.50508"
orientation="0,-1"
id="guide1327" /><sodipodi:guide
id="guide1327"
inkscape:locked="false" /><sodipodi:guide
position="1017.0166,55.726826"
orientation="1,0"
id="guide1344" /><sodipodi:guide
id="guide1344"
inkscape:locked="false" /><sodipodi:guide
position="978.72968,72.618123"
orientation="1,0"
id="guide1259" /></sodipodi:namedview><metadata
id="guide1259"
inkscape:locked="false" /></sodipodi:namedview><metadata
id="metadata5186"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /><dc:creator><cc:Agent><dc:title>Gijs de Rooy</dc:title></cc:Agent></dc:creator><cc:license
@ -288,7 +307,8 @@
sodipodi:role="line"
x="1018.2351"
y="826.34009"
id="tspan1248">AHEAD</tspan></text><text
id="tspan1248">AHEAD</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
x="952.74292"
@ -299,7 +319,8 @@
sodipodi:role="line"
id="tspan1994"
x="952.74292"
y="826.34009">TERR</tspan></text><g
y="826.34009">TERR</tspan></text>
<g
id="terrAltGroup"><text
inkscape:label="#text7243"
id="terrHI"
@ -311,7 +332,8 @@
x="965.73273"
id="tspan2002"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">000</tspan></text><text
style="font-size:32px;line-height:1.25;fill:#0dc04b">000</tspan></text>
<text
inkscape:label="#text7243"
id="terrLO"
y="888.00446"
@ -322,7 +344,8 @@
x="965.73273"
id="tspan2006"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">000</tspan></text><rect
style="font-size:32px;line-height:1.25;fill:#0dc04b">000</tspan></text>
<rect
style="fill:none;stroke:#f2f235;stroke-width:3.15591;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2018"
width="67.30439"
@ -359,6 +382,7 @@
id="tspan7245"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;text-align:end;text-anchor:end">XXXX99X</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
@ -371,6 +395,7 @@
x="866.04407"
y="68.124893"
style="font-size:36px;line-height:1.25">999.9</tspan></text>
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
@ -413,6 +438,7 @@
x="500.44846"
y="65.26741"
style="font-size:40px;line-height:1.25">0</tspan></text>
<text
inkscape:label="#text7243"
id="text3080"
@ -426,6 +452,7 @@
x="13.677773"
id="tspan3082"
sodipodi:role="line">33</tspan></text>
<text
transform="rotate(-60.000017)"
xml:space="preserve"
@ -439,6 +466,7 @@
x="-476.08929"
y="100.35367"
style="font-size:40px;line-height:1.25">30</tspan></text>
<text
inkscape:label="#text7243"
id="text3088"
@ -452,6 +480,7 @@
x="-845.96948"
id="tspan3090"
sodipodi:role="line">27</tspan></text>
<text
transform="rotate(-120.00001)"
xml:space="preserve"
@ -465,6 +494,7 @@
x="-996.42627"
y="-725.91412"
style="font-size:39.9999px;line-height:1.25">24</tspan></text>
<text
inkscape:label="#text7243"
id="text3096"
@ -478,6 +508,7 @@
x="-882.57745"
id="tspan3098"
sodipodi:role="line">21</tspan></text>
<text
transform="scale(-1)"
xml:space="preserve"
@ -491,6 +522,7 @@
x="-533.67151"
y="-1586.3594"
style="font-size:40px;line-height:1.25">18</tspan></text>
<text
inkscape:label="#text7243"
id="text3104"
@ -504,6 +536,7 @@
x="-55.0742"
id="tspan3106"
sodipodi:role="line">15</tspan></text>
<text
transform="rotate(119.99998)"
xml:space="preserve"
@ -517,6 +550,7 @@
x="435.53021"
y="-1619.6591"
style="font-size:40px;line-height:1.25">12</tspan></text>
<text
inkscape:label="#text7243"
id="text3112"
@ -530,6 +564,7 @@
x="812.80585"
id="tspan3114"
sodipodi:role="line">9</tspan></text>
<text
transform="rotate(59.999989)"
xml:space="preserve"
@ -543,6 +578,7 @@
x="958.61719"
y="-798.08197"
style="font-size:40px;line-height:1.25">6</tspan></text>
<text
inkscape:label="#text7243"
id="text3120"
@ -556,6 +592,7 @@
x="840.15833"
id="tspan3122"
sodipodi:role="line">3</tspan></text>
<path
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccscccccc"
id="path3181"
@ -588,6 +625,7 @@
x="500.44846"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ededed;fill-opacity:1;stroke:none"
xml:space="preserve" />
<text
inkscape:label="#text7243"
id="text3553"
@ -601,6 +639,7 @@
x="630.51953"
id="tspan3555"
sodipodi:role="line">1</tspan></text>
<text
transform="rotate(20)"
xml:space="preserve"
@ -614,6 +653,7 @@
x="749.66882"
y="-169.55167"
style="font-size:40px;line-height:1.25">2</tspan></text>
<text
inkscape:label="#text7243"
id="text3561"
@ -627,6 +667,7 @@
x="906.01428"
id="tspan3563"
sodipodi:role="line">4</tspan></text>
<text
transform="rotate(50.000001)"
xml:space="preserve"
@ -640,6 +681,7 @@
x="946.68445"
y="-629.89954"
style="font-size:40px;line-height:1.25">5</tspan></text>
<text
inkscape:label="#text7243"
id="text3569"
@ -653,6 +695,7 @@
x="935.96802"
id="tspan3571"
sodipodi:role="line">7</tspan></text>
<text
transform="rotate(80.000001)"
xml:space="preserve"
@ -666,6 +709,7 @@
x="885.99927"
y="-1130.7375"
style="font-size:40px;line-height:1.25">8</tspan></text>
<text
inkscape:label="#text7243"
id="text3577"
@ -679,6 +723,7 @@
x="694.41644"
id="tspan3579"
sodipodi:role="line">10</tspan></text>
<text
transform="rotate(110)"
xml:space="preserve"
@ -692,6 +737,7 @@
x="574.31689"
y="-1532.7445"
style="font-size:40px;line-height:1.25">11</tspan></text>
<text
inkscape:label="#text7243"
id="text3585"
@ -705,6 +751,7 @@
x="275.10657"
id="tspan3587"
sodipodi:role="line">13</tspan></text>
<text
transform="rotate(140)"
xml:space="preserve"
@ -718,6 +765,7 @@
x="107.89569"
y="-1721.7783"
style="font-size:40px;line-height:1.25">14</tspan></text>
<text
inkscape:label="#text7243"
id="text3593"
@ -731,6 +779,7 @@
x="-225.14418"
id="tspan3595"
sodipodi:role="line">16</tspan></text>
<text
transform="rotate(170)"
xml:space="preserve"
@ -744,6 +793,7 @@
x="-388.07861"
y="-1663.1273"
style="font-size:40px;line-height:1.25">17</tspan></text>
<text
inkscape:label="#text7243"
id="text3601"
@ -757,6 +807,7 @@
x="-674.18842"
id="tspan3603"
sodipodi:role="line">19</tspan></text>
<text
transform="rotate(-160)"
xml:space="preserve"
@ -770,6 +821,7 @@
x="-788.46277"
y="-1361.9167"
style="font-size:40px;line-height:1.25">20</tspan></text>
<text
inkscape:label="#text7243"
id="text3609"
@ -783,6 +835,7 @@
x="-948.54529"
id="tspan3611"
sodipodi:role="line">22</tspan></text>
<text
transform="rotate(-130)"
xml:space="preserve"
@ -796,6 +849,7 @@
x="-986.69818"
y="-891.58624"
style="font-size:40px;line-height:1.25">23</tspan></text>
<text
inkscape:label="#text7243"
id="text3617"
@ -809,6 +863,7 @@
x="-977.29974"
id="tspan3619"
sodipodi:role="line">25</tspan></text>
<text
transform="rotate(-99.999999)"
xml:space="preserve"
@ -822,6 +877,7 @@
x="-927.61865"
y="-391.20975"
style="font-size:40px;line-height:1.25">26</tspan></text>
<text
inkscape:label="#text7243"
id="text3625"
@ -835,6 +891,7 @@
x="-748.75885"
id="tspan3627"
sodipodi:role="line">28</tspan></text>
<text
transform="rotate(-70)"
xml:space="preserve"
@ -848,6 +905,7 @@
x="-626.797"
y="1.9003587"
style="font-size:40px;line-height:1.25">29</tspan></text>
<text
inkscape:label="#text7243"
id="text3633"
@ -861,6 +919,7 @@
x="-329.55032"
id="tspan3635"
sodipodi:role="line">31</tspan></text>
<text
transform="rotate(-39.999999)"
xml:space="preserve"
@ -874,6 +933,7 @@
x="-165.2688"
y="201.06667"
style="font-size:40px;line-height:1.25">32</tspan></text>
<text
inkscape:label="#text7243"
id="text3641"
@ -887,6 +947,7 @@
x="170.84694"
id="tspan3643"
sodipodi:role="line">34</tspan></text>
<text
transform="rotate(-9.9999995)"
xml:space="preserve"
@ -900,6 +961,7 @@
x="334.76819"
y="141.04767"
style="font-size:40px;line-height:1.25">35</tspan></text>
</g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
@ -912,6 +974,7 @@
x="12.862175"
y="72.904839"
style="font-size:36px;line-height:1.25">999°/ 99</tspan></text>
<text
inkscape:label="#text7243"
id="gs"
@ -924,6 +987,7 @@
id="tspan3809"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">999</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
@ -936,6 +1000,7 @@
x="189.71132"
y="33.306854"
style="font-size:36px;line-height:1.25">999</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.32193px;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none;stroke-width:0.776827"
@ -948,6 +1013,7 @@
id="tspan3817"
x="13.895038"
y="33.26786">GS</tspan></text>
<text
inkscape:label="#text7243"
id="tasLbl"
@ -960,6 +1026,7 @@
id="tspan3821"
sodipodi:role="line"
style="font-size:27.9658px;line-height:1.25;stroke-width:0.776826">TAS</tspan></text>
<g
id="hdgGroup"
inkscape:label="#g3141"><path
@ -979,6 +1046,7 @@
x="476.28857"
y="65.781754"
style="font-size:48px;line-height:1.25">999</tspan></text>
<text
inkscape:label="#text7243"
id="hdgTrk"
@ -991,6 +1059,7 @@
id="tspan3849"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">HDG</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
@ -1003,6 +1072,7 @@
id="tspan3853"
x="578.66278"
y="67.549522">MAG</tspan></text>
</g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
@ -1015,6 +1085,7 @@
id="tspan3056"
x="39.859375"
y="919.5495">VOR 1</tspan></text>
<text
inkscape:label="#text7243"
id="dmeL"
@ -1028,6 +1099,7 @@
sodipodi:role="line"
style="font-size:24px;line-height:1.25">NM</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
@ -1040,6 +1112,7 @@
id="tspan3072"
x="39.9375"
y="956.56171">ABC</tspan></text>
<text
inkscape:label="#text7243"
id="vorR"
@ -1052,6 +1125,7 @@
id="tspan3076"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">VOR 2</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
@ -1065,6 +1139,7 @@
x="967.03125"
y="993.85461">NM</tspan></text>
<text
inkscape:label="#text7243"
id="vorRId"
@ -1077,6 +1152,7 @@
id="tspan3088"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">ABC</tspan></text>
<text
inkscape:label="#text7243"
id="eta"
@ -1089,6 +1165,7 @@
x="892.04407"
id="tspan3092"
sodipodi:role="line">08 34.4z</tspan></text>
<path
inkscape:connector-curvature="0"
id="path3159"
@ -1105,6 +1182,7 @@
id="tspan5002"
x="198.86594"
y="648.10144">99</tspan></text>
<g
id="trkInd"
inkscape:label="#g3107"
@ -1141,18 +1219,7 @@
id="altArc"
d="m 351.124,888.591 c 0,0 72.1,-39.455 161.041,-39.455 88.941,0 161.041,39.455 161.041,39.455 v 0"
style="fill:none;stroke:#00ff00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0"
inkscape:label="#path3888-1" /></g><text
inkscape:label="#text7243"
id="taOnly"
y="867.54938"
x="41.732624"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0099d9;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="867.54938"
x="41.732624"
id="tspan3093"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0099d9;fill-opacity:1"> </tspan></text>
inkscape:label="#path3888-1" /></g>
<g
inkscape:transform-center-x="-0.198874"
inkscape:transform-center-y="4.4952743"
@ -1206,6 +1273,7 @@
id="tspan3097"
x="41.732624"
y="769.12952"> </tspan></text>
<text
inkscape:label="#text7243"
id="status.arpt"
@ -1218,6 +1286,7 @@
id="tspan3101"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0099d9;fill-opacity:1"> </tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0099d9;fill-opacity:1;stroke:none"
@ -1230,6 +1299,7 @@
id="tspan3105"
x="41.732624"
y="697.12939"> </tspan></text>
<text
inkscape:label="#text7243"
id="status.sta"
@ -1242,6 +1312,7 @@
id="tspan3109"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0099d9;fill-opacity:1"> </tspan></text>
<g
id="hdgBug"
inkscape:label="#g3190"
@ -1279,6 +1350,7 @@
id="tspan3179"
x="967.04547"
y="67.431412">NM</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#cecdce;fill-opacity:1;stroke:none"
@ -1291,6 +1363,7 @@
id="tspan4172"
x="807.289"
y="33.929054">ILS </tspan></text>
<text
inkscape:label="#text7243"
id="ilsFreq"
@ -1303,6 +1376,7 @@
id="tspan4176"
sodipodi:role="line"
style="font-size:32px;line-height:125%;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#af0063;fill-opacity:1">999.99</tspan></text>
<path
style="display:inline;fill:none;stroke:#cecdce;stroke-width:3.28819;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1006.4144,954.86998 v -26.25734 h 10.557 l -17.7357,-26.20198 m -7.4321,52.45932 V 928.61264 H 981.5 l 17.7357,-26.20198 v -6.00909"
@ -1322,6 +1396,7 @@
x="948.04407"
y="34.099972"
style="font-size:36px;line-height:1.25">360</tspan></text>
<g
id="chrono_box"
transform="matrix(0.8,0,0,0.8,4.598825,187.15349)"
@ -1343,6 +1418,7 @@
x="6.5224471"
id="tspan3301"
sodipodi:role="line">00' 00''</tspan></text>
</g><text
inkscape:label="#text7243"
id="range_r"
@ -1355,6 +1431,7 @@
id="tspan4738"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;text-align:end;text-anchor:end">99</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:Sans;text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#0dc04b;fill-opacity:0.988235;stroke:none"
@ -1367,6 +1444,7 @@
x="445.28204"
y="833.28204"
style="font-size:40px;line-height:1.25">.1L</tspan></text>
<text
id="legDistR"
y="833.28204"
@ -1379,6 +1457,7 @@
id="tspan4461"
sodipodi:role="line"
style="font-size:40px;line-height:1.25">.1L</tspan></text>
<text
inkscape:label="#offset_lbl"
id="offsetLbl"
@ -1391,6 +1470,7 @@
x="13.282043"
y="739.28204"
style="font-size:40px;line-height:1.25">OFST</tspan></text>
<text
inkscape:label="#text7243"
id="hdgBug2ValL"
@ -1403,7 +1483,8 @@
x="-97.01178"
id="tspan744"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;fill:#179ab7;fill-opacity:1">999</tspan></text><text
style="font-size:36px;line-height:1.25;fill:#179ab7;fill-opacity:1">999</tspan></text>
<text
inkscape:label="#text7243"
id="hdgBug2ValR"
y="-418.00525"
@ -1415,7 +1496,8 @@
x="872.1673"
id="tspan748"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;fill:#179ab7;fill-opacity:1">999</tspan></text><path
style="font-size:36px;line-height:1.25;fill:#179ab7;fill-opacity:1">999</tspan></text>
<path
id="vorLSym"
style="display:inline;fill:none;stroke:#cecdce;stroke-width:3.28819;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 23.634,896.5254 v 7.83228 m 1.26e-4,24.4977 v 24.41763 M 23.634,903.63377 8.682512,928.85538 H 23.634 l 14.467869,0.21255 z"
@ -1432,7 +1514,8 @@
sodipodi:role="line"
id="tspan3068"
x="56.791557"
y="993.85461">999</tspan></text><text
y="993.85461">999</tspan></text>
<text
inkscape:label="#text7243"
id="dmeLDist2"
y="993.85461"
@ -1443,7 +1526,8 @@
x="55.73262"
id="tspan1329"
sodipodi:role="line"
style="font-size:24px;line-height:1.25;fill:#0dc04b">.9</tspan></text></g><g
style="font-size:24px;line-height:1.25;fill:#0dc04b">.9</tspan></text>
</g><g
id="dmeRDist"
transform="translate(-0.90081787)"><text
inkscape:label="#text7243"
@ -1456,7 +1540,8 @@
x="936.79144"
id="tspan3084"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;text-align:end;text-anchor:end;fill:#0dc04b">999</tspan></text><text
style="font-size:32px;line-height:1.25;text-align:end;text-anchor:end;fill:#0dc04b">999</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="935.7326"
@ -1467,7 +1552,8 @@
sodipodi:role="line"
id="tspan1346"
x="935.7326"
y="993.85461">.9</tspan></text></g><g
y="993.85461">.9</tspan></text>
</g><g
id="rangeRingMap"
style="display:inline"
inkscape:label="g5254-3"
@ -1502,6 +1588,7 @@
x="442.35898"
y="527.74359"
style="font-size:36px;line-height:1.25">.1L</tspan></text>
<text
inkscape:label="#text4463"
id="legDistCtrR"
@ -1514,6 +1601,7 @@
id="tspan4469"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">.1L</tspan></text>
<g
inkscape:label="#g4913"
transform="translate(398,238)"
@ -1626,6 +1714,7 @@
id="tspan5979"
x="485.10898"
y="74.867096">N</tspan></text>
<text
transform="rotate(-30.000011)"
xml:space="preserve"
@ -1639,6 +1728,7 @@
x="-7.8740234"
y="204.77251"
style="font-size:66px;line-height:1.25">33</tspan></text>
<text
inkscape:label="#text7243"
id="text3928"
@ -1652,6 +1742,7 @@
x="-495.84357"
id="tspan3930"
sodipodi:role="line">30</tspan></text>
<text
transform="rotate(-90)"
xml:space="preserve"
@ -1665,6 +1756,7 @@
id="tspan5981"
x="-855.73431"
y="-255.34297">W</tspan></text>
<text
inkscape:label="#text7243"
id="text3936"
@ -1678,6 +1770,7 @@
x="-1009.933"
id="tspan3938"
sodipodi:role="line">24</tspan></text>
<text
transform="rotate(-150.00002)"
xml:space="preserve"
@ -1691,6 +1784,7 @@
x="-896.57874"
y="-1222.205"
style="font-size:66px;line-height:1.25">21</tspan></text>
<text
inkscape:label="#text7243"
id="text3944"
@ -1704,6 +1798,7 @@
id="tspan5983"
x="-531.64703"
y="-1583.8081">S</tspan></text>
<text
transform="rotate(149.99999)"
xml:space="preserve"
@ -1717,6 +1812,7 @@
x="-66.888977"
y="-1735.4456"
style="font-size:66px;line-height:1.25">15</tspan></text>
<text
inkscape:label="#text7243"
id="text3952"
@ -1730,6 +1826,7 @@
x="422.39053"
id="tspan3954"
sodipodi:role="line">12</tspan></text>
<text
transform="rotate(90)"
xml:space="preserve"
@ -1743,6 +1840,7 @@
id="tspan5985"
x="801.43085"
y="-1265.2094">E</tspan></text>
<text
inkscape:label="#text7243"
id="text3960"
@ -1756,6 +1854,7 @@
x="950.93414"
id="tspan3962"
sodipodi:role="line">6</tspan></text>
<text
transform="rotate(29.999983)"
xml:space="preserve"
@ -1769,6 +1868,7 @@
x="835.90314"
y="-305.99823"
style="font-size:66px;line-height:1.25">3</tspan></text>
<path
inkscape:connector-curvature="0"
style="fill:#ededed;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:10.8998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
@ -1838,6 +1938,7 @@
id="tspan4007"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">CRS</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none"
@ -1850,6 +1951,7 @@
id="tspan4011"
x="854.72168"
y="104.87983"> </tspan></text>
<text
inkscape:label="#text7243"
id="crs"
@ -1862,6 +1964,7 @@
id="tspan4046"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">999</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none"
@ -1874,6 +1977,7 @@
x="913.95801"
y="106.12444"
style="font-size:36px;line-height:1.25">99.9</tspan></text>
<g
id="gsGroup"
transform="rotate(-90,1200.426,445.834)"
@ -1965,6 +2069,7 @@
x="515.13123"
y="30.118813"
style="font-size:36px;line-height:1.25">ILS APP</tspan></text>
</g><g
inkscape:groupmode="layer"
id="layer2"
@ -2053,6 +2158,7 @@
x="502.03751"
id="tspan3178"
sodipodi:role="line">N</tspan></text>
<path
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
@ -2077,6 +2183,7 @@
x="109.51917"
y="530.25165"
style="font-size:32px;line-height:1.25;fill:#cecdce">W</tspan></text>
<text
id="text3209"
y="530.25165"
@ -2088,6 +2195,7 @@
x="894.65656"
id="tspan3211"
sodipodi:role="line">E</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#cecdce;fill-opacity:1;stroke:none"
@ -2099,6 +2207,7 @@
x="501.9375"
y="922.25531"
style="font-size:32px;line-height:1.25;fill:#cecdce">S</tspan></text>
<path
inkscape:label="#path4994"
style="display:inline;fill:#cecdce;stroke:none"
@ -2132,6 +2241,7 @@
id="tspan5002-7"
x="33.747993"
y="560.56116">99</tspan></text>
<text
inkscape:label="#text7243"
id="rangePln1"
@ -2144,6 +2254,7 @@
id="tspan3201"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;text-align:center;text-anchor:middle">99</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
@ -2156,6 +2267,7 @@
id="tspan3205"
x="374.21063"
y="666.73596">99</tspan></text>
<text
inkscape:label="#text7243"
id="rangePln4"
@ -2168,6 +2280,7 @@
id="tspan3209"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;text-align:center;text-anchor:middle">99</tspan></text>
<text
inkscape:label="#text7243"
id="rangePln5"
@ -2180,6 +2293,7 @@
id="tspan4742"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1">99</tspan></text>
<g
transform="matrix(1.02827,0,0,1.02827,9.2744,-29.1838)"
inkscape:label="#g3956"
@ -2244,7 +2358,30 @@
id="tspan2199-5"
x="511.39594"
y="958.03772"
style="font-size:42.6667px;line-height:1.25;fill:#ff6600">GPS PRIMARY LOST</tspan></text></g><g
style="font-size:42.6667px;line-height:1.25;fill:#ff6600">GPS PRIMARY LOST</tspan></text>
</g><g
inkscape:groupmode="layer"
id="g415"
inkscape:label="ND_TCAS_MEMO"
style="display:inline"><rect
style="opacity:0.98999999;fill:none;stroke:#ffffff;stroke-width:3.15591002;stroke-miterlimit:4;stroke-dasharray:none"
id="taOnlyBox"
width="563.05048"
height="46.844471"
x="230.3676"
y="871.6969" /><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:42.66669846px;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none"
x="511.39594"
y="910.03772"
id="taOnly"
inkscape:label="#text3239"><tspan
sodipodi:role="line"
id="taOnlyText"
x="511.39594"
y="910.03772"
style="font-size:42.66669846px;line-height:1.25;fill:#ffffff">TA ONLY</tspan></text>
</g><g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="UNAVAIL_ARC"
@ -2255,7 +2392,8 @@
x="-364.83682"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ededed;fill-opacity:1;stroke:none"
xml:space="preserve"
transform="rotate(0.34999975)" /><g
transform="rotate(0.34999975)" />
<g
id="unavailARC"><g
id="rangeArcs-3"
inkscape:label="#g3890"
@ -2319,7 +2457,8 @@
id="tspan3241-5"
x="511.82605"
y="292.91833"
style="font-size:53.3333px;line-height:1.25;fill:#ff0000">HDG</tspan></text><text
style="font-size:53.3333px;line-height:1.25;fill:#ff0000">HDG</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:53.3333px;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff0000;fill-opacity:1;stroke:none"
x="510.7153"
@ -2330,7 +2469,8 @@
id="tspan2199"
x="510.7153"
y="399.58936"
style="font-size:53.3333px;line-height:1.25;fill:#ff0000">MAP NOT AVAIL</tspan></text></g><g
style="font-size:53.3333px;line-height:1.25;fill:#ff0000">MAP NOT AVAIL</tspan></text>
</g><g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="ND_MAIN_MSG"
@ -2345,4 +2485,5 @@
id="tspan3544"
x="510.7153"
y="537.58936"
style="font-size:53.3333px;line-height:1.25;fill:#0dc04b">RANGE CHANGE</tspan></text></g></svg>
style="font-size:53.3333px;line-height:1.25;fill:#0dc04b">RANGE CHANGE</tspan></text>
</g></svg>

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 150 KiB

View file

@ -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

View file

@ -25,16 +25,12 @@
<object-name>BatteryBtn21F</object-name>
<object-name>BusTieBtn2O</object-name>
<object-name>DitchBtn2O</object-name>
<object-name>ELAC1Btn1F</object-name>
<object-name>ELAC1Btn2O</object-name>
<object-name>EmerExtLtBtn2O</object-name>
<object-name>Eng1AntiIceBtn1F</object-name>
<object-name>Eng1AntiIceBtn2O</object-name>
<object-name>Eng2AntiIceBtn1F</object-name>
<object-name>Eng2AntiIceBtn2O</object-name>
<object-name>ExtPwrBtn2O</object-name>
<object-name>FAC1Btn1F</object-name>
<object-name>FAC1Btn2O</object-name>
<object-name>IR1Btn1F</object-name>
<object-name>IR1Btn2O</object-name>
<object-name>IR2Btn1F</object-name>
@ -42,8 +38,6 @@
<object-name>IR3Btn1F</object-name>
<object-name>IR3Btn2O</object-name>
<object-name>RamAirBtn2O</object-name>
<object-name>SEC1Btn1F</object-name>
<object-name>SEC1Btn2O</object-name>
<object-name>WingAntiIceBtn1F</object-name>
<object-name>WingAntiIceBtn2O</object-name>
<object-name>VentBlowBtn1F</object-name>
@ -73,10 +67,16 @@
<object-name>Eng1FireAgt2Btn2D</object-name>
<object-name>Eng2FireAgt2Btn1S</object-name>
<object-name>Eng2FireAgt2Btn2D</object-name>
<object-name>ELAC1Btn1F</object-name>
<object-name>ELAC1Btn2O</object-name>
<object-name>FAC1Btn1F</object-name>
<object-name>FAC1Btn2O</object-name>
<object-name>Gen1Btn1F</object-name>
<object-name>Gen1Btn2O</object-name>
<object-name>Gen2Btn1F</object-name>
<object-name>Gen2Btn2O</object-name>
<object-name>SEC1Btn1F</object-name>
<object-name>SEC1Btn2O</object-name>
<condition>
<or>
<greater-than-equals>

View file

@ -220,54 +220,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() {

View file

@ -989,28 +989,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() {

View file

@ -19,6 +19,22 @@
</action>
</animation>
<animation>
<type>select</type>
<object-name>uecam.screen</object-name>
<condition>
<not><property>modes/ecam-du-xfr</property></not>
</condition>
</animation>
<animation>
<type>select</type>
<object-name>uecam.screen2</object-name>
<condition>
<property>modes/ecam-du-xfr</property>
</condition>
</animation>
<animation>
<type>material</type>
<object-name>uecam.screen</object-name>

View file

@ -1,7 +1,7 @@
AC3Db
MATERIAL "buttonlights.003" rgb 0 0 0 amb 0 0 0 emis 1 1 1 spec 0 0 0 shi 0 trans 0
OBJECT world
kids 1
kids 2
OBJECT poly
name "uecam.screen"
loc 0.00468563 0.00107889 -0.584945
@ -10,6 +10,27 @@ pfd1.screen.mesh
texture "screen.png"
crease 30.000000
numvert 4
-0.585972 0.307175 0.656334
-0.539107 0.148191 0.656334
-0.539107 0.148191 0.488037
-0.585972 0.307175 0.488037
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"
loc 0.00468563 0.00107889 -0.584945
data 16
pfd1.screen.mesh
texture "screen.png"
crease 30.000000
numvert 4
-0.585972 0.307175 0.488037
-0.539107 0.148191 0.488037
-0.539107 0.148191 0.656334
@ -19,7 +40,7 @@ SURF 0x0
mat 0
refs 4
0 1.00067 0.999407
3 4.5e-05 0.999407
2 4.5e-05 0.000756
3 4.5e-005 0.999407
2 4.5e-005 0.000756
1 1.00067 0.000756
kids 0

View file

@ -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();

View file

@ -229,6 +229,10 @@ var Instrumentation = {
},
};
var Modes = {
EcamDuXfr: props.globals.getNode("/modes/ecam-du-xfr"),
};
var Options = {
eng: props.globals.getNode("/options/eng"),
};

View file

@ -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);

View file

@ -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;
}
}
},
};

View file

@ -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);

View file

@ -132,8 +132,8 @@ NOTE: These are external tools so make sure to check their terms of use
* [Trim Calculator (for FSLabs, but will work for us)](https://forums.flightsimlabs.com/index.php?/files/file/675-a320x-trim-calculation-tool/)
* [Take off performance calculator (excel)](https://forums.flightsimlabs.com/index.php?/files/file/763-a320-takeoff-and-landing-performance-calculator/)
* [Take off performance calculator (.exe -- different to above) ](http://www.avsimrus.com/f/for-pilots-19/popular-calculator-to-calculate-takeoff-parameters-in-from-airbus-type-36340.html)
* [Take off performance calculator (online)](http://wabpro.cz/A320/)
* [Air Berlin Normal Checklist](https://forums.flightsimlabs.com/index.php?/files/file/778-airberlin-normal-procedures-checklist/)
* [Navdata hosted by pinto](https://github.com/l0k1/fg-navaiddata)
* [A320 Normal Procedures](https://www.theairlinepilots.com/forumarchive/a320/a320-normal-procedures.pdf)
* [A319/A320 Concise Checklist](https://forums.x-plane.org/index.php?/files/file/50904-toliss-a319-concise-checklist-pdf/)
* [A319/A320 Concise Checklist](https://forums.x-plane.org/index.php?/files/file/50904-toliss-a319-concise-checklist-pdf/) (you will need a free xplane.org account)
<!--* [Take off performance calculator (online)](http://wabpro.cz/A320/)-->

File diff suppressed because it is too large Load diff

View file

@ -394,7 +394,7 @@
</test>
</switch>
<switch name="/systems/fctl/fac1-healthy">
<switch name="/systems/fctl/fac1-healthy-inp">
<default value="0"/>
<test logic="AND" value="1">
/controls/fctl/switches/fac1 eq 1
@ -406,6 +406,12 @@
</test>
</switch>
<actuator name="/systems/fctl/fac1-healthy">
<input>/systems/fctl/fac1-healthy-inp</input>
<rate_limit sense="incr">100</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<switch name="/systems/fctl/fac1-healthy-latch-set">
<default value="0"/>
<test logic="AND" value="1">
@ -435,7 +441,7 @@
<switch name="/systems/fctl/fac1-healthy-signal">
<default value="0"/>
<test logic="AND" value="1">
/systems/fctl/fac1-healthy eq 1
/systems/fctl/fac1-healthy ne 0
<test logic="OR">
/systems/fctl/fac1-healthy-latch eq 0
/gear/gear[0]/wow eq 1
@ -455,11 +461,11 @@
<default value="0"/>
<test logic="AND" value="1">
/controls/fctl/switches/fac1 eq 1
/systems/fctl/fac1-healthy eq 1
/systems/fctl/fac1-healthy-signal eq 1
</test>
</switch>
<switch name="/systems/fctl/fac2-healthy">
<switch name="/systems/fctl/fac2-healthy-inp">
<default value="0"/>
<test logic="AND" value="1">
/controls/fctl/switches/fac2 eq 1
@ -471,6 +477,12 @@
</test>
</switch>
<actuator name="/systems/fctl/fac2-healthy">
<input>/systems/fctl/fac2-healthy-inp</input>
<rate_limit sense="incr">100</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<switch name="/systems/fctl/fac2-healthy-latch-set">
<default value="0"/>
<test logic="AND" value="1">
@ -500,7 +512,7 @@
<switch name="/systems/fctl/fac2-healthy-signal">
<default value="0"/>
<test logic="AND" value="1">
/systems/fctl/fac2-healthy eq 1
/systems/fctl/fac2-healthy ne 0
<test logic="OR">
/systems/fctl/fac2-healthy-latch eq 0
/gear/gear[0]/wow eq 1
@ -520,7 +532,7 @@
<default value="0"/>
<test logic="AND" value="1">
/controls/fctl/switches/fac2 eq 1
/systems/fctl/fac2-healthy eq 1
/systems/fctl/fac2-healthy-signal eq 1
</test>
</switch>

View file

@ -364,7 +364,7 @@
<test logic="AND" value="1">
<test logic="OR">
/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
</test>
<test logic="OR">
<test logic="AND">
@ -1342,8 +1342,8 @@
<test logic="AND" value="1">
/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