1
0
Fork 0

COND / PRESS pages completed; fix bug in system display controller

This commit is contained in:
legoboyvdlp R 2021-07-08 17:19:27 +01:00
parent 4073c0ca79
commit 825b002e02
17 changed files with 94 additions and 114 deletions

View file

@ -282,7 +282,7 @@ var canvas_lowerECAMPageApu =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageBleed =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -21,8 +21,59 @@ var canvas_lowerECAMPageCond =
obj.units = acconfig_weight_kgs.getValue();
# init
obj["CONDFanFwdFault"].hide();
obj["CONDFanAftFault"].hide();
# aft cargo ventilation disabled
obj["CargoCond"].hide();
obj.update_items = [
props.UpdateManager.FromHashValue("condDuctTempCockpit", 0.5, func(val) {
obj["CONDDuctTempCKPT"].setText(sprintf("%2.0f",val));
}),
props.UpdateManager.FromHashValue("condDuctTempAft", 0.5, func(val) {
obj["CONDDuctTempAFT"].setText(sprintf("%2.0f",val));
}),
props.UpdateManager.FromHashValue("condDuctTempFwd", 0.5, func(val) {
obj["CONDDuctTempFWD"].setText(sprintf("%2.0f",val));
}),
props.UpdateManager.FromHashValue("condTempCockpit", 0.5, func(val) {
obj["CONDTempCKPT"].setText(sprintf("%2.0f",val));
}),
props.UpdateManager.FromHashValue("condTempAft", 0.5, func(val) {
obj["CONDTempAFT"].setText(sprintf("%2.0f",val));
}),
props.UpdateManager.FromHashValue("condTempFwd", 0.5, func(val) {
obj["CONDTempFWD"].setText(sprintf("%2.0f",val));
}),
props.UpdateManager.FromHashValue("condTrimCockpit", 0.01, func(val) {
obj["CONDTrimValveCKPT"].setRotation(val * D2R);
}),
props.UpdateManager.FromHashValue("condTrimAft", 0.01, func(val) {
obj["CONDTrimValveAFT"].setRotation(val * D2R);
}),
props.UpdateManager.FromHashValue("condTrimFwd", 0.01, func(val) {
obj["CONDTrimValveFWD"].setRotation(val * D2R);
}),
props.UpdateManager.FromHashList(["condHotAirSwitch","condHotAirValve","condHotAirCmd"], nil, func(val) {
if (!val.condHotAirSwitch or (val.condHotAirCmd == 1 and val.condHotAirValve == 0)) {
obj["CONDHotAirValve"].setRotation(90 * D2R);
obj["CONDHotAirValve"].setColor(0.7333,0.3803,0);
obj["CONDHotAirValveCross"].setColorFill(0.7333,0.3803,0);
} elsif (val.condHotAirCmd == 0 and val.condHotAirValve == 0) {
obj["CONDHotAirValve"].setRotation(90 * D2R);
obj["CONDHotAirValve"].setColor(0.0509,0.7529,0.2941);
obj["CONDHotAirValveCross"].setColorFill(0.0509,0.7529,0.2941);
} elsif (val.condHotAirCmd == 0 and val.condHotAirValve != 0) {
obj["CONDHotAirValve"].setRotation(0);
obj["CONDHotAirValve"].setColor(0.7333,0.3803,0);
obj["CONDHotAirValveCross"].setColorFill(0.7333,0.3803,0);
} else {
obj["CONDHotAirValve"].setRotation(0);
obj["CONDHotAirValve"].setColor(0.0509,0.7529,0.2941);
obj["CONDHotAirValveCross"].setColorFill(0.0509,0.7529,0.2941);
}
}),
];
obj.displayedGForce = 0;
@ -62,10 +113,9 @@ var canvas_lowerECAMPageCond =
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["CargoCond","CONDHotAirValve","CONDFanFwdFault","CONDFanAftFault","CONDTrimValveCKPT","CONDTrimValveAFT","CONDTrimValveFWD","CONDDuctTempCKPT",
"CONDDuctTempAFT","CONDDuctTempFWD","CONDTempCKPT","CONDTempAFT","CONDTempFWD","CONDHotAirValveCross"];
},
updateBottom: func(notification) {
foreach(var update_item_bottom; me.updateItemsBottom)
{
@ -134,12 +184,24 @@ var canvas_lowerECAMPageCond =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};
var input = {
condDuctTempCockpit: "/systems/air-conditioning/temperatures/cockpit-duct",
condDuctTempAft: "/systems/air-conditioning/temperatures/cabin-aft-duct",
condDuctTempFwd: "/systems/air-conditioning/temperatures/cabin-fwd-duct",
condTempCockpit: "/systems/air-conditioning/temperatures/cockpit-temp",
condTempAft: "/systems/air-conditioning/temperatures/cabin-aft-temp",
condTempFwd: "/systems/air-conditioning/temperatures/cabin-fwd-temp",
condTrimCockpit: "/ECAM/Lower/trim-cockpit-output",
condTrimAft: "/ECAM/Lower/trim-aft-output",
condTrimFwd: "/ECAM/Lower/trim-fwd-output",
condHotAirCmd: "/systems/air-conditioning/valves/hot-air-cmd",
condHotAirSwitch: "/controls/pneumatics/switches/hot-air",
condHotAirValve: "/systems/air-conditioning/valves/hot-air"
};
foreach (var name; keys(input)) {

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageCruise =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageDoor =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageElec =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageEng =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageFctl =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageFuel =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageHyd =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -800,55 +800,6 @@ var canvas_lowerECAM_bleed = {
},
};
var canvas_lowerECAM_cond = {
new: func(canvas_group, file) {
var m = {parents: [canvas_lowerECAM_cond, canvas_lowerECAM_base]};
m.init(canvas_group, file);
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","CargoCond","CONDHotAirValve","CONDFanFwdFault","CONDFanAftFault",
"CONDTrimValveCKPT","CONDTrimValveAFT","CONDTrimValveFWD","CONDDuctTempCKPT","CONDDuctTempAFT","CONDDuctTempFWD","CONDTempCKPT","CONDTempAFT","CONDTempFWD"];
},
update: func() {
if (systems.PNEU.Valves.hotAir.getValue() == 0) {
me["CONDHotAirValve"].setRotation(90 * D2R);
if (systems.PNEU.Switch.hotAir.getBoolValue()) {
me["CONDHotAirValve"].setColor(0.7333,0.3803,0);
} else {
me["CONDHotAirValve"].setColor(0.0509,0.7529,0.2941);
}
} else {
me["CONDHotAirValve"].setRotation(0); # doesn't show rotation in transit
if (systems.PNEU.Switch.hotAir.getBoolValue()) {
me["CONDHotAirValve"].setColor(0.0509,0.7529,0.2941);
} else {
me["CONDHotAirValve"].setColor(0.7333,0.3803,0);
}
}
me["CONDTrimValveCKPT"].setRotation(systems.PNEU.Packs.trimCockpit.getValue() * D2R);
me["CONDTrimValveAFT"].setRotation(systems.PNEU.Packs.trimAft.getValue() * D2R);
me["CONDTrimValveFWD"].setRotation(systems.PNEU.Packs.trimFwd.getValue() * D2R);
me["CONDDuctTempCKPT"].setText(sprintf("%2.0f",math.round(systems.PNEU.Packs.cockpitDuctTemp.getValue())));
me["CONDDuctTempAFT"].setText(sprintf("%2.0f",math.round(systems.PNEU.Packs.cabinAftDuctTemp.getValue())));
me["CONDDuctTempFWD"].setText(sprintf("%2.0f",math.round(systems.PNEU.Packs.cabinFwdDuctTemp.getValue())));
me["CONDTempCKPT"].setText(sprintf("%2.0f",math.round(systems.PNEU.Packs.cockpitTemp.getValue())));
me["CONDTempAFT"].setText(sprintf("%2.0f",math.round(systems.PNEU.Packs.cabinAftTemp.getValue())));
me["CONDTempFWD"].setText(sprintf("%2.0f",math.round(systems.PNEU.Packs.cabinFwdTemp.getValue())));
# fans faults not implemented
me["CONDFanFwdFault"].hide();
me["CONDFanAftFault"].hide();
# aft cargo ventilation disabled
me["CargoCond"].hide();
me.updateBottomStatus();
},
};
var canvas_lowerECAM_crz = {
new: func(canvas_group, file) {
@ -2466,41 +2417,6 @@ var canvas_lowerECAM_fuel = {
},
};
var canvas_lowerECAM_press = {
new: func(canvas_group, file) {
var m = {parents: [canvas_lowerECAM_press, canvas_lowerECAM_base]};
m.init(canvas_group, file);
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit"];
},
update: func() {
me["PRESS-Cab-VS"].setText(sprintf("%4.0f", press_vs_norm.getValue()));
me["PRESS-Cab-Alt"].setText(sprintf("%4.0f", cabinalt.getValue()));
me.updateBottomStatus();
},
};
var canvas_lowerECAM_status = {
new: func(canvas_group, file) {
var m = {parents: [canvas_lowerECAM_status, canvas_lowerECAM_base]};
m.init(canvas_group, file);
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit"];
},
update: func() {
me.updateBottomStatus();
},
};
var canvas_lowerECAM_hyd = {
new: func(canvas_group, file) {
var m = {parents: [canvas_lowerECAM_hyd, canvas_lowerECAM_base]};
@ -3401,11 +3317,6 @@ var lowerECAM_update = maketimer(0.05, func {
canvas_lowerECAM_base.update();
});
var showLowerECAM = func {
var dlg = canvas.Window.new([512, 512], "dialog").set("resize", 1);
dlg.setCanvas(lowerECAM_display);
}
setlistener("/systems/electrical/bus/ac-2", func() {
canvas_lowerECAM_base.updateDu4();
}, 0, 0);

View file

@ -80,7 +80,7 @@ var canvas_lowerECAMPagePress =
obj["PRESS-Sys-1"].hide();
}
}),
props.UpdateManager.FromHashValue("flowCtlValve1", 0.1, func(val) {
props.UpdateManager.FromHashValue("flowCtlValve1", nil, func(val) {
if (val == 0) {
obj["PRESS-Pack-1-Triangle"].setColor(0.7333,0.3803,0);
obj["PRESS-Pack-1"].setColor(0.7333,0.3803,0);
@ -89,7 +89,7 @@ var canvas_lowerECAMPagePress =
obj["PRESS-Pack-1"].setColor(0.8078,0.8039,0.8078);
}
}),
props.UpdateManager.FromHashValue("flowCtlValve2", 0.1, func(val) {
props.UpdateManager.FromHashValue("flowCtlValve2", nil, func(val) {
if (val == 0) {
obj["PRESS-Pack-2-Triangle"].setColor(0.7333,0.3803,0);
obj["PRESS-Pack-2"].setColor(0.7333,0.3803,0);
@ -209,7 +209,7 @@ var canvas_lowerECAMPagePress =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageSts =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -134,7 +134,7 @@ var canvas_lowerECAMPageWheel =
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
# don't hide the test group; just let whichever page is active control it
}
},
};

View file

@ -67,6 +67,11 @@ foreach (var name; keys(input)) {
emesary.GlobalTransmitter.NotifyAll(notifications.FrameNotificationAddProperty.new("A320 System Display", name, input[name]));
}
var showLowerECAM = func {
var dlg = canvas.Window.new([512, 512], "dialog").set("resize", 1);
dlg.setCanvas(canvas_lowerECAM_base.canvas);
}
setlistener("/systems/electrical/bus/ac-2", func() {
A320SD.MainScreen.powerTransient();
}, 0, 0);

View file

@ -41,9 +41,9 @@
inkscape:window-height="705"
id="namedview371"
showgrid="false"
inkscape:zoom="163.84"
inkscape:cx="931.44175"
inkscape:cy="894.81836"
inkscape:zoom="0.64"
inkscape:cx="695.07573"
inkscape:cy="944.3933"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@ -116,8 +116,9 @@
x="817.61298"
height="5.1203089"
width="53.195583"
id="rect5105-2"
style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
id="CONDHotAirValveCross"
style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="#rect5105-2" />
</g>
<text
xml:space="preserve"
@ -987,7 +988,7 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View file

@ -37,6 +37,7 @@ var SystemDisplayController = {
ECAMTimer.start();
},
autoCallLoop: func() {
if (me.mode != 3) { return; }
me.tempFWCPhase = pts.ECAM.fwcWarningPhase.getValue();
if (me.Display.APU) {