diff --git a/A320-main.xml b/A320-main.xml
index 05cff0c1..0ef66712 100644
--- a/A320-main.xml
+++ b/A320-main.xml
@@ -1259,7 +1259,7 @@
Aircraft/IDG-A32X/Nasal/MCDU2/STATUS.nas
- Aircraft/IDG-A32X/Models/Instruments/PFD-WIP/PFD1.nas
+ Aircraft/IDG-A32X/Models/Instruments/PFD-WIP/PFD.nas
Aircraft/IDG-A32X/Models/Instruments/ND/canvas/ND.nas
diff --git a/Models/Instruments/PFD-WIP/PFD1.nas b/Models/Instruments/PFD-WIP/PFD.nas
similarity index 83%
rename from Models/Instruments/PFD-WIP/PFD1.nas
rename to Models/Instruments/PFD-WIP/PFD.nas
index cce47aec..e6c75edd 100644
--- a/Models/Instruments/PFD-WIP/PFD1.nas
+++ b/Models/Instruments/PFD-WIP/PFD.nas
@@ -8,6 +8,7 @@
var PFD_1 = nil;
var PFD_display = nil;
setprop("/instrumentation/pfd/vs-needle", 0);
+setprop("/instrumentation/pfd/vs-digit-trans", 0);
setprop("/it-autoflight/input/spd-managed", 0);
setprop("/FMGC/internal/target-ias-pfd", 0);
setprop("/it-autoflight/output/ap1", 0);
@@ -16,6 +17,8 @@ setprop("/it-autoflight/output/fd1", 0);
setprop("/it-autoflight/output/fd2", 0);
setprop("/it-autoflight/output/athr", 0);
setprop("/instrumentation/pfd/horizon-pitch", 0);
+setprop("/it-autoflight/internal/vert-speed-fpm-pfd", 0);
+setprop("/position/gear-agl-ft", 0);
var ASI = 0;
var ASItrgt = 0;
var alt = 0;
@@ -109,9 +112,10 @@ var canvas_PFD_1 = {
return m;
},
getKeys: func() {
- return ["FMA_man","FMA_manmode","FMA_flxtemp","FMA_thrust","FMA_lvrclb","FMA_pitch","FMA_pitcharm","FMA_pitcharm2","FMA_roll","FMA_rollarm","FMA_combined","FMA_catmode","FMA_cattype","FMA_nodh","FMA_dh","FMA_dhn","FMA_ap","FMA_fd","FMA_athr",
- "FMA_man_box","FMA_flx_box","FMA_thrust_box","FMA_pitch_box","FMA_pitcharm_box","FMA_roll_box","FMA_rollarm_box","FMA_combined_box","FMA_catmode_box","FMA_cattype_box","FMA_cat_box","FMA_dh_box","FMA_ap_box","FMA_fd_box","FMA_athr_box","FMA_Middle1",
- "FMA_Middle2","ASI_scale","ASI_target","ASI_mach","ASI_mach_decimal","ASI_ten_sec","AI_center","AI_bank","AI_slipskid","AI_horizon","AI_horizon_ground","AI_horizon_sky","FD_roll","FD_pitch","ALT_digits","ALT_tens","VS_pointer","QNH_setting","LOC_pointer","LOC_scale","GS_scale","GS_pointer","HDG_target"];
+ return ["FMA_man","FMA_manmode","FMA_flxtemp","FMA_thrust","FMA_lvrclb","FMA_pitch","FMA_pitcharm","FMA_pitcharm2","FMA_roll","FMA_rollarm","FMA_combined","FMA_ctr_msg","FMA_catmode","FMA_cattype","FMA_nodh","FMA_dh","FMA_dhn","FMA_ap","FMA_fd",
+ "FMA_athr","FMA_man_box","FMA_flx_box","FMA_thrust_box","FMA_pitch_box","FMA_pitcharm_box","FMA_roll_box","FMA_rollarm_box","FMA_combined_box","FMA_catmode_box","FMA_cattype_box","FMA_cat_box","FMA_dh_box","FMA_ap_box","FMA_fd_box","FMA_athr_box",
+ "FMA_Middle1","FMA_Middle2","ASI_scale","ASI_target","ASI_mach","ASI_mach_decimal","ASI_ten_sec","AI_center","AI_bank","AI_slipskid","AI_horizon","AI_horizon_ground","AI_horizon_sky","AI_agl","FD_roll","FD_pitch","ALT_digits","ALT_tens","VS_pointer",
+ "VS_box","VS_digit","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","HDG_target"];
},
update: func() {
state1 = getprop("/systems/thrust/state1");
@@ -211,8 +215,19 @@ var canvas_PFD_1 = {
me["FMA_rollarm_box"].hide();
me["FMA_Middle1"].hide();
me["FMA_Middle2"].hide();
+ if (getprop("/it-fbw/law") == 2) {
+ me["FMA_ctr_msg"].setText("USE MAN PITCH TRIM");
+ me["FMA_ctr_msg"].setColor(0.7333,0.3803,0);
+ me["FMA_ctr_msg"].show();
+ } else if (getprop("/it-fbw/law") == 3) {
+ me["FMA_ctr_msg"].setText("MAN PITCH TRIM ONLY");
+ me["FMA_ctr_msg"].setColor(1,0,0);
+ me["FMA_ctr_msg"].show();
+ } else {
+ me["FMA_ctr_msg"].hide();
+ }
me["FMA_combined"].show();
- if (getprop("/modes/pfd/fma/pitch-mode-box") == 1) {
+ if (getprop("/modes/pfd/fma/pitch-mode-box") == 1 and pitch_mode != " ") {
me["FMA_combined_box"].show();
} else {
me["FMA_combined_box"].hide();
@@ -220,8 +235,24 @@ var canvas_PFD_1 = {
} else {
me["FMA_combined"].hide();
me["FMA_combined_box"].hide();
- me["FMA_Middle1"].show();
- me["FMA_Middle2"].show();
+ if (getprop("/it-fbw/law") == 2) {
+ me["FMA_ctr_msg"].setText("USE MAN PITCH TRIM");
+ me["FMA_ctr_msg"].setColor(0.7333,0.3803,0);
+ me["FMA_Middle1"].hide();
+ me["FMA_Middle2"].show();
+ me["FMA_ctr_msg"].show();
+ } else if (getprop("/it-fbw/law") == 3) {
+ me["FMA_ctr_msg"].setText("MAN PITCH TRIM ONLY");
+ me["FMA_ctr_msg"].setColor(1,0,0);
+ me["FMA_Middle1"].hide();
+ me["FMA_Middle2"].show();
+ me["FMA_ctr_msg"].show();
+ } else {
+ me["FMA_ctr_msg"].hide();
+ me["FMA_Middle1"].show();
+ me["FMA_Middle2"].hide();
+ }
+
if (ap1 or ap2 or fd1 or fd2) {
me["FMA_pitch"].show();
me["FMA_roll"].show();
@@ -386,6 +417,20 @@ var canvas_PFD_1 = {
me["FD_pitch"].setTranslation(0, -(getprop("/it-autoflight/fd/pitch-bar")) * 3.8);
}
+ me["AI_agl"].setText(sprintf("%s", math.round(getprop("/position/gear-agl-ft"))));
+
+ if (getprop("/position/gear-agl-ft") <= getprop("/instrumentation/mk-viii/inputs/arinc429/decision-height")) {
+ me["AI_agl"].setColor(0.7333,0.3803,0);
+ } else {
+ me["AI_agl"].setColor(0.0509,0.7529,0.2941);
+ }
+
+ if (getprop("/position/gear-agl-ft") <= 2500) {
+ me["AI_agl"].show();
+ } else {
+ me["AI_agl"].hide();
+ }
+
# Altitude
me["ALT_digits"].setText(sprintf("%s", getprop("/instrumentation/altimeter/indicated-altitude-ft-pfd")));
altTens = num(right(sprintf("%02d", getprop("/instrumentation/altimeter/indicated-altitude-ft")), 2));
@@ -393,16 +438,41 @@ var canvas_PFD_1 = {
# QNH
if (getprop("/modes/altimeter/std") == 1) {
- me["QNH_setting"].setText(sprintf("%s", "STD"));
+ me["QNH"].hide();
+ me["QNH_setting"].hide();
+ me["QNH_std"].show();
+ me["QNH_box"].show();
} else if (getprop("/modes/altimeter/inhg") == 0) {
me["QNH_setting"].setText(sprintf("%4.0f", getprop("/instrumentation/altimeter/setting-hpa")));
+ me["QNH"].show();
+ me["QNH_setting"].show();
+ me["QNH_std"].hide();
+ me["QNH_box"].hide();
} else if (getprop("/modes/altimeter/inhg") == 1) {
me["QNH_setting"].setText(sprintf("%2.2f", getprop("/instrumentation/altimeter/setting-inhg")));
+ me["QNH"].show();
+ me["QNH_setting"].show();
+ me["QNH_std"].hide();
+ me["QNH_box"].hide();
}
# Vertical Speed
me["VS_pointer"].setRotation(getprop("/instrumentation/pfd/vs-needle") * D2R);
+ me["VS_box"].setTranslation(0, getprop("/instrumentation/pfd/vs-digit-trans"));
+
+ if (getprop("/it-autoflight/internal/vert-speed-fpm-pfd") < 2) {
+ me["VS_box"].hide();
+ } else {
+ me["VS_box"].show();
+ }
+
+ if (getprop("/it-autoflight/internal/vert-speed-fpm-pfd") < 10) {
+ me["VS_digit"].setText(sprintf("%s", "0" ~ getprop("/it-autoflight/internal/vert-speed-fpm-pfd")));
+ } else {
+ me["VS_digit"].setText(sprintf("%s", getprop("/it-autoflight/internal/vert-speed-fpm-pfd")));
+ }
+
# ILS
if (getprop("/modes/pfd/ILS1") == 1) {
me["LOC_scale"].show();
diff --git a/Models/Instruments/PFD-WIP/res/pfd.svg b/Models/Instruments/PFD-WIP/res/pfd.svg
index cd4bde92..9530ae86 100644
--- a/Models/Instruments/PFD-WIP/res/pfd.svg
+++ b/Models/Instruments/PFD-WIP/res/pfd.svg
@@ -41,9 +41,9 @@
inkscape:window-height="1030"
id="namedview371"
showgrid="false"
- inkscape:zoom="1"
- inkscape:cx="-416.36867"
- inkscape:cy="1454.5616"
+ inkscape:zoom="1.4142136"
+ inkscape:cx="949.68918"
+ inkscape:cy="635.21338"
inkscape:window-x="1592"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@@ -1059,6 +1059,19 @@
d="m -193.7976,610.26868 1284.1095,0"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.20000005;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
+ STD
+
@@ -1122,14 +1142,14 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4984"
- d="m 854.63039,236.93596 0,226.6383"
+ d="m 856.91323,236.93596 0,226.6383"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
+ transform="matrix(1.0666667,0,0,1.066636,0.28284271,-0.50381959)">
+ transform="matrix(1.0666667,0,0,-1.066636,0.28284271,1026.1924)">
+ id="g4317"
+ transform="translate(0.28284271,0)">
1
+
+ transform="matrix(1.0666667,0,0,1.066636,0.28284271,-0.50381959)">
-
@@ -1361,12 +1382,38 @@
width="6.5950012"
height="361.44022"
x="509.69724"
- y="-1060.036"
+ y="-1060.3188"
inkscape:label="#rect4954"
inkscape:transform-center-x="170.07916" />
+
+
+ 00
+
+ inkscape:label="#g3847"
+ transform="translate(0.69023445,0)">
+ transform="matrix(1.0666667,0,0,1.066636,0.69023445,-0.50381959)">
+ MAN PITCH TRIM ONLY
-
+ transform="matrix(1.0666667,0,0,1.066636,4.919636,-0.50381959)">
+ transform="matrix(-1.0666667,0,0,1.066636,891.59023,-0.50381959)">
+ inkscape:label="#g4578"
+ transform="translate(0,4.4)">
+ inkscape:label="#g4569"
+ transform="translate(5.2325902,0)">
@@ -2251,8 +2306,8 @@
+ transform="matrix(1.0666667,0,0,1.066636,7.9500002,2.8086774)">
+
QNH
@@ -2355,20 +2419,20 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path922"
- d="m 12.477577,790.62913 141.300723,0"
+ d="m 13.167811,790.62913 141.300719,0"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
40200080604020008060
+ transform="matrix(1.0666667,0,0,1.066636,2.2828427,-0.50381959)">
@@ -2462,34 +2526,21 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path967"
- d="m 763.47791,235.4451 136.156,0"
+ d="m 765.76075,235.4451 136.156,0"
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
00
- 1013
+ id="g4545"
+ transform="translate(0,6.4)">
-
-
+
+
+
+
@@ -2912,7 +2968,7 @@
000
@@ -2964,13 +3020,39 @@
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30.52176857px;line-height:1.25;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
x="45.718079"
- y="833.22681"
+ y="835.1153"
id="ASI_mach_decimal"
transform="scale(0.95383277,1.0484018)"
inkscape:label="#text975">.
+ STD
+ 0000
diff --git a/Systems/pfd.xml b/Systems/pfd.xml
index e6a4c239..7ce0e27c 100644
--- a/Systems/pfd.xml
+++ b/Systems/pfd.xml
@@ -387,4 +387,33 @@
+
+ Vertical Speed Digit Translate
+ gain
+ 1
+
+
+
+ /it-autoflight/internal/vert-speed-fpm-filtered
+ -6000 340
+ -4000 302
+ -2000 269
+ -1500 230
+ -1000 197
+ -500 110
+ -200 61
+ 0 0
+ 200 -61
+ 500-110
+ 1000-197
+ 1500-230
+ 2000-269
+ 4000-302
+ 6000-340
+
+
+
+
+
+