Merge branch 'dev' into comm
This commit is contained in:
commit
c106c20580
28 changed files with 7280 additions and 6023 deletions
|
@ -1372,6 +1372,11 @@
|
|||
</voice>
|
||||
</mk-viii>
|
||||
|
||||
<pfd n="0">
|
||||
<hundred-above type="int">99999</hundred-above>
|
||||
<minimums type="int">99999</minimums>
|
||||
</pfd>
|
||||
|
||||
<radar-altimeter n="0">
|
||||
<antenna>
|
||||
<x-offset-m type="double">-1</x-offset-m>
|
||||
|
|
|
@ -96,15 +96,19 @@ var flightNum = props.globals.getNode("MCDUC/flight-num", 1);
|
|||
var flightNumSet = props.globals.getNode("MCDUC/flight-num-set", 1);
|
||||
var depArpt = props.globals.getNode("FMGC/internal/dep-arpt", 1);
|
||||
var arrArpt = props.globals.getNode("FMGC/internal/arr-arpt", 1);
|
||||
var alt_airport = props.globals.getNode("FMGC/internal/alt-airport", 1);
|
||||
var toFromSet = props.globals.getNode("FMGC/internal/tofrom-set", 1);
|
||||
var alt_airport = props.globals.getNode("FMGC/internal/alt-airport", 1);
|
||||
var altSet = props.globals.getNode("FMGC/internal/alt-set", 1);
|
||||
var costIndex = props.globals.getNode("FMGC/internal/cost-index", 1);
|
||||
var costIndexSet = props.globals.getNode("FMGC/internal/cost-index-set", 1);
|
||||
var cruiseFL = props.globals.getNode("FMGC/internal/cruise-fl", 1);
|
||||
var cruiseSet = props.globals.getNode("FMGC/internal/cruise-lvl-set", 1);
|
||||
var cruiseTemp = props.globals.getNode("FMGC/internal/cruise-temp", 1);
|
||||
var cruiseTempSet = props.globals.getNode("FMGC/internal/cruise-temp-set", 1);
|
||||
var tropo = props.globals.getNode("FMGC/internal/tropo", 1);
|
||||
var tropoSet = props.globals.getNode("FMGC/internal/tropo-set", 1);
|
||||
var gndtemp = props.globals.getNode("FMGC/internal/gndtemp", 1);
|
||||
var gndtempSet = props.globals.getNode("FMGC/internal/gndtemp-set", 1);
|
||||
var ADIRSMCDUBTN = props.globals.getNode("controls/adirs/mcducbtn", 1);
|
||||
|
||||
# IRSINIT variables
|
||||
|
@ -145,6 +149,7 @@ var alt_utc = props.globals.getNode("FMGC/internal/alt-utc", 1);
|
|||
var pri_efob = props.globals.getNode("FMGC/internal/pri-efob", 1);
|
||||
var alt_efob = props.globals.getNode("FMGC/internal/alt-efob", 1);
|
||||
var fob = props.globals.getNode("FMGC/internal/fob", 1);
|
||||
var fffq_sensor = props.globals.getNode("FMGC/internal/fffq-sensor", 1);
|
||||
var gw = props.globals.getNode("FMGC/internal/gw", 1);
|
||||
var cg = props.globals.getNode("FMGC/internal/cg", 1);
|
||||
|
||||
|
@ -163,7 +168,7 @@ var v2 = props.globals.getNode("FMGC/internal/v2", 1);
|
|||
var v2Set = props.globals.getNode("FMGC/internal/v2-set", 1);
|
||||
|
||||
var clbReducFt = props.globals.getNode("systems/thrust/clbreduc-ft", 1);
|
||||
var reducFt = props.globals.getNode("FMGC/internal/reduc-agl-ft", 1); # It's not AGL anymore
|
||||
var reducFt = props.globals.getNode("FMGC/internal/accel-agl-ft", 1); # It's not AGL anymore
|
||||
var thrAccSet = props.globals.getNode("MCDUC/thracc-set", 1);
|
||||
var flapTO = props.globals.getNode("FMGC/internal/to-flap", 1);
|
||||
var THSTO = props.globals.getNode("FMGC/internal/to-ths", 1);
|
||||
|
@ -190,8 +195,9 @@ var dest_mag = props.globals.getNode("FMGC/internal/dest-mag", 1);
|
|||
var dest_wind = props.globals.getNode("FMGC/internal/dest-wind", 1);
|
||||
var vapp_speed_set = props.globals.getNode("FMGC/internal/vapp-speed-set", 1);
|
||||
var final = props.globals.getNode("FMGC/internal/final", 1);
|
||||
var mda = props.globals.getNode("FMGC/internal/mda", 1);
|
||||
var dh = props.globals.getNode("FMGC/internal/dh", 1);
|
||||
var radio = props.globals.getNode("FMGC/internal/radio", 1);
|
||||
var baro = props.globals.getNode("FMGC/internal/baro", 1);
|
||||
var radio_no = props.globals.getNode("FMGC/internal/radio-no", 1);
|
||||
var ldg_config_3_set = props.globals.getNode("FMGC/internal/ldg-config-3-set", 1);
|
||||
var ldg_config_f_set = props.globals.getNode("FMGC/internal/ldg-config-f-set", 1);
|
||||
|
||||
|
@ -274,7 +280,7 @@ var canvas_MCDU_base = {
|
|||
"FUELPRED_ZFWCG","FUELPRED_ZFW_S","PROG","PROG_UPDATE","PERFTO","PERFTO_V1","PERFTO_VR","PERFTO_V2","PERFTO_FE","PERFTO_SE","PERFTO_OE","PERFAPPR",
|
||||
"PERFAPPR_FE","PERFAPPR_SE","PERFAPPR_OE","PERFAPPR_LDG_3","PERFAPPR_LDG_F","PERFGA","PERFGA_FE","PERFGA_SE","PERFGA_OE","FPLN","FPLN_From",
|
||||
"FPLN_TMPY_group","FPLN_FROM","FPLN_Callsign","departureTMPY", "arrowsDepArr","arrow1L","arrow2L","arrow3L","arrow4L","arrow5L","arrow1R","arrow2R",
|
||||
"arrow3R","arrow4R","arrow5R","DIRTO_TMPY_group"];
|
||||
"arrow3R","arrow4R","arrow5R","DIRTO_TMPY_group","IRSINIT","IRSINIT_1","IRSINIT_2","IRSINIT_star"];
|
||||
},
|
||||
update: func() {
|
||||
if (systems.ELEC.Bus.ac1.getValue() >= 110 and mcdu1_lgt.getValue() > 0.01) {
|
||||
|
@ -292,6 +298,24 @@ var canvas_MCDU_base = {
|
|||
},
|
||||
updateCommon: func(i) {
|
||||
page = pageProp[i].getValue();
|
||||
if (getprop("MCDU[" ~ i ~ "]/scratchpad-msg") == 1) {
|
||||
color_selected = getprop("MCDU[" ~ i ~ "]/scratchpad-color");
|
||||
if (color_selected == "grn") {
|
||||
me["Scratchpad"].setColor(GREEN);
|
||||
} else if (color_selected == "blu") {
|
||||
me["Scratchpad"].setColor(BLUE);
|
||||
} else if (color_selected == "amb") {
|
||||
me["Scratchpad"].setColor(AMBER);
|
||||
} else if (color_selected == "yel") {
|
||||
me["Scratchpad"].setColor(YELLOW);
|
||||
} else if (color_selected == "mag") {
|
||||
me["Scratchpad"].setColor(MAGENTA);
|
||||
} else {
|
||||
me["Scratchpad"].setColor(WHITE);
|
||||
}
|
||||
} else {
|
||||
me["Scratchpad"].setColor(WHITE);
|
||||
}
|
||||
if (page == "F-PLNA" or page == "F-PLNB") {
|
||||
if (!pageSwitch[i].getBoolValue()) {
|
||||
me["Simple"].show();
|
||||
|
@ -299,7 +323,10 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].show();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
me["PERFTO"].hide();
|
||||
me["PERFAPPR"].hide();
|
||||
me["PERFGA"].hide();
|
||||
|
@ -309,6 +336,8 @@ var canvas_MCDU_base = {
|
|||
me["ArrowRight"].show();
|
||||
me["arrowsDepArr"].hide();
|
||||
|
||||
me["Simple_L0S"].hide();
|
||||
|
||||
me["Simple_L1_Arrow"].hide();
|
||||
me["Simple_L2_Arrow"].hide();
|
||||
me["Simple_L3_Arrow"].hide();
|
||||
|
@ -629,6 +658,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -691,6 +721,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -752,6 +783,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -811,6 +843,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -875,6 +908,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -941,6 +975,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -1059,6 +1094,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].show();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -1074,13 +1110,13 @@ var canvas_MCDU_base = {
|
|||
me["ArrowLeft"].show();
|
||||
me["ArrowRight"].show();
|
||||
|
||||
me.showLeft(0, 1, 0, 1, 0, 1);
|
||||
me.showLeft(0, 1, 0, -1, 0, 1);
|
||||
me["Simple_L0S"].hide();
|
||||
me.showLeftS(1, 1, 1, 1, 1, 1);
|
||||
me.showLeftS(1, 1, 1, -1, 1, 1);
|
||||
me.showLeftArrow(-1, -1, -1, -1, -1, -1);
|
||||
me.showRight(0, 0, 0, 1, 1, 1);
|
||||
me.showRightS(1, 0, -1, 1, -1, 1);
|
||||
me.showRightArrow(-1, -1, -1, -1, 1, -1);
|
||||
me.showRight(0, 0, 1, 1, 1, 1);
|
||||
me.showRightS(1, 0, -1, -1, 1, 1);
|
||||
me.showRightArrow(-1, -1, -1, 1, -1, -1);
|
||||
|
||||
me.fontLeft(default, default, default, default, default, default);
|
||||
me.fontLeftS(default, default, default, default, default, default);
|
||||
|
@ -1093,7 +1129,7 @@ var canvas_MCDU_base = {
|
|||
me.colorLeft("blu", "wht", "blu", "blu", "ack", "ack");
|
||||
me.colorLeftS("wht", "wht", "wht", "wht", "wht", "wht");
|
||||
me.colorLeftArrow("wht", "wht", "wht", "wht", "wht", "wht");
|
||||
me.colorRight("blu", "amb", "amb", "blu", "wht", "blu");
|
||||
me.colorRight("blu", "amb", "amb", "wht", "blu", "blu");
|
||||
me.colorRightS("wht", "amb", "wht", "wht", "wht", "wht");
|
||||
me.colorRightArrow("wht", "wht", "wht", "wht", "wht", "wht");
|
||||
|
||||
|
@ -1125,10 +1161,16 @@ var canvas_MCDU_base = {
|
|||
me["INITA_CruiseFLTemp"].hide();
|
||||
me["Simple_L6"].setColor(1,1,1);
|
||||
me["Simple_L6"].setText("-----/---g");
|
||||
} else if (cruiseSet.getValue() == 1 and cruiseTemp.getValue() != -999) {
|
||||
} else if (cruiseSet.getValue() == 1 and cruiseTempSet.getValue() == 1) {
|
||||
me["INITA_CruiseFLTemp"].hide();
|
||||
me["Simple_L6"].setColor(0.0901,0.6039,0.7176);
|
||||
me["Simple_L6"].setText(sprintf("%s", "FL" ~ cruiseFL.getValue()) ~ sprintf("/%sg", cruiseTemp.getValue()));
|
||||
} else if (cruiseSet.getValue() == 1) {
|
||||
me["INITA_CruiseFLTemp"].hide();
|
||||
me["Simple_L6"].setColor(0.0901,0.6039,0.7176);
|
||||
setprop("FMGC/internal/cruise-temp", 15 - (2 * cruiseFL.getValue() / 10));
|
||||
setprop("FMGC/internal/cruise-temp-set", 1);
|
||||
me["Simple_L6"].setText(sprintf("%s", "FL" ~ cruiseFL.getValue()) ~ sprintf("/%sg", cruiseTemp.getValue()));
|
||||
} else {
|
||||
me["INITA_CruiseFLTemp"].show();
|
||||
me["Simple_L6"].setColor(0.7333,0.3803,0);
|
||||
|
@ -1139,26 +1181,14 @@ var canvas_MCDU_base = {
|
|||
me["INITA_FromTo"].hide();
|
||||
me["Simple_L1"].show();
|
||||
me["Simple_L2"].setColor(0.0901,0.6039,0.7176);
|
||||
if (alt_airport.getValue() == "") {
|
||||
me["Simple_L2"].setText("NONE");
|
||||
} else {
|
||||
if (altSet.getValue() == 1) {
|
||||
me["Simple_L2"].setText(alt_airport.getValue());
|
||||
} else {
|
||||
me["Simple_L2"].setText("NONE");
|
||||
}
|
||||
me.showRight(1, -1, 0, 0, 0, 0);
|
||||
me["Simple_R2S"].hide();
|
||||
me["INITA_InitRequest"].hide();
|
||||
me["Simple_L4"].setText("----.-");
|
||||
me["Simple_R4"].setText("-----.--");
|
||||
if (getprop("FMGC/flightplan[2]/wp[0]/lat") > 0) {
|
||||
me["Simple_L4"].setText(sprintf("%6.2fN", getprop("FMGC/flightplan[2]/wp[0]/lat")));
|
||||
} else {
|
||||
me["Simple_L4"].setText(sprintf("%6.2fS", getprop("FMGC/flightplan[2]/wp[0]/lat") * -1));
|
||||
}
|
||||
if (getprop("FMGC/flightplan[2]/wp[0]/lon") > 0) {
|
||||
me["Simple_R4"].setText(sprintf("%7.2fE", getprop("FMGC/flightplan[2]/wp[0]/lon")));
|
||||
} else {
|
||||
me["Simple_R4"].setText(sprintf("%7.2fW", getprop("FMGC/flightplan[2]/wp[0]/lon") * -1));
|
||||
}
|
||||
} else {
|
||||
me["INITA_CoRoute"].show();
|
||||
me["INITA_FromTo"].show();
|
||||
|
@ -1168,41 +1198,52 @@ var canvas_MCDU_base = {
|
|||
me.showRight(-1, 1, 0, 0, 0, 0);
|
||||
me["Simple_R2S"].show();
|
||||
me["INITA_InitRequest"].show();
|
||||
me["Simple_L4"].setText("----.-");
|
||||
me["Simple_R4"].setText("-----.--");
|
||||
}
|
||||
if (ADIRSMCDUBTN.getValue() != 1) {
|
||||
me["INITA_AlignIRS"].show();
|
||||
me["Simple_R3"].show();
|
||||
me.showRightArrow(0, 0, 1, 0, 0, 0);
|
||||
me["Simple_R3"].setColor(AMBER);
|
||||
me.showRightArrow(0, 0, -1, 0, 0, 0);
|
||||
} else {
|
||||
me["INITA_AlignIRS"].hide();
|
||||
me["Simple_R3"].hide();
|
||||
me.showRightArrow(0, 0, -1, 0, 0, 0);
|
||||
me["Simple_R3"].setColor(WHITE);
|
||||
me.showRightArrow(0, 0, 1, 0, 0, 0);
|
||||
}
|
||||
if (tropoSet.getValue() == 1) {
|
||||
me["Simple_R5"].setFontSize(normal);
|
||||
} else {
|
||||
me["Simple_R5"].setFontSize(small);
|
||||
}
|
||||
|
||||
me["Simple_R6S"].setText("GND TEMP");
|
||||
if (getprop("FMGC/status/phase") == 0 and !getprop("FMGC/internal/gndtemp-set")) {
|
||||
setprop("FMGC/internal/gndtemp", 15 - (2 * getprop("position/gear-agl-ft") / 1000));
|
||||
me["Simple_R6"].setText(sprintf("%.0fg", gndtemp.getValue()));
|
||||
me["Simple_R6"].setFontSize(small);
|
||||
} else {
|
||||
if (getprop("FMGC/internal/gndtemp-set")) {
|
||||
me["Simple_R6"].setFontSize(normal);
|
||||
} else {
|
||||
me["Simple_R6"].setFontSize(small);
|
||||
}
|
||||
me["Simple_R6"].setText(sprintf("%.0fg", gndtemp.getValue()));
|
||||
}
|
||||
|
||||
me["Simple_L1S"].setText(" CO RTE");
|
||||
me["Simple_L2S"].setText("ALTN/CO RTE");
|
||||
me["Simple_L3S"].setText("FLT NBR");
|
||||
me["Simple_L4S"].setText("LAT");
|
||||
me["Simple_L5S"].setText("COST INDEX");
|
||||
me["Simple_L6S"].setText("CRZ FL/TEMP");
|
||||
me["Simple_L1"].setText("NONE");
|
||||
me["Simple_L3"].setText(sprintf("%s", flightNum.getValue()));
|
||||
me["Simple_R1S"].setText("FROM/TO ");
|
||||
me["Simple_R2S"].setText("INIT ");
|
||||
me["Simple_R4S"].setText("LONG");
|
||||
me["Simple_R6S"].setText("TROPO");
|
||||
me["Simple_R5S"].setText("TROPO");
|
||||
|
||||
me["Simple_R1"].setText(sprintf("%s", depArpt.getValue() ~ "/" ~ arrArpt.getValue()));
|
||||
me["Simple_R2"].setText("REQUEST ");
|
||||
me["Simple_R3"].setText("IRS INIT ");
|
||||
me["Simple_R5"].setText("WIND ");
|
||||
me["Simple_R6"].setText(sprintf("%5.0f", tropo.getValue()));
|
||||
me["Simple_R4"].setText("WIND ");
|
||||
me["Simple_R5"].setText(sprintf("%5.0f", tropo.getValue()));
|
||||
} else if (page == "IRSINIT") {
|
||||
if (!pageSwitch[i].getBoolValue()) {
|
||||
me["Simple"].show();
|
||||
|
@ -1210,6 +1251,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].show();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -1256,100 +1298,114 @@ var canvas_MCDU_base = {
|
|||
pageSwitch[i].setBoolValue(1);
|
||||
}
|
||||
|
||||
me["Simple_L1S"].setText("LAT");
|
||||
me["Simple_R1S"].setText("LONG");
|
||||
if (getprop("FMGC/internal/align-ref-lat-edit")) {
|
||||
me["IRSINIT_1"].show();
|
||||
me["IRSINIT_2"].hide();
|
||||
} else if (getprop("FMGC/internal/align-ref-long-edit")) {
|
||||
me["IRSINIT_1"].hide();
|
||||
me["IRSINIT_2"].show();
|
||||
} else {
|
||||
me["IRSINIT_1"].hide();
|
||||
me["IRSINIT_2"].hide();
|
||||
}
|
||||
|
||||
if (toFromSet.getValue() == 1) {
|
||||
#need to convert lat/long format
|
||||
if (getprop("FMGC/flightplan[2]/wp[0]/lat") > 0) {
|
||||
me["Simple_L1"].setText(sprintf("%6.2fN", getprop("FMGC/flightplan[2]/wp[0]/lat")));
|
||||
degrees = getprop("FMGC/internal/align-ref-lat-degrees");
|
||||
minutes = getprop("FMGC/internal/align-ref-lat-minutes");
|
||||
sign = getprop("FMGC/internal/align-ref-lat-sign");
|
||||
dms_lat = getprop("FMGC/flightplan[2]/wp[0]/lat");
|
||||
degrees_lat = int(dms_lat);
|
||||
minutes_lat = sprintf("%.1f",abs((dms_lat - degrees_lat) * 60));
|
||||
sign_lat = degrees_lat >= 0 ? "N" : "S";
|
||||
lat_same = degrees_lat == degrees and minutes_lat == minutes and sign_lat == sign;
|
||||
me["Simple_L1"].setText(abs(sprintf("%.0f", degrees)) ~ "g" ~ sprintf("%.1f", minutes) ~ " " ~ sign);
|
||||
|
||||
degrees = getprop("FMGC/internal/align-ref-long-degrees");
|
||||
minutes = getprop("FMGC/internal/align-ref-long-minutes");
|
||||
sign = getprop("FMGC/internal/align-ref-long-sign");
|
||||
dms_long = getprop("FMGC/flightplan[2]/wp[0]/lon");
|
||||
degrees_long = int(dms_long);
|
||||
minutes_long = sprintf("%.1f",abs((dms_long - degrees_long) * 60));
|
||||
sign_long = degrees_long >= 0 ? "E" : "W";
|
||||
long_same = degrees_long == degrees and minutes_long == minutes and sign_long == sign;
|
||||
me["Simple_R1"].setText(abs(sprintf("%.0f", degrees)) ~ "g" ~ sprintf("%.1f", minutes) ~ " " ~ sign);
|
||||
|
||||
if (lat_same and long_same) {
|
||||
me["Simple_C1"].setText(getprop("FMGC/flightplan[2]/wp[0]/id"));
|
||||
me["Simple_C1"].setColor(GREEN);
|
||||
} else {
|
||||
me["Simple_L1"].setText(sprintf("%6.2fS", getprop("FMGC/flightplan[2]/wp[0]/lat") * -1));
|
||||
me["Simple_C1"].setText("----");
|
||||
me["Simple_C1"].setColor(WHITE);
|
||||
}
|
||||
if (getprop("FMGC/flightplan[2]/wp[0]/lon") > 0) {
|
||||
me["Simple_R1"].setText(sprintf("%7.2fE", getprop("FMGC/flightplan[2]/wp[0]/lon")));
|
||||
} else {
|
||||
me["Simple_R1"].setText(sprintf("%7.2fW", getprop("FMGC/flightplan[2]/wp[0]/lon") * -1));
|
||||
}
|
||||
me["Simple_C1"].setText(sprintf("%s", depArpt.getValue()));
|
||||
} else {
|
||||
me["Simple_L1"].setText("-----.--");
|
||||
me["Simple_R1"].setText("------.--");
|
||||
me["Simple_C1"].setText("----");
|
||||
me["Simple_C1"].setColor(WHITE);
|
||||
}
|
||||
|
||||
#need to convert lat/long format
|
||||
gps_lat = getprop("position/latitude-deg");
|
||||
gps_lon = getprop("position/longitude-deg");
|
||||
if (gps_lat > 0) {
|
||||
me["Simple_L2"].setText(sprintf("%6.2fN", gps_lat));
|
||||
} else {
|
||||
me["Simple_L2"].setText(sprintf("%6.2fS", gps_lat * -1));
|
||||
}
|
||||
if (gps_lon > 0) {
|
||||
me["Simple_R2"].setText(sprintf("%7.2fE", gps_lon));
|
||||
} else {
|
||||
me["Simple_R2"].setText(sprintf("%7.2fW", gps_lon * -1));
|
||||
}
|
||||
if (getprop("systems/navigation/adr/operating-1")) {
|
||||
#me["Simple_C3"].setText(getprop("position/latitude-string") ~ "/" ~ getprop("position/longitude-string"));
|
||||
if (gps_lat > 0 and gps_lon > 0) {
|
||||
me["Simple_C3"].setText(sprintf("%6.2fN", gps_lat) ~ "/" ~ sprintf("%7.2fE", gps_lon));
|
||||
} else if (gps_lat > 0) {
|
||||
me["Simple_C3"].setText(sprintf("%6.2fN", gps_lat) ~ "/" ~ sprintf("%7.2fW", gps_lon * -1));
|
||||
} else if (gps_lon > 0) {
|
||||
me["Simple_C3"].setText(sprintf("%6.2fS", gps_lat * -1) ~ "/" ~ sprintf("%7.2fE", gps_lon));
|
||||
} else {
|
||||
me["Simple_C3"].setText(sprintf("%6.2fS", gps_lat * -1) ~ "/" ~ sprintf("%7.2fW", gps_lon * -1));
|
||||
}
|
||||
dms = getprop("position/latitude-deg");
|
||||
degrees = int(dms);
|
||||
minutes = sprintf("%.1f",abs((dms - degrees) * 60));
|
||||
sign = degrees >= 0 ? "N" : "S";
|
||||
me["Simple_L2"].setText(abs(degrees) ~ "g" ~ minutes ~ " " ~ sign);
|
||||
dms2 = getprop("position/longitude-deg");
|
||||
degrees2 = int(dms2);
|
||||
minutes2 = sprintf("%.1f",abs((dms2 - degrees2) * 60));
|
||||
sign2 = degrees2 >= 0 ? "E" : "W";
|
||||
me["Simple_R2"].setText(abs(degrees2) ~ "g" ~ minutes2 ~ " " ~ sign2);
|
||||
if (getprop("systems/navigation/adr/operating-1") and getprop("FMGC/internal/align1-done")) {
|
||||
me["Simple_C3"].setText(abs(degrees) ~ "g" ~ minutes ~ " " ~ sign ~ "/" ~ abs(degrees2) ~ "g" ~ minutes2 ~ " " ~ sign2);
|
||||
} else {
|
||||
me["Simple_C3"].setText("-----.--/-----.--");
|
||||
}
|
||||
if (getprop("systems/navigation/adr/operating-2")) {
|
||||
#me["Simple_C4"].setText(getprop("position/latitude-string") ~ "/" ~ getprop("position/longitude-string"));
|
||||
if (gps_lat > 0 and gps_lon > 0) {
|
||||
me["Simple_C4"].setText(sprintf("%6.2fN", gps_lat) ~ "/" ~ sprintf("%7.2fE", gps_lon));
|
||||
} else if (gps_lat > 0) {
|
||||
me["Simple_C4"].setText(sprintf("%6.2fN", gps_lat) ~ "/" ~ sprintf("%7.2fW", gps_lon * -1));
|
||||
} else if (gps_lon > 0) {
|
||||
me["Simple_C4"].setText(sprintf("%6.2fS", gps_lat * -1) ~ "/" ~ sprintf("%7.2fE", gps_lon));
|
||||
} else {
|
||||
me["Simple_C4"].setText(sprintf("%6.2fS", gps_lat * -1) ~ "/" ~ sprintf("%7.2fW", gps_lon * -1));
|
||||
}
|
||||
if (getprop("systems/navigation/adr/operating-2") and getprop("FMGC/internal/align2-done")) {
|
||||
me["Simple_C4"].setText(abs(degrees) ~ "g" ~ minutes ~ " " ~ sign ~ "/" ~ abs(degrees2) ~ "g" ~ minutes2 ~ " " ~ sign2);
|
||||
} else {
|
||||
me["Simple_C4"].setText("-----.--/-----.--");
|
||||
}
|
||||
if (getprop("systems/navigation/adr/operating-3")) {
|
||||
#me["Simple_C5"].setText(getprop("position/latitude-string") ~ "/" ~ getprop("position/longitude-string"));
|
||||
if (gps_lat > 0 and gps_lon > 0) {
|
||||
me["Simple_C5"].setText(sprintf("%6.2fN", gps_lat) ~ "/" ~ sprintf("%7.2fE", gps_lon));
|
||||
} else if (gps_lat > 0) {
|
||||
me["Simple_C5"].setText(sprintf("%6.2fN", gps_lat) ~ "/" ~ sprintf("%7.2fW", gps_lon * -1));
|
||||
} else if (gps_lon > 0) {
|
||||
me["Simple_C5"].setText(sprintf("%6.2fS", gps_lat * -1) ~ "/" ~ sprintf("%7.2fE", gps_lon));
|
||||
} else {
|
||||
me["Simple_C5"].setText(sprintf("%6.2fS", gps_lat * -1) ~ "/" ~ sprintf("%7.2fW", gps_lon * -1));
|
||||
}
|
||||
if (getprop("systems/navigation/adr/operating-3") and getprop("FMGC/internal/align3-done")) {
|
||||
me["Simple_C5"].setText(abs(degrees) ~ "g" ~ minutes ~ " " ~ sign ~ "/" ~ abs(degrees2) ~ "g" ~ minutes2 ~ " " ~ sign2);
|
||||
} else {
|
||||
me["Simple_C5"].setText("-----.--/-----.--");
|
||||
}
|
||||
|
||||
if (align_set.getValue() == 1) {
|
||||
#still need * to right of button instead of arrow
|
||||
me["Simple_R6"].setText("CONFIRM ALIGN ");
|
||||
me.colorRight("ack", "ack", "ack", "ack", "ack", "amb");
|
||||
me.colorRightArrow("ack", "ack", "ack", "ack", "ack", "amb");
|
||||
me["IRSINIT_star"].show();
|
||||
me.showRightArrow(0, 0, 0, 0, 0, -1);
|
||||
} else {
|
||||
me["Simple_R6"].setText("ALIGN ON REF ");
|
||||
me["IRSINIT_star"].hide();
|
||||
me.showRightArrow(0, 0, 0, 0, 0, 1);
|
||||
}
|
||||
|
||||
if (getprop("systems/navigation/adr/operating-1") and systems.ADIRSnew.ADIRunits[0].inAlign == 0) {
|
||||
me["Simple_C3S"].setText("IRS1 ALIGNED ON GPS");
|
||||
} else {
|
||||
me["Simple_C3S"].setText("IRS1 ALIGNING ON GPS");
|
||||
}
|
||||
|
||||
if (getprop("systems/navigation/adr/operating-2") and systems.ADIRSnew.ADIRunits[1].inAlign == 0) {
|
||||
me["Simple_C4S"].setText("IRS2 ALIGNED ON GPS");
|
||||
} else {
|
||||
me["Simple_C4S"].setText("IRS2 ALIGNING ON GPS");
|
||||
}
|
||||
|
||||
if (getprop("systems/navigation/adr/operating-3") and systems.ADIRSnew.ADIRunits[2].inAlign == 0) {
|
||||
me["Simple_C5S"].setText("IRS3 ALIGNED ON GPS");
|
||||
} else {
|
||||
me["Simple_C5S"].setText("IRS3 ALIGNING ON GPS");
|
||||
}
|
||||
|
||||
me["Simple_L1S"].setText("LAT");
|
||||
me["Simple_L2S"].setText("LAT");
|
||||
me["Simple_L6"].setText(" RETURN");
|
||||
me["Simple_R1S"].setText("LONG");
|
||||
me["Simple_R2S"].setText("LONG");
|
||||
me["Simple_C1S"].setText("REFERENCE");
|
||||
me["Simple_C2S"].setText("GPS POSITION");
|
||||
me["Simple_C3S"].setText("IRS1 ALIGNING ON GPS");
|
||||
me["Simple_C4S"].setText("IRS2 ALIGNING ON GPS");
|
||||
me["Simple_C5S"].setText("IRS3 ALIGNING ON GPS");
|
||||
|
||||
} else if (page == "ROUTESELECTION") {
|
||||
if (!pageSwitch[i].getBoolValue()) {
|
||||
|
@ -1358,6 +1414,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -1412,6 +1469,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].show();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -1497,7 +1555,7 @@ var canvas_MCDU_base = {
|
|||
me["Simple_L2"].setText("---.-/----");
|
||||
me["Simple_L3"].setText("---.-/---.-");
|
||||
me["Simple_L4"].setText("---.-/----");
|
||||
me["Simple_L5"].setText("---.-/----");
|
||||
me["Simple_L5"].setText("---.-/0030");
|
||||
me["Simple_L6"].setText("---.-");
|
||||
me["Simple_R3S"].show();
|
||||
me["Simple_R3"].show();
|
||||
|
@ -1546,6 +1604,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].show();
|
||||
me["PROG"].hide();
|
||||
|
@ -1635,7 +1694,7 @@ var canvas_MCDU_base = {
|
|||
setprop("FMGC/internal/fob", num(getprop("consumables/fuel/total-fuel-lbs") / 1000));
|
||||
setprop("FMGC/internal/gw", num(getprop("fdm/jsbsim/inertia/weight-lbs") / 1000));
|
||||
setprop("FMGC/internal/cg", num(getprop("FMGC/internal/zfwcg")));
|
||||
me["Simple_R4"].setText(sprintf("%4.1f/FF+FQ", fob.getValue()));
|
||||
me["Simple_R4"].setText(sprintf("%4.1f/" ~ fffq_sensor.getValue(), fob.getValue()));
|
||||
me["Simple_R5"].setText(sprintf("%4.1f/", gw.getValue()) ~ sprintf("%4.1f", cg.getValue()));
|
||||
me["Simple_R6"].setText(sprintf("%4.1f/" ~ extra_time.getValue(), extra_fuel.getValue()));
|
||||
|
||||
|
@ -1644,7 +1703,7 @@ var canvas_MCDU_base = {
|
|||
} else {
|
||||
me["Simple_L3"].setText("---.-/---.-");
|
||||
me["Simple_L4"].setText("---.-/----");
|
||||
me["Simple_L5"].setText("---.-/----");
|
||||
me["Simple_L5"].setText("---.-/0030");
|
||||
me["Simple_L6"].setText("---.-");
|
||||
|
||||
me["Simple_R4"].setText("---.-/FF+FQ");
|
||||
|
@ -1695,6 +1754,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].show();
|
||||
|
@ -1822,6 +1882,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -1840,8 +1901,8 @@ var canvas_MCDU_base = {
|
|||
me["Simple_L0S"].hide();
|
||||
me.showLeftS(1, 1, 1, 1, 1, 1);
|
||||
me.showLeftArrow(-1, -1, -1, -1, -1, 1);
|
||||
me.showRight(1, 1, 1, 1, 1, 1);
|
||||
me.showRightS(1, 1, 1, 1, 1, 1);
|
||||
me.showRight(-1, 1, 1, 1, 1, 1);
|
||||
me.showRightS(-1, 1, 1, 1, 1, 1);
|
||||
me.showRightArrow(-1, -1, -1, -1, -1, 1);
|
||||
me.showCenter(1, 1, 1, -1, -1, -1);
|
||||
me.showCenterS(1, 1, 1, -1, -1, -1);
|
||||
|
@ -1871,7 +1932,7 @@ var canvas_MCDU_base = {
|
|||
me["Simple_L2"].setText(sprintf("%3.0f", vr.getValue()));
|
||||
me["Simple_L3"].setText(sprintf("%3.0f", v2.getValue()));
|
||||
me["Simple_L4"].setText(sprintf("%3.0f", transAlt.getValue()));
|
||||
me["Simple_L5"].setText(sprintf("%s", clbReducFt.getValue() ~ "/" ~ reducFt.getValue()));
|
||||
me["Simple_L5"].setText(sprintf("%3.0f", clbReducFt.getValue()) ~ sprintf("/%3.0f", reducFt.getValue()));
|
||||
me["Simple_L6"].setText(" TO DATA");
|
||||
me["Simple_L1S"].setText(" V1");
|
||||
me["Simple_L2S"].setText(" VR");
|
||||
|
@ -1879,7 +1940,6 @@ var canvas_MCDU_base = {
|
|||
me["Simple_L4S"].setText("TRANS ALT");
|
||||
me["Simple_L5S"].setText("THR RED/ACC");
|
||||
me["Simple_L6S"].setText(" UPLINK");
|
||||
me["Simple_R1"].setText("--- ");
|
||||
me["Simple_R2"].setText("[ ] ");
|
||||
me["Simple_R5"].setText(sprintf("%3.0f", engOutAcc.getValue()));
|
||||
me["Simple_R6"].setText("PHASE ");
|
||||
|
@ -1896,6 +1956,12 @@ var canvas_MCDU_base = {
|
|||
me["Simple_Title"].setColor(1, 1, 1);
|
||||
}
|
||||
|
||||
if (fmgc.flightPlanController.flightplans[2].departure_runway != nil) {
|
||||
me["Simple_Title"].setText(sprintf("TAKE OFF RWY %s", fmgc.flightPlanController.flightplans[2].departure_runway.id));
|
||||
} else {
|
||||
me["Simple_Title"].setText("TAKE OFF");
|
||||
}
|
||||
|
||||
if (v1Set.getValue() == 1) {
|
||||
me["PERFTO_V1"].hide();
|
||||
me["Simple_L1"].show();
|
||||
|
@ -1922,6 +1988,7 @@ var canvas_MCDU_base = {
|
|||
} else {
|
||||
me["Simple_L5"].setFontSize(small);
|
||||
}
|
||||
|
||||
if (flapTHSSet.getValue() == 1) {
|
||||
me["Simple_R3"].setFont(default);
|
||||
me["Simple_R3"].setFontSize(normal);
|
||||
|
@ -1950,29 +2017,6 @@ var canvas_MCDU_base = {
|
|||
me["Simple_R5"].setFontSize(small);
|
||||
}
|
||||
|
||||
me["Simple_L1"].setText(sprintf("%3.0f", v1.getValue()));
|
||||
me["Simple_L2"].setText(sprintf("%3.0f", vr.getValue()));
|
||||
me["Simple_L3"].setText(sprintf("%3.0f", v2.getValue()));
|
||||
me["Simple_L4"].setText(sprintf("%3.0f", transAlt.getValue()));
|
||||
me["Simple_L5"].setText(sprintf("%s", clbReducFt.getValue() ~ "/" ~ reducFt.getValue()));
|
||||
me["Simple_L6"].setText(" TO DATA");
|
||||
me["Simple_L1S"].setText(" V1");
|
||||
me["Simple_L2S"].setText(" VR");
|
||||
me["Simple_L3S"].setText(" V2");
|
||||
me["Simple_L4S"].setText("TRANS ALT");
|
||||
me["Simple_L5S"].setText("THR RED/ACC");
|
||||
me["Simple_L6S"].setText(" UPLINK");
|
||||
me["Simple_R1"].setText("--- ");
|
||||
me["Simple_R2"].setText("[ ] ");
|
||||
me["Simple_R5"].setText(sprintf("%3.0f", engOutAcc.getValue()));
|
||||
me["Simple_R6"].setText("PHASE ");
|
||||
me["Simple_R1S"].setText("RWY ");
|
||||
me["Simple_R2S"].setText("TO SHIFT ");
|
||||
me["Simple_R3S"].setText("FLAPS/THS");
|
||||
me["Simple_R4S"].setText("FLEX TO TEMP");
|
||||
me["Simple_R5S"].setText("ENG OUT ACC");
|
||||
me["Simple_R6S"].setText("NEXT ");
|
||||
|
||||
if (zfwSet.getValue() == 1 and blockSet.getValue() == 1) {
|
||||
me["Simple_C1"].setText(sprintf("%3.0f", getprop("FMGC/internal/computed-speeds/flap2_to")));
|
||||
me["Simple_C2"].setText(sprintf("%3.0f", getprop("FMGC/internal/computed-speeds/slat_to")));
|
||||
|
@ -1993,6 +2037,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -2157,6 +2202,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -2304,6 +2350,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -2419,14 +2466,14 @@ var canvas_MCDU_base = {
|
|||
if (getprop("it-autoflight/input/kts-mach")) {
|
||||
me["Simple_L4"].setText(sprintf(" %3.3f", getprop("it-autoflight/input/spd-mach")));
|
||||
} else {
|
||||
me["Simple_L4"].setText(sprintf(" %s", int(getprop("it-autoflight/input/spd-kts"))));
|
||||
me["Simple_L4"].setText(sprintf(" %3.0f", getprop("it-autoflight/input/spd-kts")));
|
||||
}
|
||||
me.fontLeft(0, 0, 0, default, 0, 0);
|
||||
}
|
||||
|
||||
if (costIndexSet.getValue() == 1) {
|
||||
me["Simple_L2"].setColor(0.0901,0.6039,0.7176);
|
||||
me["Simple_L2"].setText(sprintf(" %s", costIndex.getValue()));
|
||||
me["Simple_L2"].setText(sprintf(" %2.0f", costIndex.getValue()));
|
||||
} else {
|
||||
me["Simple_L2"].setColor(1,1,1);
|
||||
me["Simple_L2"].setText(" ---");
|
||||
|
@ -2439,7 +2486,7 @@ var canvas_MCDU_base = {
|
|||
if (getprop("it-autoflight/input/kts-mach")) {
|
||||
me["Simple_L3"].setText(sprintf(" %3.3f", getprop("FMGC/internal/mng-spd")));
|
||||
} else {
|
||||
me["Simple_L3"].setText(sprintf(" %s", int(getprop("FMGC/internal/mng-spd"))));
|
||||
me["Simple_L3"].setText(sprintf(" %3.0f", getprop("FMGC/internal/mng-spd")));
|
||||
}
|
||||
|
||||
me["Simple_L5"].setText(" EXPEDITE");
|
||||
|
@ -2448,7 +2495,7 @@ var canvas_MCDU_base = {
|
|||
me["Simple_R1"].setText("---");
|
||||
|
||||
me["Simple_C2"].setText(" PRED TO");
|
||||
me["Simple_R2"].setText(sprintf("FL%s", getprop("it-autoflight/input/alt") / 100));
|
||||
me["Simple_R2"].setText(sprintf("FL%3.0f", getprop("it-autoflight/input/alt") / 100));
|
||||
|
||||
me["Simple_R3S"].setText("DIST");
|
||||
me["Simple_R3"].setText("---");
|
||||
|
@ -2472,6 +2519,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -2503,7 +2551,7 @@ var canvas_MCDU_base = {
|
|||
me.fontRightS(default, default, default, default, default, default);
|
||||
|
||||
me.fontSizeLeft(small, small, small, small, small, normal);
|
||||
me.fontSizeRight(small, small, small, small, normal, normal);
|
||||
me.fontSizeRight(normal, small, small, small, normal, normal);
|
||||
me.fontSizeCenter(small, small, small, 0, small, 0);
|
||||
|
||||
me.colorLeft("blu", "blu", "blu", "blu", "blu", "wht");
|
||||
|
@ -2547,7 +2595,7 @@ var canvas_MCDU_base = {
|
|||
|
||||
me["Simple_L3S"].setText("MAG WIND");
|
||||
if (dest_mag.getValue() != -1 and dest_wind.getValue() != -1) {
|
||||
me["Simple_L3"].setText(sprintf("%3.0fg/", dest_mag.getValue()) ~ sprintf("%3.0f", dest_wind.getValue()));
|
||||
me["Simple_L3"].setText(sprintf("%3.0fg", dest_mag.getValue()) ~ sprintf("/%.0f", dest_wind.getValue()));
|
||||
} else {
|
||||
me["Simple_L3"].setText("---g/---");;
|
||||
}
|
||||
|
@ -2556,13 +2604,39 @@ var canvas_MCDU_base = {
|
|||
me["Simple_L4"].setText(sprintf("%3.0f", transAlt.getValue()));
|
||||
|
||||
me["Simple_R1S"].setText("FINAL");
|
||||
me["Simple_R1"].setText("-----");
|
||||
if (fmgc.flightPlanController.flightplans[2].approach != nil) {
|
||||
me["Simple_R1"].setText(sprintf("%s",fmgc.flightPlanController.flightplans[2].approach.id));
|
||||
me["Simple_R1"].setColor(GREEN);
|
||||
} else {
|
||||
me["Simple_R1"].setText("--- ");
|
||||
me["Simple_R1"].setColor(WHITE);
|
||||
}
|
||||
|
||||
me["Simple_R2S"].setText("MDA");
|
||||
me["Simple_R2S"].setText("BARO");
|
||||
if (getprop("FMGC/internal/baro") != 99999) {
|
||||
me["Simple_R2"].setText(sprintf("%.0f", getprop("FMGC/internal/baro")));
|
||||
me.fontRight(0, default, 0, 0, 0, 0);
|
||||
me.fontSizeRight(0, normal, 0, 0, 0, 0);
|
||||
} else {
|
||||
me["Simple_R2"].setText(" [ ]");
|
||||
me.fontRight(0, symbol, 0, 0, 0, 0);
|
||||
me.fontSizeRight(0, small, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
me["Simple_R3S"].setText("DH");
|
||||
me["Simple_R3S"].setText("RADIO");
|
||||
if (getprop("FMGC/internal/radio") != 99999) {
|
||||
me["Simple_R3"].setText(sprintf("%.0f", getprop("FMGC/internal/radio")));
|
||||
me.fontRight(0, 0, default, 0, 0, 0);
|
||||
me.fontSizeRight(0, 0, normal, 0, 0, 0);
|
||||
} else if (getprop("FMGC/internal/radio-no")) {
|
||||
me["Simple_R3"].setText("NO");
|
||||
me.fontRight(0, 0, default, 0, 0, 0);
|
||||
me.fontSizeRight(0, 0, normal, 0, 0, 0);
|
||||
} else {
|
||||
me["Simple_R3"].setText(" [ ]");
|
||||
me.fontRight(0, 0, symbol, 0, 0, 0);
|
||||
me.fontSizeRight(0, 0, small, 0, 0, 0);
|
||||
}
|
||||
|
||||
me["Simple_R4S"].setText("LDG CONF ");
|
||||
me["Simple_R4"].setText("CONF3 ");
|
||||
|
@ -2591,7 +2665,7 @@ var canvas_MCDU_base = {
|
|||
me["Simple_C5"].setText(sprintf("%3.0f", getprop("FMGC/internal/computed-speeds/vls_appr")));
|
||||
me["Simple_L5"].setText(sprintf("%3.0f", getprop("FMGC/internal/computed-speeds/vapp_appr")));
|
||||
me.fontLeft(0, 0, 0, 0, default, 0);
|
||||
if (vapp_speed_set.getValue() == 1) {
|
||||
if (vapp_speed_set.getValue()) {
|
||||
me.fontSizeLeft(0, 0, 0, 0, normal, 0);
|
||||
} else {
|
||||
me.fontSizeLeft(0, 0, 0, 0, small, 0);
|
||||
|
@ -2601,8 +2675,15 @@ var canvas_MCDU_base = {
|
|||
me["Simple_C2"].setText(" ---");
|
||||
me["Simple_C3"].setText(" ---");
|
||||
me["Simple_C5"].setText(" ---");
|
||||
if (vapp_speed_set.getValue()) {
|
||||
me["Simple_L5"].setText(sprintf("%3.0f", getprop("FMGC/internal/computed-speeds/vapp_appr")));
|
||||
me.fontLeft(0, 0, 0, 0, default, 0);
|
||||
me.fontSizeLeft(0, 0, 0, 0, normal, 0);
|
||||
} else {
|
||||
me["Simple_L5"].setText("[ ] ");
|
||||
me.fontLeft(0, 0, 0, 0, symbol, 0);
|
||||
me.fontSizeLeft(0, 0, 0, 0, small, 0);
|
||||
}
|
||||
}
|
||||
|
||||
me["Simple_C1S"].setText("FLP RETR");
|
||||
|
@ -2616,6 +2697,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -2679,7 +2761,7 @@ var canvas_MCDU_base = {
|
|||
me["Simple_R5"].setFontSize(small);
|
||||
}
|
||||
|
||||
me["Simple_L5"].setText(sprintf("%s", clbReducFt.getValue() ~ "/" ~ reducFt.getValue()));
|
||||
me["Simple_L5"].setText(sprintf("%3.0f", clbReducFt.getValue()) ~ sprintf("/%3.0f", reducFt.getValue()));
|
||||
me["Simple_L6"].setText(" PHASE");
|
||||
me["Simple_L5S"].setText("THR RED/ACC");
|
||||
me["Simple_L6S"].setText(" PREV");
|
||||
|
@ -2706,6 +2788,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -2717,6 +2800,8 @@ var canvas_MCDU_base = {
|
|||
me["ArrowLeft"].hide();
|
||||
me["ArrowRight"].hide();
|
||||
|
||||
me["Simple_L0S"].hide();
|
||||
|
||||
me.fontLeft(default, default, default, default, default, default);
|
||||
me.fontLeftS(default, default, default, default, default, default);
|
||||
me.fontRight(default, default, default, default, default, default);
|
||||
|
@ -2965,6 +3050,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -2976,6 +3062,8 @@ var canvas_MCDU_base = {
|
|||
me["ArrowLeft"].hide();
|
||||
me["ArrowRight"].hide();
|
||||
|
||||
me["Simple_L0S"].hide();
|
||||
|
||||
me.fontLeft(default, default, default, default, default, default);
|
||||
me.fontLeftS(default, default, default, default, default, default);
|
||||
me.fontRight(default, default, default, default, default, default);
|
||||
|
@ -3224,6 +3312,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -3247,6 +3336,8 @@ var canvas_MCDU_base = {
|
|||
me["Simple_R5_Arrow"].hide();
|
||||
me["Simple_R6_Arrow"].hide();
|
||||
|
||||
me["Simple_L0S"].hide();
|
||||
|
||||
me.fontLeft(default, default, default, default, default, default);
|
||||
me.fontLeftS(default, default, default, default, default, default);
|
||||
me.fontRight(default, default, default, default, default, default);
|
||||
|
@ -3552,6 +3643,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -3563,6 +3655,8 @@ var canvas_MCDU_base = {
|
|||
me["ArrowLeft"].hide();
|
||||
me["ArrowRight"].hide();
|
||||
|
||||
me["Simple_L0S"].hide();
|
||||
|
||||
me.fontLeft(default, default, default, default, default, default);
|
||||
me.fontLeftS(default, default, default, default, default, default);
|
||||
me.fontRight(default, default, default, default, default, default);
|
||||
|
@ -3868,6 +3962,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -3891,6 +3986,8 @@ var canvas_MCDU_base = {
|
|||
me["Simple_R5_Arrow"].hide();
|
||||
me["Simple_R6_Arrow"].hide();
|
||||
|
||||
me["Simple_L0S"].hide();
|
||||
|
||||
me.fontLeft(default, default, default, default, default, default);
|
||||
me.fontLeftS(default, default, default, default, default, default);
|
||||
me.fontRight(default, default, default, default, default, default);
|
||||
|
@ -4196,6 +4293,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -4219,6 +4317,8 @@ var canvas_MCDU_base = {
|
|||
me["Simple_R5_Arrow"].hide();
|
||||
me["Simple_R6_Arrow"].hide();
|
||||
|
||||
me["Simple_L0S"].hide();
|
||||
|
||||
me.fontLeft(default, default, default, default, default, default);
|
||||
me.fontLeftS(default, default, default, default, default, default);
|
||||
me.fontRight(default, default, default, default, default, default);
|
||||
|
@ -4525,6 +4625,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].show();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
@ -4548,6 +4649,8 @@ var canvas_MCDU_base = {
|
|||
me["Simple_R5_Arrow"].hide();
|
||||
me["Simple_R6_Arrow"].hide();
|
||||
|
||||
me["Simple_L0S"].hide();
|
||||
|
||||
me.fontLeft(default, default, default, default, default, default);
|
||||
me.fontLeftS(default, default, default, default, default, default);
|
||||
me.fontRight(default, default, default, default, default, default);
|
||||
|
@ -4783,6 +4886,7 @@ var canvas_MCDU_base = {
|
|||
me["FPLN"].hide();
|
||||
me["DIRTO_TMPY_group"].hide();
|
||||
me["INITA"].hide();
|
||||
me["IRSINIT"].hide();
|
||||
me["INITB"].hide();
|
||||
me["FUELPRED"].hide();
|
||||
me["PROG"].hide();
|
||||
|
|
|
@ -33,13 +33,13 @@
|
|||
units="px"
|
||||
inkscape:snap-global="false"
|
||||
showguides="false"
|
||||
inkscape:current-layer="PROG"
|
||||
inkscape:current-layer="IRSINIT"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-x="59"
|
||||
inkscape:cy="508.76833"
|
||||
inkscape:cx="72.164029"
|
||||
inkscape:zoom="8.0885693"
|
||||
inkscape:window-x="0"
|
||||
inkscape:cy="938.61658"
|
||||
inkscape:cx="1070.6893"
|
||||
inkscape:zoom="1.7842543"
|
||||
showgrid="true"
|
||||
id="namedview371"
|
||||
inkscape:window-height="1035"
|
||||
|
@ -349,7 +349,7 @@
|
|||
inkscape:label="#g4241"
|
||||
transform="matrix(1.0000018,0,0,0.99998906,-895.98862,118.48532)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4158"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -359,7 +359,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4160"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<text
|
||||
inkscape:label="#text4244"
|
||||
|
@ -384,9 +384,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4185"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path4187"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -411,7 +411,7 @@
|
|||
inkscape:label="#g4241"
|
||||
transform="matrix(1.0000018,0,0,0.99998906,-895.98862,355.20229)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4195"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -421,7 +421,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4197"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<text
|
||||
inkscape:label="#text4244"
|
||||
|
@ -446,9 +446,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4205"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path4207"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -473,7 +473,7 @@
|
|||
inkscape:label="#g4241"
|
||||
transform="matrix(1.0000018,0,0,0.99998906,-895.98862,591.91913)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4215"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -483,7 +483,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4217"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<text
|
||||
inkscape:label="#text4244"
|
||||
|
@ -508,9 +508,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4236"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path4238"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -617,9 +617,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4277"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path4279"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -644,7 +644,7 @@
|
|||
inkscape:label="#g4241"
|
||||
transform="matrix(-1.000002,0,0,0.99998904,1919.9892,236.84392)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4287"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -654,7 +654,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4289"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<text
|
||||
inkscape:label="#text4244"
|
||||
|
@ -679,9 +679,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4297"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -706,7 +706,7 @@
|
|||
inkscape:label="#g4241"
|
||||
transform="matrix(-1.000002,0,0,0.99998904,1919.9892,473.5607)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -716,7 +716,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4309"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<text
|
||||
inkscape:label="#text4244"
|
||||
|
@ -741,9 +741,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4317"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path4319"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -768,7 +768,7 @@
|
|||
inkscape:label="#g4241"
|
||||
transform="matrix(-1.000002,0,0,0.99998904,1919.9892,710.27753)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4327"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -778,7 +778,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4329"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#cdcdcd;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
|
@ -994,9 +994,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4480-4"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4482-0"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1006,7 +1006,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4484-0"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
|
@ -1047,9 +1047,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4490-7"
|
||||
d="M 998.71909,284.70793 H 970.18944"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 994.54102,294.79468 -20.17351,-20.1735"
|
||||
id="path4318-2"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1059,9 +1059,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path4320-1"
|
||||
d="m 984.45427,298.97275 -10e-6,-28.52964"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 974.36752,294.79468 20.17349,-20.1735"
|
||||
id="path4322-2"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1081,7 +1081,7 @@
|
|||
id="tspan1240"
|
||||
x="177.72771"
|
||||
y="68.861366"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.20000076px;line-height:1.25;font-family:BoeingCDULarge;-inkscape-font-specification:BoeingCDULarge;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">FROM</tspan></text>
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.2px;line-height:1.25;font-family:BoeingCDULarge;-inkscape-font-specification:BoeingCDULarge;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">FROM</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="#g3767"
|
||||
|
@ -1125,9 +1125,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path180"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path182"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1137,7 +1137,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path184"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
|
@ -1153,7 +1153,7 @@
|
|||
xml:space="preserve"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56px;line-height:1.25;font-family:BoeingCDULarge;-inkscape-font-specification:BoeingCDULarge;text-align:end;text-anchor:end;fill:#bb6100;fill-opacity:1"
|
||||
y="717.15857"
|
||||
x="947.84546"
|
||||
x="937.84546"
|
||||
id="tspan189"
|
||||
sodipodi:role="line">DIR TO</tspan></text>
|
||||
<text
|
||||
|
@ -1178,9 +1178,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path197"
|
||||
d="M 998.71909,284.70793 H 970.18944"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 994.54102,294.79468 -20.17351,-20.1735"
|
||||
id="path199"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1190,9 +1190,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path201"
|
||||
d="m 984.45427,298.97275 -10e-6,-28.52964"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 974.36752,294.79468 20.17349,-20.1735"
|
||||
id="path203"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1213,9 +1213,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path301"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path303"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1225,7 +1225,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path305"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#bb6100;stroke-opacity:1"
|
||||
|
@ -1233,7 +1233,7 @@
|
|||
inkscape:label="arrow4L"
|
||||
id="arrow4L">
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
id="path417"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1243,9 +1243,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path419"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path421"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1261,9 +1261,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path425"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path427"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1273,7 +1273,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path429"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#bb6100;stroke-opacity:1"
|
||||
|
@ -1281,7 +1281,7 @@
|
|||
inkscape:label="arrow2L"
|
||||
id="arrow2L">
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
id="path433"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1291,9 +1291,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path435"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path437"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1309,9 +1309,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path471"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path473"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1321,7 +1321,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path475"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#bb6100;stroke-opacity:1"
|
||||
|
@ -1329,7 +1329,7 @@
|
|||
inkscape:label="arrow5R"
|
||||
id="arrow5R">
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
id="path479"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1339,9 +1339,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path481"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path483"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1357,9 +1357,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path487"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path489"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1369,7 +1369,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path491"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#bb6100;stroke-opacity:1"
|
||||
|
@ -1377,7 +1377,7 @@
|
|||
inkscape:label="arrow3R"
|
||||
id="arrow3R">
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
id="path495"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1387,9 +1387,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path497"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path499"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1405,9 +1405,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path503"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path505"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1417,7 +1417,7 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path507"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#bb6100;stroke-opacity:1"
|
||||
|
@ -1425,7 +1425,7 @@
|
|||
inkscape:label="arrow1R"
|
||||
id="arrow1R">
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
id="path511"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1435,9 +1435,9 @@
|
|||
inkscape:connector-curvature="0"
|
||||
id="path513"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path515"
|
||||
inkscape:connector-curvature="0"
|
||||
|
@ -1819,6 +1819,145 @@
|
|||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:70px;line-height:1.25;font-family:BoeingCDULarge;-inkscape-font-specification:BoeingCDULarge;text-align:end;text-anchor:end;fill:#bb6100;fill-opacity:1">/</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="IRSINIT"
|
||||
id="IRSINIT"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
id="IRSINIT_2"
|
||||
transform="translate(92.58427,-411.80282)">
|
||||
<g
|
||||
style="stroke:#ffffff;stroke-opacity:1"
|
||||
transform="matrix(0,1,1,0,667.65035,-414.17373)"
|
||||
inkscape:label="#g4241"
|
||||
id="IRSINIT_up_1">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
id="path4480-1"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4482-9"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path4484-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="IRSINIT_down_2"
|
||||
inkscape:label="#g4241"
|
||||
transform="matrix(0,-1,-1,0,801.59015,1459.2436)"
|
||||
style="stroke:#ffffff;stroke-opacity:1">
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4480-1-3"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4482-9-9"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4484-4-6"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="translate(-570.04778,-411.8032)"
|
||||
id="IRSINIT_1">
|
||||
<g
|
||||
id="IRSINIT_up_1-8"
|
||||
inkscape:label="#g4241"
|
||||
transform="matrix(0,1,1,0,667.65035,-414.17373)"
|
||||
style="stroke:#ffffff;stroke-opacity:1">
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4480-1-8"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
id="path4482-9-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4484-4-5"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#ffffff;stroke-opacity:1"
|
||||
transform="matrix(0,-1,-1,0,801.59015,1459.2436)"
|
||||
inkscape:label="#g4241"
|
||||
id="IRSINIT_down_2-7">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 952.4036,47.432743 H 923.87395"
|
||||
id="path4480-1-3-9"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4482-9-9-8"
|
||||
d="M 936.70791,32.6968 921.8587,47.4328"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 936.70791,62.1688 921.8587,47.4328"
|
||||
id="path4484-4-6-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.0807111,0,0,1.0807111,-76.628974,451.56697)"
|
||||
inkscape:label="#IRSINIT_star"
|
||||
id="IRSINIT_star"
|
||||
style="stroke:#bb6100;stroke-opacity:1">
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 998.71909,284.70793 H 970.18944"
|
||||
id="path1181-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1183-8"
|
||||
d="m 994.54102,294.79468 -20.17351,-20.1735"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 984.45427,298.97275 -10e-6,-28.52964"
|
||||
id="path1185-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1187-2"
|
||||
d="m 974.36752,294.79468 20.17349,-20.1735"
|
||||
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="INITB"
|
||||
id="INITB"
|
||||
|
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 141 KiB |
|
@ -71,6 +71,8 @@ var altitude = props.globals.getNode("instrumentation/altimeter/indicated-altitu
|
|||
var altitude_pfd = props.globals.getNode("instrumentation/altimeter/indicated-altitude-ft-pfd", 1);
|
||||
var trans_alt = props.globals.getNode("FMGC/internal/trans-alt", 1);
|
||||
var alt_diff = props.globals.getNode("instrumentation/pfd/alt-diff", 1);
|
||||
var ground_diff = props.globals.getNode("instrumentation/pfd/ground-diff", 1);
|
||||
var landing_diff = props.globals.getNode("instrumentation/pfd/landing-diff", 1);
|
||||
var ap_alt = props.globals.getNode("it-autoflight/internal/alt", 1);
|
||||
var alt_agl = props.globals.getNode("position/altitude-agl-ft", 1);
|
||||
var vs_needle = props.globals.getNode("instrumentation/pfd/vs-needle", 1);
|
||||
|
@ -124,7 +126,6 @@ var dme_in_range = props.globals.getNode("instrumentation/nav[0]/dme-in-range",
|
|||
var dme_data = props.globals.getNode("instrumentation/dme[0]/indicated-distance-nm", 1);
|
||||
var ils_crs = props.globals.getNode("instrumentation/nav[0]/radials/selected-deg", 1);
|
||||
var ils1_crs_set = props.globals.getNode("FMGC/internal/ils1crs-set/", 1);
|
||||
var arrival_airport = props.globals.getNode("FMGC/internal/arr-arpt", 1);
|
||||
var outer_marker = props.globals.getNode("instrumentation/marker-beacon/outer", 1);
|
||||
var middle_marker = props.globals.getNode("instrumentation/marker-beacon/middle", 1);
|
||||
var inner_marker = props.globals.getNode("instrumentation/marker-beacon/inner", 1);
|
||||
|
@ -135,11 +136,15 @@ var vr_set = props.globals.getNode("FMGC/internal/vr-set", 1);
|
|||
var v2 = props.globals.getNode("FMGC/internal/v2", 1);
|
||||
var v2_set = props.globals.getNode("FMGC/internal/v2-set", 1);
|
||||
var flap_config = props.globals.getNode("controls/flight/flap-lever", 1);
|
||||
var hundredAbove = props.globals.getNode("/instrumentation/pfd/hundred-above", 1);
|
||||
var minimum = props.globals.getNode("/instrumentation/pfd/minimums", 1);
|
||||
|
||||
# Create Nodes:
|
||||
var vs_needle = props.globals.initNode("/instrumentation/pfd/vs-needle", 0.0, "DOUBLE");
|
||||
var vs_needle_trans = props.globals.initNode("/instrumentation/pfd/vs-digit-trans", 0.0, "DOUBLE");
|
||||
var alt_diff = props.globals.initNode("/instrumentation/pfd/alt-diff", 0.0, "DOUBLE");
|
||||
var ground_diff = props.globals.initNode("/instrumentation/pfd/ground-diff", 0.0, "DOUBLE");
|
||||
var landing_diff = props.globals.initNode("/instrumentation/pfd/landing-diff", 0.0, "DOUBLE");
|
||||
var heading = props.globals.initNode("/instrumentation/pfd/heading-deg", 0.0, "DOUBLE");
|
||||
var horizon_pitch = props.globals.initNode("/instrumentation/pfd/horizon-pitch", 0.0, "DOUBLE");
|
||||
var horizon_ground = props.globals.initNode("/instrumentation/pfd/horizon-ground", 0.0, "DOUBLE");
|
||||
|
@ -168,6 +173,7 @@ var altFlash1 = props.globals.initNode("/instrumentation/pfd/flash-indicators/al
|
|||
var altFlash2 = props.globals.initNode("/instrumentation/pfd/flash-indicators/alt-flash-2", 0, "BOOL");
|
||||
var amberFlash1 = props.globals.initNode("/instrumentation/pfd/flash-indicators/amber-flash-1", 0, "BOOL");
|
||||
var amberFlash2 = props.globals.initNode("/instrumentation/pfd/flash-indicators/amber-flash-2", 0, "BOOL");
|
||||
var dhFlash = props.globals.initNode("/instrumentation/pfd/flash-indicators/dh-flash", 0, "BOOL");
|
||||
|
||||
var canvas_PFD_base = {
|
||||
init: func(canvas_group, file) {
|
||||
|
@ -219,7 +225,8 @@ var canvas_PFD_base = {
|
|||
"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_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","flap_max","clean_speed"];
|
||||
"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","flap_max","clean_speed",
|
||||
"ground","ground_ref"];
|
||||
},
|
||||
updateDu1: func() {
|
||||
var elapsedtime_act = elapsedtime.getValue();
|
||||
|
@ -602,8 +609,6 @@ var canvas_PFD_base = {
|
|||
me["FMA_catmode_box"].hide();
|
||||
me["FMA_cattype_box"].hide();
|
||||
me["FMA_cat_box"].hide();
|
||||
me["FMA_nodh"].hide();
|
||||
me["FMA_dh_box"].hide();
|
||||
|
||||
# FMA AP FD ATHR
|
||||
me["FMA_ap"].setText(sprintf("%s", ap_mode.getValue()));
|
||||
|
@ -757,17 +762,106 @@ var canvas_PFD_base = {
|
|||
|
||||
me["AI_agl"].setText(sprintf("%s", math.round(math.clamp(gear_agl_cur, 0, 2500))));
|
||||
|
||||
if (FMGCphase.getValue() < 3) {
|
||||
me["FMA_dh_box"].hide();
|
||||
me["FMA_dh"].hide();
|
||||
me["FMA_dhn"].hide();
|
||||
me["FMA_nodh"].hide();
|
||||
#me["dhReached"].hide();
|
||||
if (gear_agl_cur <= 2500) {
|
||||
me["AI_agl"].show();
|
||||
if (gear_agl_cur <= decision.getValue()) {
|
||||
me["AI_agl"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["AI_agl"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
|
||||
if (gear_agl_cur <= 2500) {
|
||||
me["AI_agl"].show();
|
||||
} else {
|
||||
me["AI_agl"].hide();
|
||||
}
|
||||
} else {
|
||||
if (gear_agl_cur <= 2500) {
|
||||
me["AI_agl"].show();
|
||||
me["FMA_dh_box"].hide(); #not implemented
|
||||
if (int(getprop("FMGC/internal/radio")) != 99999) {
|
||||
me["FMA_dh"].setText("RADIO");
|
||||
me["FMA_dh"].show();
|
||||
me["FMA_dhn"].setText(sprintf("%.0f", getprop("FMGC/internal/radio")));
|
||||
me["FMA_dhn"].show();
|
||||
me["FMA_nodh"].hide();
|
||||
hundredAbove.setValue(getprop("FMGC/internal/radio") + 100);
|
||||
minimum.setValue(getprop("FMGC/internal/radio"));
|
||||
if (gear_agl_cur <= getprop("FMGC/internal/radio") + 100) {
|
||||
me["AI_agl"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["AI_agl"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
} else if (int(getprop("FMGC/internal/baro")) != 99999) {
|
||||
me["FMA_dh"].setText("BARO");
|
||||
me["FMA_dh"].show();
|
||||
me["FMA_dhn"].setText(sprintf("%.0f", getprop("FMGC/internal/baro")));
|
||||
me["FMA_dhn"].show();
|
||||
me["FMA_nodh"].hide();
|
||||
hundredAbove.setValue(getprop("FMGC/internal/baro") + 100);
|
||||
minimum.setValue(getprop("FMGC/internal/baro"));
|
||||
if (gear_agl_cur <= getprop("FMGC/internal/baro") + 100) {
|
||||
me["AI_agl"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["AI_agl"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
} else if (getprop("FMGC/internal/radio-no")) {
|
||||
me["FMA_dh"].setText("BARO");
|
||||
me["FMA_dh"].show();
|
||||
me["FMA_dhn"].setText("100");
|
||||
me["FMA_dhn"].show();
|
||||
me["FMA_nodh"].hide();
|
||||
hundredAbove.setValue(100);
|
||||
minimum.setValue(0);
|
||||
if (gear_agl_cur <= 100) {
|
||||
me["AI_agl"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["AI_agl"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
} else {
|
||||
me["FMA_dh"].hide();
|
||||
me["FMA_dhn"].hide();
|
||||
me["FMA_nodh"].show();
|
||||
hundredAbove.setValue(400);
|
||||
minimum.setValue(300);
|
||||
if (gear_agl_cur <= 400) {
|
||||
me["AI_agl"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["AI_agl"].setColor(0.0509,0.7529,0.2941);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
me["AI_agl"].hide();
|
||||
me["FMA_nodh"].hide();
|
||||
me["FMA_dh_box"].hide(); #not implemented
|
||||
if (int(getprop("FMGC/internal/radio")) != 99999) {
|
||||
me["FMA_dh"].setText("RADIO");
|
||||
me["FMA_dh"].show();
|
||||
me["FMA_dhn"].setText(sprintf("%.0f", getprop("FMGC/internal/radio")));
|
||||
me["FMA_dhn"].show();
|
||||
me["FMA_nodh"].hide();
|
||||
} else if (int(getprop("FMGC/internal/baro")) != 99999) {
|
||||
me["FMA_dh"].setText("BARO");
|
||||
me["FMA_dh"].show();
|
||||
me["FMA_dhn"].setText(sprintf("%.0f", getprop("FMGC/internal/baro")));
|
||||
me["FMA_dhn"].show();
|
||||
me["FMA_nodh"].hide();
|
||||
} else if (getprop("FMGC/internal/radio-no")) {
|
||||
me["FMA_dh"].setText("BARO");
|
||||
me["FMA_dh"].show();
|
||||
me["FMA_dhn"].setText("100");
|
||||
me["FMA_dhn"].show();
|
||||
me["FMA_nodh"].hide();
|
||||
} else {
|
||||
me["FMA_dh"].hide();
|
||||
me["FMA_dhn"].hide();
|
||||
me["FMA_nodh"].show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
me["AI_agl_g"].setRotation(-roll_cur * D2R);
|
||||
|
||||
|
@ -871,7 +965,7 @@ var canvas_PFD_base = {
|
|||
me["TRK_pointer"].setTranslation((track_diff.getValue() / 10) * 98.5416, 0);
|
||||
split_ils = split("/", ils_data1.getValue());
|
||||
|
||||
if (ap_ils_mode.getValue() == 1 and ils1_crs_set.getValue() == 1 and size(split_ils) == 2) {
|
||||
if (ap_ils_mode.getValue() == 1 and size(split_ils) == 2) {
|
||||
magnetic_hdg = ils_crs.getValue();
|
||||
magnetic_hdg_dif = geo.normdeg180(magnetic_hdg - heading.getValue());
|
||||
if (magnetic_hdg_dif >= -23.62 and magnetic_hdg_dif <= 23.62) {
|
||||
|
@ -906,25 +1000,6 @@ var canvas_PFD_base = {
|
|||
me["ILS_HDG_L"].hide();
|
||||
me["CRS_pointer"].hide();
|
||||
}
|
||||
|
||||
#Approach selected and tuned, overwrite RAD NAV
|
||||
# } else if (0) {
|
||||
# var runways = airportinfo(airportinfo(arrival_airport.getValue()).id).runways;
|
||||
# var runway_keys = sort(keys(runways), string.icmp);
|
||||
# foreach(var rwy; runway_keys) {
|
||||
# var r = runways[rwy];
|
||||
# if (r.ils_frequency_mhz == split_ils[1]) {
|
||||
# magnetic_hdg = r.heading - getprop("environment/magnetic-variation-deg");
|
||||
# magnetic_hdg_dif = geo.normdeg180(magnetic_hdg - heading.getValue());
|
||||
#
|
||||
# SET THE FMGC values here!!!!!
|
||||
# course = r.heading;
|
||||
# ils_frequency = r.ils_frequency_mhz;
|
||||
#
|
||||
# break;
|
||||
# }
|
||||
# }
|
||||
|
||||
} else {
|
||||
me["ILS_HDG_R"].hide();
|
||||
me["ILS_HDG_L"].hide();
|
||||
|
@ -1131,7 +1206,7 @@ var canvas_PFD_1 = {
|
|||
me["ASI_scale"].setTranslation(0, me.ASI * 6.6);
|
||||
me["ASI_max"].setTranslation(0, me.ASImax * -6.6);
|
||||
|
||||
if (!getprop("FMGC/status/to-state") and FMGCphase.getValue() >= 1 and FMGCphase.getValue() <= 6) {
|
||||
if (!getprop("FMGC/status/to-state") and FMGCphase.getValue() >= 1 and !wow1.getValue() and !wow2.getValue()) {
|
||||
me.FMGC_vls = getprop("FMGC/internal/computed-speeds/vls_min");
|
||||
if (me.FMGC_vls <= 30) {
|
||||
me.VLSmin = 0 - me.ASI;
|
||||
|
@ -1496,6 +1571,13 @@ var canvas_PFD_1 = {
|
|||
me["v1_group"].hide();
|
||||
me["v1_text"].hide();
|
||||
me["vr_speed"].hide();
|
||||
me["ground"].hide();
|
||||
me["ground_ref"].hide();
|
||||
me["VLS_min"].hide();
|
||||
me["VLS_min"].hide();
|
||||
me["ALPHA_PROT"].hide();
|
||||
me["ALPHA_MAX"].hide();
|
||||
me["ALPHA_SW"].hide();
|
||||
}
|
||||
|
||||
if (dmc.DMController.DMCs[0].outputs[2] != nil) {
|
||||
|
@ -1590,6 +1672,26 @@ var canvas_PFD_1 = {
|
|||
me["ALT_target"].hide();
|
||||
}
|
||||
|
||||
ground_diff_cur = ground_diff.getValue();
|
||||
if (ground_diff_cur >= -565 and ground_diff_cur <= 565) {
|
||||
me["ground_ref"].setTranslation(0, (ground_diff_cur / 100) * -48.66856);
|
||||
me["ground_ref"].show();
|
||||
} else {
|
||||
me["ground_ref"].hide();
|
||||
}
|
||||
|
||||
landing_diff_cur = landing_diff.getValue();
|
||||
if (landing_diff_cur >= -565 and landing_diff_cur <= 565) {
|
||||
if ((FMGCphase.getValue() == 5 or FMGCphase.getValue() == 6) and !wow1.getValue() and !wow2.getValue()) { #add std too
|
||||
me["ground"].setTranslation(0, (landing_diff_cur / 100) * -48.66856);
|
||||
me["ground"].show();
|
||||
} else {
|
||||
me["ground"].hide();
|
||||
}
|
||||
} else {
|
||||
me["ground"].hide();
|
||||
}
|
||||
|
||||
if (!getprop("ECAM/alt-alert-flash") and !getprop("ECAM/alt-alert-steady")) {
|
||||
alt_going1 = 0;
|
||||
amber_going1 = 0;
|
||||
|
@ -1842,7 +1944,7 @@ var canvas_PFD_2 = {
|
|||
me["ASI_scale"].setTranslation(0, me.ASI * 6.6);
|
||||
me["ASI_max"].setTranslation(0, me.ASImax * -6.6);
|
||||
|
||||
if (!getprop("FMGC/status/to-state") and FMGCphase.getValue() >= 1 and FMGCphase.getValue() <= 6) {
|
||||
if (!getprop("FMGC/status/to-state") and FMGCphase.getValue() >= 1 and !wow1.getValue() and !wow2.getValue()) {
|
||||
me.FMGC_vls = getprop("FMGC/internal/computed-speeds/vls_min");
|
||||
if (me.FMGC_vls <= 30) {
|
||||
me.VLSmin = 0 - me.ASI;
|
||||
|
@ -2208,6 +2310,13 @@ var canvas_PFD_2 = {
|
|||
me["v1_group"].hide();
|
||||
me["v1_text"].hide();
|
||||
me["vr_speed"].hide();
|
||||
me["ground"].hide();
|
||||
me["ground_ref"].hide();
|
||||
me["VLS_min"].hide();
|
||||
me["VLS_min"].hide();
|
||||
me["ALPHA_PROT"].hide();
|
||||
me["ALPHA_MAX"].hide();
|
||||
me["ALPHA_SW"].hide();
|
||||
}
|
||||
|
||||
if (dmc.DMController.DMCs[1].outputs[2] != nil) {
|
||||
|
@ -2301,6 +2410,26 @@ var canvas_PFD_2 = {
|
|||
me["ALT_target"].hide();
|
||||
}
|
||||
|
||||
ground_diff_cur = ground_diff.getValue();
|
||||
if (ground_diff_cur >= -565 and ground_diff_cur <= 565) {
|
||||
me["ground_ref"].setTranslation(0, (ground_diff_cur / 100) * -48.66856);
|
||||
me["ground_ref"].show();
|
||||
} else {
|
||||
me["ground_ref"].hide();
|
||||
}
|
||||
|
||||
landing_diff_cur = landing_diff.getValue();
|
||||
if (landing_diff_cur >= -565 and landing_diff_cur <= 565) {
|
||||
if ((FMGCphase.getValue() == 5 or FMGCphase.getValue() == 6) and !wow1.getValue() and !wow2.getValue()) { #add std too
|
||||
me["ground"].setTranslation(0, (landing_diff_cur / 100) * -48.66856);
|
||||
me["ground"].show();
|
||||
} else {
|
||||
me["ground"].hide();
|
||||
}
|
||||
} else {
|
||||
me["ground"].hide();
|
||||
}
|
||||
|
||||
if (!getprop("ECAM/alt-alert-flash") and !getprop("ECAM/alt-alert-steady")) {
|
||||
alt_going2 = 0;
|
||||
amber_going2 = 0;
|
||||
|
@ -2655,3 +2784,18 @@ var amberTimer2 = maketimer(0.50, func {
|
|||
}
|
||||
});
|
||||
|
||||
var dh_going = 0;
|
||||
var dh_count = 0;
|
||||
var dhTimer = maketimer(0.50, func {
|
||||
if (!dhFlash.getBoolValue()) {
|
||||
dhFlash.setBoolValue(1);
|
||||
} else {
|
||||
dhFlash.setBoolValue(0);
|
||||
}
|
||||
if (dh_count == 18) {
|
||||
dh_count = 0;
|
||||
} else {
|
||||
dh_count = dh_count + 1;
|
||||
}
|
||||
});
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 362 KiB |
|
@ -155,7 +155,7 @@ var Text = {
|
|||
};
|
||||
|
||||
var Setting = {
|
||||
reducAglFt: props.globals.initNode("/it-autoflight/settings/reduc-agl-ft", 1500, "INT"), # Changable from MCDU #eventually set to 1500 above runway
|
||||
reducAglFt: props.globals.initNode("/it-autoflight/settings/accel-agl-ft", 1500, "INT"), # Changable from MCDU #eventually set to 1500 above runway
|
||||
};
|
||||
|
||||
var Sound = {
|
||||
|
@ -303,7 +303,7 @@ var ITAF = {
|
|||
Internal.altTemp = Internal.alt.getValue();
|
||||
Internal.altDiff = Internal.altTemp - Position.indicatedAltitudeFtTemp;
|
||||
|
||||
if (Output.vertTemp != 0 and Output.vertTemp != 2 and Output.vertTemp != 6 and Output.vertTemp != 9 and Text.vertTemp != "G/A CLB") {
|
||||
if (Output.vertTemp != 0 and Output.vertTemp != 2 and Output.vertTemp != 6 and Output.vertTemp != 9) {
|
||||
Internal.captVS = math.clamp(math.round(abs(Internal.vs.getValue()) / 5, 100), 50, 2500); # Capture limits
|
||||
Custom.apFdOn = Output.ap1Temp or Output.ap2Temp or Output.fd1.getBoolValue() or Output.fd2.getBoolValue();
|
||||
if (abs(Internal.altDiff) <= Internal.captVS and !Gear.wow1Temp and !Gear.wow2Temp and Custom.apFdOn) {
|
||||
|
|
|
@ -37,7 +37,7 @@ var wowr = 0;
|
|||
var targetalt = 0;
|
||||
var targetvs = 0;
|
||||
var targetfpa = 0;
|
||||
var reduc_agl_ft = 0;
|
||||
var accel_agl_ft = 0;
|
||||
var locarm = 0;
|
||||
var apprarm = 0;
|
||||
var gear0 = 0;
|
||||
|
@ -95,6 +95,8 @@ var newvert = 0;
|
|||
var newvertarm = 0;
|
||||
var thr1 = 0;
|
||||
var thr2 = 0;
|
||||
var altsel = 0;
|
||||
var crzFl = 0;
|
||||
setprop("FMGC/internal/maxspeed", 0);
|
||||
setprop("FMGC/internal/minspeed", 0);
|
||||
setprop("position/gear-agl-ft", 0);
|
||||
|
@ -102,7 +104,7 @@ setprop("FMGC/internal/mng-spd", 157);
|
|||
setprop("FMGC/internal/mng-spd-cmd", 157);
|
||||
setprop("FMGC/internal/mng-kts-mach", 0);
|
||||
setprop("FMGC/internal/mach-switchover", 0);
|
||||
setprop("it-autoflight/settings/reduc-agl-ft", 1500); #eventually set to 1500 above runway
|
||||
setprop("it-autoflight/settings/accel-agl-ft", 1500); #eventually set to 1500 above runway
|
||||
setprop("it-autoflight/internal/vert-speed-fpm", 0);
|
||||
setprop("it-autoflight/output/fma-pwr", 0);
|
||||
setprop("instrumentation/nav[0]/nav-id", "XXX");
|
||||
|
@ -123,10 +125,14 @@ var FMGCinit = func {
|
|||
setprop("FMGC/internal/mng-spd-cmd", 157);
|
||||
setprop("FMGC/internal/mng-kts-mach", 0);
|
||||
setprop("FMGC/internal/mach-switchover", 0);
|
||||
setprop("it-autoflight/settings/reduc-agl-ft", 1500); #eventually set to 1500 above runway
|
||||
setprop("it-autoflight/settings/accel-agl-ft", 1500); #eventually set to 1500 above runway
|
||||
setprop("FMGC/internal/decel", 0);
|
||||
setprop("FMGC/internal/loc-source", "NAV0");
|
||||
setprop("FMGC/internal/optalt", 0);
|
||||
setprop("FMGC/internal/landing-time", -99);
|
||||
setprop("FMGC/internal/align1-time", -99);
|
||||
setprop("FMGC/internal/align2-time", -99);
|
||||
setprop("FMGC/internal/align3-time", -99);
|
||||
masterFMGC.start();
|
||||
various.start();
|
||||
various2.start();
|
||||
|
@ -193,7 +199,7 @@ var masterFMGC = maketimer(0.2, func {
|
|||
targetalt = getprop("it-autoflight/internal/alt");
|
||||
targetvs = getprop("it-autoflight/input/vs");
|
||||
targetfpa = getprop("it-autoflight/input/fpa");
|
||||
reduc_agl_ft = getprop("it-autoflight/settings/reduc-agl-ft");
|
||||
accel_agl_ft = getprop("it-autoflight/settings/accel-agl-ft");
|
||||
locarm = getprop("it-autopilot/output/loc-armed");
|
||||
apprarm = getprop("it-autopilot/output/appr-armed");
|
||||
gear0 = getprop("gear/gear[0]/wow");
|
||||
|
@ -210,71 +216,65 @@ var masterFMGC = maketimer(0.2, func {
|
|||
gear0 = getprop("gear/gear[0]/wow");
|
||||
state1 = getprop("systems/thrust/state1");
|
||||
state2 = getprop("systems/thrust/state2");
|
||||
altSel = getprop("it-autoflight/input/alt");
|
||||
crzFl = getprop("FMGC/internal/cruise-fl");
|
||||
|
||||
if (getprop("gear/gear[0]/wow") != getprop("gear/gear[0]/wow-fmgc")) {
|
||||
setprop("gear/gear[0]/wow-fmgc", getprop("gear/gear[0]/wow"));
|
||||
}
|
||||
|
||||
if ((n1_left < 70 or n1_right < 70) and gs < 90 and mode == " " and gear0 == 1 and phase == 1) {
|
||||
if ((n1_left < 85 or n1_right < 85) and gs < 90 and mode == " " and gear0 == 1 and phase == 1) { # rejected takeoff
|
||||
setprop("FMGC/status/phase", 0);
|
||||
setprop("systems/pressurization/mode", "GN");
|
||||
}
|
||||
|
||||
if (gear0 == 1 and phase == 0 and ((n1_left >= 70 and n1_right >= 70) or gs >= 90) and (state1 == "TOGA" or state2 == "TOGA") or (flx == 1 and (state1 == "MCT" or state2 == "MCT")) or (flx == 1 and ((state1 == "MAN THR" and thr1 >= 0.83) or
|
||||
(state2 == "MAN THR" and thr2 >= 0.83)))) {
|
||||
if (gear0 == 1 and phase == 0 and ((n1_left >= 85 and n1_right >= 85 and mode == "SRS") or gs >= 90)) {
|
||||
setprop("FMGC/status/phase", 1);
|
||||
setprop("systems/pressurization/mode", "TO");
|
||||
}
|
||||
|
||||
if (phase == 1 and ((mode != "SRS" and mode != " ") or alt >= reduc_agl_ft)) {
|
||||
if (phase == 1 and ((mode != "SRS" and mode != " ") or alt >= accel_agl_ft)) {
|
||||
setprop("FMGC/status/phase", 2);
|
||||
setprop("systems/pressurization/mode", "TO");
|
||||
}
|
||||
|
||||
if ((phase == 3 or phase == 4) and (mode == "OP CLB" or mode == "CLB" or (modeI == "V/S" and getprop("it-autoflight/input/vs") >= 100) or (modeI == "FPA" and getprop("it-autoflight/input/fpa") >= 0.1))) {
|
||||
setprop("FMGC/status/phase", 2);
|
||||
setprop("systems/pressurization/mode", "TO");
|
||||
}
|
||||
|
||||
if ((phase == 2 or phase == 4) and (mode == "ALT" or mode == "ALT CRZ" or mode == "ALT CST")) {
|
||||
if (phase == 2 and (mode == "ALT CRZ" or mode == "ALT CRZ*")) {
|
||||
setprop("FMGC/status/phase", 3);
|
||||
setprop("systems/pressurization/mode", "CR");
|
||||
}
|
||||
|
||||
if ((phase == 2 or phase == 3) and (mode == "OP DES" or mode == "DES" or (modeI == "V/S" and getprop("it-autoflight/input/vs") <= -100) or (modeI == "FPA" and getprop("it-autoflight/input/fpa") <= -0.1))) {
|
||||
if (crzFl >= 200) {
|
||||
if (phase == 3 and (flightPlanController.arrivalDist <= 200 or altSel < 20000)) {
|
||||
setprop("FMGC/status/phase", 4);
|
||||
setprop("systems/pressurization/mode", "DE");
|
||||
}
|
||||
} else {
|
||||
if (phase == 3 and (flightPlanController.arrivalDist <= 200 or altSel < (crzFl * 100))) { # todo - not sure about crzFl condition, investigate what happens!
|
||||
setprop("FMGC/status/phase", 4);
|
||||
setprop("systems/pressurization/mode", "DE");
|
||||
}
|
||||
}
|
||||
|
||||
if (!wowl and !wowr and aglalt < 7200 and (phase == "4" or mode == "G/S" or mode == "LAND" or mode == "FLARE")) {
|
||||
if (phase == 4 and getprop("/FMGC/internal/decel")) {
|
||||
setprop("FMGC/status/phase", 5);
|
||||
}
|
||||
|
||||
if (flightPlanController.num[2].getValue() > 0 and getprop("/FMGC/flightplan[2]/active") == 1 and flightPlanController.arrivalDist <= 15) {
|
||||
if (flightPlanController.num[2].getValue() > 0 and getprop("/FMGC/flightplan[2]/active") == 1 and flightPlanController.arrivalDist <= 15 and (modelat == "NAV" or modelat == "LOC" or modelat == "LOC*") and aglalt < 9500) { #todo decel pseudo waypoint
|
||||
setprop("/FMGC/internal/decel", 1);
|
||||
} else if (getprop("/FMGC/internal/decel") == 1 and (phase == 0 or phase == 6)) {
|
||||
setprop("/FMGC/internal/decel", 0);
|
||||
}
|
||||
|
||||
#handle go-around
|
||||
if ((phase == "5" or phase == "7") and state1 == "TOGA" and state2 == "TOGA") {
|
||||
if ((phase == "5") and state1 == "TOGA" and state2 == "TOGA") {
|
||||
setprop("FMGC/status/phase", 6);
|
||||
setprop("systems/pressurization/mode", "TO");
|
||||
setprop("it-autoflight/input/toga", 1);
|
||||
}
|
||||
|
||||
if (phase == "6" and alt >= reduc_agl_ft) {
|
||||
if (phase == "6" and alt >= accel_agl_ft) { # todo when insert altn or new dest
|
||||
setprop("FMGC/status/phase", 2);
|
||||
}
|
||||
|
||||
if (wowl and wowr and (phase == "2" or phase == "3" or phase == "4" or phase == "5" or phase == "6")) {
|
||||
setprop("FMGC/status/phase", 7);
|
||||
}
|
||||
|
||||
if (wowl and wowr and gs <= 40 and phase == "7" and ap1 == 0 and ap2 == 0) {
|
||||
reset_FMGC();
|
||||
}
|
||||
|
||||
if (getprop("systems/navigation/adr/computation/overspeed-vfe-spd") != 1024) {
|
||||
setprop("FMGC/internal/maxspeed", getprop("systems/navigation/adr/computation/overspeed-vfe-spd") - 4);
|
||||
} elsif (pts.Gear.position[0].getValue() != 0 or pts.Gear.position[1].getValue() != 0 or pts.Gear.position[2].getValue() != 0) {
|
||||
|
@ -313,6 +313,10 @@ var masterFMGC = maketimer(0.2, func {
|
|||
vls = vs1g_conf_full * 1.23
|
||||
}
|
||||
|
||||
if (vls < 113) {
|
||||
vls = 113;
|
||||
}
|
||||
|
||||
if (!getprop("FMGC/internal/vapp-speed-set")) {
|
||||
if (dest_wind < 5) {
|
||||
vapp = vls + 5;
|
||||
|
@ -321,6 +325,7 @@ var masterFMGC = maketimer(0.2, func {
|
|||
} else {
|
||||
vapp = vls + dest_wind;
|
||||
}
|
||||
setprop("FMGC/internal/computed-speeds/vapp", vapp);
|
||||
}
|
||||
|
||||
aoa_prot = 15;
|
||||
|
@ -362,6 +367,10 @@ var masterFMGC = maketimer(0.2, func {
|
|||
vls_appr = vs1g_conf_full_appr * 1.23
|
||||
}
|
||||
|
||||
if (vls_appr < 113) {
|
||||
vls_appr = 113;
|
||||
}
|
||||
|
||||
if (!getprop("FMGC/internal/vapp-speed-set")) {
|
||||
if (dest_wind < 5) {
|
||||
vapp_appr = vls_appr + 5;
|
||||
|
@ -370,6 +379,7 @@ var masterFMGC = maketimer(0.2, func {
|
|||
} else {
|
||||
vapp_appr = vls_appr + dest_wind;
|
||||
}
|
||||
setprop("FMGC/internal/computed-speeds/vapp_appr", vapp_appr);
|
||||
}
|
||||
|
||||
# set the values globally
|
||||
|
@ -384,7 +394,6 @@ var masterFMGC = maketimer(0.2, func {
|
|||
setprop("FMGC/internal/computed-speeds/flap2", flap2);
|
||||
setprop("FMGC/internal/computed-speeds/flap3", flap3);
|
||||
setprop("FMGC/internal/computed-speeds/vls", vls);
|
||||
setprop("FMGC/internal/computed-speeds/vapp", vapp);
|
||||
setprop("FMGC/internal/computed-speeds/alpha_prot", alpha_prot);
|
||||
setprop("FMGC/internal/computed-speeds/alpha_max", alpha_max);
|
||||
|
||||
|
@ -404,7 +413,6 @@ var masterFMGC = maketimer(0.2, func {
|
|||
setprop("FMGC/internal/computed-speeds/flap2_appr", flap2_appr);
|
||||
setprop("FMGC/internal/computed-speeds/clean_appr", clean_appr);
|
||||
setprop("FMGC/internal/computed-speeds/vls_appr", vls_appr);
|
||||
setprop("FMGC/internal/computed-speeds/vapp_appr", vapp_appr);
|
||||
|
||||
# Need info on these, also correct for height at altitude...
|
||||
# https://www.pprune.org/archive/index.php/t-587639.html
|
||||
|
@ -466,6 +474,52 @@ var masterFMGC = maketimer(0.2, func {
|
|||
if (pts.Position.gearAglFt.getValue() >= 55) {
|
||||
setprop("FMGC/status/to-state", 0);
|
||||
}
|
||||
|
||||
#handle radios, runways, v1/vr/v2
|
||||
if (fmgc.flightPlanController.flightplans[2].approach != nil and phase >= 2) {
|
||||
var airport = airportinfo(getprop("FMGC/internal/arr-arpt"));
|
||||
setprop("FMGC/internal/ldg-elev", airport.elevation * M2FT);
|
||||
var runways = airportinfo(airport.id).runways;
|
||||
var rwy = string.replace(fmgc.flightPlanController.flightplans[2].approach.id, "ILS", "");
|
||||
if (runways[rwy] != nil) {
|
||||
var r = runways[rwy];
|
||||
#print(r.lat);
|
||||
#print(r.lon);
|
||||
#print(r.length);
|
||||
#print(r.width);
|
||||
#print(r.heading);
|
||||
#print(r.stopway);
|
||||
#print(r.threshold);
|
||||
magnetic_hdg = geo.normdeg(r.heading - getprop("environment/magnetic-variation-deg"));
|
||||
if (r.ils_frequency_mhz != nil and !getprop("FMGC/internal/ils1freq-set") and !getprop("FMGC/internal/ils1crs-set")) {
|
||||
setprop("FMGC/internal/ils1freq-calculated", r.ils_frequency_mhz);
|
||||
setprop("instrumentation/nav[0]/frequencies/selected-mhz", r.ils_frequency_mhz);
|
||||
setprop("instrumentation/nav[0]/radials/selected-deg", magnetic_hdg);
|
||||
} else if (r.ils_frequency_mhz != nil and !getprop("FMGC/internal/ils1freq-set")) {
|
||||
setprop("FMGC/internal/ils1freq-calculated", r.ils_frequency_mhz);
|
||||
setprop("instrumentation/nav[0]/frequencies/selected-mhz", r.ils_frequency_mhz);
|
||||
} else if (!getprop("FMGC/internal/ils1crs-set")) {
|
||||
setprop("instrumentation/nav[0]/radials/selected-deg", magnetic_hdg);
|
||||
}
|
||||
}
|
||||
} else if (fmgc.flightPlanController.flightplans[2].departure_runway != nil and phase <= 1) {
|
||||
var runways = airportinfo(airportinfo(getprop("FMGC/internal/dep-arpt")).id).runways;
|
||||
var rwy = fmgc.flightPlanController.flightplans[2].departure_runway.id;
|
||||
if (runways[rwy] != nil) {
|
||||
var r = runways[rwy];
|
||||
magnetic_hdg = geo.normdeg(r.heading - getprop("environment/magnetic-variation-deg"));
|
||||
if (r.ils_frequency_mhz != nil and !getprop("FMGC/internal/ils1freq-set") and !getprop("FMGC/internal/ils1crs-set")) {
|
||||
setprop("FMGC/internal/ils1freq-calculated", r.ils_frequency_mhz);
|
||||
setprop("instrumentation/nav[0]/frequencies/selected-mhz", r.ils_frequency_mhz);
|
||||
setprop("instrumentation/nav[0]/radials/selected-deg", magnetic_hdg);
|
||||
} else if (r.ils_frequency_mhz != nil and !getprop("FMGC/internal/ils1freq-set")) {
|
||||
setprop("FMGC/internal/ils1freq-calculated", r.ils_frequency_mhz);
|
||||
setprop("instrumentation/nav[0]/frequencies/selected-mhz", r.ils_frequency_mhz);
|
||||
} else if (!getprop("FMGC/internal/ils1crs-set")) {
|
||||
setprop("instrumentation/nav[0]/radials/selected-deg", magnetic_hdg);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var reset_FMGC = func {
|
||||
|
@ -512,11 +566,11 @@ var reset_FMGC = func {
|
|||
|
||||
var various = maketimer(1, func {
|
||||
if (getprop("engines/engine[0]/state") == 3 and getprop("engines/engine[1]/state") != 3) {
|
||||
setprop("it-autoflight/settings/reduc-agl-ft", getprop("FMGC/internal/eng-out-reduc"));
|
||||
setprop("it-autoflight/settings/accel-agl-ft", getprop("FMGC/internal/eng-out-reduc"));
|
||||
} else if (getprop("engines/engine[0]/state") != 3 and getprop("engines/engine[1]/state") == 3) {
|
||||
setprop("it-autoflight/settings/reduc-agl-ft", getprop("FMGC/internal/eng-out-reduc"));
|
||||
setprop("it-autoflight/settings/accel-agl-ft", getprop("FMGC/internal/eng-out-reduc"));
|
||||
} else {
|
||||
setprop("it-autoflight/settings/reduc-agl-ft", getprop("FMGC/internal/reduc-agl-ft"));
|
||||
setprop("it-autoflight/settings/accel-agl-ft", getprop("FMGC/internal/accel-agl-ft"));
|
||||
}
|
||||
|
||||
setprop("FMGC/internal/gw", math.round(getprop("fdm/jsbsim/inertia/weight-lbs"), 100));
|
||||
|
@ -752,3 +806,85 @@ var switchDatabase = func {
|
|||
setprop("FMGC/internal/navdatabasecode", code2);
|
||||
setprop("FMGC/internal/navdatabasecode2", code1);
|
||||
}
|
||||
|
||||
# Landing to phase 7
|
||||
setlistener("gear/gear[1]/wow", func() {
|
||||
if (timer30secLanding.isRunning) {
|
||||
timer30secLanding.stop();
|
||||
}
|
||||
|
||||
if (getprop("gear/gear[1]/wow") == 1 and getprop("FMGC/internal/landing-time") == -99) {
|
||||
timer30secLanding.start();
|
||||
setprop("FMGC/internal/landing-time", pts.Sim.Time.elapsedSec.getValue());
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
# Align IRS 1
|
||||
setlistener("systems/navigation/adr/operating-1", func() {
|
||||
if (timer48gpsAlign1.isRunning) {
|
||||
timer48gpsAlign1.stop();
|
||||
}
|
||||
|
||||
if (getprop("FMGC/internal/align1-time") == -99) {
|
||||
timer48gpsAlign1.start();
|
||||
setprop("FMGC/internal/align1-time", pts.Sim.Time.elapsedSec.getValue());
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
# Align IRS 2
|
||||
setlistener("systems/navigation/adr/operating-2", func() {
|
||||
if (timer48gpsAlign2.isRunning) {
|
||||
timer48gpsAlign2.stop();
|
||||
}
|
||||
|
||||
if (getprop("FMGC/internal/align2-time") == -99) {
|
||||
timer48gpsAlign2.start();
|
||||
setprop("FMGC/internal/align2-time", pts.Sim.Time.elapsedSec.getValue());
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
# Align IRS 3
|
||||
setlistener("systems/navigation/adr/operating-3", func() {
|
||||
if (timer48gpsAlign3.isRunning) {
|
||||
timer48gpsAlign3.stop();
|
||||
}
|
||||
|
||||
if (getprop("gear/gear[1]/wow") == 1 and getprop("FMGC/internal/align3-time") == -99) {
|
||||
timer48gpsAlign3.start();
|
||||
setprop("FMGC/internal/align3-time", pts.Sim.Time.elapsedSec.getValue());
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
# Maketimers
|
||||
|
||||
var timer30secLanding = maketimer(1, func() {
|
||||
if (pts.Sim.Time.elapsedSec.getValue() > getprop("FMGC/internal/landing-time") + 30) {
|
||||
setprop("FMGC/status/phase", 7);
|
||||
setprop("FMGC/internal/landing-time", -99);
|
||||
timer30secLanding.stop();
|
||||
}
|
||||
});
|
||||
|
||||
var timer48gpsAlign1 = maketimer(1, func() {
|
||||
if (pts.Sim.Time.elapsedSec.getValue() > getprop("FMGC/internal/align1-time") + 48) {
|
||||
setprop("FMGC/internal/align1-done", 1);
|
||||
setprop("FMGC/internal/align1-time", -99);
|
||||
timer48gpsAlign1.stop();
|
||||
}
|
||||
});
|
||||
|
||||
var timer48gpsAlign2 = maketimer(1, func() {
|
||||
if (pts.Sim.Time.elapsedSec.getValue() > getprop("FMGC/internal/align2-time") + 48) {
|
||||
setprop("FMGC/internal/align2-done", 1);
|
||||
setprop("FMGC/internal/align2-time", -99);
|
||||
timer48gpsAlign2.stop();
|
||||
}
|
||||
});
|
||||
|
||||
var timer48gpsAlign3 = maketimer(1, func() {
|
||||
if (pts.Sim.Time.elapsedSec.getValue() > getprop("FMGC/internal/align3-time") + 48) {
|
||||
setprop("FMGC/internal/align3-done", 1);
|
||||
setprop("FMGC/internal/align3-time", -99);
|
||||
timer48gpsAlign3.stop();
|
||||
}
|
||||
});
|
|
@ -465,6 +465,9 @@ var arrivalPage = {
|
|||
me.makeTmpy();
|
||||
fmgc.flightPlanController.flightplans[me.computer].destination_runway = me.arrAirport[0].runways[me.selectedApproach.runways[0]];
|
||||
fmgc.flightPlanController.flightplans[me.computer].approach = me.selectedApproach;
|
||||
setprop("FMGC/internal/baro", 99999);
|
||||
setprop("FMGC/internal/radio", 99999);
|
||||
setprop("FMGC/internal/radio-no", 0);
|
||||
me.updateActiveApproach();
|
||||
me.updateApproaches();
|
||||
fmgc.flightPlanController.flightPlanChanged(me.computer);
|
||||
|
|
|
@ -3,8 +3,12 @@
|
|||
# Copyright (c) 2020 Matthew Maring (hayden2000)
|
||||
|
||||
# From INIT-B
|
||||
var zfwcg = props.globals.getNode("FMGC/internal/zfwcg", 1);
|
||||
var zfwcgSet = props.globals.getNode("FMGC/internal/zfwcg-set", 1);
|
||||
var zfw = props.globals.getNode("FMGC/internal/zfw", 1);
|
||||
var zfwSet = props.globals.getNode("FMGC/internal/zfw-set", 1);
|
||||
var block = props.globals.getNode("FMGC/internal/block", 1);
|
||||
var blockSet = props.globals.getNode("FMGC/internal/block-set", 1);
|
||||
var taxi_fuel = props.globals.getNode("FMGC/internal/taxi-fuel", 1);
|
||||
var trip_fuel = props.globals.getNode("FMGC/internal/trip-fuel", 1);
|
||||
var trip_time = props.globals.getNode("FMGC/internal/trip-time", 1);
|
||||
|
@ -18,25 +22,36 @@ var min_dest_fob = props.globals.getNode("FMGC/internal/min-dest-fob", 1);
|
|||
var tow = props.globals.getNode("FMGC/internal/tow", 1);
|
||||
var lw = props.globals.getNode("FMGC/internal/lw", 1);
|
||||
var trip_wind = props.globals.getNode("FMGC/internal/trip-wind", 1);
|
||||
var fob = props.globals.getNode("FMGC/internal/fob", 1);
|
||||
var fffq_sensor = props.globals.getNode("FMGC/internal/fffq-sensor", 1);
|
||||
var extra_fuel = props.globals.getNode("FMGC/internal/extra-fuel", 1);
|
||||
var extra_time = props.globals.getNode("FMGC/internal/extra-time", 1);
|
||||
|
||||
var fuelPredInput = func(key, i) {
|
||||
var scratchpad = getprop("MCDU[" ~ i ~ "]/scratchpad");
|
||||
if (key == "L3") {
|
||||
if (key == "L3" and blockSet.getValue() == 1 and zfwSet.getValue() == 1) {
|
||||
if (scratchpad == "CLR") {
|
||||
notAllowed(i);
|
||||
setprop("FMGC/internal/rte-rsv", 0.05 * num(trip_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-percent", 5.0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
} else if (getprop("FMGC/internal/trip-fuel") != 0) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 2 and tfs <= 5 and find("/", scratchpad) == 0) {
|
||||
var perc = num(split("/", scratchpad)[1]);
|
||||
if (perc != nil and perc >= 0.0 and perc <= 100.0) {
|
||||
if (perc != nil and perc >= 0.0 and perc <= 15.0) {
|
||||
setprop("FMGC/internal/rte-rsv", num(perc) / 100 * num(trip_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-percent", perc);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
}
|
||||
} else if (tfs >= 1 and tfs <= 4) {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0.0 and scratchpad <= trip_fuel.getValue()) {
|
||||
} else if (tfs >= 1 and tfs <= 4 and tf != nil and tf >= 0 and tf <= 21.7 and tf / num(trip_fuel.getValue()) <= 0.15) {
|
||||
setprop("FMGC/internal/rte-rsv", scratchpad);
|
||||
setprop("FMGC/internal/rte-percent", scratchpad / num(trip_fuel.getValue()) * 100);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
@ -46,40 +61,25 @@ var fuelPredInput = func(key, i) {
|
|||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "L4") {
|
||||
} else if (key == "L4" and blockSet.getValue() == 1 and zfwSet.getValue() == 1) {
|
||||
if (scratchpad == "CLR") {
|
||||
notAllowed(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 3) {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0.0 and scratchpad <= 99.9) {
|
||||
setprop("FMGC/internal/alt-fuel", scratchpad);
|
||||
setprop("FMGC/internal/alt-fuel", 0.0);
|
||||
setprop("FMGC/internal/alt-time", "0000");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "L5") {
|
||||
if (scratchpad == "CLR") {
|
||||
notAllowed(i);
|
||||
} else {
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 3) {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0.0 and scratchpad <= 99.9) {
|
||||
setprop("FMGC/internal/final-fuel", scratchpad);
|
||||
if (tfs >= 3 and tfs <= 4 and tf != nil and tf >= 0 and tf <= 10.0 and tf < trip_fuel.getValue() + alt_fuel.getValue()) {
|
||||
setprop("FMGC/internal/alt-fuel", tf);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
|
@ -88,6 +88,49 @@ var fuelPredInput = func(key, i) {
|
|||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 4 and tf != nil and ((tf >= 0 and tf <= 59) or (tf >= 100 and tf <= 130))) {
|
||||
setprop("FMGC/internal/alt-time", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "L5" and blockSet.getValue() == 1 and zfwSet.getValue() == 1) {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/final-fuel", 0.0);
|
||||
setprop("FMGC/internal/final-time", "0030");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 3 and tfs <= 4 and tf != nil and tf >= 0 and tf <= 10.0 and tf < trip_fuel.getValue() + final_fuel.getValue()) {
|
||||
setprop("FMGC/internal/final-fuel", tf);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 4 and tf != nil and ((tf >= 0 and tf <= 59) or (tf >= 100 and tf <= 130))) {
|
||||
setprop("FMGC/internal/final-time", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -144,5 +187,23 @@ var fuelPredInput = func(key, i) {
|
|||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "R4") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/fffq-sensor", "FF+FQ");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (find("/", scratchpad) == 0) {
|
||||
var sensor = substr(scratchpad, 1);
|
||||
if (sensor == "FF+FQ" or sensor == "FQ+FF" or sensor == "FF" or sensor == "FQ") {
|
||||
setprop("FMGC/internal/fffq-sensor", sensor);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,20 +8,22 @@ var initInputA = func(key, i) {
|
|||
if (key == "L2") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/alt-airport", "");
|
||||
setprop("FMGC/internal/alt-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
fmgc.updateARPT();
|
||||
} else if (scratchpad == "") {
|
||||
setprop("FMGC/internal/alt-selected", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
#} else if (scratchpad == "") {
|
||||
#setprop("FMGC/internal/alt-selected", 1);
|
||||
#setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
} else if (getprop("FMGC/internal/tofrom-set") == 1) {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 4) {
|
||||
setprop("FMGC/internal/alt-airport", scratchpad);
|
||||
setprop("FMGC/internal/alt-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
fmgc.updateARPT();
|
||||
setprop("FMGC/internal/alt-selected", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
#setprop("FMGC/internal/alt-selected", 1);
|
||||
#setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -70,45 +72,80 @@ var initInputA = func(key, i) {
|
|||
setprop("FMGC/internal/cruise-ft", 10000);
|
||||
setprop("FMGC/internal/cruise-fl", 100);
|
||||
setprop("FMGC/internal/cruise-lvl-set", 0);
|
||||
setprop("FMGC/internal/cruise-temp", 15);
|
||||
setprop("FMGC/internal/cruise-temp-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (find("/", scratchpad) != -1) {
|
||||
var crztemp = split("/", scratchpad);
|
||||
if (find("FL", crztemp[0]) != -1) {
|
||||
var crz = int(substr(crztemp[0], 2));
|
||||
var crzs = size(substr(crztemp[0], 2));
|
||||
} else {
|
||||
var crz = int(crztemp[0]);
|
||||
var crzs = size(crztemp[0]);
|
||||
var temp = num(crztemp[1]);
|
||||
}
|
||||
var temp = int(crztemp[1]);
|
||||
var temps = size(crztemp[1]);
|
||||
if (crzs >= 1 and crzs <= 3 and temps >= 1 and temps <= 5) {
|
||||
if (crz == nil or temp == nil) {
|
||||
notAllowed(i);
|
||||
} else if (crz > 0 and crz <= 430 and temp >= -100 and temp < 100) {
|
||||
setprop("FMGC/internal/cruise-ft", crz * 100);
|
||||
setprop("FMGC/internal/cruise-fl", crz);
|
||||
setprop("FMGC/internal/cruise-fl-prog", crz);
|
||||
setprop("FMGC/internal/cruise-lvl-set", 1);
|
||||
if (crzs == 0 and temps >= 1 and temps <= 3 and temp != nil and getprop("FMGC/internal/cruise-lvl-set")) {
|
||||
if (temp >= -99 and temp <= 99) {
|
||||
setprop("FMGC/internal/cruise-temp", temp);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (crzs >= 1 and crzs <= 3 and crz != nil and temps >= 1 and temps <= 3 and temp != nil) {
|
||||
if (crz > 0 and crz <= 390 and temp >= -99 and temp <= 99) {
|
||||
setprop("FMGC/internal/cruise-ft", crz * 100);
|
||||
setprop("FMGC/internal/cruise-fl", crz);
|
||||
setprop("FMGC/internal/cruise-fl-prog", crz);
|
||||
setprop("FMGC/internal/cruise-lvl-set", 1);
|
||||
setprop("FMGC/internal/cruise-temp", temp);
|
||||
setprop("FMGC/internal/cruise-temp-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
if (find("FL", scratchpad) != -1) {
|
||||
var crz = int(substr(scratchpad, 2));
|
||||
var crzs = size(substr(scratchpad, 2));
|
||||
} else {
|
||||
var crz = int(scratchpad);
|
||||
var crzs = size(scratchpad);
|
||||
}
|
||||
if (crzs >= 1 and crzs <= 3 and crz != nil) {
|
||||
if (crz > 0 and crz <= 390) {
|
||||
setprop("FMGC/internal/cruise-ft", crz * 100);
|
||||
setprop("FMGC/internal/cruise-fl", crz);
|
||||
setprop("FMGC/internal/cruise-fl-prog", crz);
|
||||
setprop("FMGC/internal/cruise-lvl-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "R1") {
|
||||
if (scratchpad == "CLR") {
|
||||
clearFPLNComputer();
|
||||
setprop("FMGC/internal/dep-arpt", "");
|
||||
setprop("FMGC/internal/arr-arpt", "");
|
||||
setprop("FMGC/internal/tofrom-set", 0);
|
||||
setprop("FMGC/internal/align-ref-lat", 0);
|
||||
setprop("FMGC/internal/align-ref-long", 0);
|
||||
setprop("FMGC/internal/align-ref-lat-edit", 0);
|
||||
setprop("FMGC/internal/align-ref-long-edit", 0);
|
||||
fmgc.flightPlanController.reset();
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (scratchpad == "") {
|
||||
setprop("FMGC/internal/alt-selected", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
#} else if (scratchpad == "") {
|
||||
#setprop("FMGC/internal/alt-selected", 0);
|
||||
#setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 9 and find("/", scratchpad) != -1) {
|
||||
|
@ -116,13 +153,34 @@ var initInputA = func(key, i) {
|
|||
var froms = size(fromto[0]);
|
||||
var tos = size(fromto[1]);
|
||||
if (froms == 4 and tos == 4) {
|
||||
#route
|
||||
setprop("FMGC/internal/dep-arpt", fromto[0]);
|
||||
setprop("FMGC/internal/arr-arpt", fromto[1]);
|
||||
setprop("FMGC/internal/tofrom-set", 1);
|
||||
#scratchpad
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
fmgc.flightPlanController.updateAirports(fromto[0], fromto[1], 2);
|
||||
setprop("FMGC/internal/alt-selected", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
#ref lat
|
||||
dms = getprop("FMGC/flightplan[2]/wp[0]/lat");
|
||||
degrees = int(dms);
|
||||
minutes = sprintf("%.1f",abs((dms - degrees) * 60));
|
||||
sign = degrees >= 0 ? "N" : "S";
|
||||
setprop("FMGC/internal/align-ref-lat-degrees", degrees);
|
||||
setprop("FMGC/internal/align-ref-lat-minutes", minutes);
|
||||
setprop("FMGC/internal/align-ref-lat-sign", sign);
|
||||
#ref long
|
||||
dms = getprop("FMGC/flightplan[2]/wp[0]/lon");
|
||||
degrees = int(dms);
|
||||
minutes = sprintf("%.1f",abs((dms - degrees) * 60));
|
||||
sign = degrees >= 0 ? "E" : "W";
|
||||
setprop("FMGC/internal/align-ref-long-degrees", degrees);
|
||||
setprop("FMGC/internal/align-ref-long-minutes", minutes);
|
||||
setprop("FMGC/internal/align-ref-long-sign", sign);
|
||||
#ref edit
|
||||
setprop("FMGC/internal/align-ref-lat-edit", 0);
|
||||
setprop("FMGC/internal/align-ref-long-edit", 0);
|
||||
#setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -132,7 +190,7 @@ var initInputA = func(key, i) {
|
|||
}
|
||||
} else if (key == "R3") {
|
||||
setprop("MCDU[" ~ i ~ "]/page", "IRSINIT");
|
||||
} else if (key == "R6") {
|
||||
} else if (key == "R5") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/tropo", 36090);
|
||||
setprop("FMGC/internal/tropo-set", 0);
|
||||
|
@ -148,5 +206,17 @@ var initInputA = func(key, i) {
|
|||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "R6") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/gndtemp-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil and getprop("FMGC/status/phase") == 0 and size(scratchpad) >= 1 and size(scratchpad) <= 3 and scratchpad >= -99 and scratchpad <= 99) {
|
||||
setprop("FMGC/internal/gndtemp", scratchpad);
|
||||
setprop("FMGC/internal/gndtemp-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,8 +2,12 @@
|
|||
|
||||
# Copyright (c) 2020 Matthew Maring (hayden2000)
|
||||
|
||||
var zfwcg = props.globals.getNode("FMGC/internal/zfwcg", 1);
|
||||
var zfwcgSet = props.globals.getNode("FMGC/internal/zfwcg-set", 1);
|
||||
var zfw = props.globals.getNode("FMGC/internal/zfw", 1);
|
||||
var zfwSet = props.globals.getNode("FMGC/internal/zfw-set", 1);
|
||||
var block = props.globals.getNode("FMGC/internal/block", 1);
|
||||
var blockSet = props.globals.getNode("FMGC/internal/block-set", 1);
|
||||
var taxi_fuel = props.globals.getNode("FMGC/internal/taxi-fuel", 1);
|
||||
var trip_fuel = props.globals.getNode("FMGC/internal/trip-fuel", 1);
|
||||
var trip_time = props.globals.getNode("FMGC/internal/trip-time", 1);
|
||||
|
@ -24,11 +28,13 @@ var initInputB = func(key, i) {
|
|||
var scratchpad = getprop("MCDU[" ~ i ~ "]/scratchpad");
|
||||
if (key == "L1") {
|
||||
if (scratchpad == "CLR") {
|
||||
notAllowed(i);
|
||||
setprop("FMGC/internal/taxi-fuel", 0.4);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 4) {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0.0 and scratchpad <= 10.0) {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0.0 and scratchpad <= 9.9) {
|
||||
setprop("FMGC/internal/taxi-fuel", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
|
@ -44,7 +50,7 @@ var initInputB = func(key, i) {
|
|||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
# }
|
||||
# else if (key == "L2") {
|
||||
# if (scratchpad == "CLR") {
|
||||
# notAllowed(i);
|
||||
|
@ -69,21 +75,29 @@ var initInputB = func(key, i) {
|
|||
# notAllowed(i);
|
||||
# }
|
||||
#
|
||||
# }
|
||||
else if (key == "L3") {
|
||||
} else if (key == "L3" and blockSet.getValue() == 1 and zfwSet.getValue() == 1) {
|
||||
if (scratchpad == "CLR") {
|
||||
notAllowed(i);
|
||||
setprop("FMGC/internal/rte-rsv", 0.05 * num(trip_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-percent", 5.0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
} else if (getprop("FMGC/internal/trip-fuel") != 0) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 2 and tfs <= 5 and find("/", scratchpad) == 0) {
|
||||
var perc = num(split("/", scratchpad)[1]);
|
||||
if (perc != nil and perc >= 0.0 and perc <= 100.0) {
|
||||
if (perc != nil and perc >= 0.0 and perc <= 15.0) {
|
||||
setprop("FMGC/internal/rte-rsv", num(perc) / 100 * num(trip_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-percent", perc);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
}
|
||||
} else if (tfs >= 1 and tfs <= 4) {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0.0 and scratchpad <= trip_fuel.getValue()) {
|
||||
} else if (tfs >= 1 and tfs <= 4 and tf != nil and tf >= 0 and tf <= 21.7 and tf / num(trip_fuel.getValue()) <= 0.15) {
|
||||
setprop("FMGC/internal/rte-rsv", scratchpad);
|
||||
setprop("FMGC/internal/rte-percent", scratchpad / num(trip_fuel.getValue()) * 100);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
@ -93,17 +107,11 @@ var initInputB = func(key, i) {
|
|||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "L4") {
|
||||
} else if (key == "L4" and blockSet.getValue() == 1 and zfwSet.getValue() == 1) {
|
||||
if (scratchpad == "CLR") {
|
||||
notAllowed(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 3) {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0.0 and scratchpad <= 99.9) {
|
||||
setprop("FMGC/internal/alt-fuel", scratchpad);
|
||||
setprop("FMGC/internal/alt-fuel", 0.0);
|
||||
setprop("FMGC/internal/alt-time", "0000");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
|
@ -111,22 +119,11 @@ var initInputB = func(key, i) {
|
|||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "L5") {
|
||||
if (scratchpad == "CLR") {
|
||||
notAllowed(i);
|
||||
} else {
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 3) {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0.0 and scratchpad <= 99.9) {
|
||||
setprop("FMGC/internal/final-fuel", scratchpad);
|
||||
if (tfs >= 3 and tfs <= 4 and tf != nil and tf >= 0 and tf <= 10.0 and tf < trip_fuel.getValue() + alt_fuel.getValue()) {
|
||||
setprop("FMGC/internal/alt-fuel", tf);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
|
@ -134,10 +131,52 @@ var initInputB = func(key, i) {
|
|||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 4 and tf != nil and ((tf >= 0 and tf <= 59) or (tf >= 100 and tf <= 130))) {
|
||||
setprop("FMGC/internal/alt-time", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "L5" and blockSet.getValue() == 1 and zfwSet.getValue() == 1) {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/final-fuel", 0.0);
|
||||
setprop("FMGC/internal/final-time", "0030");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 3 and tfs <= 4 and tf != nil and tf >= 0 and tf <= 10.0 and tf < trip_fuel.getValue() + final_fuel.getValue()) {
|
||||
setprop("FMGC/internal/final-fuel", tf);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
||||
setprop("FMGC/internal/min-dest-fob", num(alt_fuel.getValue() + final_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-rsv", num((block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue()) * (rte_percent.getValue() / 100) / (1 + rte_percent.getValue() / 100)));
|
||||
setprop("FMGC/internal/trip-fuel", num(block.getValue() - taxi_fuel.getValue() - min_dest_fob.getValue() - rte_rsv.getValue()));
|
||||
setprop("FMGC/internal/tow", num(block.getValue() + zfw.getValue() - taxi_fuel.getValue()));
|
||||
setprop("FMGC/internal/lw", num(tow.getValue() - trip_fuel.getValue()));
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 4 and tf != nil and ((tf >= 0 and tf <= 59) or (tf >= 100 and tf <= 130))) {
|
||||
setprop("FMGC/internal/final-time", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -186,6 +225,16 @@ var initInputB = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/block", 0.0);
|
||||
setprop("FMGC/internal/block-set", 0);
|
||||
setprop("FMGC/internal/taxi-fuel", 0.4);
|
||||
setprop("FMGC/internal/rte-rsv", 0.05 * num(trip_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-percent", 5.0);
|
||||
setprop("FMGC/internal/alt-fuel", 0.0);
|
||||
setprop("FMGC/internal/alt-time", "0000");
|
||||
setprop("FMGC/internal/final-fuel", 0.0);
|
||||
setprop("FMGC/internal/final-time", "0030");
|
||||
setprop("FMGC/internal/extra-fuel", 0.0);
|
||||
setprop("FMGC/internal/extra-time", "0000");
|
||||
setprop("FMGC/internal/min-dest-fob", 0.0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
|
@ -197,6 +246,16 @@ var initInputB = func(key, i) {
|
|||
if (num(scratchpad) != nil and scratchpad >= 1.0 and scratchpad <= maxblock) {
|
||||
setprop("FMGC/internal/block", scratchpad);
|
||||
setprop("FMGC/internal/block-set", 1);
|
||||
setprop("FMGC/internal/taxi-fuel", 0.4);
|
||||
setprop("FMGC/internal/rte-rsv", 0.05 * num(trip_fuel.getValue()));
|
||||
setprop("FMGC/internal/rte-percent", 5.0);
|
||||
setprop("FMGC/internal/alt-fuel", 0.0);
|
||||
setprop("FMGC/internal/alt-time", "0000");
|
||||
setprop("FMGC/internal/final-fuel", 0.0);
|
||||
setprop("FMGC/internal/final-time", "0030");
|
||||
setprop("FMGC/internal/extra-fuel", 0.0);
|
||||
setprop("FMGC/internal/extra-time", "0000");
|
||||
setprop("FMGC/internal/min-dest-fob", 0.0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
|
@ -206,13 +265,46 @@ var initInputB = func(key, i) {
|
|||
}
|
||||
}
|
||||
} else if (key == "R3") {
|
||||
if (scratchpad != "") {
|
||||
notAllowed(i);
|
||||
} else {
|
||||
if (scratchpad == "" and (!getprop("FMGC/internal/block-set") or !getprop("FMGC/internal/zfw-set"))) {
|
||||
setprop("FMGC/internal/zfw", num((getprop("fdm/jsbsim/inertia/weight-lbs") - getprop("consumables/fuel/total-fuel-lbs")) / 1000));
|
||||
setprop("FMGC/internal/zfw-set", 1);
|
||||
setprop("FMGC/internal/block", num(getprop("consumables/fuel/total-fuel-lbs") / 1000));
|
||||
setprop("FMGC/internal/block-set", 1);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "R5") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/trip-wind", "HD000");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
if (find("TL", scratchpad) != -1 or find("HD", scratchpad) != -1) {
|
||||
var effwind = substr(scratchpad, 2);
|
||||
if (int(effwind) != nil and effwind >= 0 and effwind <= 500) {
|
||||
setprop("FMGC/internal/trip-wind", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (find("-", scratchpad) != -1 or find("+", scratchpad) != -1 or find("T", scratchpad) != -1 or find("H", scratchpad) != -1) {
|
||||
var effwind = substr(scratchpad, 1);
|
||||
if (int(effwind) != nil and effwind >= 0 and effwind <= 500) {
|
||||
setprop("FMGC/internal/trip-wind", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
if (num(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 500) {
|
||||
setprop("FMGC/internal/trip-wind", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,93 @@
|
|||
# Copyright (c) 2020 Matthew Maring (hayden2000)
|
||||
|
||||
var initInputIRS = func(key, i) {
|
||||
if (key == "L6") {
|
||||
if (key == "up") {
|
||||
if (getprop("FMGC/internal/align-ref-lat-edit")) {
|
||||
if (num(getprop("FMGC/internal/align-ref-lat-minutes")) == 180) {
|
||||
if (getprop("FMGC/internal/align-ref-lat-sign") == "N") {
|
||||
setprop("FMGC/internal/align-ref-lat-sign", "S");
|
||||
} else {
|
||||
setprop("FMGC/internal/align-ref-lat-sign", "N");
|
||||
}
|
||||
} else if (num(getprop("FMGC/internal/align-ref-lat-minutes")) == 59.9) {
|
||||
setprop("FMGC/internal/align-ref-lat-degrees", getprop("FMGC/internal/align-ref-lat-degrees") + 1);
|
||||
setprop("FMGC/internal/align-ref-lat-minutes", 0.0);
|
||||
} else {
|
||||
setprop("FMGC/internal/align-ref-lat-minutes", getprop("FMGC/internal/align-ref-lat-minutes") + 0.1);
|
||||
}
|
||||
} else if (getprop("FMGC/internal/align-ref-long-edit")) {
|
||||
if (num(getprop("FMGC/internal/align-ref-long-minutes")) == 180) {
|
||||
if (getprop("FMGC/internal/align-ref-long-sign") == "W") {
|
||||
setprop("FMGC/internal/align-ref-long-sign", "E");
|
||||
} else {
|
||||
setprop("FMGC/internal/align-ref-long-sign", "W");
|
||||
}
|
||||
} else if (num(getprop("FMGC/internal/align-ref-long-minutes")) == 59.9) {
|
||||
setprop("FMGC/internal/align-ref-long-degrees", getprop("FMGC/internal/align-ref-long-degrees") + 1);
|
||||
setprop("FMGC/internal/align-ref-long-minutes", 0.0);
|
||||
} else {
|
||||
setprop("FMGC/internal/align-ref-long-minutes", getprop("FMGC/internal/align-ref-long-minutes") + 0.1);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "down") {
|
||||
if (getprop("FMGC/internal/align-ref-lat-edit")) {
|
||||
if (num(getprop("FMGC/internal/align-ref-lat-minutes")) == 0) {
|
||||
if (getprop("FMGC/internal/align-ref-lat-sign") == "N") {
|
||||
setprop("FMGC/internal/align-ref-lat-sign", "S");
|
||||
} else {
|
||||
setprop("FMGC/internal/align-ref-lat-sign", "N");
|
||||
}
|
||||
} else if (num(getprop("FMGC/internal/align-ref-lat-minutes")) == 0) {
|
||||
setprop("FMGC/internal/align-ref-lat-degrees", getprop("FMGC/internal/align-ref-lat-degrees") - 1);
|
||||
setprop("FMGC/internal/align-ref-lat-minutes", 59.9);
|
||||
} else {
|
||||
setprop("FMGC/internal/align-ref-lat-minutes", getprop("FMGC/internal/align-ref-lat-minutes") - 0.1);
|
||||
}
|
||||
} else if (getprop("FMGC/internal/align-ref-long-edit")) {
|
||||
if (num(getprop("FMGC/internal/align-ref-long-minutes")) == 0) {
|
||||
if (getprop("FMGC/internal/align-ref-long-sign") == "W") {
|
||||
setprop("FMGC/internal/align-ref-long-sign", "E");
|
||||
} else {
|
||||
setprop("FMGC/internal/align-ref-long-sign", "W");
|
||||
}
|
||||
} else if (num(getprop("FMGC/internal/align-ref-long-minutes")) == 0) {
|
||||
setprop("FMGC/internal/align-ref-long-degrees", getprop("FMGC/internal/align-ref-long-degrees") - 1);
|
||||
setprop("FMGC/internal/align-ref-long-minutes", 59.9);
|
||||
} else {
|
||||
setprop("FMGC/internal/align-ref-long-minutes", getprop("FMGC/internal/align-ref-long-minutes") - 0.1);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "L1") {
|
||||
if (getprop("FMGC/internal/tofrom-set")) {
|
||||
setprop("FMGC/internal/align-ref-lat-edit", 1);
|
||||
setprop("FMGC/internal/align-ref-long-edit", 0);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "L6") {
|
||||
setprop("FMGC/internal/align-ref-lat-edit", 0);
|
||||
setprop("FMGC/internal/align-ref-long-edit", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/page", "INITA");
|
||||
} else if (key == "R1") {
|
||||
if (getprop("FMGC/internal/tofrom-set")) {
|
||||
setprop("FMGC/internal/align-ref-lat-edit", 0);
|
||||
setprop("FMGC/internal/align-ref-long-edit", 1);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "R6") {
|
||||
setprop("FMGC/internal/align-ref-lat-edit", 0);
|
||||
setprop("FMGC/internal/align-ref-long-edit", 0);
|
||||
if (getprop("FMGC/internal/tofrom-set") == 1 and getprop("systems/navigation/adr/any-adr-on") == 1) {
|
||||
if (getprop("FMGC/internal/align-set") == 0) {
|
||||
setprop("FMGC/internal/align-set", 1);
|
||||
} else {
|
||||
setprop("controls/adirs/mcducbtn", 1);
|
||||
setprop("FMGC/internal/align-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/page", "INITA");
|
||||
}
|
||||
} else if (getprop("FMGC/internal/tofrom-set") == 0) {
|
||||
|
|
|
@ -15,6 +15,7 @@ var MCDU_reset = func(i) {
|
|||
setprop("MCDU[" ~ i ~ "]/last-fmgc-page", "STATUS");
|
||||
setprop("MCDU[" ~ i ~ "]/page", "MCDU");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "SELECT DESIRED SYSTEM");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-color", "wht");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
|
||||
setprop("FMGC/keyboard-left", 0);
|
||||
|
@ -43,6 +44,7 @@ var MCDU_reset = func(i) {
|
|||
#RADNAV
|
||||
setprop("FMGC/internal/ils1freq-set", 0);
|
||||
setprop("FMGC/internal/ils1crs-set", 0);
|
||||
setprop("FMGC/internal/ils1freq-calculated", 0);
|
||||
setprop("FMGC/internal/vor1freq-set", 0);
|
||||
setprop("FMGC/internal/vor1crs-set", 0);
|
||||
setprop("FMGC/internal/vor2freq-set", 0);
|
||||
|
@ -57,7 +59,7 @@ var MCDU_reset = func(i) {
|
|||
setprop("FMGC/internal/arr-arpt", "");
|
||||
setprop("FMGC/internal/tofrom-set", 0);
|
||||
setprop("FMGC/internal/alt-airport", "");
|
||||
setprop("FMGC/internal/tofrom-set", 0);
|
||||
setprop("FMGC/internal/alt-set", 0);
|
||||
setprop("FMGC/internal/cost-index", "0");
|
||||
setprop("FMGC/internal/cost-index-set", 0);
|
||||
setprop("FMGC/internal/cruise-ft", 10000);
|
||||
|
@ -65,10 +67,22 @@ var MCDU_reset = func(i) {
|
|||
setprop("FMGC/internal/cruise-lvl-set", 0);
|
||||
setprop("FMGC/internal/tropo", 36090);
|
||||
setprop("FMGC/internal/tropo-set", 0);
|
||||
setprop("FMGC/internal/cruise-temp", -999);
|
||||
setprop("FMGC/internal/cruise-temp", 15);
|
||||
setprop("FMGC/internal/cruise-temp-set", 0);
|
||||
|
||||
# IRSINIT
|
||||
setprop("FMGC/internal/align-set", 0);
|
||||
setprop("FMGC/internal/align-ref-lat-degrees", 0);
|
||||
setprop("FMGC/internal/align-ref-lat-minutes", 0);
|
||||
setprop("FMGC/internal/align-ref-lat-sign", "");
|
||||
setprop("FMGC/internal/align-ref-long-degrees", 0);
|
||||
setprop("FMGC/internal/align-ref-long-minutes", 0);
|
||||
setprop("FMGC/internal/align-ref-long-sign", "");
|
||||
setprop("FMGC/internal/align-ref-lat-edit", 0);
|
||||
setprop("FMGC/internal/align-ref-long-edit", 0);
|
||||
setprop("FMGC/internal/align1-done", 0);
|
||||
setprop("FMGC/internal/align2-done", 0);
|
||||
setprop("FMGC/internal/align3-done", 0);
|
||||
|
||||
# ROUTE SELECTION
|
||||
setprop("FMGC/internal/alt-selected", 0);
|
||||
|
@ -88,11 +102,12 @@ var MCDU_reset = func(i) {
|
|||
setprop("FMGC/internal/alt-fuel", 0);
|
||||
setprop("FMGC/internal/alt-time", "0000");
|
||||
setprop("FMGC/internal/final-fuel", 0);
|
||||
setprop("FMGC/internal/final-time", "0000");
|
||||
setprop("FMGC/internal/final-time", "0030");
|
||||
setprop("FMGC/internal/min-dest-fob", 0);
|
||||
setprop("FMGC/internal/tow", 0);
|
||||
setprop("FMGC/internal/lw", 0);
|
||||
setprop("FMGC/internal/trip-wind", "HD000");
|
||||
setprop("FMGC/internal/fffq-sensor", "FF+FQ");
|
||||
setprop("FMGC/internal/extra-fuel", 0);
|
||||
setprop("FMGC/internal/extra-time", "0000");
|
||||
|
||||
|
@ -119,7 +134,7 @@ var MCDU_reset = func(i) {
|
|||
setprop("FMGC/internal/v2", 0);
|
||||
setprop("FMGC/internal/v2-set", 0);
|
||||
|
||||
setprop("FMGC/internal/reduc-agl-ft", "1500"); #eventually set to 1500 above runway
|
||||
setprop("FMGC/internal/accel-agl-ft", "1500"); #eventually set to 1500 above runway
|
||||
setprop("MCDUC/thracc-set", 0);
|
||||
setprop("FMGC/internal/to-flap", 0);
|
||||
setprop("FMGC/internal/to-ths", "0.0");
|
||||
|
@ -145,8 +160,10 @@ var MCDU_reset = func(i) {
|
|||
setprop("FMGC/internal/dest-wind", -1);
|
||||
setprop("FMGC/internal/vapp-speed-set", 0);
|
||||
setprop("FMGC/internal/final", "");
|
||||
setprop("FMGC/internal/mda", -1);
|
||||
setprop("FMGC/internal/dh", -1);
|
||||
setprop("FMGC/internal/baro", 99999);
|
||||
setprop("FMGC/internal/radio", 99999);
|
||||
setprop("FMGC/internal/radio-no", 0);
|
||||
setprop("FMGC/internal/ldg-elev", 0);
|
||||
setprop("FMGC/internal/ldg-config-3-set", 0);
|
||||
setprop("FMGC/internal/ldg-config-f-set", 1);
|
||||
|
||||
|
@ -180,6 +197,8 @@ var lskbutton = func(btn, i) {
|
|||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
}
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "IRSINIT") {
|
||||
initInputIRS("L1",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "INITB") {
|
||||
initInputB("L1",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "PROGTO") {
|
||||
|
@ -412,6 +431,8 @@ var rskbutton = func(btn, i) {
|
|||
if (btn == "1") {
|
||||
if (getprop("MCDU[" ~ i ~ "]/page") == "INITA") {
|
||||
initInputA("R1",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "IRSINIT") {
|
||||
initInputIRS("R1",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "INITB") {
|
||||
initInputB("R1",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "RADNAV") {
|
||||
|
@ -487,7 +508,9 @@ var rskbutton = func(btn, i) {
|
|||
notAllowed(i);
|
||||
}
|
||||
} else if (btn == "4") {
|
||||
if (getprop("MCDU[" ~ i ~ "]/page") == "PERFTO") {
|
||||
if (getprop("MCDU[" ~ i ~ "]/page") == "FUELPRED") {
|
||||
fuelPredInput("R4",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "PERFTO") {
|
||||
perfTOInput("R4",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "PERFAPPR") {
|
||||
perfAPPRInput("R4",i);
|
||||
|
@ -505,7 +528,9 @@ var rskbutton = func(btn, i) {
|
|||
notAllowed(i);
|
||||
}
|
||||
} else if (btn == "5") {
|
||||
if (getprop("MCDU[" ~ i ~ "]/page") == "INITB") {
|
||||
if (getprop("MCDU[" ~ i ~ "]/page") == "INITA") {
|
||||
initInputA("R5",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "INITB") {
|
||||
initInputB("R5",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "PERFTO") {
|
||||
perfTOInput("R5",i);
|
||||
|
@ -535,6 +560,8 @@ var rskbutton = func(btn, i) {
|
|||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "INITA") {
|
||||
initInputA("R6",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "IRSINIT") {
|
||||
initInputIRS("R6",i);
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "PERFTO") {
|
||||
|
@ -629,6 +656,8 @@ var arrowbutton = func(btn, i) {
|
|||
canvas_mcdu.myArrival[i].scrollUp();
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "DIRTO") {
|
||||
canvas_mcdu.myDirTo[i].scrollUp();
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "IRSINIT") {
|
||||
initInputIRS("up",i);
|
||||
}
|
||||
} else if (btn == "down") {
|
||||
if (getprop("MCDU[" ~ i ~ "]/page") == "F-PLNA" or getprop("MCDU[" ~ i ~ "]/page") == "F-PLNB") {
|
||||
|
@ -639,11 +668,14 @@ var arrowbutton = func(btn, i) {
|
|||
canvas_mcdu.myArrival[i].scrollDn();
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "DIRTO") {
|
||||
canvas_mcdu.myDirTo[i].scrollDn();
|
||||
} else if (getprop("MCDU[" ~ i ~ "]/page") == "IRSINIT") {
|
||||
initInputIRS("down",i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var pagebutton = func(btn, i) {
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-color", "wht");
|
||||
if (getprop("MCDU[" ~ i ~ "]/page") != "MCDU") {
|
||||
if (btn == "radnav") {
|
||||
setprop("MCDU[" ~ i ~ "]/page", "RADNAV");
|
||||
|
@ -670,8 +702,13 @@ var pagebutton = func(btn, i) {
|
|||
setprop("MCDU[" ~ i ~ "]/page", "PERFAPPR");
|
||||
} else if (getprop("FMGC/status/phase") == 6) {
|
||||
setprop("MCDU[" ~ i ~ "]/page", "PERFGA");
|
||||
} else if (getprop("FMGC/status/phase") == 7) {
|
||||
fmgc.reset_FMGC();
|
||||
}
|
||||
} else if (btn == "init") {
|
||||
if (getprop("FMGC/status/phase") == 7) {
|
||||
fmgc.reset_FMGC();
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/page", "INITA");
|
||||
} else if (btn == "data") {
|
||||
setprop("MCDU[" ~ i ~ "]/page", "DATA");
|
||||
|
@ -849,6 +886,7 @@ var button = func(btn, i) {
|
|||
}
|
||||
} else {
|
||||
if (btn == "CLR") {
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-color", "wht");
|
||||
var scratchpad = getprop("MCDU[" ~ i ~ "]/scratchpad");
|
||||
if (size(scratchpad) == 0) {
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 1);
|
||||
|
@ -862,7 +900,21 @@ var button = func(btn, i) {
|
|||
}
|
||||
}
|
||||
|
||||
var genericMessage = func(i, text, color) {
|
||||
if (getprop("MCDU[" ~ i ~ "]/scratchpad") != text) {
|
||||
if (getprop("MCDU[" ~ i ~ "]/scratchpad-msg") == 1) {
|
||||
setprop("MCDU[" ~ i ~ "]/last-scratchpad", "");
|
||||
} else {
|
||||
setprop("MCDU[" ~ i ~ "]/last-scratchpad", getprop("MCDU[" ~ i ~ "]/scratchpad"));
|
||||
}
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-color", color);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", text);
|
||||
}
|
||||
|
||||
var notAllowed = func(i) {
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-color", "wht");
|
||||
if (getprop("MCDU[" ~ i ~ "]/scratchpad") != "NOT ALLOWED") {
|
||||
if (getprop("MCDU[" ~ i ~ "]/scratchpad-msg") == 1) {
|
||||
setprop("MCDU[" ~ i ~ "]/last-scratchpad", "");
|
||||
|
@ -875,6 +927,7 @@ var notAllowed = func(i) {
|
|||
}
|
||||
|
||||
var formatError = func(i) {
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-color", "wht");
|
||||
if (getprop("MCDU[" ~ i ~ "]/scratchpad") != "FORMAT ERROR") {
|
||||
if (getprop("MCDU[" ~ i ~ "]/scratchpad-msg") == 1) {
|
||||
setprop("MCDU[" ~ i ~ "]/last-scratchpad", "");
|
||||
|
|
|
@ -1,49 +1,41 @@
|
|||
# Copyright (c) 2020 Matthew Maring (hayden2000)
|
||||
|
||||
# APPR PERF
|
||||
var dest_qnh = props.globals.getNode("FMGC/internal/dest-qnh", 1);
|
||||
var dest_temp = props.globals.getNode("FMGC/internal/dest-temp", 1);
|
||||
var dest_mag = props.globals.getNode("FMGC/internal/dest-mag", 1);
|
||||
var dest_wind = props.globals.getNode("FMGC/internal/dest-wind", 1);
|
||||
var transAlt = props.globals.getNode("FMGC/internal/trans-alt", 1);
|
||||
var final = props.globals.getNode("FMGC/internal/final", 1);
|
||||
var mda = props.globals.getNode("FMGC/internal/mda", 1);
|
||||
var dh = props.globals.getNode("FMGC/internal/dh", 1);
|
||||
var ldg_config_3_set = props.globals.getNode("FMGC/internal/ldg-config-3-set", 1);
|
||||
var ldg_config_f_set = props.globals.getNode("FMGC/internal/ldg-config-f-set", 1);
|
||||
var ldg_config_3_set = props.globals.getNode("/FMGC/internal/ldg-config-3-set", 1);
|
||||
var ldg_config_f_set = props.globals.getNode("/FMGC/internal/ldg-config-f-set", 1);
|
||||
|
||||
var perfAPPRInput = func(key, i) {
|
||||
var scratchpad = getprop("MCDU[" ~ i ~ "]/scratchpad");
|
||||
var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad");
|
||||
if (key == "L1") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/dest-qnh", -1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (num(scratchpad) != nil and (scratchpad >= 25 and scratchpad <= 60) or (scratchpad >= 900 and scratchpad <= 1100)) {
|
||||
setprop("/FMGC/internal/dest-qnh", -1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (num(scratchpad) != nil and (scratchpad >= 28.06 and scratchpad <= 31.01) or (scratchpad >= 745 and scratchpad <= 1050)) {
|
||||
# doesn't support accidental temp input yet
|
||||
setprop("FMGC/internal/dest-qnh", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("/FMGC/internal/dest-qnh", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "L2") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/dest-temp", -999);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (num(scratchpad) != nil and scratchpad >= -100 and scratchpad < 100) {
|
||||
setprop("FMGC/internal/dest-temp", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("/FMGC/internal/dest-temp", -999);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (num(scratchpad) != nil and scratchpad >= -99 and scratchpad < 99) {
|
||||
setprop("/FMGC/internal/dest-temp", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "L3") {
|
||||
var tfs = size(scratchpad);
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/dest-mag", -1);
|
||||
setprop("FMGC/internal/dest-wind", -1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("/FMGC/internal/dest-mag", -1);
|
||||
setprop("/FMGC/internal/dest-wind", -1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (tfs >= 3 and tfs <= 7 and find("/", scratchpad) != -1) {
|
||||
var weather = split("/", scratchpad);
|
||||
var mag = int(weather[0]);
|
||||
|
@ -51,10 +43,10 @@ var perfAPPRInput = func(key, i) {
|
|||
var wind = int(weather[1]);
|
||||
var winds = size(weather[1]);
|
||||
if (mags >= 1 and mags <= 3 and winds >= 1 and winds <= 3) {
|
||||
if (mag != nil and wind != nil and mag >= 1 and mag <= 360 and wind >= 0 and wind <= 100) {
|
||||
setprop("FMGC/internal/dest-mag", weather[0]);
|
||||
setprop("FMGC/internal/dest-wind", weather[1]);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
if (mag != nil and wind != nil and mag >= 0 and mag <= 360 and wind >= 0 and wind <= 200) {
|
||||
setprop("/FMGC/internal/dest-mag", weather[0]);
|
||||
setprop("/FMGC/internal/dest-wind", weather[1]);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
fmgc.updateARPT();
|
||||
} else {
|
||||
notAllowed(i);
|
||||
|
@ -67,45 +59,77 @@ var perfAPPRInput = func(key, i) {
|
|||
}
|
||||
} else if (key == "L4") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/trans-alt", 18000);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("/FMGC/internal/trans-alt", 18000);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 50000) {
|
||||
setprop("FMGC/internal/trans-alt", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("/FMGC/internal/trans-alt", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "L5") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/vapp-speed-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("/FMGC/internal/vapp-speed-set", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 200) {
|
||||
setprop("FMGC/internal/vapp-speed-set", 1);
|
||||
setprop("FMGC/internal/computed-speeds/vapp_appr", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("/FMGC/internal/vapp-speed-set", 1);
|
||||
setprop("/FMGC/internal/computed-speeds/vapp_appr", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "L6") {
|
||||
setprop("MCDU[" ~ i ~ "]/page", "PERFDES");
|
||||
setprop("/MCDU[" ~ i ~ "]/page", "PERFDES");
|
||||
} else if (key == "R2") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/baro", 99999);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil and scratchpad >= getprop("/FMGC/internal/ldg-elev") and scratchpad <= 5000 + getprop("/FMGC/internal/ldg-elev")) {
|
||||
if (getprop("/FMGC/internal/radio-no") == 0) {
|
||||
setprop("/FMGC/internal/radio", 99999);
|
||||
}
|
||||
setprop("/FMGC/internal/baro", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "R3") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/radio", 99999);
|
||||
setprop("/FMGC/internal/radio-no", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (scratchpad == "NO") {
|
||||
setprop("/FMGC/internal/radio", 99999);
|
||||
setprop("/FMGC/internal/radio-no", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 700) {
|
||||
setprop("/FMGC/internal/baro", 99999);
|
||||
setprop("/FMGC/internal/radio-no", 0);
|
||||
setprop("/FMGC/internal/radio", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "R4") {
|
||||
if (scratchpad == "" and ldg_config_f_set.getValue() == 1 and ldg_config_3_set.getValue() == 0) {
|
||||
setprop("FMGC/internal/ldg-config-3-set", 1);
|
||||
setprop("FMGC/internal/ldg-config-f-set", 0);
|
||||
setprop("/FMGC/internal/ldg-config-3-set", 1);
|
||||
setprop("/FMGC/internal/ldg-config-f-set", 0);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "R5") {
|
||||
if (scratchpad == "" and ldg_config_3_set.getValue() == 1 and ldg_config_f_set.getValue() == 0) {
|
||||
setprop("FMGC/internal/ldg-config-3-set", 0);
|
||||
setprop("FMGC/internal/ldg-config-f-set", 1);
|
||||
setprop("/FMGC/internal/ldg-config-3-set", 0);
|
||||
setprop("/FMGC/internal/ldg-config-f-set", 1);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (key == "R6") {
|
||||
setprop("MCDU[" ~ i ~ "]/page", "PERFGA");
|
||||
setprop("/MCDU[" ~ i ~ "]/page", "PERFGA");
|
||||
}
|
||||
|
||||
}
|
|
@ -7,7 +7,7 @@ var perfGAInput = func(key, i) {
|
|||
if (key == "L5") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("systems/thrust/clbreduc-ft", "1500");
|
||||
setprop("FMGC/internal/reduc-agl-ft", "1500");
|
||||
setprop("FMGC/internal/accel-agl-ft", "1500");
|
||||
setprop("MCDUC/thracc-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
@ -19,7 +19,7 @@ var perfGAInput = func(key, i) {
|
|||
var acc = size(thracc[1]);
|
||||
if (int(thrred) != nil and int(acc) != nil and (thrred >= 3 and thrred <= 5) and (acc >= 3 and acc <= 5)) {
|
||||
setprop("systems/thrust/clbreduc-ft", thracc[0]);
|
||||
setprop("FMGC/internal/reduc-agl-ft", thracc[1]);
|
||||
setprop("FMGC/internal/accel-agl-ft", thracc[1]);
|
||||
setprop("MCDUC/thracc-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
|
|
|
@ -14,7 +14,7 @@ var perfTOInput = func(key, i) {
|
|||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 100 and scratchpad <= 200) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 100 and scratchpad <= 350) {
|
||||
setprop("FMGC/internal/v1", scratchpad);
|
||||
setprop("FMGC/internal/v1-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
@ -34,7 +34,7 @@ var perfTOInput = func(key, i) {
|
|||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 100 and scratchpad <= 200) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 100 and scratchpad <= 350) {
|
||||
setprop("FMGC/internal/vr", scratchpad);
|
||||
setprop("FMGC/internal/vr-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
@ -55,7 +55,7 @@ var perfTOInput = func(key, i) {
|
|||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 100 and scratchpad <= 200) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 100 and scratchpad <= 350) {
|
||||
setprop("FMGC/internal/v2", scratchpad);
|
||||
setprop("FMGC/internal/v2-set", 1);
|
||||
setprop("it-autoflight/settings/togaspd", scratchpad);
|
||||
|
@ -70,41 +70,46 @@ var perfTOInput = func(key, i) {
|
|||
} else if (key == "L4") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/trans-alt", 18000);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 4 or tfs == 5) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 1000 and scratchpad <= 18000) {
|
||||
setprop("FMGC/internal/trans-alt", scratchpad);
|
||||
if (int(scratchpad) != nil and (tfs == 4 or tfs <= 5) and scratchpad >= 1000 and scratchpad <= 39000) {
|
||||
setprop("FMGC/internal/trans-alt", int(scratchpad / 10) * 10);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "L5") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("systems/thrust/clbreduc-ft", "1500");
|
||||
setprop("FMGC/internal/reduc-agl-ft", "1500");
|
||||
setprop("FMGC/internal/accel-agl-ft", "1500");
|
||||
setprop("MCDUC/thracc-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 7 and tfs <= 9 and find("/", scratchpad) != -1) {
|
||||
if (find("/", scratchpad) != -1) {
|
||||
var thracc = split("/", scratchpad);
|
||||
var thrred = size(thracc[0]);
|
||||
var acc = size(thracc[1]);
|
||||
if (int(thrred) != nil and int(acc) != nil and (thrred >= 3 and thrred <= 5) and (acc >= 3 and acc <= 5)) {
|
||||
setprop("systems/thrust/clbreduc-ft", thracc[0]);
|
||||
setprop("FMGC/internal/reduc-agl-ft", thracc[1]);
|
||||
var thrred = thracc[0];
|
||||
var thrreds = size(thrred);
|
||||
var acc = thracc[1];
|
||||
var accs = size(acc);
|
||||
if (int(thrred) != nil and (thrreds == 4 or thrreds == 5) and thrred >= 1000 and thrred <= 39000 and int(acc) != nil and (accs == 4 or accs == 5) and acc >= 1000 and acc <= 39000) {
|
||||
setprop("systems/thrust/clbreduc-ft", int(thrred / 10) * 10);
|
||||
setprop("FMGC/internal/accel-agl-ft", int(acc / 10) * 10);
|
||||
setprop("MCDUC/thracc-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (thrreds == 0 and int(acc) != nil and (accs == 4 or accs == 5) and acc >= 1000 and acc <= 39000) {
|
||||
setprop("FMGC/internal/accel-agl-ft", int(acc / 10) * 10);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (num(scratchpad) != nil and (tfs == 4 or tfs == 5) and scratchpad >= 1000 and scratchpad <= 39000) {
|
||||
setprop("systems/thrust/clbreduc-ft", int(scratchpad / 10) * 10);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -117,39 +122,65 @@ var perfTOInput = func(key, i) {
|
|||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 7 and find("/UP", scratchpad) != -1) {
|
||||
var flapths = split("/UP", scratchpad);
|
||||
var flap = int(flapths[0]);
|
||||
var trim = num(flapths[1]);
|
||||
if (flap != nil and trim != nil and (flap >= 1 and flap <= 4) and (trim >= 0.0 and trim <= 2.5)) {
|
||||
if (find("/", scratchpad) != -1) {
|
||||
var flapths = split("/", scratchpad);
|
||||
var flap = flapths[0];
|
||||
var flaps = size(flap);
|
||||
var trim = flapths[1];
|
||||
var trims = size(trim);
|
||||
var trima = substr(trim, 2);
|
||||
var trimb = substr(trim, 0, 3);
|
||||
var validtrima = num(trima) != nil and num(trima) >= 0 and num(trima) <= 7.0;
|
||||
var validtrimb = num(trimb) != nil and num(trimb) >= 0 and num(trimb) <= 7.0;
|
||||
if (flaps == 0 and getprop("FMGC/internal/flap-ths-set")) {
|
||||
if (trims == 5 and find("DN", trim) != -1 and validtrima) {
|
||||
setprop("FMGC/internal/to-ths", -1 * trima);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (trims == 5 and find("DN", trim) != -1 and validtrimb) {
|
||||
setprop("FMGC/internal/to-ths", -1 * trimb);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (trims == 5 and find("UP", trim) != -1 and validtrima) {
|
||||
setprop("FMGC/internal/to-ths", trima);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (trims == 5 and find("UP", trim) != -1 and validtrimb) {
|
||||
setprop("FMGC/internal/to-ths", trimb);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (flaps == 1 and num(flap) != nil and flap >= 0 and flap <= 3) {
|
||||
if (trims == 5 and find("DN", trim) != -1 and validtrima) {
|
||||
setprop("FMGC/internal/to-flap", flap);
|
||||
setprop("FMGC/internal/to-ths", trim);
|
||||
setprop("FMGC/internal/to-ths", -1 * trima);
|
||||
setprop("FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (trims == 5 and find("DN", trim) != -1 and validtrimb) {
|
||||
setprop("FMGC/internal/to-flap", flap);
|
||||
setprop("FMGC/internal/to-ths", -1 * trimb);
|
||||
setprop("FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (trims == 5 and find("UP", trim) != -1 and validtrima) {
|
||||
setprop("FMGC/internal/to-flap", flap);
|
||||
setprop("FMGC/internal/to-ths", trima);
|
||||
setprop("FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (trims == 5 and find("UP", trim) != -1 and validtrimb) {
|
||||
setprop("FMGC/internal/to-flap", flap);
|
||||
setprop("FMGC/internal/to-ths", trimb);
|
||||
setprop("FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (tfs == 7 and find("/DN", scratchpad) != -1) {
|
||||
var flapths = split("/DN", scratchpad);
|
||||
var flap = int(flapths[0]);
|
||||
var trim = num(flapths[1]);
|
||||
if (flap != nil and trim != nil and (flap >= 1 and flap <= 4) and (trim > 0 and trim <= 2.5)) {
|
||||
setprop("FMGC/internal/to-flap", flap);
|
||||
setprop("FMGC/internal/to-ths", -1 * trim);
|
||||
setprop("FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (tfs == 1) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 1 and scratchpad <= 4) {
|
||||
} else if (size(scratchpad) == 1 and num(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 3) {
|
||||
setprop("FMGC/internal/to-flap", scratchpad);
|
||||
if (!getprop("FMGC/internal/flap-ths-set")) {
|
||||
setprop("FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -163,7 +194,7 @@ var perfTOInput = func(key, i) {
|
|||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 1 or tfs == 2) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 70) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 99) {
|
||||
setprop("FMGC/internal/flex", scratchpad);
|
||||
setprop("FMGC/internal/flex-set", 1);
|
||||
var flex_calc = getprop("FMGC/internal/flex") - getprop("environment/temperature-degc");
|
||||
|
@ -184,7 +215,7 @@ var perfTOInput = func(key, i) {
|
|||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (int(scratchpad) != nil and tfs >= 3 and tfs <= 5) {
|
||||
if (int(scratchpad) != nil and (tfs == 4 or tfs == 5) and scratchpad >= 1000 and scratchpad <= 39000) {
|
||||
setprop("FMGC/internal/eng-out-reduc", scratchpad);
|
||||
setprop("MCDUC/reducacc-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
|
|
|
@ -11,6 +11,8 @@ var progCLBInput = func(key, i) {
|
|||
setprop("FMGC/internal/activate-twice", 0);
|
||||
setprop("FMGC/internal/decel", 0);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil) {
|
||||
var crzs = size(scratchpad);
|
||||
if (crzs >= 1 and crzs <= 3 and scratchpad > 0 and scratchpad <= 430 and altSet.getValue() <= scratchpad * 100) {
|
||||
|
|
|
@ -11,6 +11,8 @@ var progCRZInput = func(key, i) {
|
|||
setprop("FMGC/internal/activate-twice", 0);
|
||||
setprop("FMGC/internal/decel", 0);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil) {
|
||||
var crzs = size(scratchpad);
|
||||
if (crzs >= 1 and crzs <= 3 and scratchpad > 0 and scratchpad <= 430 and altSet.getValue() <= scratchpad * 100) {
|
||||
|
|
|
@ -11,12 +11,14 @@ var progDESInput = func(key, i) {
|
|||
setprop("FMGC/internal/activate-twice", 0);
|
||||
setprop("FMGC/internal/decel", 0);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil) {
|
||||
var crzs = size(scratchpad);
|
||||
if (crzs >= 1 and crzs <= 3 and scratchpad > 0 and scratchpad <= 430 and altSet.getValue() <= scratchpad * 100) {
|
||||
setprop("FMGC/internal/cruise-fl-prog", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
if (getprop("FMGC/status/phase") == 5 or getprop("FMGC/status/phase") == 6) {
|
||||
if (getprop("FMGC/status/phase") == 4 or getprop("FMGC/status/phase") == 5 or getprop("FMGC/status/phase") == 6) {
|
||||
setprop("FMGC/status/phase", 3);
|
||||
setprop("FMGC/internal/activate-once", 0);
|
||||
setprop("FMGC/internal/activate-twice", 0);
|
||||
|
|
|
@ -7,6 +7,8 @@ var progTOInput = func(key, i) {
|
|||
if (key == "L1") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("FMGC/internal/cruise-fl-prog", getprop("FMGC/internal/cruise-fl"));
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil) {
|
||||
var crzs = size(scratchpad);
|
||||
if (crzs >= 1 and crzs <= 3 and scratchpad > 0 and scratchpad <= 430 and altSet.getValue() <= scratchpad * 100 and getprop("FMGC/internal/cruise-lvl-set")) {
|
||||
|
|
|
@ -69,6 +69,9 @@ var radnavInput = func(key, i) {
|
|||
setprop("instrumentation/nav[0]/frequencies/selected-mhz", scratchpad);
|
||||
setprop("FMGC/internal/ils1freq-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
if (num(getprop("FMGC/internal/ils1freq-calculated")) != 0 and num(getprop("FMGC/internal/ils1freq-calculated")) != num(getprop("instrumentation/nav[0]/frequencies/selected-mhz"))) {
|
||||
genericMessage(i, "RWY/LS MISMATCH", "amb");
|
||||
}
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
|
||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
||||
|
||||
print("-----------------------------------------------------------------------------");
|
||||
print("Copyright (c) 2016-2019 Joshua Davidson (Octal450)");
|
||||
print("-----------------------------------------------------------------------------");
|
||||
print("--------------------------------------------------");
|
||||
print("Copyright (c) 2016-2020 Joshua Davidson (Octal450)");
|
||||
print("--------------------------------------------------");
|
||||
|
||||
setprop("sim/replay/was-active", 0);
|
||||
|
||||
|
|
|
@ -169,6 +169,14 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>2500</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>2400</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>2500</value>
|
||||
|
@ -203,6 +211,14 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>2000</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>1900</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>2000</value>
|
||||
|
@ -237,6 +253,14 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>1000</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>900</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>1000</value>
|
||||
|
@ -271,6 +295,14 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>500</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>400</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>500</value>
|
||||
|
@ -305,6 +337,14 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>400</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>300</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>400</value>
|
||||
|
@ -339,6 +379,14 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>300</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>200</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>300</value>
|
||||
|
@ -373,6 +421,14 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>200</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>100</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>200</value>
|
||||
|
@ -407,6 +463,14 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>100</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>0</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>100</value>
|
||||
|
@ -441,6 +505,10 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>50</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>50</value>
|
||||
|
@ -475,6 +543,10 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>40</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>40</value>
|
||||
|
@ -509,6 +581,10 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>30</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>30</value>
|
||||
|
@ -543,6 +619,10 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>20</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>20</value>
|
||||
|
@ -581,6 +661,10 @@
|
|||
<property>/controls/flight/flaps</property>
|
||||
<value>0.640</value>
|
||||
</greater-than>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>10</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>10</value>
|
||||
|
@ -629,6 +713,10 @@
|
|||
<property>/controls/flight/flaps</property>
|
||||
<value>0.640</value>
|
||||
</greater-than>
|
||||
<not-equals>
|
||||
<property>/instrumentation/pfd/minimums-no-gpws-alt</property>
|
||||
<value>5</value>
|
||||
</not-equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>5</value>
|
||||
|
@ -661,7 +749,6 @@
|
|||
<reference-dist>20.0</reference-dist>
|
||||
<max-dist>100.0</max-dist>
|
||||
</gpws>
|
||||
|
||||
<gpws>
|
||||
<name>100above</name>
|
||||
<path>Aircraft/A320-family/Sounds/GPWS/100-above.wav</path>
|
||||
|
@ -672,13 +759,13 @@
|
|||
<property>/instrumentation/mk-viii/inputs/discretes/gpws-inhibit</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<less-than-equals> <!-- Until I add a calulation for minimums + 100, and add the ability to adjust DH, I'm keeping 350. Should be working soon -->
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>350</value>
|
||||
<less-than-equals>
|
||||
<property>/instrumentation/pfd/minimums-ref-alt</property>
|
||||
<property>/instrumentation/pfd/minimums-plus-100</property>
|
||||
</less-than-equals>
|
||||
<greater-than>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>300</value>
|
||||
<property>/instrumentation/pfd/minimums-ref-alt</property>
|
||||
<property>/instrumentation/pfd/minimums-plus-50</property>
|
||||
</greater-than>
|
||||
<less-than>
|
||||
<property>/position/gear-agl-ft-2-sec</property>
|
||||
|
@ -707,12 +794,12 @@
|
|||
<value>0</value>
|
||||
</equals>
|
||||
<less-than-equals>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>250</value>
|
||||
<property>/instrumentation/pfd/minimums-ref-alt</property>
|
||||
<property>/instrumentation/pfd/minimums</property>
|
||||
</less-than-equals>
|
||||
<greater-than>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<value>200</value>
|
||||
<property>/instrumentation/pfd/minimums-ref-alt</property>
|
||||
<property>/instrumentation/pfd/minimums-minus-50</property>
|
||||
</greater-than>
|
||||
<less-than>
|
||||
<property>/position/gear-agl-ft-2-sec</property>
|
||||
|
|
|
@ -1212,4 +1212,145 @@
|
|||
<output>/instrumentation/ddrmi/flag-2</output>
|
||||
<filter-time>0.64</filter-time>
|
||||
</filter>
|
||||
|
||||
<!-- Minimums stuff -->
|
||||
<filter>
|
||||
<name>Minimums Selector</name>
|
||||
<type>gain</type>
|
||||
<gain>1.0</gain>
|
||||
<update-interval-secs type="double">0.1</update-interval-secs>
|
||||
<input>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/FMGC/internal/baro</property>
|
||||
<value>99999</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
</input>
|
||||
<input>/position/gear-agl-ft</input>
|
||||
<output>/instrumentation/pfd/minimums-ref-alt</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Minimums Selector</name>
|
||||
<type>gain</type>
|
||||
<gain>1.0</gain>
|
||||
<update-interval-secs type="double">0.1</update-interval-secs>
|
||||
<input>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/FMGC/internal/radio</property>
|
||||
<value>99999</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<property>/FMGC/internal/radio</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/FMGC/internal/baro</property>
|
||||
<value>99999</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<expression> <!-- A bit ehhh, but avoids huge mess in A320-common-sound.xml -->
|
||||
<product>
|
||||
<floor>
|
||||
<sum>
|
||||
<div>
|
||||
<sum> <!-- Calculate offseted radio value -->
|
||||
<difference>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
</difference>
|
||||
<property>/FMGC/internal/baro</property>
|
||||
</sum>
|
||||
<value>25</value>
|
||||
</div>
|
||||
<value>0.5</value> <!-- Make floor round it -->
|
||||
</sum>
|
||||
</floor>
|
||||
<value>25</value>
|
||||
</product>
|
||||
</expression>
|
||||
</input>
|
||||
<input>99999</input>
|
||||
<output>/instrumentation/pfd/minimums-no-gpws-alt</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Minimums Selector</name>
|
||||
<type>gain</type>
|
||||
<gain>1.0</gain>
|
||||
<update-interval-secs type="double">0.1</update-interval-secs>
|
||||
<input>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/FMGC/internal/radio</property>
|
||||
<value>99999</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<property>/FMGC/internal/radio</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/FMGC/internal/baro</property>
|
||||
<value>99999</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
<property>/FMGC/internal/baro</property>
|
||||
</input>
|
||||
<input>99999</input>
|
||||
<output>/instrumentation/pfd/minimums</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Minimums Minus 50</name>
|
||||
<type>gain</type>
|
||||
<gain>1.0</gain>
|
||||
<update-interval-secs type="double">0.1</update-interval-secs>
|
||||
<input>
|
||||
<expression>
|
||||
<difference>
|
||||
<property>/instrumentation/pfd/minimums</property>
|
||||
<value>50</value>
|
||||
</difference>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/instrumentation/pfd/minimums-minus-50</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Minimums Plus 50</name>
|
||||
<type>gain</type>
|
||||
<gain>1.0</gain>
|
||||
<update-interval-secs type="double">0.1</update-interval-secs>
|
||||
<input>
|
||||
<expression>
|
||||
<sum>
|
||||
<property>/instrumentation/pfd/minimums</property>
|
||||
<value>50</value>
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/instrumentation/pfd/minimums-plus-50</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Minimums Plus 100</name>
|
||||
<type>gain</type>
|
||||
<gain>1.0</gain>
|
||||
<update-interval-secs type="double">0.1</update-interval-secs>
|
||||
<input>
|
||||
<expression>
|
||||
<sum>
|
||||
<property>/instrumentation/pfd/minimums</property>
|
||||
<value>100</value>
|
||||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/instrumentation/pfd/minimums-plus-100</output>
|
||||
</filter>
|
||||
|
||||
</PropertyList>
|
||||
|
|
|
@ -141,6 +141,34 @@
|
|||
<output>/instrumentation/pfd/alt-diff</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Ground bug diff</name>
|
||||
<type>gain</type>
|
||||
<update-interval-secs type="double">0.05</update-interval-secs>
|
||||
<gain>1.0</gain>
|
||||
<input>
|
||||
<property>/position/ground-elev-ft</property>
|
||||
</input>
|
||||
<reference>
|
||||
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
</reference>
|
||||
<output>/instrumentation/pfd/ground-diff</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Destination bug diff</name>
|
||||
<type>gain</type>
|
||||
<update-interval-secs type="double">0.05</update-interval-secs>
|
||||
<gain>1.0</gain>
|
||||
<input>
|
||||
<property>/FMGC/internal/ldg-elev</property>
|
||||
</input>
|
||||
<reference>
|
||||
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
|
||||
</reference>
|
||||
<output>/instrumentation/pfd/landing-diff</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Localizer course diff</name>
|
||||
<type>gain</type>
|
||||
|
|
|
@ -17,6 +17,18 @@
|
|||
<halign>left</halign>
|
||||
<label>Left MCDU</label>
|
||||
</text>
|
||||
<button>
|
||||
<halign>right</halign>
|
||||
<pref-width>220</pref-width>
|
||||
<pref-height>20</pref-height>
|
||||
<legend>Toggle Keyboard Input</legend>
|
||||
<live>true</live>
|
||||
<property>/FMGC/keyboard-left</property>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/FMGC/keyboard-left</property>
|
||||
</binding>
|
||||
</button>
|
||||
<button>
|
||||
<halign>right</halign>
|
||||
<pref-width>20</pref-width>
|
||||
|
@ -24,8 +36,9 @@
|
|||
<legend>X</legend>
|
||||
<key>Esc</key>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("FMGC/keyboard-left", 0);</script>
|
||||
<command>property-assign</command>
|
||||
<property>/FMGC/keyboard-left</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>dialog-close</command>
|
||||
|
|
|
@ -17,6 +17,18 @@
|
|||
<halign>left</halign>
|
||||
<label>Right MCDU</label>
|
||||
</text>
|
||||
<button>
|
||||
<halign>right</halign>
|
||||
<pref-width>220</pref-width>
|
||||
<pref-height>20</pref-height>
|
||||
<legend>Toggle Keyboard Input</legend>
|
||||
<live>true</live>
|
||||
<property>/FMGC/keyboard-right</property>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/FMGC/keyboard-right</property>
|
||||
</binding>
|
||||
</button>
|
||||
<button>
|
||||
<halign>right</halign>
|
||||
<pref-width>20</pref-width>
|
||||
|
@ -24,8 +36,9 @@
|
|||
<legend>X</legend>
|
||||
<key>Esc</key>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("FMGC/keyboard-right", 0);</script>
|
||||
<command>property-assign</command>
|
||||
<property>/FMGC/keyboard-right</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>dialog-close</command>
|
||||
|
@ -298,7 +311,7 @@
|
|||
<pref-width>40</pref-width>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>mcdu.pagebutton("dir-to", 0);</script>
|
||||
<script>mcdu.pagebutton("dirto", 1);</script>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-2</property>
|
||||
|
|
|
@ -1 +1 @@
|
|||
24
|
||||
25
|
Loading…
Reference in a new issue