A3XX: Fix Lower ECAM showing through fuselage, improve PFD FMA

This commit is contained in:
Joshua Davidson 2017-06-13 12:45:05 -04:00
parent 79ccf7eb59
commit 26f2ff9b5d
2 changed files with 35 additions and 0 deletions

View file

@ -397,6 +397,7 @@
</offsets> </offsets>
<condition> <condition>
<and> <and>
<property>sim/current-view/internal</property>
<greater-than-equals> <greater-than-equals>
<property>/systems/electrical/bus/ac1</property> <property>/systems/electrical/bus/ac1</property>
<value>110</value> <value>110</value>

View file

@ -82,6 +82,7 @@ setlistener("/it-autoflight/mode/vert", func {
var newvert = getprop("/modes/pfd/fma/pitch-mode"); var newvert = getprop("/modes/pfd/fma/pitch-mode");
var newvertarm = getprop("/modes/pfd/fma/pitch-mode2-armed"); var newvertarm = getprop("/modes/pfd/fma/pitch-mode2-armed");
if (vert == "ALT HLD") { if (vert == "ALT HLD") {
altvert();
if (newvert != "ALT") { if (newvert != "ALT") {
setprop("/modes/pfd/fma/pitch-mode", "ALT"); setprop("/modes/pfd/fma/pitch-mode", "ALT");
} }
@ -89,6 +90,7 @@ setlistener("/it-autoflight/mode/vert", func {
setprop("/modes/pfd/fma/pitch-mode2-armed", " "); setprop("/modes/pfd/fma/pitch-mode2-armed", " ");
} }
} else if (vert == "ALT CAP") { } else if (vert == "ALT CAP") {
altvert();
if (newvert != "ALT*") { if (newvert != "ALT*") {
setprop("/modes/pfd/fma/pitch-mode", "ALT*"); setprop("/modes/pfd/fma/pitch-mode", "ALT*");
} }
@ -153,8 +155,40 @@ setlistener("/it-autoflight/mode/vert", func {
setprop("/modes/pfd/fma/pitch-mode2-armed", "ALT"); setprop("/modes/pfd/fma/pitch-mode2-armed", "ALT");
} }
} }
altvert();
}); });
var altvert = func {
var FMGCalt = getprop("/FMGC/internal/cruise-ft");
var MCPalt = getprop("/it-autoflight/internal/alt");
var ALTdif = abs(FMGCalt - MCPalt);
var vert = getprop("/it-autoflight/mode/vert");
var newvert = getprop("/modes/pfd/fma/pitch-mode");
if (ALTdif <= 20) {
if (vert == "ALT HLD") {
if (newvert != "ALT CRZ") {
setprop("/modes/pfd/fma/pitch-mode", "ALT CRZ");
}
} else if (vert == "ALT CAP") {
if (newvert != "ALT CRZ*") {
setprop("/modes/pfd/fma/pitch-mode", "ALT CRZ*");
}
}
} else {
if (vert == "ALT HLD") {
if (newvert != "ALT") {
setprop("/modes/pfd/fma/pitch-mode", "ALT");
}
} else if (vert == "ALT CAP") {
if (newvert != "ALT*") {
setprop("/modes/pfd/fma/pitch-mode", "ALT*");
}
}
}
}
setlistener("/FMGC/internal/cruise-ft", altvert);
# Arm HDG or NAV # Arm HDG or NAV
setlistener("/it-autoflight/mode/arm", func { setlistener("/it-autoflight/mode/arm", func {
var arm = getprop("/it-autoflight/mode/arm"); var arm = getprop("/it-autoflight/mode/arm");