diff --git a/Models/FlightDeck/a320.flightdeck.xml b/Models/FlightDeck/a320.flightdeck.xml
index 9fbf8f23..38e2becd 100644
--- a/Models/FlightDeck/a320.flightdeck.xml
+++ b/Models/FlightDeck/a320.flightdeck.xml
@@ -1473,7 +1473,39 @@
- knob
+ slider
+ CockpitDoorSwitch
+ CockpitDoorSwitch.mark
+ controls/doors/doorc-switch
+ vertical
+
+
+ property-adjust
+ controls/doors/doorc-switch
+ -1
+ -1
+ 1
+ 0
+
+
+
+
+ property-assign
+ controls/doors/doorc-switch
+ 0
+
+
+
+
+ set-tooltip
+ doorc-switch-lock
+
+
+
+
+
+
+ rotate
CockpitDoorSwitch
CockpitDoorSwitch.mark
controls/doors/doorc-switch
@@ -1485,38 +1517,6 @@
CockpitDoorSwitch.axis
-
-
- property-cycle
- controls/doors/doorc-switch
- -1
- 0
- 1
- false
-
-
- nasal
-
-
-
-
-
- property-assign
- controls/doors/doorc-switch
- 0
-
-
- nasal
-
-
-
-
-
- set-tooltip
- doorc-switch-lock
-
-
-
diff --git a/Models/Instruments/MCDU/MCDU.nas b/Models/Instruments/MCDU/MCDU.nas
index d8592314..d22aff78 100644
--- a/Models/Instruments/MCDU/MCDU.nas
+++ b/Models/Instruments/MCDU/MCDU.nas
@@ -5392,6 +5392,12 @@ var canvas_MCDU_base = {
me.colorRight(myVertRev[i].R1[2],myVertRev[i].R2[2],myVertRev[i].R3[2],myVertRev[i].R4[2],myVertRev[i].R5[2],myVertRev[i].R6[2]);
}
+
+ if (myVertRev[i] != nil and (myVertRev[i].type == 1 and fmgc.FMGCInternal.desSpdLimSet) or (myVertRev[i].type != 1 and fmgc.FMGCInternal.clbSpdLimSet)) {
+ me["Simple_L2"].setFontSize(normal);
+ } else {
+ me["Simple_L2"].setFontSize(small);
+ }
pageSwitch[i].setBoolValue(1);
}
} else if (page == "DEPARTURE") {
diff --git a/Models/Instruments/PFD/PFD.nas b/Models/Instruments/PFD/PFD.nas
index 8e36d621..7fb5c12b 100644
--- a/Models/Instruments/PFD/PFD.nas
+++ b/Models/Instruments/PFD/PFD.nas
@@ -648,8 +648,6 @@ var canvas_pfd = {
obj.AI_fpv_rot = obj["FPV"].createTransform();
obj.page = obj.group;
- # temporarily hidden
- obj["ASI_buss"].hide();
obj["ASI_index_middle"].hide();
# end temporary hide
@@ -664,7 +662,7 @@ var canvas_pfd = {
"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",
- "Metric_box","Metric_letter","Metric_cur_alt","ASI_buss","ASI_index_middle"];
+ "Metric_box","Metric_letter","Metric_cur_alt","ASI_buss","ASI_buss_ref","ASI_buss_ref_blue","ASI_index_middle"];
},
getKeysTest: func() {
return ["Test_white","Test_text"];
@@ -674,6 +672,7 @@ var canvas_pfd = {
},
aoa: 0,
showMetricAlt: 0,
+ ASItrendIsShown: 0,
update: func(notification) {
me.updatePower(notification);
@@ -755,6 +754,9 @@ var canvas_pfd = {
if (dmc.DMController.DMCs[me.number].outputs[0] != nil) {
me.ind_spd = dmc.DMController.DMCs[me.number].outputs[0].getValue();
me["ASI_error"].hide();
+ me["ASI_buss"].hide();
+ me["ASI_buss_ref"].hide();
+ me["ASI_buss_ref_blue"].hide();
me["ASI_frame"].setColor(1,1,1);
me["ASI_group"].show();
me["VLS_min"].hide();
@@ -1097,17 +1099,23 @@ var canvas_pfd = {
me["ASI_trend_up"].setTranslation(0, math.clamp(me.ASItrend, 0, 50) * -6.6);
me["ASI_trend_down"].setTranslation(0, math.clamp(me.ASItrend, -50, 0) * -6.6);
- if (me.ASItrend >= 2) {
- me["ASI_trend_up"].show();
- me["ASI_trend_down"].hide();
- } else if (me.ASItrend <= -2) {
- me["ASI_trend_down"].show();
- me["ASI_trend_up"].hide();
+ if (notification.fac1 or notification.fac2) {
+ if (me.ASItrend >= 2 or (me.ASItrendIsShown and me.ASItrend >= 1)) {
+ me["ASI_trend_up"].show();
+ me["ASI_trend_down"].hide();
+ me.ASItrendIsShown = 1;
+ } else if (me.ASItrend <= -2 or (me.ASItrendIsShown and me.ASItrend <= -1)) {
+ me["ASI_trend_up"].hide();
+ me["ASI_trend_down"].show();
+ me.ASItrendIsShown = 1;
+ } else {
+ me["ASI_trend_up"].hide();
+ me["ASI_trend_down"].hide();
+ }
} else {
me["ASI_trend_up"].hide();
me["ASI_trend_down"].hide();
}
-
if (-notification.agl >= -565 and -notification.agl <= 565) {
me["ground_ref"].show();
@@ -1116,7 +1124,19 @@ var canvas_pfd = {
}
} else {
me["ASI_group"].hide();
- me["ASI_error"].show();
+ if (!systems.ADIRS.Operating.adr[0].getValue() and !systems.ADIRS.Operating.adr[1].getValue() and !systems.ADIRS.Operating.adr[2].getValue()) {
+ me["ASI_buss"].show();
+ me["ASI_buss_ref"].show();
+ me["ASI_buss_ref_blue"].show();
+ me["ASI_buss"].setTranslation(0, notification.bussTranslate);
+ me["ASI_buss_ref_blue"].setTranslation(0, notification.bussTranslate);
+ me["ASI_error"].hide();
+ } else {
+ me["ASI_buss"].hide();
+ me["ASI_buss_ref"].hide();
+ me["ASI_buss_ref_blue"].hide();
+ me["ASI_error"].show();
+ }
me["ASI_frame"].setColor(1,0,0);
me["clean_speed"].hide();
me["S_target"].hide();
@@ -2032,6 +2052,8 @@ var input = {
decel: "/FMGC/internal/decel",
radio: "/FMGC/internal/radio",
baro: "/FMGC/internal/baro",
+
+ bussTranslate: "/instrumentation/pfd/buss/translate",
};
foreach (var name; keys(input)) {
diff --git a/Models/Instruments/PFD/res/pfd.svg b/Models/Instruments/PFD/res/pfd.svg
index 563ec4d6..04207315 100644
--- a/Models/Instruments/PFD/res/pfd.svg
+++ b/Models/Instruments/PFD/res/pfd.svg
@@ -1,19 +1,19 @@