1
0
Fork 0

Merge branch 'dev' into 3D

This commit is contained in:
Jonathan Redpath 2021-12-28 12:28:43 +00:00
commit 6bba59642a
6 changed files with 317 additions and 300 deletions

View file

@ -212,7 +212,8 @@ canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update
# because things are much better configurable that way
# now look up all required SVG elements and initialize member fields using the same name to have a convenient handle
foreach(var element; ["dmeL","dmeR","vorL","vorR","vorLId","vorRId",
"status.wxr","status.wpt","status.sta","status.arpt","terrHI","terrLO","TerrLabel","terrAhead","terrAltGroup"])
"status.wxr","status.wpt","status.sta","status.arpt","terrHI","terrLO","TerrLabel","terrAhead","terrAltGroup",
"vorLIdtuneMode","vorRIdtuneMode"])
me.symbols[element] = me.nd.getElementById(element);
foreach(var element; ["dmeLDist","dmeRDist"])
@ -572,7 +573,31 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
var dme1_path = "/instrumentation/dme[2]";
var dme2_path = "/instrumentation/dme[3]";
if(me.get_switch("toggle_lh_vor_adf") == 1) {
if (fmgc.FMGCInternal.VOR1.freqSet) {
me.symbols.vorLIdtuneMode.show();
} else {
me.symbols.vorLIdtuneMode.hide();
}
} else if(me.get_switch("toggle_lh_vor_adf") == -1) {
if (fmgc.FMGCInternal.ADF1.freqSet) {
me.symbols.vorLIdtuneMode.show();
} else {
me.symbols.vorLIdtuneMode.hide();
}
} else {
me.symbols.vorLIdtuneMode.hide();
}
if(me.get_switch("toggle_rh_vor_adf") == 1) {
if (fmgc.FMGCInternal.VOR2.freqSet) {
me.symbols.vorRIdtuneMode.show();
} else {
me.symbols.vorRIdtuneMode.hide();
}
me.symbols.vorR.setText("VOR R");
me.symbols.vorR.setColor(0.195,0.96,0.097);
me.symbols.dmeR.setText("DME");
@ -587,6 +612,13 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
else me.symbols.dmeRDist.setText(" ---");
me.symbols.dmeRDist.setColor(0.195,0.96,0.097);
} elsif(me.get_switch("toggle_rh_vor_adf") == -1) {
if (fmgc.FMGCInternal.ADF2.freqSet) {
me.symbols.vorRIdtuneMode.show();
} else {
me.symbols.vorRIdtuneMode.hide();
}
me.symbols.vorR.setText("ADF R");
me.symbols.vorR.setColor(0,0.6,0.85);
me.symbols.dmeR.setText("");
@ -598,6 +630,7 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
me.symbols.dmeRDist.setText("");
me.symbols.dmeRDist.setColor(0,0.6,0.85);
} else {
me.symbols.vorRIdtuneMode.hide();
me.symbols.vorR.setText("");
me.symbols.dmeR.setText("");
me.symbols.vorRId.setText("");

View file

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="airbusND.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
xml:space="preserve"
id="svg5180"
height="1024"
width="1024"
version="1.1"><sodipodi:namedview
version="1.1"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><sodipodi:namedview
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1"
@ -22,17 +22,17 @@
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-width="1920"
inkscape:window-height="986"
id="namedview102"
showgrid="false"
inkscape:zoom="1.5540552"
inkscape:cx="474.64782"
inkscape:cy="152.79363"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:zoom="4.3955319"
inkscape:cx="75.872501"
inkscape:cy="938.90799"
inkscape:window-x="-11"
inkscape:window-y="-11"
inkscape:window-maximized="1"
inkscape:current-layer="g415"
inkscape:current-layer="layer3"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-object-midpoints="true"
@ -1076,14 +1076,14 @@
</g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="39.859375"
x="41.859375"
y="919.5495"
id="vorL"
inkscape:label="#text7243"><tspan
style="font-size:32px;line-height:1.25;fill:#0dc04b;fill-opacity:1"
sodipodi:role="line"
id="tspan3056"
x="39.859375"
x="41.859375"
y="919.5495">VOR1</tspan></text>
<text
@ -1102,16 +1102,38 @@
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="39.9375"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="126.51562"
y="956.56171"
id="vorLId"
inkscape:label="#text7243"><tspan
style="font-size:32px;line-height:1.25;fill:#0dc04b"
style="font-size:32px;line-height:1.25;text-align:end;text-anchor:end;fill:#0dc04b"
sodipodi:role="line"
id="tspan3072"
x="39.9375"
y="956.56171">ABC</tspan></text>
x="126.51562"
y="956.56171">ABC</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="134.0838"
y="956.56171"
id="vorLIdtuneMode"
inkscape:label="#text7243"><tspan
style="font-size:24px;line-height:1.25;fill:#0dc04b;fill-opacity:0.6"
sodipodi:role="line"
id="tspan3072-6"
x="134.0838"
y="956.56171">M</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="856.42511"
y="955.98981"
id="vorRIdtuneMode"
inkscape:label="#text7243"><tspan
style="font-size:24px;line-height:1.25;fill:#0dc04b;fill-opacity:0.6"
sodipodi:role="line"
id="tspan3072-6-0"
x="856.42511"
y="955.98981">M</tspan></text>
<text
inkscape:label="#text7243"
@ -1196,7 +1218,7 @@
inkscape:connector-curvature="0"
id="trkline"
d="M 512,179.04645 V 777.94594"
style="fill:none;stroke:#66b266;stroke-width:5.12175989;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#66b266;stroke-width:5.12176;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-y="-345.50518"
inkscape:label="#path6714"
inkscape:transform-center-x="-0.001953124" /><path
@ -2352,14 +2374,14 @@
id="g415"
inkscape:label="ND_TCAS_MEMO"
style="display:inline"><rect
style="opacity:0.98999999;fill:none;stroke:#ffffff;stroke-width:3.15591002;stroke-miterlimit:4;stroke-dasharray:none"
style="opacity:0.99;fill:none;stroke:#ffffff;stroke-width:3.15591;stroke-miterlimit:4;stroke-dasharray:none"
id="taOnlyBox"
width="563.05048"
height="46.844471"
x="230.3676"
y="871.6969" /><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:42.66669846px;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none"
style="font-style:normal;font-weight:normal;font-size:42.6667px;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none"
x="511.39594"
y="910.03772"
id="taOnly"
@ -2368,7 +2390,7 @@
id="taOnlyText"
x="511.39594"
y="910.03772"
style="font-size:42.66669846px;line-height:1.25;fill:#ffffff">TA ONLY</tspan></text>
style="font-size:42.6667px;line-height:1.25;fill:#ffffff">TA ONLY</tspan></text>
</g><g
inkscape:groupmode="layer"
id="layer4"

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 150 KiB

View file

@ -1718,10 +1718,11 @@ canvas.NDStyles["Airbus"] = {
var adf = "instrumentation/adf/";
var navident = getprop(adf~ "ident");
var frq = getprop(adf~ "frequencies/selected-khz");
if(navident != "")
if(navident != "") {
nd.symbols.vorLId.setText(navident);
else
} else {
nd.symbols.vorLId.setText(sprintf("%3d", frq));
}
nd.symbols.dmeLDist.setText("");
} else {
var nav = nd.get_nav_path("vor", 0);
@ -1730,10 +1731,11 @@ canvas.NDStyles["Airbus"] = {
var dme = nd.get_nav_path("dme", 0);
var dst = getprop(dme~ "indicated-distance-nm");
#print(dme~ "indicated-distance-nm");
if(getprop(nav~ "in-range"))
if(getprop(nav~ "in-range")) {
nd.symbols.vorLId.setText(navID);
else
} else {
nd.symbols.vorLId.setText(frq);
}
if(getprop(dme~ "in-range"))
nd.symbols.dmeLDist.setText(sprintf("%3.1f",
dst));
@ -1775,10 +1777,11 @@ canvas.NDStyles["Airbus"] = {
var adf = "instrumentation/adf[1]/";
var navident = getprop(adf~ "ident");
var frq = getprop(adf~ "frequencies/selected-khz");
if(navident != "")
if(navident != "") {
nd.symbols.vorRId.setText(navident);
else
} else {
nd.symbols.vorRId.setText(sprintf("%3d", frq));
}
nd.symbols.dmeRDist.setText("");
} else {
var nav = nd.get_nav_path("vor", 1);
@ -1787,10 +1790,11 @@ canvas.NDStyles["Airbus"] = {
var dme = nd.get_nav_path("dme", 1);
var dst = getprop(dme~ "indicated-distance-nm");
#print(dme~ "indicated-distance-nm");
if(getprop(nav~ "in-range"))
if(getprop(nav~ "in-range")) {
nd.symbols.vorRId.setText(navID);
else
} else {
nd.symbols.vorRId.setText(frq);
}
if(getprop(dme~ "in-range"))
nd.symbols.dmeRDist.setText(sprintf("%3.1f",
dst));

View file

@ -17,7 +17,7 @@ var dataInput = func(key, i) {
canvas_mcdu.myClosestAirport[i] = closestAirportPage.new(i);
setprop("MCDU[" ~ i ~ "]/page", "CLOSESTAIRPORT");
} elsif (key == "R5") {
setprop("MCDU[" ~ i ~ "]/page", "PRINTFUNC");
mcdu_message(i, "PRINTER NOT AVAILABLE");
}
}

View file

@ -256,10 +256,6 @@ var lskbutton = func(btn, i) {
radnavInput("L1",i);
} else if (page == "DATA") {
dataInput("L1",i);
} else if (page == "PRINTFUNC") {
printInput("L1",i);
} else if (page == "PRINTFUNC2") {
printInput2("L1",i);
} else if (page == "LATREV") {
if (canvas_mcdu.myLatRev[i].type == 0) {
if (canvas_mcdu.myDeparture[i] != nil) {
@ -412,10 +408,6 @@ var lskbutton = func(btn, i) {
perfDESInput("L2",i);
} else if (page == "DATA") {
dataInput("L2",i);
} else if (page == "PRINTFUNC") {
printInput("L2",i);
} else if (page == "PRINTFUNC2") {
printInput2("L2",i);
} else if (page == "F-PLNA" or page == "F-PLNB") {
canvas_mcdu.myFpln[i].pushButtonLeft(2);
} else if (page == "DEPARTURE") {
@ -541,10 +533,6 @@ var lskbutton = func(btn, i) {
radnavInput("L3",i);
} else if (page == "DATA") {
dataInput("L3",i);
} else if (page == "PRINTFUNC") {
printInput("L3",i);
} else if (page == "PRINTFUNC2") {
printInput2("L3",i);
} else if (page == "F-PLNA" or page == "F-PLNB") {
canvas_mcdu.myFpln[i].pushButtonLeft(3);
} else if (page == "DEPARTURE") {
@ -668,8 +656,6 @@ var lskbutton = func(btn, i) {
perfAPPRInput("L4",i);
} else if (page == "RADNAV") {
radnavInput("L4",i);
} else if (page == "PRINTFUNC2") {
printInput2("L4",i);
} else if (page == "F-PLNA" or page == "F-PLNB") {
canvas_mcdu.myFpln[i].pushButtonLeft(4);
} else if (page == "DEPARTURE") {
@ -788,10 +774,6 @@ var lskbutton = func(btn, i) {
perfGAInput("L5",i);
} else if (page == "RADNAV") {
radnavInput("L5",i);
} else if (page == "PRINTFUNC") {
printInput("L5",i);
} else if (page == "PRINTFUNC2") {
printInput2("L5",i);
} else if (page == "DATA") {
dataInput("L5",i);
} else if (page == "DATA2") {
@ -859,8 +841,6 @@ var lskbutton = func(btn, i) {
perfAPPRInput("L6",i);
} else if (page == "PERFGA") {
perfGAInput("L6",i);
} else if (page == "PRINTFUNC2") {
printInput2("L6",i);
} else if (page == "F-PLNA" or page == "F-PLNB") {
canvas_mcdu.myFpln[i].pushButtonLeft(6);
} else if (page == "LATREV" or page == "VERTREV" or page == "DUPLICATENAMES") {
@ -938,10 +918,6 @@ var rskbutton = func(btn, i) {
canvas_mcdu.myDESWIND[i].pushButtonRight(1);
} else if (page == "RADNAV") {
radnavInput("R1",i);
} else if (page == "PRINTFUNC") {
printInput("R1",i);
} else if (page == "PRINTFUNC2") {
printInput2("R1",i);
} else if (page == "LATREV") {
if (canvas_mcdu.myLatRev[i].type == 1) {
if (canvas_mcdu.myArrival[i] != nil) {
@ -1023,10 +999,6 @@ var rskbutton = func(btn, i) {
perfAPPRInput("R2",i);
} else if (page == "RADNAV") {
radnavInput("R2",i);
} else if (page == "PRINTFUNC") {
printInput("R2",i);
} else if (page == "PRINTFUNC2") {
printInput2("R2",i);
} else if (page == "DEPARTURE") {
canvas_mcdu.myDeparture[i].depPushbuttonRight(2);
} else if (page == "ARRIVAL") {
@ -1070,10 +1042,6 @@ var rskbutton = func(btn, i) {
perfTOInput("R3",i);
} else if (page == "PERFAPPR") {
perfAPPRInput("R3",i);
} else if (page == "PRINTFUNC") {
printInput("R3",i);
} else if (page == "PRINTFUNC2") {
printInput2("R3",i);
} else if (page == "DEPARTURE") {
canvas_mcdu.myDeparture[i].depPushbuttonRight(3);
} else if (page == "ARRIVAL") {
@ -1163,8 +1131,6 @@ var rskbutton = func(btn, i) {
perfAPPRInput("R4",i);
} else if (page == "RADNAV") {
radnavInput("R4",i);
} else if (page == "PRINTFUNC2") {
printInput2("R4",i);
} else if (page == "DEPARTURE") {
canvas_mcdu.myDeparture[i].depPushbuttonRight(4);
} else if (page == "ARRIVAL") {
@ -1301,7 +1267,7 @@ var rskbutton = func(btn, i) {
perfDESInput("R6",i);
} else if (page == "PERFAPPR") {
perfAPPRInput("R6",i);
} else if ((page == "DATA") or (page == "PRINTFUNC") or (page == "PRINTFUNC2")) {
} else if (page == "DATA") {
mcdu_message(i, "AOC DISABLED");
} else if (page == "INITA") {
initInputA("R6",i);
@ -1362,10 +1328,6 @@ var arrowbutton = func(btn, i) {
}
} else if (page == "INITB" or page == "FUELPRED") {
pageNode[i].setValue("INITA");
} else if (page == "PRINTFUNC") {
pageNode[i].setValue("PRINTFUNC2");
} else if (page == "PRINTFUNC2") {
pageNode[i].setValue("PRINTFUNC");
} else if (page == "DEPARTURE") {
canvas_mcdu.myDeparture[i].scrollLeft();
} else if (page == "ARRIVAL") {
@ -1406,10 +1368,6 @@ var arrowbutton = func(btn, i) {
}
} else if (page == "INITB" or page == "FUELPRED") {
pageNode[i].setValue("INITA");
} else if (page == "PRINTFUNC") {
pageNode[i].setValue("PRINTFUNC2");
} else if (page == "PRINTFUNC2") {
pageNode[i].setValue("PRINTFUNC");
} else if (page == "DEPARTURE") {
canvas_mcdu.myDeparture[i].scrollRight();
} else if (page == "ARRIVAL") {

View file

@ -30,7 +30,7 @@ var parseFrequencyVOR = func(scratchpad, i, num) {
var searchResultVOR = nil;
var parseIdentVOR = func(scratchpad, i, num) {
# TODO - duplicate names
if (size(scratchpad) == 3) {
if (size(scratchpad) == 2 or size(scratchpad) == 3) {
searchResultVOR = findNavaidsByID(scratchpad);
if (size(searchResultVOR) != 0) {
pts.Instrumentation.Nav.Frequencies.selectedMhz[num].setValue(searchResultVOR[0].frequency / 100);