Added major bleed logic

Signed-off-by: merspieler <merspieler@users.noreply.github.com>
This commit is contained in:
merspieler 2018-04-19 23:36:36 +02:00
parent 587a560159
commit b405e02725
3 changed files with 339 additions and 47 deletions

View file

@ -469,10 +469,267 @@ var canvas_lowerECAM_bleed = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm"];
return ["TAT","SAT","GW","UTCh","UTCm", "BLEED-XFEED", "BLEED-Ram-Air", "BLEED-APU", "BLEED-HP-Valve-1",
"BLEED-ENG-1", "BLEED-HP-Valve-2", "BLEED-ENG-2", "BLEED-Precooler-1-Inlet-Press", "BLEED-Precooler-1-Outlet-Temp",
"BLEED-Precooler-2-Inlet-Press", "BLEED-Precooler-2-Outlet-Temp", "BLEED-ENG-1-label", "BLEED-ENG-2-label",
"BLEED-GND", "BLEED-Pack-1-Flow-Valve", "BLEED-Pack-2-Flow-Valve", "BLEED-Pack-1-Out-Temp",
"BLEED-Pack-1-Comp-Out-Temp", "BLEED-Pack-1-Packflow-needel", "BLEED-Pack-1-Bypass-needel", "BLEED-Pack-2-Out-Temp",
"BLEED-Pack-2-Bypass-needel", "BLEED-Pack-2-Comp-Out-Temp", "BLEED-Pack-2-Packflow-needel", "BLEED-Anti-Ice-Left",
"BLEED-Anti-Ice-Right", "BLEED-HP-2-connection", "BLEED-HP-1-connection", "BLEED-ANTI-ICE-ARROW-LEFT", "BLEED-ANTI-ICE-ARROW-RIGHT"];
},
update: func() {
# X BLEED
if (getprop("/systems/pneumatic/xbleed-state") == "transit") {
me["BLEED-XFEED"].setColor(0.7333,0.3803,0);
me["BLEED-XFEED"].setRotation(45 * D2R);
} else {
if (getprop("/systems/pneumatic/xbleed-state") == "open") {
var xbleed_state = 1;
} else {
var xbleed_state = 0;
}
if (xbleed_state == 1) {
me["BLEED-XFEED"].setRotation(0);
} else {
me["BLEED-XFEED"].setRotation(90 * D2R);
}
if (xbleed_state == getprop("/systems/pneumatic/xbleed")) {
me["BLEED-XFEED"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-XFEED"].setColor(0.7333,0.3803,0);
}
}
# HP valve 1
var hp_valve_state = getprop("/systems/pneumatic/hp-valve-1-state");
if (hp_valve_state == 1) {
me["BLEED-HP-Valve-1"].setRotation(90 * D2R);
} else {
me["BLEED-HP-Valve-1"].setRotation(0);
}
if (hp_valve_state == getprop("/systems/pneumatic/hp-valve-1")) {
me["BLEED-HP-Valve-1"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-HP-Valve-1"].setColor(0.7333,0.3803,0);
}
# HP valve 2
var hp_valve_state = getprop("/systems/pneumatic/hp-valve-2-state");
if (hp_valve_state == 1) {
me["BLEED-HP-Valve-2"].setRotation(90 * D2R);
} else {
me["BLEED-HP-Valve-2"].setRotation(0);
}
if (hp_valve_state == getprop("/systems/pneumatic/hp-valve-2")) {
me["BLEED-HP-Valve-2"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-HP-Valve-2"].setColor(0.7333,0.3803,0);
}
# ENG BLEED valve 1
var eng_valve_state = getprop("/systems/pneumatic/eng-valve-1-state");
if (eng_valve_state == 1) {
me["BLEED-ENG-1"].setRotation(90 * D2R);
} else {
me["BLEED-ENG-1"].setRotation(0);
}
if (eng_valve_state == getprop("/systems/pneumatic/eng-valve-1")) {
me["BLEED-ENG-1"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-ENG-1"].setColor(0.7333,0.3803,0);
}
# ENG BLEED valve 2
var eng_valve_state = getprop("/systems/pneumatic/eng-valve-2-state");
if (eng_valve_state == 1) {
me["BLEED-ENG-2"].setRotation(90 * D2R);
} else {
me["BLEED-ENG-2"].setRotation(0);
}
if (eng_valve_state == getprop("/systems/pneumatic/eng-valve-2")) {
me["BLEED-ENG-2"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-ENG-2"].setColor(0.7333,0.3803,0);
}
# Precooler inlet 1
var precooler_psi = getprop("/systems/pneumatic/precooler-1-psi");
me["BLEED-Precooler-1-Inlet-Press"].setText(sprintf("%s", math.round(precooler_psi)));
if (precooler_psi < 4 or precooler_psi > 57) {
me["BLEED-Precooler-1-Inlet-Press"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Precooler-1-Inlet-Press"].setColor(0.0509,0.7529,0.2941);
}
# Precooler inlet 2
var precooler_psi = getprop("/systems/pneumatic/precooler-2-psi");
me["BLEED-Precooler-2-Inlet-Press"].setText(sprintf("%s", math.round(precooler_psi)));
if (precooler_psi < 4 or precooler_psi > 57) {
me["BLEED-Precooler-2-Inlet-Press"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Precooler-2-Inlet-Press"].setColor(0.0509,0.7529,0.2941);
}
# Precooler outlet 1
var precooler_temp = getprop("/systems/pneumatic/precooler-1-temp");
me["BLEED-Precooler-1-Outlet-Temp"].setText(sprintf("%s", math.round(precooler_temp)));
if (precooler_temp < 150 or getprop("/systems/pneumatic/precooler-1-ovht")) {
me["BLEED-Precooler-1-Outlet-Temp"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Precooler-1-Outlet-Temp"].setColor(0.0509,0.7529,0.2941);
}
# Precooler outlet 2
var precooler_temp = getprop("/systems/pneumatic/precooler-2-temp");
me["BLEED-Precooler-2-Outlet-Temp"].setText(sprintf("%s", math.round(precooler_temp)));
if (precooler_temp < 150 or getprop("/systems/pneumatic/precooler-2-ovht") == 1) {
me["BLEED-Precooler-2-Outlet-Temp"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Precooler-2-Outlet-Temp"].setColor(0.0509,0.7529,0.2941);
}
# GND air
if (getprop("/velocities/groundspeed-kt") < 1) {
me["BLEED-GND"].show();
} else {
me["BLEED-GND"].hide();
}
# WING ANTI ICE
if (getprop("/controls/switches/wing") == 1) {
me["BLEED-Anti-Ice-Left"].show();
me["BLEED-Anti-Ice-Right"].show();
# TODO when seperated valves for left and right wing are implemented, do the following `if` and `else` clause for each wing.
if (getprop("/controls/deice/wing")) {
me["BLEED-ANTI-ICE-ARROW-LEFT"].show();
me["BLEED-ANTI-ICE-ARROW-RIGHT"].show();
if (getprop("/systems/pneumatic/total-psi") < 4 or getprop("/systems/pneumatic/total-psi") > 57) {
me["BLEED-ANTI-ICE-ARROW-LEFT"].setColor(0.7333,0.3803,0);
me["BLEED-ANTI-ICE-ARROW-RIGHT"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-ANTI-ICE-ARROW-LEFT"].setColor(0.0509,0.7529,0.2941);
me["BLEED-ANTI-ICE-ARROW-RIGHT"].setColor(0.0509,0.7529,0.2941);
}
} else {
me["BLEED-ANTI-ICE-ARROW-LEFT"].hide();
me["BLEED-ANTI-ICE-ARROW-RIGHT"].hide();
}
} else {
me["BLEED-Anti-Ice-Left"].hide();
me["BLEED-Anti-Ice-Right"].hide();
}
# ENG 1 label
if (getprop("/engines/engine[0]/n2-actual") >= 59) {
me["BLEED-ENG-1-label"].setColor(0.8078,0.8039,0.8078);
} else {
me["BLEED-ENG-1-label"].setColor(0.7333,0.3803,0);
}
# ENG 2 label
if (getprop("/engines/engine[1]/n2-actual") >= 59) {
me["BLEED-ENG-2-label"].setColor(0.8078,0.8039,0.8078);
} else {
me["BLEED-ENG-2-label"].setColor(0.7333,0.3803,0);
}
# PACK 1 -----------------------------------------
me["BLEED-Pack-1-Out-Temp"].setText(sprintf("%s", getprop("/systems/pressurization/pack-1-out-temp")));
me["BLEED-Pack-1-Comp-Out-Temp"].setText(sprintf("%s", getprop("/systems/pressurization/pack-1-comp-out-temp")));
if (getprop("/systems/pressurization/pack-1-out-temp") > 90) {
me["BLEED-Pack-1-Out-Temp"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Pack-1-Out-Temp"].setColor(0.0509,0.7529,0.2941);
}
var bypass_pos = getprop("/systems/pressurization/pack-1-bypass") - 50; # `-50` cause the middel position from where we move the needel is at 50
bypass_pos = bypass_pos * D2R;
me["BLEED-Pack-1-Bypass-needel"].setRotation(bypass_pos);
if (getprop("/systems/pressurization/pack-1-comp-out-temp") > 230) {
me["BLEED-Pack-1-Comp-Out-Temp"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Pack-1-Comp-Out-Temp"].setColor(0.0509,0.7529,0.2941);
}
var flow_pos = getprop("/systems/pressurization/pack-1-flow") - 50; # `-50` cause the middel position from where we move the needel is at 50
flow_pos = flow_pos * D2R;
me["BLEED-Pack-1-Packflow-needel"].setRotation(flow_pos);
if (getprop("/systems/pressurization/pack-1-valve") == 0) {
me["BLEED-Pack-1-Packflow-needel"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Pack-1-Packflow-needel"].setColor(0.0509,0.7529,0.2941);
}
if (getprop("/systems/pressurization/pack-1-valve") == 1) {
me["BLEED-Pack-1-Flow-Valve"].setRotation(0);
} else {
me["BLEED-Pack-1-Flow-Valve"].setRotation(90 * D2R);
}
var pack_state = getprop("/systems/pressurization/pack-1-valve");
if (pack_state == 1) {
me["BLEED-Pack-1-Flow-Valve"].setRotation(0);
} else {
me["BLEED-Pack-2-Flow-Valve"].setRotation(90 * D2R);
}
if (pack_state == getprop("/controls/pneumatic/switches/pack1")) {
me["BLEED-Pack-1-Flow-Valve"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-Pack-1-Flow-Valve"].setColor(0.7333,0.3803,0);
}
# PACK 2 -----------------------------------------
me["BLEED-Pack-2-Out-Temp"].setText(sprintf("%s", getprop("/systems/pressurization/pack-2-out-temp")));
me["BLEED-Pack-2-Comp-Out-Temp"].setText(sprintf("%s", getprop("/systems/pressurization/pack-2-comp-out-temp")));
if (getprop("/systems/pressurization/pack-2-out-temp") > 90) {
me["BLEED-Pack-2-Out-Temp"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Pack-2-Out-Temp"].setColor(0.0509,0.7529,0.2941);
}
var bypass_pos = getprop("/systems/pressurization/pack-2-bypass") - 50; # `-50` cause the middel position from where we move the needel is at 50
bypass_pos = bypass_pos * D2R;
me["BLEED-Pack-2-Bypass-needel"].setRotation(bypass_pos);
if (getprop("/systems/pressurization/pack-2-comp-out-temp") > 230) {
me["BLEED-Pack-2-Comp-Out-Temp"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Pack-2-Comp-Out-Temp"].setColor(0.0509,0.7529,0.2941);
}
var flow_pos = getprop("/systems/pressurization/pack-2-flow") - 50; # `-50` cause the middel position from where we move the needel is at 50
flow_pos = flow_pos * D2R;
me["BLEED-Pack-2-Packflow-needel"].setRotation(flow_pos);
if (getprop("/systems/pressurization/pack-2-valve") == 0) {
me["BLEED-Pack-2-Packflow-needel"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-Pack-2-Packflow-needel"].setColor(0.0509,0.7529,0.2941);
}
var pack_state = getprop("/systems/pressurization/pack-2-valve");
if (pack_state == 1) {
me["BLEED-Pack-2-Flow-Valve"].setRotation(0);
} else {
me["BLEED-Pack-2-Flow-Valve"].setRotation(90 * D2R);
}
if (pack_state == getprop("/controls/pneumatic/switches/pack2")) {
me["BLEED-Pack-2-Flow-Valve"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-Pack-2-Flow-Valve"].setColor(0.7333,0.3803,0);
}
me.updateBottomStatus();
},
};

View file

@ -41,9 +41,9 @@
inkscape:window-height="1047"
id="namedview371"
showgrid="true"
inkscape:zoom="0.47"
inkscape:cx="557.40426"
inkscape:cy="473.3889"
inkscape:zoom="0.94"
inkscape:cx="538.35254"
inkscape:cy="985.87416"
inkscape:window-x="0"
inkscape:window-y="33"
inkscape:window-maximized="0"
@ -252,18 +252,21 @@
<path
style="fill:none;stroke:#0dc04b;stroke-width:4.39356995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 326.24999,109 h 36.16075 v 0 L 344.99999,63.999998 v 0 z"
id="path5062"
inkscape:connector-curvature="0" />
id="BLEED-cond-1"
inkscape:connector-curvature="0"
inkscape:label="#path5062" />
<path
style="fill:none;stroke:#0dc04b;stroke-width:4.39356995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 496.33923,109 h 36.16075 v 0 L 515.08923,63.999997 v 0 z"
id="path5062-5"
inkscape:connector-curvature="0" />
id="BLEED-cond-2"
inkscape:connector-curvature="0"
inkscape:label="#path5062-5" />
<path
style="fill:none;stroke:#0dc04b;stroke-width:4.39356995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 671.24998,109 h 36.16075 v 0 L 689.99998,63.999998 v 0 z"
id="path5062-5-0"
inkscape:connector-curvature="0" />
id="BLEED-cond-3"
inkscape:connector-curvature="0"
inkscape:label="#path5062-5-0" />
<rect
style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1.3079536;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="BLEED-Ram-Air-connection"
@ -290,45 +293,50 @@
inkscape:label="#rect5105-6-4-5-6" />
<rect
style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:5.25465345;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5105-6-4-5-0"
id="BLEED-Pack-connection"
width="5.3955846"
height="605.25"
x="124"
y="-817.5"
transform="rotate(90)" />
transform="rotate(90)"
inkscape:label="#rect5105-6-4-5-0" />
<g
id="BLEED-APU"
inkscape:label="#g3445"
transform="rotate(-90,880.67779,539.2177)">
<path
sodipodi:nodetypes="zzzzz"
inkscape:connector-curvature="0"
id="path5107-1-44-0"
d="m 872.14551,172.28989 c 0,15.58192 -12.63164,28.21356 -28.21356,28.21356 -15.58192,0 -28.21356,-12.63164 -28.21356,-28.21356 0,-15.58192 12.63164,-28.21356 28.21356,-28.21356 15.58192,0 28.21356,12.63164 28.21356,28.21356 z"
style="fill:none;fill-opacity:1;stroke:#0dc04b;stroke-width:4.80000019;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
id="BLEED-APU-LINES"
inkscape:label="#g4686">
<g
transform="rotate(-90,880.67779,539.2177)"
inkscape:label="#g3445"
id="BLEED-APU">
<path
style="fill:none;fill-opacity:1;stroke:#0dc04b;stroke-width:4.80000019;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 872.14551,172.28989 c 0,15.58192 -12.63164,28.21356 -28.21356,28.21356 -15.58192,0 -28.21356,-12.63164 -28.21356,-28.21356 0,-15.58192 12.63164,-28.21356 28.21356,-28.21356 15.58192,0 28.21356,12.63164 28.21356,28.21356 z"
id="path5107-1-44-0"
inkscape:connector-curvature="0"
sodipodi:nodetypes="zzzzz" />
<rect
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="rect5105-2-5-3-6"
width="53.195583"
height="5.1203089"
x="817.61298"
y="169.28328" />
</g>
<rect
y="169.28328"
x="817.61298"
height="5.1203089"
width="53.195583"
id="rect5105-2-5-3-6"
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" />
y="602.28253"
x="510.74338"
height="35.467422"
width="5.3955846"
id="rect5105-6-4-5-1"
style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1.27201295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
inkscape:label="#rect5105-6-4-5-3"
y="465.25"
x="510.46811"
height="83.83696"
width="5.3955846"
id="BLEED-APU-connection"
style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1.95566499;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<rect
style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1.27201295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5105-6-4-5-1"
width="5.3955846"
height="35.467422"
x="510.74338"
y="602.28253" />
<rect
style="fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1.95566499;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="BLEED-APU-connection"
width="5.3955846"
height="83.83696"
x="510.46811"
y="465.25"
inkscape:label="#rect5105-6-4-5-3" />
<g
id="BLEED-GND"
inkscape:label="#g5215">
@ -1104,9 +1112,10 @@
sodipodi:role="line">ANTI</tspan></text>
<path
inkscape:connector-curvature="0"
id="path5062-54-1"
id="BLEED-ANTI-ICE-ARROW-LEFT"
d="m 202.49999,480.1111 v -28.66075 0 l -30,13.79964 v 0 z"
style="fill:none;stroke:#cecdce;stroke-width:3.19372106;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#cecdce;stroke-width:3.19372106;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="#path5062-54-1" />
<text
transform="scale(0.94655352,1.0564643)"
inkscape:label="#text3720"
@ -1138,9 +1147,10 @@
sodipodi:role="line">ANTI</tspan></text>
<path
inkscape:connector-curvature="0"
id="path5062-54-1-8"
id="BLEED-ANTI-ICE-ARROW-RIGHT"
d="m 108.75,472.74999 v -28.66075 0 l 30,13.79964 v 0 z"
style="fill:none;stroke:#cecdce;stroke-width:3.19372106;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#cecdce;stroke-width:3.19372106;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="#path5062-54-1-8" />
<text
transform="scale(0.94655352,1.0564643)"
inkscape:label="#text3720"

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View file

@ -107,6 +107,7 @@ var PNEU = {
setprop("/systems/pneumatic/pack1-fault", 0);
setprop("/systems/pneumatic/pack2-fault", 0);
setprop("/systems/pneumatic/xbleed", 0);
setprop("/systems/pneumatic/xbleed-state", "closed");
setprop("/systems/pneumatic/starting", 0);
setprop("/FMGC/internal/dep-arpt", "");
altitude = getprop("/instrumentation/altimeter/indicated-altitude-ft");
@ -130,6 +131,16 @@ var PNEU = {
setprop("/systems/pressurization/ambientpsi", "0");
setprop("/systems/pressurization/cabinpsi", "0");
setprop("/systems/pressurization/manvs-cmd", "0");
setprop("/systems/pressurization/pack-1-out-temp", 0);
setprop("/systems/pressurization/pack-2-out-temp", 0);
setprop("/systems/pressurization/pack-1-bypass", 0);
setprop("/systems/pressurization/pack-2-bypass", 0);
setprop("/systems/pressurization/pack-1-flow", 0);
setprop("/systems/pressurization/pack-2-flow", 0);
setprop("/systems/pressurization/pack-1-comp-out-temp", 0);
setprop("/systems/pressurization/pack-2-comp-out-temp", 0);
setprop("/systems/pressurization/pack-1-valve", 0);
setprop("/systems/pressurization/pack-2-valve", 0);
setprop("/systems/ventilation/cabin/fans", 0); # aircon fans
setprop("/systems/ventilation/avionics/fan", 0);
setprop("/systems/ventilation/avionics/extractvalve", "0");
@ -142,6 +153,20 @@ var PNEU = {
setprop("/controls/oxygen/masksDeployMan", 0);
setprop("/controls/oxygen/masksReset", 0); # this is the TMR RESET pb on the maintenance panel, needs 3D model
setprop("/controls/oxygen/masksSys", 0);
setprop("/systems/pneumatic/hp-valve-1-state", 0);
setprop("/systems/pneumatic/hp-valve-2-state", 0);
setprop("/systems/pneumatic/hp-valve-1", 0);
setprop("/systems/pneumatic/hp-valve-2", 0);
setprop("/systems/pneumatic/eng-valve-1-state", 0);
setprop("/systems/pneumatic/eng-valve-2-state", 0);
setprop("/systems/pneumatic/eng-valve-1", 0);
setprop("/systems/pneumatic/eng-valve-2", 0);
setprop("/systems/pneumatic/precooler-1-psi", 0);
setprop("/systems/pneumatic/precooler-2-psi", 0);
setprop("/systems/pneumatic/precooler-1-temp", 0);
setprop("/systems/pneumatic/precooler-2-temp", 0);
setprop("/systems/pneumatic/precooler-1-ovht", 0);
setprop("/systems/pneumatic/precooler-2-ovht", 0);
},
loop: func() {
bleed1_sw = getprop("/controls/pneumatic/switches/bleed1");