Wheel page
This commit is contained in:
parent
8f1f93b142
commit
daba88a00e
5 changed files with 564 additions and 583 deletions
|
@ -138,7 +138,7 @@ var R4BrakeTempc = props.globals.getNode("/gear/gear[2]/R4brake-temp-degc", 1);
|
|||
var eng1_running = props.globals.getNode("/engines/engine[0]/running", 1);
|
||||
var eng2_running = props.globals.getNode("/engines/engine[1]/running", 1);
|
||||
var switch_cart = props.globals.getNode("/controls/electrical/ground-cart", 1);
|
||||
var spoiler_L1 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l1/final-deg", 1);
|
||||
var spoiler_L1 = props.globals.getNode("", 1);
|
||||
var spoiler_L2 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l2/final-deg", 1);
|
||||
var spoiler_L3 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l3/final-deg", 1);
|
||||
var spoiler_L4 = props.globals.getNode("/fdm/jsbsim/hydraulics/spoiler-l4/final-deg", 1);
|
||||
|
@ -1761,11 +1761,9 @@ var canvas_lowerECAM_fctl = {
|
|||
|
||||
# Spoilers
|
||||
if (spoiler_L1.getValue() < 1.5) {
|
||||
me["spoiler1Lex"].hide();
|
||||
me["spoiler1Lrt"].show();
|
||||
|
||||
} else {
|
||||
me["spoiler1Lrt"].hide();
|
||||
me["spoiler1Lex"].show();
|
||||
|
||||
}
|
||||
|
||||
if (spoiler_L2.getValue() < 1.5) {
|
||||
|
@ -2649,378 +2647,6 @@ var canvas_lowerECAM_hyd = {
|
|||
me.updateBottomStatus();
|
||||
},
|
||||
};
|
||||
|
||||
var canvas_lowerECAM_wheel = {
|
||||
new: func(canvas_group, file) {
|
||||
var m = {parents: [canvas_lowerECAM_wheel, canvas_lowerECAM_base]};
|
||||
m.init(canvas_group, file);
|
||||
|
||||
return m;
|
||||
},
|
||||
getKeys: func() {
|
||||
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","lgctltext","NORMbrk","NWStext","leftdoor","rightdoor","nosegeardoorL","nosegeardoorR",
|
||||
"autobrk","autobrkind","NWS","NWSrect","normbrk-rect","altnbrk","normbrkhyd","spoiler1Rex","spoiler1Rrt","spoiler2Rex","spoiler2Rrt","spoiler3Rex",
|
||||
"spoiler3Rrt","spoiler4Rex","spoiler4Rrt","spoiler5Rex","spoiler5Rrt","spoiler1Lex","spoiler1Lrt","spoiler2Lex","spoiler2Lrt",
|
||||
"spoiler3Lex","spoiler3Lrt","spoiler4Lex","spoiler4Lrt","spoiler5Lex","spoiler5Lrt","spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf",
|
||||
"spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf","spoiler5Lf","ALTNbrk","altnbrkhyd","altnbrk-rect","antiskidtext","brakearrow","accupress_text",
|
||||
"accuonlyarrow","accuonly","braketemp1","normbrkhyd","braketemp2","braketemp3","braketemp4","toparc1","toparc2","toparc3","toparc4","leftuplock",
|
||||
"noseuplock","rightuplock","Triangle-Left1","Triangle-Left2","Triangle-Nose1","Triangle-Nose2","Triangle-Right1","Triangle-Right2","BSCUrect1",
|
||||
"BSCUrect2","BSCU1","BSCU2","tirepress1","tirepress2","tirepress3","tirepress4","tirepress5","tirepress6"];
|
||||
},
|
||||
update: func() {
|
||||
blue_psi = systems.HYD.Psi.blue.getValue();
|
||||
green_psi = systems.HYD.Psi.green.getValue();
|
||||
yellow_psi = systems.HYD.Psi.yellow.getValue();
|
||||
autobrakemode = autobreak_mode.getValue();
|
||||
nosegear = gear1_pos.getValue();
|
||||
leftgear = gear2_pos.getValue();
|
||||
rightgear = gear3_pos.getValue();
|
||||
leftdoor = gear_door_L.getValue();
|
||||
rightdoor = gear_door_R.getValue();
|
||||
nosedoor = gear_door_N.getValue();
|
||||
gearlvr = gear_down.getValue();
|
||||
askidsw = systems.HYD.Switch.nwsSwitch.getBoolValue();
|
||||
brakemode = systems.HYD.Brakes.mode.getBoolValue();
|
||||
accum = systems.HYD.Brakes.accumPressPsi.getBoolValue();
|
||||
|
||||
# L/G CTL
|
||||
if ((leftgear == 0 or nosegear == 0 or rightgear == 0 and gearlvr == 0) or (leftgear == 1 or nosegear == 1 or rightgear == 1 and gearlvr == 1)) {
|
||||
me["lgctltext"].hide();
|
||||
} else {
|
||||
me["lgctltext"].show();
|
||||
}
|
||||
|
||||
# NWS / Antiskid / Brakes
|
||||
if (askidsw and yellow_psi >= 1500) {
|
||||
me["NWStext"].hide();
|
||||
me["NWS"].hide();
|
||||
me["NWSrect"].hide();
|
||||
me["antiskidtext"].hide();
|
||||
me["BSCUrect1"].hide();
|
||||
me["BSCUrect2"].hide();
|
||||
me["BSCU1"].hide();
|
||||
me["BSCU2"].hide();
|
||||
} else if (!askidsw and yellow_psi >= 1500) {
|
||||
me["NWStext"].show();
|
||||
me["NWS"].show();
|
||||
me["NWS"].setColor(0.0509,0.7529,0.2941);
|
||||
me["NWSrect"].show();
|
||||
me["antiskidtext"].show();
|
||||
me["antiskidtext"].setColor(0.7333,0.3803,0);
|
||||
me["BSCUrect1"].show();
|
||||
me["BSCUrect2"].show();
|
||||
me["BSCU1"].show();
|
||||
me["BSCU2"].show();
|
||||
} else {
|
||||
me["NWStext"].show();
|
||||
me["NWS"].show();
|
||||
me["NWS"].setColor(0.7333,0.3803,0);
|
||||
me["NWSrect"].show();
|
||||
me["antiskidtext"].show();
|
||||
me["antiskidtext"].setColor(0.7333,0.3803,0);
|
||||
me["BSCUrect1"].show();
|
||||
me["BSCUrect2"].show();
|
||||
me["BSCU1"].show();
|
||||
me["BSCU2"].show();
|
||||
}
|
||||
|
||||
if (green_psi >= 1500 and brakemode == 1) {
|
||||
me["NORMbrk"].hide();
|
||||
me["normbrk-rect"].hide();
|
||||
me["normbrkhyd"].hide();
|
||||
} else if (green_psi >= 1500 and askidsw) {
|
||||
me["NORMbrk"].show();
|
||||
me["normbrk-rect"].show();
|
||||
me["NORMbrk"].setColor(0.7333,0.3803,0);
|
||||
me["normbrkhyd"].setColor(0.0509,0.7529,0.2941);
|
||||
} else if (green_psi < 1500 or !askidsw) {
|
||||
me["NORMbrk"].show();
|
||||
me["normbrk-rect"].show();
|
||||
me["NORMbrk"].setColor(0.7333,0.3803,0);
|
||||
me["normbrkhyd"].setColor(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
if (brakemode != 2) {
|
||||
me["ALTNbrk"].hide();
|
||||
me["altnbrk-rect"].hide();
|
||||
me["altnbrkhyd"].hide();
|
||||
} else if (yellow_psi >= 1500) {
|
||||
me["ALTNbrk"].show();
|
||||
me["altnbrk-rect"].show();
|
||||
me["altnbrkhyd"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
me["ALTNbrk"].show();
|
||||
me["altnbrk-rect"].show();
|
||||
me["altnbrkhyd"].setColor(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
if (brakemode == 2 and accum < 200 and yellow_psi < 1500) {
|
||||
me["accupress_text"].show();
|
||||
me["brakearrow"].hide();
|
||||
me["accupress_text"].setColor(0.7333,0.3803,0);
|
||||
} else if (brakemode == 2 and accum > 200 and yellow_psi >= 1500){
|
||||
me["accupress_text"].show();
|
||||
me["brakearrow"].show();
|
||||
me["accupress_text"].setColor(0.0509,0.7529,0.2941);
|
||||
} else if (brakemode == 2 and accum > 200 and yellow_psi < 1500) {
|
||||
me["accuonlyarrow"].show();
|
||||
me["accuonly"].show();
|
||||
me["brakearrow"].hide();
|
||||
me["accupress_text"].hide();
|
||||
} else {
|
||||
me["accuonlyarrow"].hide();
|
||||
me["accuonly"].hide();
|
||||
me["brakearrow"].hide();
|
||||
me["accupress_text"].hide();
|
||||
}
|
||||
|
||||
# Gear Doors
|
||||
me["leftdoor"].setRotation(door_left.getValue() * D2R);
|
||||
me["rightdoor"].setRotation(door_right.getValue() * D2R);
|
||||
me["nosegeardoorL"].setRotation(door_nose_left.getValue() * D2R);
|
||||
me["nosegeardoorR"].setRotation(door_nose_right.getValue() * D2R);
|
||||
|
||||
if (nosedoor == 0) {
|
||||
me["nosegeardoorL"].setColorFill(0.0509,0.7529,0.2941);
|
||||
me["nosegeardoorR"].setColorFill(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
me["nosegeardoorL"].setColorFill(0.7333,0.3803,0);
|
||||
me["nosegeardoorR"].setColorFill(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
if (leftdoor == 0) {
|
||||
me["leftdoor"].setColorFill(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
me["leftdoor"].setColorFill(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
if (rightdoor == 0) {
|
||||
me["rightdoor"].setColorFill(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
me["rightdoor"].setColorFill(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
# Triangles
|
||||
if (leftgear < 0.2 or leftgear > 0.8) {
|
||||
me["Triangle-Left1"].hide();
|
||||
me["Triangle-Left2"].hide();
|
||||
} else {
|
||||
me["Triangle-Left1"].show();
|
||||
me["Triangle-Left2"].show();
|
||||
}
|
||||
|
||||
if (leftgear == 1) {
|
||||
me["Triangle-Left1"].setColor(0.0509,0.7529,0.2941);
|
||||
me["Triangle-Left2"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
me["Triangle-Left1"].setColor(1,0,0);
|
||||
me["Triangle-Left2"].setColor(1,0,0);
|
||||
}
|
||||
|
||||
if (nosegear < 0.2 or nosegear > 0.8) {
|
||||
me["Triangle-Nose1"].hide();
|
||||
me["Triangle-Nose2"].hide();
|
||||
} else {
|
||||
me["Triangle-Nose1"].show();
|
||||
me["Triangle-Nose2"].show();
|
||||
}
|
||||
|
||||
if (nosegear == 1) {
|
||||
me["Triangle-Nose1"].setColor(0.0509,0.7529,0.2941);
|
||||
me["Triangle-Nose2"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
me["Triangle-Nose1"].setColor(1,0,0);
|
||||
me["Triangle-Nose2"].setColor(1,0,0);
|
||||
}
|
||||
|
||||
if (rightgear < 0.2 or rightgear > 0.8) {
|
||||
me["Triangle-Right1"].hide();
|
||||
me["Triangle-Right2"].hide();
|
||||
} else {
|
||||
me["Triangle-Right1"].show();
|
||||
me["Triangle-Right2"].show();
|
||||
}
|
||||
|
||||
if (rightgear == 1) {
|
||||
me["Triangle-Right1"].setColor(0.0509,0.7529,0.2941);
|
||||
me["Triangle-Right2"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
me["Triangle-Right1"].setColor(1,0,0);
|
||||
me["Triangle-Right2"].setColor(1,0,0);
|
||||
}
|
||||
|
||||
# Autobrake
|
||||
if (autobrakemode == 0) {
|
||||
me["autobrkind"].hide();
|
||||
} elsif (autobrakemode == 1) {
|
||||
me["autobrkind"].show();
|
||||
me["autobrkind"].setText(sprintf("%s", "LO"));
|
||||
} elsif (autobrakemode == 2) {
|
||||
me["autobrkind"].show();
|
||||
me["autobrkind"].setText(sprintf("%s", "MED"));
|
||||
} elsif (autobrakemode == 3) {
|
||||
me["autobrkind"].show();
|
||||
me["autobrkind"].setText(sprintf("%s", "MAX"));
|
||||
}
|
||||
|
||||
if (autobrakemode != 0) {
|
||||
me["autobrk"].show();
|
||||
} elsif (autobrakemode == 0) {
|
||||
me["autobrk"].hide();
|
||||
}
|
||||
|
||||
# Spoilers
|
||||
if (spoiler_L1.getValue() < 1.5) {
|
||||
me["spoiler1Lex"].hide();
|
||||
me["spoiler1Lrt"].show();
|
||||
} else {
|
||||
me["spoiler1Lrt"].hide();
|
||||
me["spoiler1Lex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_L2.getValue() < 1.5) {
|
||||
me["spoiler2Lex"].hide();
|
||||
me["spoiler2Lrt"].show();
|
||||
} else {
|
||||
me["spoiler2Lrt"].hide();
|
||||
me["spoiler2Lex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_L3.getValue() < 1.5) {
|
||||
me["spoiler3Lex"].hide();
|
||||
me["spoiler3Lrt"].show();
|
||||
} else {
|
||||
me["spoiler3Lrt"].hide();
|
||||
me["spoiler3Lex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_L4.getValue() < 1.5) {
|
||||
me["spoiler4Lex"].hide();
|
||||
me["spoiler4Lrt"].show();
|
||||
} else {
|
||||
me["spoiler4Lrt"].hide();
|
||||
me["spoiler4Lex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_L5.getValue() < 1.5) {
|
||||
me["spoiler5Lex"].hide();
|
||||
me["spoiler5Lrt"].show();
|
||||
} else {
|
||||
me["spoiler5Lrt"].hide();
|
||||
me["spoiler5Lex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_R1.getValue() < 1.5) {
|
||||
me["spoiler1Rex"].hide();
|
||||
me["spoiler1Rrt"].show();
|
||||
} else {
|
||||
me["spoiler1Rrt"].hide();
|
||||
me["spoiler1Rex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_R2.getValue() < 1.5) {
|
||||
me["spoiler2Rex"].hide();
|
||||
me["spoiler2Rrt"].show();
|
||||
} else {
|
||||
me["spoiler2Rrt"].hide();
|
||||
me["spoiler2Rex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_R3.getValue() < 1.5) {
|
||||
me["spoiler3Rex"].hide();
|
||||
me["spoiler3Rrt"].show();
|
||||
} else {
|
||||
me["spoiler3Rrt"].hide();
|
||||
me["spoiler3Rex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_R4.getValue() < 1.5) {
|
||||
me["spoiler4Rex"].hide();
|
||||
me["spoiler4Rrt"].show();
|
||||
} else {
|
||||
me["spoiler4Rrt"].hide();
|
||||
me["spoiler4Rex"].show();
|
||||
}
|
||||
|
||||
if (spoiler_R5.getValue() < 1.5) {
|
||||
me["spoiler5Rex"].hide();
|
||||
me["spoiler5Rrt"].show();
|
||||
} else {
|
||||
me["spoiler5Rrt"].hide();
|
||||
me["spoiler5Rex"].show();
|
||||
}
|
||||
|
||||
# Spoiler Fail
|
||||
if (fbw.FBW.Failures.spoilerl1.getValue() or green_psi < 1500) {
|
||||
me["spoiler1Lex"].setColor(0.7333,0.3803,0);
|
||||
me["spoiler1Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (spoiler_L1.getValue() < 1.5) {
|
||||
me["spoiler1Lf"].show();
|
||||
} else {
|
||||
me["spoiler1Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
me["spoiler1Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler1Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler1Lf"].hide();
|
||||
}
|
||||
|
||||
if (fbw.FBW.Failures.spoilerl2.getValue() or yellow_psi < 1500) {
|
||||
me["spoiler2Lex"].setColor(0.7333,0.3803,0);
|
||||
me["spoiler2Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (spoiler_L2.getValue() < 1.5) {
|
||||
me["spoiler2Lf"].show();
|
||||
} else {
|
||||
me["spoiler2Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
me["spoiler2Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler2Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler2Lf"].hide();
|
||||
}
|
||||
|
||||
if (fbw.FBW.Failures.spoilerl3.getValue() or blue_psi < 1500) {
|
||||
me["spoiler3Lex"].setColor(0.7333,0.3803,0);
|
||||
me["spoiler3Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (spoiler_L3.getValue() < 1.5) {
|
||||
me["spoiler3Lf"].show();
|
||||
} else {
|
||||
me["spoiler3Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
me["spoiler3Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler3Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler3Lf"].hide();
|
||||
}
|
||||
|
||||
if (fbw.FBW.Failures.spoilerl4.getValue() or yellow_psi < 1500) {
|
||||
me["spoiler4Lex"].setColor(0.7333,0.3803,0);
|
||||
me["spoiler4Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (spoiler_L4.getValue() < 1.5) {
|
||||
me["spoiler4Lf"].show();
|
||||
} else {
|
||||
me["spoiler4Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
me["spoiler4Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler4Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler4Lf"].hide();
|
||||
}
|
||||
|
||||
if (fbw.FBW.Failures.spoilerl5.getValue() or green_psi < 1500) {
|
||||
me["spoiler5Lex"].setColor(0.7333,0.3803,0);
|
||||
me["spoiler5Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (spoiler_L5.getValue() < 1.5) {
|
||||
me["spoiler5Lf"].show();
|
||||
} else {
|
||||
me["spoiler5Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
me["spoiler5Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler5Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler5Lf"].hide();
|
||||
}
|
||||
|
||||
if (fbw.FBW.Failures.spoilerr1.getValue() or green_psi < 1500) {
|
||||
me["spoiler1Rex"].setColor(0.7333,0.3803,0);
|
||||
me["spoiler1Rrt"].setColor(0.7333,0.3803,0);
|
||||
|
@ -3090,197 +2716,3 @@ var canvas_lowerECAM_wheel = {
|
|||
me["spoiler5Rrt"].setColor(0.0509,0.7529,0.2941);
|
||||
me["spoiler5Rf"].hide();
|
||||
}
|
||||
|
||||
# Show Brakes temperature
|
||||
if (L1BrakeTempc.getValue() > 300) {
|
||||
me["braketemp1"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["braketemp1"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
|
||||
if (L2BrakeTempc.getValue() > 300) {
|
||||
me["braketemp2"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["braketemp2"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
if (R3BrakeTempc.getValue() > 300) {
|
||||
me["braketemp3"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["braketemp3"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
if (R4BrakeTempc.getValue() > 300) {
|
||||
me["braketemp4"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["braketemp4"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
|
||||
# Brake arcs
|
||||
if (L1BrakeTempc.getValue() > 300) {
|
||||
me["toparc1"].setColor(0.7333,0.3803,0);
|
||||
} else
|
||||
{
|
||||
if (L1BrakeTempc.getValue() > 100 and L1BrakeTempc.getValue() < 300)
|
||||
{
|
||||
me["toparc1"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
else {
|
||||
me["toparc1"].setColor(0.8078,0.8039,0.8078);
|
||||
}
|
||||
}
|
||||
if (L2BrakeTempc.getValue() > 300) {
|
||||
me["toparc2"].setColor(0.7333,0.3803,0);
|
||||
} else
|
||||
{
|
||||
if (L2BrakeTempc.getValue() > 100 and L2BrakeTempc.getValue() < 300)
|
||||
{
|
||||
me["toparc2"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
else {
|
||||
me["toparc2"].setColor(0.8078,0.8039,0.8078);
|
||||
}
|
||||
}
|
||||
if (R3BrakeTempc.getValue() > 300) {
|
||||
me["toparc3"].setColor(0.7333,0.3803,0);
|
||||
} else
|
||||
{
|
||||
if (R3BrakeTempc.getValue() > 100 and R3BrakeTempc.getValue() < 300)
|
||||
{
|
||||
me["toparc3"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
else {
|
||||
me["toparc3"].setColor(0.8078,0.8039,0.8078);
|
||||
}
|
||||
}
|
||||
if (R4BrakeTempc.getValue() > 300) {
|
||||
me["toparc4"].setColor(0.7333,0.3803,0);
|
||||
} else
|
||||
{
|
||||
if (R4BrakeTempc.getValue() > 100 and R4BrakeTempc.getValue() < 300)
|
||||
{
|
||||
me["toparc4"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
else {
|
||||
me["toparc4"].setColor(0.8078,0.8039,0.8078);
|
||||
}
|
||||
}
|
||||
me["braketemp1"].setText(sprintf("%s", math.round(L1BrakeTempc.getValue(), 1)));
|
||||
me["braketemp2"].setText(sprintf("%s", math.round(L2BrakeTempc.getValue(), 1)));
|
||||
me["braketemp3"].setText(sprintf("%s", math.round(R3BrakeTempc.getValue(), 1)));
|
||||
me["braketemp4"].setText(sprintf("%s", math.round(R4BrakeTempc.getValue(), 1)));
|
||||
me["braketemp1"].show();
|
||||
me["braketemp2"].show();
|
||||
me["braketemp3"].show();
|
||||
me["braketemp4"].show();
|
||||
me["toparc1"].show();
|
||||
me["toparc2"].show();
|
||||
me["toparc3"].show();
|
||||
me["toparc4"].show();
|
||||
|
||||
# Hide not yet implemented stuff
|
||||
me["leftuplock"].hide();
|
||||
me["noseuplock"].hide();
|
||||
me["rightuplock"].hide();
|
||||
me["tirepress1"].hide();
|
||||
me["tirepress2"].hide();
|
||||
me["tirepress3"].hide();
|
||||
me["tirepress4"].hide();
|
||||
me["tirepress5"].hide();
|
||||
me["tirepress6"].hide();
|
||||
|
||||
me.updateBottomStatus();
|
||||
},
|
||||
};
|
||||
|
||||
var canvas_lowerECAM_test = {
|
||||
init: func(canvas_group, file) {
|
||||
var font_mapper = func(family, weight) {
|
||||
return "LiberationFonts/LiberationSans-Regular.ttf";
|
||||
};
|
||||
|
||||
canvas.parsesvg(canvas_group, file, {"font-mapper": font_mapper});
|
||||
|
||||
var svg_keys = me.getKeys();
|
||||
foreach(var key; svg_keys) {
|
||||
me[key] = canvas_group.getElementById(key);
|
||||
}
|
||||
|
||||
me.page = canvas_group;
|
||||
|
||||
return me;
|
||||
},
|
||||
new: func(canvas_group, file) {
|
||||
var m = {parents: [canvas_lowerECAM_test]};
|
||||
m.init(canvas_group, file);
|
||||
|
||||
return m;
|
||||
},
|
||||
getKeys: func() {
|
||||
return ["Test_white","Test_text"];
|
||||
},
|
||||
update: func() {
|
||||
var elapsedtime = pts.Sim.Time.elapsedSec.getValue();
|
||||
if (du4_test_time.getValue() + 1 >= elapsedtime) {
|
||||
me["Test_white"].show();
|
||||
me["Test_text"].hide();
|
||||
} else {
|
||||
me["Test_white"].hide();
|
||||
me["Test_text"].show();
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
setlistener("/sim/signals/fdm-initialized", func {
|
||||
lowerECAM_display = canvas.new({
|
||||
"name": "lowerECAM",
|
||||
"size": [1024, 1024],
|
||||
"view": [1024, 1024],
|
||||
"mipmapping": 1
|
||||
});
|
||||
lowerECAM_display.addPlacement({"node": "lecam.screen"});
|
||||
var groupApu = lowerECAM_display.createGroup();
|
||||
var groupBleed = lowerECAM_display.createGroup();
|
||||
var groupCond = lowerECAM_display.createGroup();
|
||||
var groupCrz = lowerECAM_display.createGroup();
|
||||
var groupDoor = lowerECAM_display.createGroup();
|
||||
var groupElec = lowerECAM_display.createGroup();
|
||||
var groupEng = lowerECAM_display.createGroup();
|
||||
var groupFctl = lowerECAM_display.createGroup();
|
||||
var groupFuel = lowerECAM_display.createGroup();
|
||||
var groupPress = lowerECAM_display.createGroup();
|
||||
var groupStatus = lowerECAM_display.createGroup();
|
||||
var groupHyd = lowerECAM_display.createGroup();
|
||||
var groupWheel = lowerECAM_display.createGroup();
|
||||
var group_test = lowerECAM_display.createGroup();
|
||||
|
||||
lowerECAM_apu = canvas_lowerECAM_apu.new(groupApu, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/apu.svg");
|
||||
lowerECAM_bleed = canvas_lowerECAM_bleed.new(groupBleed, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/bleed.svg");
|
||||
lowerECAM_cond = canvas_lowerECAM_cond.new(groupCond, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/cond.svg");
|
||||
lowerECAM_crz = canvas_lowerECAM_crz.new(groupCrz, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/crz.svg");
|
||||
lowerECAM_door = canvas_lowerECAM_door.new(groupDoor, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/door.svg");
|
||||
lowerECAM_elec = canvas_lowerECAM_elec.new(groupElec, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/elec.svg");
|
||||
lowerECAM_eng = canvas_lowerECAM_eng.new(groupEng, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/eng.svg");
|
||||
lowerECAM_fctl = canvas_lowerECAM_fctl.new(groupFctl, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/fctl.svg");
|
||||
lowerECAM_fuel = canvas_lowerECAM_fuel.new(groupFuel, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/fuel.svg");
|
||||
lowerECAM_press = canvas_lowerECAM_press.new(groupPress, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/press.svg");
|
||||
lowerECAM_status = canvas_lowerECAM_status.new(groupStatus, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/status.svg");
|
||||
lowerECAM_hyd = canvas_lowerECAM_hyd.new(groupHyd, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/hyd.svg");
|
||||
lowerECAM_wheel = canvas_lowerECAM_wheel.new(groupWheel, "Aircraft/A320-family/Models/Instruments/Lower-ECAM/res/wheel.svg");
|
||||
lowerECAM_test = canvas_lowerECAM_test.new(group_test, "Aircraft/A320-family/Models/Instruments/Common/res/du-test.svg");
|
||||
|
||||
lowerECAM_update.start();
|
||||
if (rate.getValue() > 1) {
|
||||
l_rateApply();
|
||||
}
|
||||
});
|
||||
|
||||
var l_rateApply = func {
|
||||
lowerECAM_update.restart(0.05 * rate.getValue());
|
||||
}
|
||||
|
||||
var lowerECAM_update = maketimer(0.05, func {
|
||||
canvas_lowerECAM_base.update();
|
||||
});
|
||||
|
||||
setlistener("/systems/electrical/bus/ac-2", func() {
|
||||
canvas_lowerECAM_base.updateDu4();
|
||||
}, 0, 0);
|
||||
|
|
|
@ -21,8 +21,517 @@ var canvas_lowerECAMPageWheel =
|
|||
obj.units = acconfig_weight_kgs.getValue();
|
||||
|
||||
# init
|
||||
obj["leftuplock"].hide();
|
||||
obj["noseuplock"].hide();
|
||||
obj["rightuplock"].hide();
|
||||
obj["tirepress1"].hide();
|
||||
obj["tirepress2"].hide();
|
||||
obj["tirepress3"].hide();
|
||||
obj["tirepress4"].hide();
|
||||
obj["tirepress5"].hide();
|
||||
obj["tirepress6"].hide();
|
||||
|
||||
|
||||
obj.update_items = [
|
||||
props.UpdateManager.FromHashList(["gearPosNorm","gearPosNorm1","gearPosNorm2","gearLever"], nil, func(val) {
|
||||
if (val.gearLever and (val.gearPosNorm != 1 or val.gearPosNorm1 != 1 or val.gearPosNorm2 != 1)) {
|
||||
obj["lgctltext"].show();
|
||||
} elsif (!val.gearLever and (val.gearPosNorm != 0 or val.gearPosNorm1 != 0 or val.gearPosNorm2 != 0)) {
|
||||
obj["lgctltext"].show();
|
||||
} else {
|
||||
obj["lgctltext"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("gearPosNorm", 0.01, func(val) {
|
||||
if (val < 0.2 or val > 0.8) {
|
||||
obj["Triangle-Nose1"].hide();
|
||||
obj["Triangle-Nose2"].hide();
|
||||
} else {
|
||||
obj["Triangle-Nose1"].show();
|
||||
obj["Triangle-Nose2"].show();
|
||||
}
|
||||
|
||||
if (val == 1) {
|
||||
obj["Triangle-Nose1"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["Triangle-Nose2"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["Triangle-Nose1"].setColor(1,0,0);
|
||||
obj["Triangle-Nose2"].setColor(1,0,0);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("gearPosNorm1", 0.01, func(val) {
|
||||
if (val < 0.2 or val > 0.8) {
|
||||
obj["Triangle-Left1"].hide();
|
||||
obj["Triangle-Left2"].hide();
|
||||
} else {
|
||||
obj["Triangle-Left1"].show();
|
||||
obj["Triangle-Left2"].show();
|
||||
}
|
||||
|
||||
if (val == 1) {
|
||||
obj["Triangle-Left1"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["Triangle-Left2"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["Triangle-Left1"].setColor(1,0,0);
|
||||
obj["Triangle-Left2"].setColor(1,0,0);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("gearPosNorm2", 0.01, func(val) {
|
||||
if (val < 0.2 or val > 0.8) {
|
||||
obj["Triangle-Right1"].hide();
|
||||
obj["Triangle-Right2"].hide();
|
||||
} else {
|
||||
obj["Triangle-Right1"].show();
|
||||
obj["Triangle-Right2"].show();
|
||||
}
|
||||
|
||||
if (val == 1) {
|
||||
obj["Triangle-Right1"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["Triangle-Right2"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["Triangle-Right1"].setColor(1,0,0);
|
||||
obj["Triangle-Right2"].setColor(1,0,0);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["yellow","green","NWSSwitch","brakesMode","val.accumPressPsiPressPsi"], nil, func(val) {
|
||||
if (val.NWSSwitch and val.yellow >= 1500) {
|
||||
obj["NWStext"].hide();
|
||||
obj["NWS"].hide();
|
||||
obj["NWSrect"].hide();
|
||||
obj["antiskidtext"].hide();
|
||||
obj["BSCUrect1"].hide();
|
||||
obj["BSCUrect2"].hide();
|
||||
obj["BSCU1"].hide();
|
||||
obj["BSCU2"].hide();
|
||||
} else if (!val.NWSSwitch and val.yellow >= 1500) {
|
||||
obj["NWStext"].show();
|
||||
obj["NWS"].show();
|
||||
obj["NWS"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["NWSrect"].show();
|
||||
obj["antiskidtext"].show();
|
||||
obj["antiskidtext"].setColor(0.7333,0.3803,0);
|
||||
obj["BSCUrect1"].show();
|
||||
obj["BSCUrect2"].show();
|
||||
obj["BSCU1"].show();
|
||||
obj["BSCU2"].show();
|
||||
} else {
|
||||
obj["NWStext"].show();
|
||||
obj["NWS"].show();
|
||||
obj["NWS"].setColor(0.7333,0.3803,0);
|
||||
obj["NWSrect"].show();
|
||||
obj["antiskidtext"].show();
|
||||
obj["antiskidtext"].setColor(0.7333,0.3803,0);
|
||||
obj["BSCUrect1"].show();
|
||||
obj["BSCUrect2"].show();
|
||||
obj["BSCU1"].show();
|
||||
obj["BSCU2"].show();
|
||||
}
|
||||
|
||||
if (val.green >= 1500 and val.brakesMode == 1) {
|
||||
obj["NORMbrk"].hide();
|
||||
obj["normbrk-rect"].hide();
|
||||
obj["normbrkhyd"].hide();
|
||||
} else if (val.green >= 1500 and val.NWSSwitch) {
|
||||
obj["NORMbrk"].show();
|
||||
obj["normbrk-rect"].show();
|
||||
obj["NORMbrk"].setColor(0.7333,0.3803,0);
|
||||
obj["normbrkhyd"].setColor(0.0509,0.7529,0.2941);
|
||||
} else if (val.green < 1500 or !val.NWSSwitch) {
|
||||
obj["NORMbrk"].show();
|
||||
obj["normbrk-rect"].show();
|
||||
obj["NORMbrk"].setColor(0.7333,0.3803,0);
|
||||
obj["normbrkhyd"].setColor(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
if (val.brakesMode != 2) {
|
||||
obj["ALTNbrk"].hide();
|
||||
obj["altnbrk-rect"].hide();
|
||||
obj["altnbrkhyd"].hide();
|
||||
} else if (val.yellow >= 1500) {
|
||||
obj["ALTNbrk"].show();
|
||||
obj["altnbrk-rect"].show();
|
||||
obj["altnbrkhyd"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["ALTNbrk"].show();
|
||||
obj["altnbrk-rect"].show();
|
||||
obj["altnbrkhyd"].setColor(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
if (val.brakesMode == 2 and val.accumPressPsi < 200 and val.yellow < 1500) {
|
||||
obj["accupress_text"].show();
|
||||
obj["brakearrow"].hide();
|
||||
obj["accupress_text"].setColor(0.7333,0.3803,0);
|
||||
} else if (val.brakesMode == 2 and val.accumPressPsi > 200 and val.yellow >= 1500){
|
||||
obj["accupress_text"].show();
|
||||
obj["brakearrow"].show();
|
||||
obj["accupress_text"].setColor(0.0509,0.7529,0.2941);
|
||||
} else if (val.brakesMode == 2 and val.accumPressPsi > 200 and val.yellow < 1500) {
|
||||
obj["accuonlyarrow"].show();
|
||||
obj["accuonly"].show();
|
||||
obj["brakearrow"].hide();
|
||||
obj["accupress_text"].hide();
|
||||
} else {
|
||||
obj["accuonlyarrow"].hide();
|
||||
obj["accuonly"].hide();
|
||||
obj["brakearrow"].hide();
|
||||
obj["accupress_text"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["brakeAutobrkMode"], nil, func(val) {
|
||||
if (val.brakeAutobrkMode == 0) {
|
||||
obj["autobrkind"].hide();
|
||||
} elsif (val.brakeAutobrkMode == 1) {
|
||||
obj["autobrkind"].show();
|
||||
obj["autobrkind"].setText(sprintf("%s", "LO"));
|
||||
} elsif (val.brakeAutobrkMode == 2) {
|
||||
obj["autobrkind"].show();
|
||||
obj["autobrkind"].setText(sprintf("%s", "MED"));
|
||||
} elsif (val.brakeAutobrkMode == 3) {
|
||||
obj["autobrkind"].show();
|
||||
obj["autobrkind"].setText(sprintf("%s", "MAX"));
|
||||
}
|
||||
|
||||
if (val.brakeAutobrkMode != 0) {
|
||||
obj["autobrk"].show();
|
||||
} else {
|
||||
obj["autobrk"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("brakeLeft1", 0.5, func(val) {
|
||||
obj["braketemp1"].setText(sprintf("%s", math.round(val, 5)));
|
||||
|
||||
if (val > 300) {
|
||||
obj["braketemp1"].setColor(0.7333,0.3803,0);
|
||||
obj["toparc1"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
if (val > 100 and val <= 300) {
|
||||
obj["toparc1"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["toparc1"].setColor(0.8078,0.8039,0.8078);
|
||||
}
|
||||
obj["braketemp1"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("brakeLeft2", 0.5, func(val) {
|
||||
obj["braketemp2"].setText(sprintf("%s", math.round(val, 5)));
|
||||
|
||||
if (val > 300) {
|
||||
obj["braketemp2"].setColor(0.7333,0.3803,0);
|
||||
obj["toparc2"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
if (val > 100 and val <= 300) {
|
||||
obj["toparc2"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["toparc2"].setColor(0.8078,0.8039,0.8078);
|
||||
}
|
||||
obj["braketemp2"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("brakeRight1", 0.5, func(val) {
|
||||
obj["braketemp3"].setText(sprintf("%s", math.round(val, 5)));
|
||||
|
||||
if (val > 300) {
|
||||
obj["braketemp3"].setColor(0.7333,0.3803,0);
|
||||
obj["toparc3"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
if (val > 100 and val <= 300) {
|
||||
obj["toparc3"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["toparc3"].setColor(0.8078,0.8039,0.8078);
|
||||
}
|
||||
obj["braketemp3"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("brakeRight2", 0.5, func(val) {
|
||||
obj["braketemp4"].setText(sprintf("%s", math.round(val, 5)));
|
||||
|
||||
if (val > 300) {
|
||||
obj["braketemp4"].setColor(0.7333,0.3803,0);
|
||||
obj["toparc4"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
if (val > 100 and val <= 300) {
|
||||
obj["toparc4"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["toparc4"].setColor(0.8078,0.8039,0.8078);
|
||||
}
|
||||
obj["braketemp4"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("wheelLeftDoor", 0.5, func(val) {
|
||||
obj["leftdoor"].setRotation(val * D2R);
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("wheelNoseLeftDoor", 0.5, func(val) {
|
||||
obj["nosegeardoorL"].setRotation(val * D2R);
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("wheelNoseRightDoor", 0.5, func(val) {
|
||||
obj["nosegeardoorR"].setRotation(val * D2R);
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("wheelRightDoor", 0.5, func(val) {
|
||||
obj["rightdoor"].setRotation(val * D2R);
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("wheelLeftDoorPos", 0.01, func(val) {
|
||||
if (val == 0) {
|
||||
obj["leftdoor"].setColorFill(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["leftdoor"].setColorFill(0.7333,0.3803,0);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("wheelNoseDoorPos", 0.01, func(val) {
|
||||
if (val == 0) {
|
||||
obj["nosegeardoorL"].setColorFill(0.0509,0.7529,0.2941);
|
||||
obj["nosegeardoorR"].setColorFill(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["nosegeardoorL"].setColorFill(0.7333,0.3803,0);
|
||||
obj["nosegeardoorR"].setColorFill(0.7333,0.3803,0);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("wheelRightDoorPos", 0.01, func(val) {
|
||||
if (val == 0) {
|
||||
obj["rightdoor"].setColorFill(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
obj["rightdoor"].setColorFill(0.7333,0.3803,0);
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerL1", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler1Lex"].hide();
|
||||
obj["spoiler1Lrt"].show();
|
||||
} else {
|
||||
obj["spoiler1Lrt"].hide();
|
||||
obj["spoiler1Lex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerL2", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler2Lex"].hide();
|
||||
obj["spoiler2Lrt"].show();
|
||||
} else {
|
||||
obj["spoiler2Lrt"].hide();
|
||||
obj["spoiler2Lex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerL3", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler3Lex"].hide();
|
||||
obj["spoiler3Lrt"].show();
|
||||
} else {
|
||||
obj["spoiler3Lrt"].hide();
|
||||
obj["spoiler3Lex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerL4", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler4Lex"].hide();
|
||||
obj["spoiler4Lrt"].show();
|
||||
} else {
|
||||
obj["spoiler4Lrt"].hide();
|
||||
obj["spoiler4Lex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerL5", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler5Lex"].hide();
|
||||
obj["spoiler5Lrt"].show();
|
||||
} else {
|
||||
obj["spoiler5Lrt"].hide();
|
||||
obj["spoiler5Lex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerR1", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler1Rex"].hide();
|
||||
obj["spoiler1Rrt"].show();
|
||||
} else {
|
||||
obj["spoiler1Rrt"].hide();
|
||||
obj["spoiler1Rex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerR2", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler2Rex"].hide();
|
||||
obj["spoiler2Rrt"].show();
|
||||
} else {
|
||||
obj["spoiler2Rrt"].hide();
|
||||
obj["spoiler2Rex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerR3", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler3Rex"].hide();
|
||||
obj["spoiler3Rrt"].show();
|
||||
} else {
|
||||
obj["spoiler3Rrt"].hide();
|
||||
obj["spoiler3Rex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerR4", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler4Rex"].hide();
|
||||
obj["spoiler4Rrt"].show();
|
||||
} else {
|
||||
obj["spoiler4Rrt"].hide();
|
||||
obj["spoiler4Rex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashValue("spoilerR5", 0.5, func(val) {
|
||||
if (val < 1.5) {
|
||||
obj["spoiler5Rex"].hide();
|
||||
obj["spoiler5Rrt"].show();
|
||||
} else {
|
||||
obj["spoiler5Rrt"].hide();
|
||||
obj["spoiler5Rex"].show();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerL1Failure","spoilerL1","green"], nil, func(val) {
|
||||
if (val.spoilerL1Failure or val.green < 1500) {
|
||||
obj["spoiler1Lex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler1Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerL1 < 1.5) {
|
||||
obj["spoiler1Lf"].show();
|
||||
} else {
|
||||
obj["spoiler1Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler1Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler1Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler1Lf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerL2Failure","spoilerL2","yellow"], nil, func(val) {
|
||||
if (val.spoilerL2Failure or val.yellow < 1500) {
|
||||
obj["spoiler2Lex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler2Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerL2 < 1.5) {
|
||||
obj["spoiler2Lf"].show();
|
||||
} else {
|
||||
obj["spoiler2Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler2Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler2Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler2Lf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerL3Failure","spoilerL3","blue"], nil, func(val) {
|
||||
if (val.spoilerL3Failure or val.blue < 1500) {
|
||||
obj["spoiler3Lex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler3Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerL3 < 1.5) {
|
||||
obj["spoiler3Lf"].show();
|
||||
} else {
|
||||
obj["spoiler3Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler3Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler3Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler3Lf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerL4Failure","spoilerL4","yellow"], nil, func(val) {
|
||||
if (val.spoilerL4Failure or val.yellow < 1500) {
|
||||
obj["spoiler4Lex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler4Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerL4 < 1.5) {
|
||||
obj["spoiler4Lf"].show();
|
||||
} else {
|
||||
obj["spoiler4Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler4Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler4Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler4Lf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerL5Failure","spoilerL5","green"], nil, func(val) {
|
||||
if (val.spoilerL5Failure or val.green < 1500) {
|
||||
obj["spoiler5Lex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler5Lrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerL5 < 1.5) {
|
||||
obj["spoiler5Lf"].show();
|
||||
} else {
|
||||
obj["spoiler5Lf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler5Lex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler5Lrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler5Lf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerR1Failure","spoilerR1","green"], nil, func(val) {
|
||||
if (val.spoilerR1Failure or val.green < 1500) {
|
||||
obj["spoiler1Rex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler1Rrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerR1 < 1.5) {
|
||||
obj["spoiler1Rf"].show();
|
||||
} else {
|
||||
obj["spoiler1Rf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler1Rex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler1Rrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler1Rf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerR2Failure","spoilerR2","yellow"], nil, func(val) {
|
||||
if (val.spoilerR2Failure or val.yellow < 1500) {
|
||||
obj["spoiler2Rex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler2Rrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerR2 < 1.5) {
|
||||
obj["spoiler2Rf"].show();
|
||||
} else {
|
||||
obj["spoiler2Rf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler2Rex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler2Rrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler2Rf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerR3Failure","spoilerR3","blue"], nil, func(val) {
|
||||
if (val.spoilerR3Failure or val.blue < 1500) {
|
||||
obj["spoiler3Rex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler3Rrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerR3 < 1.5) {
|
||||
obj["spoiler3Rf"].show();
|
||||
} else {
|
||||
obj["spoiler3Rf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler3Rex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler3Rrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler3Rf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerR4Failure","spoilerR4","yellow"], nil, func(val) {
|
||||
if (val.spoilerR4Failure or val.yellow < 1500) {
|
||||
obj["spoiler4Rex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler4Rrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerR4 < 1.5) {
|
||||
obj["spoiler4Rf"].show();
|
||||
} else {
|
||||
obj["spoiler4Rf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler4Rex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler4Rrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler4Rf"].hide();
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["spoilerR5Failure","spoilerR5","green"], nil, func(val) {
|
||||
if (val.spoilerR5Failure or val.green < 1500) {
|
||||
obj["spoiler5Rex"].setColor(0.7333,0.3803,0);
|
||||
obj["spoiler5Rrt"].setColor(0.7333,0.3803,0);
|
||||
if (val.spoilerR5 < 1.5) {
|
||||
obj["spoiler5Rf"].show();
|
||||
} else {
|
||||
obj["spoiler5Rf"].hide();
|
||||
}
|
||||
} else {
|
||||
obj["spoiler5Rex"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler5Rrt"].setColor(0.0509,0.7529,0.2941);
|
||||
obj["spoiler5Rf"].hide();
|
||||
}
|
||||
}),
|
||||
];
|
||||
|
||||
obj.displayedGForce = 0;
|
||||
|
@ -62,10 +571,15 @@ var canvas_lowerECAMPageWheel =
|
|||
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit"];
|
||||
},
|
||||
getKeys: func() {
|
||||
return["Bulk","BulkLine","BulkLbl","Exit1L","Exit1R","Cabin1Left","Cabin1LeftLbl","Cabin1LeftLine","Cabin1LeftSlide","Cabin1Right","Cabin1RightLbl","Cabin1RightLine","Cabin1RightSlide","Cabin2Left","Cabin2LeftLbl",
|
||||
"Cabin2LeftLine","Cabin2LeftSlide","Cabin2Right","Cabin2RightLbl","Cabin2RightLine","Cabin2RightSlide","Cabin3Left","Cabin3LeftLbl","Cabin3LeftLine","Cabin3LeftSlide","Cabin3Right","Cabin3RightLbl","Cabin3RightLine","Cabin3RightSlide","AvionicsLine1",
|
||||
"AvionicsLbl1","AvionicsLine2","AvionicsLbl2","Cargo1Line","Cargo1Lbl","Cargo1Door","Cargo2Line","Cargo2Lbl","Cargo2Door","ExitLSlide","ExitLLine","ExitLLbl","ExitRSlide","ExitRLine","ExitRLbl","Cabin4Left","Cabin4LeftLbl","Cabin4LeftLine",
|
||||
"Cabin4LeftSlide","Cabin4Right","Cabin4RightLbl","Cabin4RightLine","Cabin4RightSlide","DOOROXY-REGUL-LO-PR"];},
|
||||
return["lgctltext","NORMbrk","NWStext","leftdoor","rightdoor","nosegeardoorL","nosegeardoorR",
|
||||
"autobrk","autobrkind","NWS","NWSrect","normbrk-rect","altnbrk","normbrkhyd","spoiler1Rex","spoiler1Rrt","spoiler2Rex","spoiler2Rrt","spoiler3Rex",
|
||||
"spoiler3Rrt","spoiler4Rex","spoiler4Rrt","spoiler5Rex","spoiler5Rrt","spoiler1Lex","spoiler1Lrt","spoiler2Lex","spoiler2Lrt",
|
||||
"spoiler3Lex","spoiler3Lrt","spoiler4Lex","spoiler4Lrt","spoiler5Lex","spoiler5Lrt","spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf",
|
||||
"spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf","spoiler5Lf","ALTNbrk","altnbrkhyd","altnbrk-rect","antiskidtext","brakearrow","accupress_text",
|
||||
"accuonlyarrow","accuonly","braketemp1","normbrkhyd","braketemp2","braketemp3","braketemp4","toparc1","toparc2","toparc3","toparc4","leftuplock",
|
||||
"noseuplock","rightuplock","Triangle-Left1","Triangle-Left2","Triangle-Nose1","Triangle-Nose2","Triangle-Right1","Triangle-Right2","BSCUrect1",
|
||||
"BSCUrect2","BSCU1","BSCU2","tirepress1","tirepress2","tirepress3","tirepress4","tirepress5","tirepress6"];
|
||||
},
|
||||
updateBottom: func(notification) {
|
||||
foreach(var update_item_bottom; me.updateItemsBottom)
|
||||
{
|
||||
|
@ -140,6 +654,39 @@ var canvas_lowerECAMPageWheel =
|
|||
};
|
||||
|
||||
var input = {
|
||||
brakeAutobrkMode: "/controls/autobrake/mode",
|
||||
brakeLeft1: "/gear/gear[1]/L1brake-temp-degc",
|
||||
brakeLeft2: "/gear/gear[1]/L2brake-temp-degc",
|
||||
brakeRight1: "/gear/gear[2]/R3brake-temp-degc",
|
||||
brakeRight2: "/gear/gear[2]/R4brake-temp-degc",
|
||||
wheelLeftDoor: "/ECAM/Lower/door-left",
|
||||
wheelNoseLeftDoor: "/ECAM/Lower/door-nose-left",
|
||||
wheelNoseRightDoor: "/ECAM/Lower/door-nose-right",
|
||||
wheelRightDoor: "/ECAM/Lower/door-right",
|
||||
wheelLeftDoorPos: "/systems/hydraulic/gear/door-left",
|
||||
wheelNoseDoorPos: "/systems/hydraulic/gear/door-nose",
|
||||
wheelRightDoorPos: "/systems/hydraulic/gear/door-right",
|
||||
|
||||
spoilerL1: "/fdm/jsbsim/hydraulics/spoiler-l1/final-deg",
|
||||
spoilerL2: "/fdm/jsbsim/hydraulics/spoiler-l2/final-deg",
|
||||
spoilerL3: "/fdm/jsbsim/hydraulics/spoiler-l3/final-deg",
|
||||
spoilerL4: "/fdm/jsbsim/hydraulics/spoiler-l4/final-deg",
|
||||
spoilerL5: "/fdm/jsbsim/hydraulics/spoiler-l5/final-deg",
|
||||
spoilerR1: "/fdm/jsbsim/hydraulics/spoiler-r1/final-deg",
|
||||
spoilerR2: "/fdm/jsbsim/hydraulics/spoiler-r2/final-deg",
|
||||
spoilerR3: "/fdm/jsbsim/hydraulics/spoiler-r3/final-deg",
|
||||
spoilerR4: "/fdm/jsbsim/hydraulics/spoiler-r4/final-deg",
|
||||
spoilerR5: "/fdm/jsbsim/hydraulics/spoiler-r5/final-deg",
|
||||
spoilerL1Failure: "/systems/failures/spoilers/spoiler-l1",
|
||||
spoilerL2Failure: "/systems/failures/spoilers/spoiler-l2",
|
||||
spoilerL3Failure: "/systems/failures/spoilers/spoiler-l3",
|
||||
spoilerL4Failure: "/systems/failures/spoilers/spoiler-l4",
|
||||
spoilerL5Failure: "/systems/failures/spoilers/spoiler-l5",
|
||||
spoilerR1Failure: "/systems/failures/spoilers/spoiler-r1",
|
||||
spoilerR2Failure: "/systems/failures/spoilers/spoiler-r2",
|
||||
spoilerR3Failure: "/systems/failures/spoilers/spoiler-r3",
|
||||
spoilerR4Failure: "/systems/failures/spoilers/spoiler-r4",
|
||||
spoilerR5Failure: "/systems/failures/spoilers/spoiler-r5",
|
||||
};
|
||||
|
||||
foreach (var name; keys(input)) {
|
||||
|
|
|
@ -41,9 +41,9 @@
|
|||
inkscape:window-height="705"
|
||||
id="namedview371"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.3145515"
|
||||
inkscape:cx="701.70396"
|
||||
inkscape:cy="947.29764"
|
||||
inkscape:zoom="0.45254834"
|
||||
inkscape:cx="498.40273"
|
||||
inkscape:cy="607.76607"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
|
@ -1190,14 +1190,14 @@
|
|||
inkscape:label="#text4289"
|
||||
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';letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="455.59897"
|
||||
y="707.69037"
|
||||
x="457.25626"
|
||||
y="745.80786"
|
||||
id="accuonly"><tspan
|
||||
style="font-size:32px;line-height:1.25"
|
||||
sodipodi:role="line"
|
||||
id="tspan4312"
|
||||
x="455.59897"
|
||||
y="707.69037">ACCU ONLY</tspan></text>
|
||||
x="457.25626"
|
||||
y="745.80786">ACCU ONLY</tspan></text>
|
||||
<path
|
||||
inkscape:label="#path4358"
|
||||
sodipodi:nodetypes="cccccccccc"
|
||||
|
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
|
@ -68,7 +68,7 @@ var FBW = {
|
|||
rtlu2: props.globals.getNode("/systems/failures/fctl/rtlu-2"),
|
||||
rtlu2: props.globals.getNode("/systems/failures/fctl/rtlu-2"),
|
||||
ths: props.globals.getNode("/systems/failures/fctl/ths-jam"),
|
||||
spoilerl1: props.globals.getNode("/systems/failures/spoilers/spoiler-l1"),
|
||||
spoilerl1: props.globals.getNode(""),
|
||||
spoilerl2: props.globals.getNode("/systems/failures/spoilers/spoiler-l2"),
|
||||
spoilerl3: props.globals.getNode("/systems/failures/spoilers/spoiler-l3"),
|
||||
spoilerl4: props.globals.getNode("/systems/failures/spoilers/spoiler-l4"),
|
||||
|
|
|
@ -395,6 +395,8 @@ var input = {
|
|||
"seatbelt": "/controls/switches/seatbelt-sign",
|
||||
"noSmoking": "/controls/switches/no-smoking-sign",
|
||||
"gearPosNorm": "/gear/gear[0]/position-norm",
|
||||
"gearPosNorm1": "/gear/gear[1]/position-norm",
|
||||
"gearPosNorm2": "/gear/gear[2]/position-norm",
|
||||
};
|
||||
|
||||
foreach (var name; keys(input)) {
|
||||
|
|
Loading…
Reference in a new issue