Merge branch 'dev' into 3D
This commit is contained in:
commit
4e1bf0b60e
9 changed files with 177 additions and 56 deletions
|
@ -5601,6 +5601,22 @@
|
|||
</or>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>metric_alt</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
fcu.FCUController.MetricAlt();
|
||||
setprop("sim/sounde/btn1", 1);
|
||||
</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<!-- Sidestick Priority Lights -->
|
||||
<animation>
|
||||
|
@ -7701,19 +7717,15 @@
|
|||
<object-name>vs.ind</object-name>
|
||||
<object-name>fpa.ind</object-name>
|
||||
<object-name>fpa.ind.001</object-name>
|
||||
<object-name>atc-code</object-name>
|
||||
<object-name>atc-test</object-name>
|
||||
<object-name>fpa-text</object-name>
|
||||
<object-name>qnh-inhg</object-name>
|
||||
<object-name>qnh-hpa</object-name>
|
||||
<object-name>qnh-std</object-name>
|
||||
<object-name>qnh-test</object-name>
|
||||
<object-name>rudder-trim</object-name>
|
||||
<object-name>rudder-trim-letter</object-name>
|
||||
<diffuse>
|
||||
<red>0.75</red>
|
||||
<green>0.30</green>
|
||||
<blue>0.0</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.515</green>
|
||||
<blue>0.00</blue>
|
||||
<factor-prop>controls/lighting/fcu-digit-norm</factor-prop>
|
||||
</diffuse>
|
||||
<ambient>
|
||||
|
@ -7727,9 +7739,9 @@
|
|||
<blue>0</blue>
|
||||
</specular>
|
||||
<emission>
|
||||
<red>0.75</red>
|
||||
<green>0.30</green>
|
||||
<blue>0.0</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.515</green>
|
||||
<blue>0.00</blue>
|
||||
<factor-prop>controls/lighting/fcu-digit-norm</factor-prop>
|
||||
</emission>
|
||||
</animation>
|
||||
|
@ -7738,10 +7750,12 @@
|
|||
<type>material</type>
|
||||
<object-name>rudder-trim</object-name>
|
||||
<object-name>rudder-trim-letter</object-name>
|
||||
<object-name>atc-code</object-name>
|
||||
<object-name>atc-test</object-name>
|
||||
<diffuse>
|
||||
<red>0.75</red>
|
||||
<green>0.30</green>
|
||||
<blue>0.0</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.355</green>
|
||||
<blue>0.00</blue>
|
||||
</diffuse>
|
||||
<ambient>
|
||||
<red>0</red>
|
||||
|
@ -7754,9 +7768,9 @@
|
|||
<blue>0</blue>
|
||||
</specular>
|
||||
<emission>
|
||||
<red>0.75</red>
|
||||
<green>0.30</green>
|
||||
<blue>0.0</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.355</green>
|
||||
<blue>0.00</blue>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
|
@ -9180,9 +9194,9 @@
|
|||
<object-name>dme1</object-name>
|
||||
<!-- <object-name>dme1_20</object-name>-->
|
||||
<diffuse>
|
||||
<red>0.89</red>
|
||||
<green>0.37</green>
|
||||
<blue>0.08</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.355</green>
|
||||
<blue>0.00</blue>
|
||||
</diffuse>
|
||||
<ambient>
|
||||
<red>0</red>
|
||||
|
@ -9195,9 +9209,9 @@
|
|||
<blue>0</blue>
|
||||
</specular>
|
||||
<emission>
|
||||
<red>0.89</red>
|
||||
<green>0.37</green>
|
||||
<blue>0.08</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.355</green>
|
||||
<blue>0.00</blue>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 8.7 KiB |
|
@ -216,9 +216,9 @@ var canvas_PFD_base = {
|
|||
"FMA_athr_box","FMA_Middle1","FMA_Middle2","ALPHA_MAX","ALPHA_PROT","ALPHA_SW","ALPHA_bars","VLS_min","ASI_max","ASI_scale","ASI_target","ASI_mach","ASI_mach_decimal","ASI_trend_up","ASI_trend_down","ASI_digit_UP","ASI_digit_DN","ASI_decimal_UP",
|
||||
"ASI_decimal_DN","ASI_index","ASI_error","ASI_group","ASI_frame","AI_center","AI_bank","AI_bank_lim","AI_bank_lim_X","AI_pitch_lim","AI_pitch_lim_X","AI_slipskid","AI_horizon","AI_horizon_ground","AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading",
|
||||
"AI_agl_g","AI_agl","AI_error","AI_group","FD_roll","FD_pitch","ALT_box_flash","ALT_box","ALT_box_amber","ALT_scale","ALT_target","ALT_target_digit","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_digit_UP",
|
||||
"ALT_digit_DN","ALT_error","ALT_neg","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale",
|
||||
"ALT_digit_DN","ALT_digit_UP_metric","ALT_error","ALT_neg","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale",
|
||||
"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","tailstrikeInd"];
|
||||
"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","tailstrikeInd","Metric_box","Metric_letter","Metric_cur_alt"];
|
||||
},
|
||||
off: 0,
|
||||
on: 0,
|
||||
|
@ -349,6 +349,7 @@ var canvas_PFD_base = {
|
|||
PFD_2_mismatch.page.show();
|
||||
}
|
||||
},
|
||||
showMetricAlt: 0,
|
||||
updateCommon: func () {
|
||||
# FMA MAN TOGA MCT FLX THR
|
||||
# Set properties used a lot to a variable to avoid calling getValue() multiple times
|
||||
|
@ -1031,7 +1032,6 @@ var canvas_PFD_base = {
|
|||
me["QNH_std"].hide();
|
||||
me["QNH_box"].hide();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
# Get Angle of Attack from ADR1 or, depending on Switching panel, ADR3
|
||||
|
@ -1694,6 +1694,18 @@ var canvas_PFD_1 = {
|
|||
me["ALT_scale"].show();
|
||||
|
||||
me.altitude = dmc.DMController.DMCs[0].outputs[1].getValue();
|
||||
|
||||
if (me.showMetricAlt) {
|
||||
me["Metric_box"].show();
|
||||
me["Metric_letter"].show();
|
||||
me["Metric_cur_alt"].show();
|
||||
me["Metric_cur_alt"].setText(sprintf("%5.0f", me.altitude * 0.3048));
|
||||
} else {
|
||||
me["Metric_box"].hide();
|
||||
me["Metric_letter"].hide();
|
||||
me["Metric_cur_alt"].hide();
|
||||
}
|
||||
|
||||
me.altOffset = me.altitude / 500 - int(me.altitude / 500);
|
||||
me.middleAltText = roundaboutAlt(me.altitude / 100);
|
||||
me.middleAltOffset = nil;
|
||||
|
@ -1721,6 +1733,14 @@ var canvas_PFD_1 = {
|
|||
me["ALT_tens"].setTranslation(0, altTens * 1.392);
|
||||
|
||||
ap_alt_cur = ap_alt.getValue();
|
||||
|
||||
if (me.showMetricAlt) {
|
||||
me["ALT_digit_UP_metric"].show();
|
||||
me["ALT_digit_UP_metric"].setText(sprintf("%5.0fM", ap_alt_cur * 0.3048));
|
||||
} else {
|
||||
me["ALT_digit_UP_metric"].hide();
|
||||
}
|
||||
|
||||
alt_diff_cur = dmc.DMController.DMCs[0].outputs[7].getValue();
|
||||
if (alt_diff_cur >= -565 and alt_diff_cur <= 565) {
|
||||
me["ALT_target"].setTranslation(0, (alt_diff_cur / 100) * -48.66856);
|
||||
|
@ -1830,6 +1850,10 @@ var canvas_PFD_1 = {
|
|||
me["ALT_box_flash"].hide();
|
||||
me["ALT_box_amber"].hide();
|
||||
me["ALT_box"].hide();
|
||||
me["Metric_box"].hide();
|
||||
me["Metric_letter"].hide();
|
||||
me["Metric_cur_alt"].hide();
|
||||
me["ALT_digit_UP_metric"].hide();
|
||||
}
|
||||
|
||||
me.updateCommon();
|
||||
|
@ -2465,6 +2489,18 @@ var canvas_PFD_2 = {
|
|||
me["ALT_scale"].show();
|
||||
|
||||
me.altitude = dmc.DMController.DMCs[1].outputs[1].getValue();
|
||||
|
||||
if (me.showMetricAlt) {
|
||||
me["Metric_box"].show();
|
||||
me["Metric_letter"].show();
|
||||
me["Metric_cur_alt"].show();
|
||||
me["Metric_cur_alt"].setText(sprintf("%5.0f", me.altitude * 0.3048));
|
||||
} else {
|
||||
me["Metric_box"].hide();
|
||||
me["Metric_letter"].hide();
|
||||
me["Metric_cur_alt"].hide();
|
||||
}
|
||||
|
||||
me.altOffset = me.altitude / 500 - int(me.altitude / 500);
|
||||
me.middleAltText = roundaboutAlt(me.altitude / 100);
|
||||
me.middleAltOffset = nil;
|
||||
|
@ -2492,6 +2528,14 @@ var canvas_PFD_2 = {
|
|||
me["ALT_tens"].setTranslation(0, altTens * 1.392);
|
||||
|
||||
ap_alt_cur = ap_alt.getValue();
|
||||
|
||||
if (me.showMetricAlt) {
|
||||
me["ALT_digit_UP_metric"].show();
|
||||
me["ALT_digit_UP_metric"].setText(sprintf("%5.0fM", ap_alt_cur * 0.3048));
|
||||
} else {
|
||||
me["ALT_digit_UP_metric"].hide();
|
||||
}
|
||||
|
||||
alt_diff_cur = dmc.DMController.DMCs[1].outputs[7].getValue();
|
||||
if (alt_diff_cur >= -565 and alt_diff_cur <= 565) {
|
||||
me["ALT_target"].setTranslation(0, (alt_diff_cur / 100) * -48.66856);
|
||||
|
@ -2601,6 +2645,10 @@ var canvas_PFD_2 = {
|
|||
me["ALT_box_flash"].hide();
|
||||
me["ALT_box_amber"].hide();
|
||||
me["ALT_box"].hide();
|
||||
me["Metric_box"].hide();
|
||||
me["Metric_letter"].hide();
|
||||
me["Metric_cur_alt"].hide();
|
||||
me["ALT_digit_UP_metric"].hide();
|
||||
}
|
||||
|
||||
me.updateCommon();
|
||||
|
|
|
@ -41,9 +41,9 @@
|
|||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:cy="876.13786"
|
||||
inkscape:cx="522.86542"
|
||||
inkscape:zoom="5.6568542"
|
||||
inkscape:cy="1074.3176"
|
||||
inkscape:cx="955.3885"
|
||||
inkscape:zoom="2"
|
||||
showgrid="true"
|
||||
id="namedview371"
|
||||
inkscape:window-height="705"
|
||||
|
@ -2269,11 +2269,11 @@
|
|||
id="QNH_setting"
|
||||
y="885.26117"
|
||||
x="907.61713"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75;stroke-opacity:1;"
|
||||
xml:space="preserve"
|
||||
transform="scale(1.0000144,0.9999856)"
|
||||
inkscape:label="#text979"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.3994px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke-width:0.75"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.3994px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke-width:0.75;stroke:none;stroke-opacity:1;"
|
||||
y="885.26117"
|
||||
x="907.61713"
|
||||
id="tspan977"
|
||||
|
@ -6276,4 +6276,50 @@
|
|||
x="417.56354"
|
||||
y="34.634907"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:35.99950027px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke-width:0.65757698">-800</tspan></text>
|
||||
<rect
|
||||
inkscape:label="#rect4290"
|
||||
y="896.48456"
|
||||
x="788.52734"
|
||||
height="36.03083"
|
||||
width="153.94527"
|
||||
id="Metric_box"
|
||||
style="fill:none;fill-opacity:1;stroke:#c9d121;stroke-width:3.20831394;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
|
||||
<text
|
||||
id="Metric_cur_alt"
|
||||
y="928.04248"
|
||||
x="847.62854"
|
||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
|
||||
xml:space="preserve"
|
||||
transform="scale(1.0000144,0.9999856)"
|
||||
inkscape:label="#text979"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.3993988px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
|
||||
y="928.04248"
|
||||
x="852.95343"
|
||||
id="tspan977-3"
|
||||
sodipodi:role="line">11070 </tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.3993988px;line-height:1.25;font-family:'Bitstream Vera Sans';-inkscape-font-specification:'Bitstream Vera Sans';letter-spacing:0px;word-spacing:0px;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:0.75"
|
||||
x="909.43152"
|
||||
y="928.62128"
|
||||
id="Metric_letter"
|
||||
inkscape:label="#text1815"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1813"
|
||||
x="909.43152"
|
||||
y="928.62128"
|
||||
style="font-size:38.3993988px;fill:#179ab7;fill-opacity:1;stroke-width:0.75">M</tspan></text>
|
||||
<text
|
||||
inkscape:label="#text975"
|
||||
transform="scale(0.95382559,1.0484097)"
|
||||
id="ALT_digit_UP_metric"
|
||||
y="218.16887"
|
||||
x="604.67737"
|
||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:0%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:0.75"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;text-anchor:start;fill:#179ab7;fill-opacity:1;stroke-width:0.75"
|
||||
y="218.16887"
|
||||
x="604.67737"
|
||||
id="tspan5116-2"
|
||||
sodipodi:role="line">10000M</tspan></text>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 342 KiB After Width: | Height: | Size: 344 KiB |
|
@ -2176,9 +2176,9 @@
|
|||
<object-name>rmp-standby</object-name>
|
||||
<object-name>rmp-standby-test</object-name>
|
||||
<diffuse>
|
||||
<red>0.89</red>
|
||||
<green>0.37</green>
|
||||
<blue>0.08</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.355</green>
|
||||
<blue>0.00</blue>
|
||||
</diffuse>
|
||||
<ambient>
|
||||
<red>0</red>
|
||||
|
@ -2191,9 +2191,9 @@
|
|||
<blue>0</blue>
|
||||
</specular>
|
||||
<emission>
|
||||
<red>0.89</red>
|
||||
<green>0.37</green>
|
||||
<blue>0.08</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.355</green>
|
||||
<blue>0.00</blue>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
|
|
|
@ -2176,9 +2176,9 @@
|
|||
<object-name>rmp-standby</object-name>
|
||||
<object-name>rmp-standby-test</object-name>
|
||||
<diffuse>
|
||||
<red>0.89</red>
|
||||
<green>0.37</green>
|
||||
<blue>0.08</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.355</green>
|
||||
<blue>0.00</blue>
|
||||
</diffuse>
|
||||
<ambient>
|
||||
<red>0</red>
|
||||
|
@ -2191,9 +2191,9 @@
|
|||
<blue>0</blue>
|
||||
</specular>
|
||||
<emission>
|
||||
<red>0.89</red>
|
||||
<green>0.37</green>
|
||||
<blue>0.08</blue>
|
||||
<red>1.00</red>
|
||||
<green>0.355</green>
|
||||
<blue>0.00</blue>
|
||||
</emission>
|
||||
</animation>
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ var altAlertInhibit = nil;
|
|||
var alt200 = nil;
|
||||
var alt750 = nil;
|
||||
var bigThree = nil;
|
||||
var fltCtlLandAsap = 0;
|
||||
|
||||
var altAlertSteady = 0;
|
||||
var altAlertFlash = 0;
|
||||
|
@ -3148,7 +3149,7 @@ var messages_config_memo = func {
|
|||
setprop("/ECAM/to-config-reset", 0);
|
||||
}
|
||||
|
||||
if (getprop("/controls/autobrake/mode") == 3) {
|
||||
if (systems.Autobrake.mode.getValue() == 3) {
|
||||
toMemoLine1.msg = "T.O AUTO BRK MAX";
|
||||
toMemoLine1.colour = "g";
|
||||
} else {
|
||||
|
@ -3411,14 +3412,20 @@ var messages_right_memo = func {
|
|||
ldg_inhibit.active = 0;
|
||||
}
|
||||
|
||||
if ((!pts.Gear.wow[1].getValue()) and (systems.ELEC.EmerElec.getValue() or getprop("/systems/fire/engine1/warning-active") == 1 or getprop("/systems/fire/engine2/warning-active") == 1 or getprop("/systems/fire/apu/warning-active") == 1 or getprop("/systems/failures/fire/cargo-aft-fire") == 1 or getprop("/systems/failures/fire/cargo-fwd-fire") == 1) or (((systems.HYD.Psi.green.getValue() < 1500 and pts.Engines.Engine.state[0].getValue() == 3) and (systems.HYD.Psi.yellow.getValue() < 1500 and pts.Engines.Engine.state[1].getValue() == 3)) or ((systems.HYD.Psi.green.getValue() < 1500 or systems.HYD.Psi.yellow.getValue() < 1500) and pts.Engines.Engine.state[0].getValue() == 3 and pts.Engines.Engine.state[1].getValue() == 3) and phaseVarMemo3 >= 3 and phaseVarMemo3 <= 8)) {
|
||||
# todo: emer elec
|
||||
if (!(FWC.Timer.gnd.getValue() == 1) and (systems.ELEC.EmerElec.getValue() or dualFailNode.getValue() == 1 or systems.eng1FireWarn.getValue() == 1 or systems.eng2FireWarn.getValue() == 1 or systems.apuFireWarn.getValue() == 1 or systems.aftCargoFireWarn.getValue() == 1 or systems.fwdCargoFireWarn.getValue() == 1 or (getprop("/ECAM/warnings/hyd/green-abnorm-lo-pr") and getprop("/ECAM/warnings/hyd/yellow-abnorm-lo-pr")) or (getprop("/ECAM/warnings/hyd/green-abnorm-lo-pr") and getprop("/ECAM/warnings/hyd/blue-abnorm-lo-pr")) or (getprop("/ECAM/warnings/hyd/blue-abnorm-lo-pr") and getprop("/ECAM/warnings/hyd/yellow-abnorm-lo-pr")))) {
|
||||
land_asap_r.active = 1;
|
||||
} else {
|
||||
land_asap_r.active = 0;
|
||||
}
|
||||
|
||||
if (land_asap_r.active == 0 and !pts.Gear.wow[1].getValue() and ((getprop("/fdm/jsbsim/propulsion/tank[0]/contents-lbs") < 1650 and getprop("/fdm/jsbsim/propulsion/tank[1]/contents-lbs") < 1650) or ((getprop("/systems/electrical/bus/dc-2") < 25 and (getprop("/systems/failures/fctl/elac1") == 1 or getprop("/systems/failures/fctl/sec1") == 1)) or (systems.HYD.Psi.green.getValue() < 1500 and (getprop("/systems/failures/fctl/elac1") == 1 and getprop("/systems/failures/fctl/sec1") == 1)) or (systems.HYD.Psi.yellow.getValue() < 1500 and (getprop("/systems/failures/fctl/elac1") == 1 and getprop("/systems/failures/fctl/sec1") == 1)) or (systems.HYD.Psi.blue.getValue() < 1500 and (getprop("/systems/failures/fctl/elac2") == 1 and getprop("/systems/failures/fctl/sec2") == 1))) or (phaseVarMemo3 >= 3 and phaseVarMemo3 <= 8 and (pts.Engines.Engine.state[0].getValue() != 3 or pts.Engines.Engine.state[1].getValue() != 3)))) {
|
||||
if ((systems.ELEC.Bus.dc2.getValue() < 25 and (fbw.FBW.Failures.elac1.getValue() == 1 or fbw.FBW.Failures.sec1.getValue() == 1)) or ((systems.HYD.Psi.yellow.getValue() < 1500 or systems.HYD.Psi.green.getValue() < 1500) and (fbw.FBW.Failures.elac1.getValue() == 1 and fbw.FBW.Failures.sec1.getValue() == 1)) or (systems.HYD.Psi.blue.getValue() < 1500 and (fbw.FBW.Failures.elac2.getValue() == 1 and fbw.FBW.Failures.sec2.getValue() == 1))) {
|
||||
fltCtlLandAsap = 1;
|
||||
} else {
|
||||
fltCtlLandAsap = 0;
|
||||
}
|
||||
|
||||
if (land_asap_r.active == 0 and !(FWC.Timer.gnd.getValue() == 1) and (warningNodes.Timers.lowLevelBoth.getValue() == 1 or warningNodes.Logic.eng1Shutdown.getValue() or warningNodes.Logic.eng2Shutdown.getValue() or warningNodes.Logic.eng1Fail.getValue() or warningNodes.Logic.eng2Fail.getValue() or warningNodes.Timers.dcEmerConfig.getValue() == 1 or fltCtlLandAsap)) {
|
||||
# todo avionics smoke and reverse unlocked
|
||||
land_asap_a.active = 1;
|
||||
} else {
|
||||
land_asap_a.active = 0;
|
||||
|
@ -3496,7 +3503,7 @@ var messages_right_memo = func {
|
|||
nw_strg_disc.colour = "g";
|
||||
}
|
||||
|
||||
if (getprop("/controls/pneumatics/switches/ram-air") == 1) {
|
||||
if (systems.PNEU.Switch.ramAir.getValue() == 1) {
|
||||
ram_air.active = 1;
|
||||
} else {
|
||||
ram_air.active = 0;
|
||||
|
@ -3537,7 +3544,7 @@ var messages_right_memo = func {
|
|||
company_msg.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/ice-protection/leng") == 1 or getprop("/controls/ice-protection/reng") == 1 or getprop("/systems/electrical/bus/dc-1") == 0 or getprop("/systems/electrical/bus/dc-2") == 0) {
|
||||
if (getprop("/controls/ice-protection/leng") == 1 or getprop("/controls/ice-protection/reng") == 1 or systems.ELEC.Bus.dc1.getValue() < 25 or systems.ELEC.Bus.dc2.getValue() < 25) {
|
||||
eng_aice.active = 1;
|
||||
} else {
|
||||
eng_aice.active = 0;
|
||||
|
@ -3549,7 +3556,7 @@ var messages_right_memo = func {
|
|||
wing_aice.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/pneumatics/switches/apu") == 1 and pts.APU.rpm.getValue() >= 95) {
|
||||
if (systems.PNEU.Switch.apu.getValue() == 1 and pts.APU.rpm.getValue() >= 95) {
|
||||
apu_bleed.active = 1;
|
||||
} else {
|
||||
apu_bleed.active = 0;
|
||||
|
@ -3561,43 +3568,43 @@ var messages_right_memo = func {
|
|||
apu_avail.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/lighting/landing-lights[1]") > 0 or getprop("/controls/lighting/landing-lights[2]") > 0) {
|
||||
if (pts.Controls.Lighting.landingLights[1].getValue() > 0 or pts.Controls.Lighting.landingLights[2].getValue() > 0) {
|
||||
ldg_lt.active = 1;
|
||||
} else {
|
||||
ldg_lt.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/gear/brake-fans") == 1) {
|
||||
if (systems.BrakeSys.brakeFans.getValue() == 1) {
|
||||
brk_fan.active = 1;
|
||||
} else {
|
||||
brk_fan.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override") == 1) { # todo: emer elec
|
||||
if (pts.Instrumentation.MKVII.Inputs.Discretes.flap3Override.getValue() == 1) { # todo: emer elec
|
||||
gpws_flap3.active = 1;
|
||||
} else {
|
||||
gpws_flap3.active = 0;
|
||||
}
|
||||
|
||||
if (!getprop("/systems/radio/vhf3-data-mode") and (phaseVarMemo3 == 1 or phaseVarMemo3 == 2 or phaseVarMemo3 == 6 or phaseVarMemo3 == 9 or phaseVarMemo3 == 10)) {
|
||||
if (!rmp.vhf3_data_mode.getValue() and (phaseVarMemo3 == 1 or phaseVarMemo3 == 2 or phaseVarMemo3 == 6 or phaseVarMemo3 == 9 or phaseVarMemo3 == 10)) {
|
||||
vhf3_voice.active = 1;
|
||||
} else {
|
||||
vhf3_voice.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/autobrake/mode") == 1 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
|
||||
if (systems.Autobrake.mode.getValue() == 1 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
|
||||
auto_brk_lo.active = 1;
|
||||
} else {
|
||||
auto_brk_lo.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/autobrake/mode") == 2 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
|
||||
if (systems.Autobrake.mode.getValue() == 2 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
|
||||
auto_brk_med.active = 1;
|
||||
} else {
|
||||
auto_brk_med.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/autobrake/mode") == 3 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
|
||||
if (systems.Autobrake.mode.getValue() == 3 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
|
||||
auto_brk_max.active = 1;
|
||||
} else {
|
||||
auto_brk_max.active = 0;
|
||||
|
|
|
@ -491,6 +491,12 @@ var FCUController = {
|
|||
}
|
||||
}
|
||||
},
|
||||
MetricAlt: func() {
|
||||
if (me.FCUworking) {
|
||||
canvas_pfd.PFD_1.showMetricAlt = !canvas_pfd.PFD_1.showMetricAlt;
|
||||
canvas_pfd.PFD_2.showMetricAlt = !canvas_pfd.PFD_2.showMetricAlt;
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
# Master / slave principle of operation depending on the autopilot / flight director engagement
|
||||
|
|
Loading…
Reference in a new issue