Navdisplay: enable PLAN scrolling; correct scrolling on F-PLN page in MCDU; remove legacy files from navdisplay; correct bug in waypoint displaying where waypoints wouldn't be deleted
This commit is contained in:
parent
31e5dd3697
commit
eeb25f2217
7 changed files with 69 additions and 212 deletions
|
@ -29,10 +29,8 @@ var SymbolCache32x32 = canvas.SymbolCache32x32;
|
||||||
var SymbolCache = canvas.SymbolCache;
|
var SymbolCache = canvas.SymbolCache;
|
||||||
var Text = canvas.Text;
|
var Text = canvas.Text;
|
||||||
|
|
||||||
io.include("ND_config.nas");
|
|
||||||
io.include("framework/canvas.nas");
|
io.include("framework/canvas.nas");
|
||||||
io.include("framework/navdisplay.nas");
|
io.include("framework/navdisplay.nas");
|
||||||
io.include("framework/MapDrivers.nas");
|
|
||||||
io.include("loaders.nas");
|
io.include("loaders.nas");
|
||||||
io.include("helpers.nas");
|
io.include("helpers.nas");
|
||||||
io.include("style.nas");
|
io.include("style.nas");
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
# A3XX ND Canvas
|
|
||||||
# Joshua Davidson (Octal450)
|
|
||||||
# Based on work by artix
|
|
||||||
|
|
||||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
|
||||||
|
|
||||||
canvas.NDConfig = {
|
|
||||||
properties: {
|
|
||||||
des_apt: "/autopilot/route-manager/destination/airport",
|
|
||||||
dep_apt: "/autopilot/route-manager/departure/airport",
|
|
||||||
des_rwy: "/autopilot/route-manager/destination/runway",
|
|
||||||
dep_rwy: "/autopilot/route-manager/departure/runway",
|
|
||||||
fplan_active: "autopilot/route-manager/active",
|
|
||||||
athr: "/it-autoflight/output/athr",
|
|
||||||
cur_wp: "/autopilot/route-manager/current-wp",
|
|
||||||
vnav_node: "/autopilot/route-manager/vnav/",
|
|
||||||
spd_node: "/autopilot/route-manager/spd/",
|
|
||||||
holding: "/flight-management/hold",
|
|
||||||
holding_points: "/flight-management/hold/points",
|
|
||||||
adf1_frq: "instrumentation/adf[0]/frequencies/selected-khz",
|
|
||||||
adf2_frq: "instrumentation/adf[1]/frequencies/selected-khz",
|
|
||||||
nav1_frq: "instrumentation/nav[0]/frequencies/selected-mhz",
|
|
||||||
nav2_frq: "instrumentation/nav[1]/frequencies/selected-mhz",
|
|
||||||
lat_ctrl: "/it-autoflight/output/lat",
|
|
||||||
ver_ctrl: "/it-autoflight/output/vert",
|
|
||||||
}
|
|
||||||
};
|
|
|
@ -1,122 +0,0 @@
|
||||||
# A3XX ND Canvas
|
|
||||||
# Joshua Davidson (Octal450)
|
|
||||||
# Based on work by artix
|
|
||||||
|
|
||||||
# Copyright (c) 2020 Josh Davidson (Octal450)
|
|
||||||
|
|
||||||
canvas.RouteDriver = {
|
|
||||||
new: func(){
|
|
||||||
var m = {
|
|
||||||
parents: [canvas.RouteDriver],
|
|
||||||
};
|
|
||||||
m.init();
|
|
||||||
return m;
|
|
||||||
},
|
|
||||||
init: func(){
|
|
||||||
me.update();
|
|
||||||
},
|
|
||||||
update: func(){
|
|
||||||
me.flightplan = flightplan();
|
|
||||||
},
|
|
||||||
getNumberOfFlightPlans: func(){1},
|
|
||||||
getFlightPlanType: func(fpNum){"active"},
|
|
||||||
getFlightPlan: func(fpNum){me.flightplan},
|
|
||||||
getPlanSize: func(fpNum){me.flightplan.getPlanSize()},
|
|
||||||
getWP: func(fpNum, idx){me.flightplan.getWP(idx)},
|
|
||||||
getListeners: func(){[]},
|
|
||||||
getPlanModeWP: func(plan_wp_idx){me.flightplan.getWP(plan_wp_idx)},
|
|
||||||
hasDiscontinuity: func(fpNum, wpt){0},
|
|
||||||
getHoldPattern: func(fpNum, wpt){nil},
|
|
||||||
getHoldPatterns: func(fpNum){[]},
|
|
||||||
shouldUpdate: func 1,
|
|
||||||
shouldDisplayWP: func(fpNum, idx) 1,
|
|
||||||
getCurrentWPIdx: func(fpNum) getprop("autopilot/route-manager/current-wp"),
|
|
||||||
getTimeConstraint: func (fpNum, wp_idx) {nil}
|
|
||||||
};
|
|
||||||
|
|
||||||
canvas.MultiRouteDriver = {
|
|
||||||
parents: [canvas.RouteDriver],
|
|
||||||
new: func(){
|
|
||||||
var m = {
|
|
||||||
parents: [MultiRouteDriver],
|
|
||||||
_flightplans: [],
|
|
||||||
currentFlightPlan: 0
|
|
||||||
};
|
|
||||||
m.init();
|
|
||||||
return m;
|
|
||||||
},
|
|
||||||
addFlightPlan: func(type, plan){
|
|
||||||
append(me._flightplans, {
|
|
||||||
type: type,
|
|
||||||
flightplan: plan
|
|
||||||
});
|
|
||||||
},
|
|
||||||
removeFlightPlanAtIndex: func(idx){
|
|
||||||
var sz = size(me._flightplans);
|
|
||||||
if(idx < sz){
|
|
||||||
if(sz == 1)
|
|
||||||
me._flightplans = [];
|
|
||||||
elsif(sz == 2 and idx == 0)
|
|
||||||
me._flightplans = [me._flightplans[1]];
|
|
||||||
elsif(sz == 2 and idx == 1)
|
|
||||||
pop(me._flightplans);
|
|
||||||
else {
|
|
||||||
var subv_l = subvec(me._flightplans, 0, idx);
|
|
||||||
var subv_r = subvec(me._flightplans, idx + 1);
|
|
||||||
me._flightplans = subv_l ~ subv_r;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
me.triggerSignal("fp-added");
|
|
||||||
},
|
|
||||||
removeFlightPlanOfType: func(type){
|
|
||||||
var new_vec = [];
|
|
||||||
foreach(var fp; me._flightplans){
|
|
||||||
if(fp["type"] != type)
|
|
||||||
append(new_vec, fp);
|
|
||||||
}
|
|
||||||
me._flightplans = new_vec;
|
|
||||||
me.triggerSignal("fp-removed");
|
|
||||||
},
|
|
||||||
getNumberOfFlightPlans: func(){
|
|
||||||
size(me._flightplans);
|
|
||||||
},
|
|
||||||
getFlightPlanType: func(fpNum){
|
|
||||||
if(fpNum >= size(me._flightplans)) return nil;
|
|
||||||
var fp = me._flightplans[fpNum];
|
|
||||||
return fp.type;
|
|
||||||
},
|
|
||||||
getFlightPlan: func(fpNum){
|
|
||||||
if(fpNum >= size(me._flightplans)) return nil;
|
|
||||||
return me._flightplans[fpNum];
|
|
||||||
},
|
|
||||||
getPlanSize: func(fpNum){
|
|
||||||
if(fpNum >= size(me._flightplans)) return 0;
|
|
||||||
return me._flightplans[fpNum].getPlanSize();
|
|
||||||
},
|
|
||||||
getWP: func(fpNum, idx){
|
|
||||||
if(fpNum >= size(me._flightplans)) return nil;
|
|
||||||
var fp = me._flightplans[fpNum];
|
|
||||||
return fp.getWP(idx);
|
|
||||||
},
|
|
||||||
getPlanModeWP: func(idx){
|
|
||||||
if(me.currentFlightPlan >= size(me._flightplans)) return nil;
|
|
||||||
var fp = me._flightplans[me.currentFlightPlan];
|
|
||||||
return fp.getWP(idx);
|
|
||||||
},
|
|
||||||
triggerSignal: func(signal){
|
|
||||||
setprop(me.signalPath(signal));
|
|
||||||
},
|
|
||||||
signalPath: func(signal){
|
|
||||||
"autopilot/route-manager/signals/rd-"~ signal;
|
|
||||||
},
|
|
||||||
getListeners: func(){[
|
|
||||||
me.getSignal("fp-added"),
|
|
||||||
me.getSignal("fp-removed")
|
|
||||||
]},
|
|
||||||
getCurrentWPIdx: func(fpNum) {
|
|
||||||
var fp = me.getFlightPlan(fpNum);
|
|
||||||
var wp = fp.getWP();
|
|
||||||
if (wp == nil) return -1;
|
|
||||||
return wp.index;
|
|
||||||
}
|
|
||||||
};
|
|
|
@ -393,9 +393,9 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
|
||||||
me.symbols.vorR.setColor(0,0.6,0.85);
|
me.symbols.vorR.setColor(0,0.6,0.85);
|
||||||
me.symbols.dmeR.setText("");
|
me.symbols.dmeR.setText("");
|
||||||
me.symbols.dmeR.setColor(0,0.6,0.85);
|
me.symbols.dmeR.setColor(0,0.6,0.85);
|
||||||
if((var navident=getprop("instrumentation/adf[1]/ident")) != "")
|
if((var navident=getprop("/instrumentation/adf[1]/ident")) != "")
|
||||||
me.symbols.vorRId.setText(navident);
|
me.symbols.vorRId.setText(navident);
|
||||||
else me.symbols.vorRId.setText(sprintf("%3d",getprop("instrumentation/adf[1]/frequencies/selected-khz")));
|
else me.symbols.vorRId.setText(sprintf("%3d",getprop("/instrumentation/adf[1]/frequencies/selected-khz")));
|
||||||
me.symbols.vorRId.setColor(0,0.6,0.85);
|
me.symbols.vorRId.setColor(0,0.6,0.85);
|
||||||
me.symbols.dmeRDist.setText("");
|
me.symbols.dmeRDist.setText("");
|
||||||
me.symbols.dmeRDist.setColor(0,0.6,0.85);
|
me.symbols.dmeRDist.setColor(0,0.6,0.85);
|
||||||
|
@ -407,8 +407,8 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
|
||||||
}
|
}
|
||||||
|
|
||||||
# Hide heading bug 10 secs after change
|
# Hide heading bug 10 secs after change
|
||||||
var vhdg_bug = getprop("it-autoflight/input/hdg") or 0;
|
var vhdg_bug = getprop("/it-autoflight/input/hdg") or 0;
|
||||||
var hdg_bug_active = getprop("it-autoflight/custom/show-hdg");
|
var hdg_bug_active = getprop("/it-autoflight/custom/show-hdg");
|
||||||
if (hdg_bug_active == nil)
|
if (hdg_bug_active == nil)
|
||||||
hdg_bug_active = 1;
|
hdg_bug_active = 1;
|
||||||
|
|
||||||
|
@ -445,31 +445,31 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
|
||||||
var vorheading = userHdgTru;
|
var vorheading = userHdgTru;
|
||||||
var adfheading = userHdgMag;
|
var adfheading = userHdgMag;
|
||||||
}
|
}
|
||||||
if (getprop("instrumentation/nav[2]/heading-deg") != nil) {
|
if (getprop("/instrumentation/nav[2]/heading-deg") != nil) {
|
||||||
var nav0hdg = getprop("instrumentation/nav[2]/heading-deg") - getprop("orientation/heading-deg");
|
var nav0hdg = getprop("/instrumentation/nav[2]/heading-deg") - getprop("orientation/heading-deg");
|
||||||
} else {
|
} else {
|
||||||
var nav0hdg = 0;
|
var nav0hdg = 0;
|
||||||
}
|
}
|
||||||
if (getprop("instrumentation/nav[3]/heading-deg") != nil) {
|
if (getprop("/instrumentation/nav[3]/heading-deg") != nil) {
|
||||||
var nav1hdg = getprop("instrumentation/nav[3]/heading-deg") - getprop("orientation/heading-deg");
|
var nav1hdg = getprop("/instrumentation/nav[3]/heading-deg") - getprop("orientation/heading-deg");
|
||||||
} else {
|
} else {
|
||||||
var nav1hdg = 0;
|
var nav1hdg = 0;
|
||||||
}
|
}
|
||||||
var adf0hdg = getprop("instrumentation/adf/indicated-bearing-deg");
|
var adf0hdg = getprop("/instrumentation/adf/indicated-bearing-deg");
|
||||||
var adf1hdg = getprop("instrumentation/adf[1]/indicated-bearing-deg");
|
var adf1hdg = getprop("/instrumentation/adf[1]/indicated-bearing-deg");
|
||||||
if(!me.get_switch("toggle_centered"))
|
if(!me.get_switch("toggle_centered"))
|
||||||
{
|
{
|
||||||
if(me.in_mode("toggle_display_mode", ["PLAN"]))
|
if(me.in_mode("toggle_display_mode", ["PLAN"]))
|
||||||
me.symbols.trkInd.hide();
|
me.symbols.trkInd.hide();
|
||||||
else
|
else
|
||||||
me.symbols.trkInd.show();
|
me.symbols.trkInd.show();
|
||||||
if((getprop("instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) {
|
if((getprop("/instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) {
|
||||||
me.symbols.staArrowL.setVisible(staPtrVis);
|
me.symbols.staArrowL.setVisible(staPtrVis);
|
||||||
me.symbols.staToL.setColor(0.195,0.96,0.097);
|
me.symbols.staToL.setColor(0.195,0.96,0.097);
|
||||||
me.symbols.staFromL.setColor(0.195,0.96,0.097);
|
me.symbols.staFromL.setColor(0.195,0.96,0.097);
|
||||||
me.symbols.staArrowL.setRotation(nav0hdg*D2R);
|
me.symbols.staArrowL.setRotation(nav0hdg*D2R);
|
||||||
}
|
}
|
||||||
elsif(getprop("instrumentation/adf/in-range") and (me.get_switch("toggle_lh_vor_adf") == -1)) {
|
elsif(getprop("/instrumentation/adf/in-range") and (me.get_switch("toggle_lh_vor_adf") == -1)) {
|
||||||
me.symbols.staArrowL.setVisible(staPtrVis);
|
me.symbols.staArrowL.setVisible(staPtrVis);
|
||||||
me.symbols.staToL.setColor(0,0.6,0.85);
|
me.symbols.staToL.setColor(0,0.6,0.85);
|
||||||
me.symbols.staFromL.setColor(0,0.6,0.85);
|
me.symbols.staFromL.setColor(0,0.6,0.85);
|
||||||
|
@ -477,12 +477,12 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
|
||||||
} else {
|
} else {
|
||||||
me.symbols.staArrowL.hide();
|
me.symbols.staArrowL.hide();
|
||||||
}
|
}
|
||||||
if((getprop("instrumentation/nav[3]/in-range") and me.get_switch("toggle_rh_vor_adf") == 1)) {
|
if((getprop("/instrumentation/nav[3]/in-range") and me.get_switch("toggle_rh_vor_adf") == 1)) {
|
||||||
me.symbols.staArrowR.setVisible(staPtrVis);
|
me.symbols.staArrowR.setVisible(staPtrVis);
|
||||||
me.symbols.staToR.setColor(0.195,0.96,0.097);
|
me.symbols.staToR.setColor(0.195,0.96,0.097);
|
||||||
me.symbols.staFromR.setColor(0.195,0.96,0.097);
|
me.symbols.staFromR.setColor(0.195,0.96,0.097);
|
||||||
me.symbols.staArrowR.setRotation(nav1hdg*D2R);
|
me.symbols.staArrowR.setRotation(nav1hdg*D2R);
|
||||||
} elsif(getprop("instrumentation/adf[1]/in-range") and (me.get_switch("toggle_rh_vor_adf") == -1)) {
|
} elsif(getprop("/instrumentation/adf[1]/in-range") and (me.get_switch("toggle_rh_vor_adf") == -1)) {
|
||||||
me.symbols.staArrowR.setVisible(staPtrVis);
|
me.symbols.staArrowR.setVisible(staPtrVis);
|
||||||
me.symbols.staToR.setColor(0,0.6,0.85);
|
me.symbols.staToR.setColor(0,0.6,0.85);
|
||||||
me.symbols.staFromR.setColor(0,0.6,0.85);
|
me.symbols.staFromR.setColor(0,0.6,0.85);
|
||||||
|
@ -517,12 +517,12 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
|
||||||
me.symbols.selHdgLine.setVisible(staPtrVis and hdg_bug_active);
|
me.symbols.selHdgLine.setVisible(staPtrVis and hdg_bug_active);
|
||||||
} else {
|
} else {
|
||||||
me.symbols.trkInd.hide();
|
me.symbols.trkInd.hide();
|
||||||
if((getprop("instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) {
|
if((getprop("/instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) {
|
||||||
me.symbols.staArrowL2.setVisible(staPtrVis);
|
me.symbols.staArrowL2.setVisible(staPtrVis);
|
||||||
me.symbols.staFromL2.setColor(0.195,0.96,0.097);
|
me.symbols.staFromL2.setColor(0.195,0.96,0.097);
|
||||||
me.symbols.staToL2.setColor(0.195,0.96,0.097);
|
me.symbols.staToL2.setColor(0.195,0.96,0.097);
|
||||||
me.symbols.staArrowL2.setRotation(nav0hdg*D2R);
|
me.symbols.staArrowL2.setRotation(nav0hdg*D2R);
|
||||||
} elsif(getprop("instrumentation/adf/in-range") and (me.get_switch("toggle_lh_vor_adf") == -1)) {
|
} elsif(getprop("/instrumentation/adf/in-range") and (me.get_switch("toggle_lh_vor_adf") == -1)) {
|
||||||
me.symbols.staArrowL2.setVisible(staPtrVis);
|
me.symbols.staArrowL2.setVisible(staPtrVis);
|
||||||
me.symbols.staFromL2.setColor(0,0.6,0.85);
|
me.symbols.staFromL2.setColor(0,0.6,0.85);
|
||||||
me.symbols.staToL2.setColor(0,0.6,0.85);
|
me.symbols.staToL2.setColor(0,0.6,0.85);
|
||||||
|
@ -530,12 +530,12 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
|
||||||
} else {
|
} else {
|
||||||
me.symbols.staArrowL2.hide();
|
me.symbols.staArrowL2.hide();
|
||||||
}
|
}
|
||||||
if((getprop("instrumentation/nav[3]/in-range") and me.get_switch("toggle_rh_vor_adf") == 1)) {
|
if((getprop("/instrumentation/nav[3]/in-range") and me.get_switch("toggle_rh_vor_adf") == 1)) {
|
||||||
me.symbols.staArrowR2.setVisible(staPtrVis);
|
me.symbols.staArrowR2.setVisible(staPtrVis);
|
||||||
me.symbols.staFromR2.setColor(0.195,0.96,0.097);
|
me.symbols.staFromR2.setColor(0.195,0.96,0.097);
|
||||||
me.symbols.staToR2.setColor(0.195,0.96,0.097);
|
me.symbols.staToR2.setColor(0.195,0.96,0.097);
|
||||||
me.symbols.staArrowR2.setRotation(nav1hdg*D2R);
|
me.symbols.staArrowR2.setRotation(nav1hdg*D2R);
|
||||||
} elsif(getprop("instrumentation/adf[1]/in-range") and (me.get_switch("toggle_rh_vor_adf") == -1)) {
|
} elsif(getprop("/instrumentation/adf[1]/in-range") and (me.get_switch("toggle_rh_vor_adf") == -1)) {
|
||||||
me.symbols.staArrowR2.setVisible(staPtrVis);
|
me.symbols.staArrowR2.setVisible(staPtrVis);
|
||||||
me.symbols.staFromR2.setColor(0,0.6,0.85);
|
me.symbols.staFromR2.setColor(0,0.6,0.85);
|
||||||
me.symbols.staToR2.setColor(0,0.6,0.85);
|
me.symbols.staToR2.setColor(0,0.6,0.85);
|
||||||
|
|
|
@ -56,7 +56,7 @@ var new = func(layer) {
|
||||||
layer.searcher._equals = func(a,b) a.equals(b);
|
layer.searcher._equals = func(a,b) a.equals(b);
|
||||||
var driver = opt_member(m.layer.options, 'route_driver');
|
var driver = opt_member(m.layer.options, 'route_driver');
|
||||||
if(driver == nil){
|
if(driver == nil){
|
||||||
driver = RouteDriver.new();
|
driver = A3XXRouteDriver.new();
|
||||||
}
|
}
|
||||||
var driver_listeners = driver.getListeners();
|
var driver_listeners = driver.getListeners();
|
||||||
foreach(var listener; driver_listeners){
|
foreach(var listener; driver_listeners){
|
||||||
|
|
|
@ -632,7 +632,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
update_on: ["toggle_display_mode"],
|
update_on: ["toggle_display_mode"],
|
||||||
predicate: func(nd, layer){
|
predicate: func(nd, layer){
|
||||||
var map_mode = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]);
|
var map_mode = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]);
|
||||||
var debug_actv = getprop("autopilot/route-manager/debug/active") or 0;
|
var debug_actv = getprop("/autopilot/route-manager/debug/active") or 0;
|
||||||
var visible = (map_mode and debug_actv);
|
var visible = (map_mode and debug_actv);
|
||||||
layer.group.setVisible( visible );
|
layer.group.setVisible( visible );
|
||||||
if (visible) {
|
if (visible) {
|
||||||
|
@ -676,7 +676,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
id: "taOnly", # the SVG ID
|
id: "taOnly", # the SVG ID
|
||||||
impl: { # implementation hash
|
impl: { # implementation hash
|
||||||
init: func(nd, symbol), # for updateCenter stuff, called during initialization in the ctor
|
init: func(nd, symbol), # for updateCenter stuff, called during initialization in the ctor
|
||||||
predicate: func(nd) getprop("instrumentation/tcas/inputs/mode") == 2, # the condition
|
predicate: func(nd) getprop("/instrumentation/tcas/inputs/mode") == 2, # the condition
|
||||||
is_true: func(nd) nd.symbols.taOnly.show(), # if true, run this
|
is_true: func(nd) nd.symbols.taOnly.show(), # if true, run this
|
||||||
is_false: func(nd) nd.symbols.taOnly.hide(), # if false, run this
|
is_false: func(nd) nd.symbols.taOnly.hide(), # if false, run this
|
||||||
}, # end of taOnly behavior/callbacks
|
}, # end of taOnly behavior/callbacks
|
||||||
|
@ -687,7 +687,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) nd.aircraft_source.get_spd() > 100,
|
predicate: func(nd) nd.aircraft_source.get_spd() > 100,
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
nd.symbols.tas.setText(sprintf("%3.0f",getprop("velocities/TAS") ));
|
nd.symbols.tas.setText(sprintf("%3.0f",getprop("/velocities/TAS") ));
|
||||||
nd.symbols.tas.show();
|
nd.symbols.tas.show();
|
||||||
},
|
},
|
||||||
is_false: func(nd) nd.symbols.tas.hide(),
|
is_false: func(nd) nd.symbols.tas.hide(),
|
||||||
|
@ -741,7 +741,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
impl: {
|
impl: {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and
|
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and
|
||||||
getprop("FMGC/flightplan[2]/active") and
|
getprop("/FMGC/flightplan[2]/active") and
|
||||||
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
nd.symbols.wpActiveId.setText(getprop("/FMGC/flightplan[2]/current-leg"));
|
nd.symbols.wpActiveId.setText(getprop("/FMGC/flightplan[2]/current-leg"));
|
||||||
|
@ -755,10 +755,10 @@ canvas.NDStyles["Airbus"] = {
|
||||||
impl: {
|
impl: {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and
|
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and
|
||||||
getprop("FMGC/flightplan[2]/active") and
|
getprop("/FMGC/flightplan[2]/active") and
|
||||||
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
#var cur_wp = getprop("autopilot/route-manager/current-wp");
|
#var cur_wp = getprop("/autopilot/route-manager/current-wp");
|
||||||
if (nd.get_switch("toggle_true_north")) {
|
if (nd.get_switch("toggle_true_north")) {
|
||||||
var deg = math.round(getprop("/FMGC/flightplan[2]/current-leg-course"));
|
var deg = math.round(getprop("/FMGC/flightplan[2]/current-leg-course"));
|
||||||
} else {
|
} else {
|
||||||
|
@ -775,7 +775,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
impl: {
|
impl: {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and
|
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and
|
||||||
getprop("FMGC/flightplan[2]/active") and
|
getprop("/FMGC/flightplan[2]/active") and
|
||||||
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
var dst = getprop("/FMGC/flightplan[2]/current-leg-dist");
|
var dst = getprop("/FMGC/flightplan[2]/current-leg-dist");
|
||||||
|
@ -789,7 +789,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
id: "wpActiveDistLbl",
|
id: "wpActiveDistLbl",
|
||||||
impl: {
|
impl: {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and getprop("FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
nd.symbols.wpActiveDistLbl.show();
|
nd.symbols.wpActiveDistLbl.show();
|
||||||
if(getprop("/FMGC/flightplan[2]/current-leg-dist") > 1000)
|
if(getprop("/FMGC/flightplan[2]/current-leg-dist") > 1000)
|
||||||
|
@ -802,10 +802,10 @@ canvas.NDStyles["Airbus"] = {
|
||||||
id: "eta",
|
id: "eta",
|
||||||
impl: {
|
impl: {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) getprop("autopilot/route-manager/wp/eta") != nil and getprop("FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
predicate: func(nd) getprop("/autopilot/route-manager/wp/eta") != nil and getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
var etaSec = getprop("sim/time/utc/day-seconds")+
|
var etaSec = getprop("/sim/time/utc/day-seconds")+
|
||||||
getprop("autopilot/route-manager/wp/eta-seconds");
|
getprop("/autopilot/route-manager/wp/eta-seconds");
|
||||||
var h = math.floor(etaSec/3600);
|
var h = math.floor(etaSec/3600);
|
||||||
etaSec = etaSec-3600*h;
|
etaSec = etaSec-3600*h;
|
||||||
var m = math.floor(etaSec/60);
|
var m = math.floor(etaSec/60);
|
||||||
|
@ -1182,9 +1182,9 @@ canvas.NDStyles["Airbus"] = {
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
nd.symbols.vorCrsPtr.show();
|
nd.symbols.vorCrsPtr.show();
|
||||||
if (is_ils) {
|
if (is_ils) {
|
||||||
nd.symbols.vorCrsPtr.setRotation((getprop("instrumentation/nav[0]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R);
|
nd.symbols.vorCrsPtr.setRotation((getprop("/instrumentation/nav[0]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R);
|
||||||
} else {
|
} else {
|
||||||
nd.symbols.vorCrsPtr.setRotation((getprop("instrumentation/nav[2]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R);
|
nd.symbols.vorCrsPtr.setRotation((getprop("/instrumentation/nav[2]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -1202,9 +1202,9 @@ canvas.NDStyles["Airbus"] = {
|
||||||
var type = (is_ils ? "ils" : "vor");
|
var type = (is_ils ? "ils" : "vor");
|
||||||
var path = nd.get_nav_path(type, 0);
|
var path = nd.get_nav_path(type, 0);
|
||||||
if (is_ils) {
|
if (is_ils) {
|
||||||
nd.symbols.vorCrsPtr2.setRotation((getprop("instrumentation/nav[0]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R);
|
nd.symbols.vorCrsPtr2.setRotation((getprop("/instrumentation/nav[0]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R);
|
||||||
} else {
|
} else {
|
||||||
nd.symbols.vorCrsPtr2.setRotation((getprop("instrumentation/nav[2]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R);
|
nd.symbols.vorCrsPtr2.setRotation((getprop("/instrumentation/nav[2]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R);
|
||||||
}
|
}
|
||||||
var line = nd.symbols.vorCrsPtr2.getElementById("vorCrsPtr2_line");
|
var line = nd.symbols.vorCrsPtr2.getElementById("vorCrsPtr2_line");
|
||||||
if(!is_ils){
|
if(!is_ils){
|
||||||
|
@ -1224,8 +1224,8 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) nd.in_mode("toggle_display_mode", ["APP"]),
|
predicate: func(nd) nd.in_mode("toggle_display_mode", ["APP"]),
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
if(getprop("instrumentation/nav/gs-needle-deflection-norm") != nil)
|
if(getprop("/instrumentation/nav/gs-needle-deflection-norm") != nil)
|
||||||
nd.symbols.gsDiamond.setTranslation(getprop("instrumentation/nav[0]/gs-needle-deflection-norm")*150,0);
|
nd.symbols.gsDiamond.setTranslation(getprop("/instrumentation/nav[0]/gs-needle-deflection-norm")*150,0);
|
||||||
},
|
},
|
||||||
is_false: func(nd) nd.symbols.gsGroup.hide(),
|
is_false: func(nd) nd.symbols.gsGroup.hide(),
|
||||||
},
|
},
|
||||||
|
@ -1234,10 +1234,10 @@ canvas.NDStyles["Airbus"] = {
|
||||||
id:"locPtr",
|
id:"locPtr",
|
||||||
impl: {
|
impl: {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR"]) and !nd.get_switch("toggle_centered") and getprop("instrumentation/nav/in-range")),
|
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR"]) and !nd.get_switch("toggle_centered") and getprop("/instrumentation/nav/in-range")),
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
nd.symbols.locPtr.show();
|
nd.symbols.locPtr.show();
|
||||||
var deflection = getprop("instrumentation/nav[0]/heading-needle-deflection-norm");
|
var deflection = getprop("/instrumentation/nav[0]/heading-needle-deflection-norm");
|
||||||
nd.symbols.locPtr.setTranslation(deflection*150,0);
|
nd.symbols.locPtr.setTranslation(deflection*150,0);
|
||||||
},
|
},
|
||||||
is_false: func(nd) nd.symbols.locPtr.hide(),
|
is_false: func(nd) nd.symbols.locPtr.hide(),
|
||||||
|
@ -1286,15 +1286,15 @@ canvas.NDStyles["Airbus"] = {
|
||||||
impl: {
|
impl: {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) {
|
predicate: func(nd) {
|
||||||
var nav_id = getprop("instrumentation/nav/nav-id");
|
var nav_id = getprop("/instrumentation/nav/nav-id");
|
||||||
var ils_mode = getprop("flight-management/freq/ils-mode");
|
var ils_mode = getprop("/Flight-management/freq/ils-mode");
|
||||||
var has_ils = (nav_id != nil and nav_id != "");
|
var has_ils = (nav_id != nil and nav_id != "");
|
||||||
(nd.get_switch("toggle_display_mode") == "MAP" and
|
(nd.get_switch("toggle_display_mode") == "MAP" and
|
||||||
!nd.get_switch("toggle_centered") and has_ils and ils_mode);
|
!nd.get_switch("toggle_centered") and has_ils and ils_mode);
|
||||||
},
|
},
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
nd.symbols.locTrkPointer.show();
|
nd.symbols.locTrkPointer.show();
|
||||||
var crs = getprop("instrumentation/nav/radials/selected-deg");
|
var crs = getprop("/instrumentation/nav/radials/selected-deg");
|
||||||
var rotation = (crs - nd.aircraft_source.get_hdg_tru())*D2R;
|
var rotation = (crs - nd.aircraft_source.get_hdg_tru())*D2R;
|
||||||
nd.symbols.locTrkPointer.setRotation(rotation);
|
nd.symbols.locTrkPointer.setRotation(rotation);
|
||||||
},
|
},
|
||||||
|
@ -1306,15 +1306,15 @@ canvas.NDStyles["Airbus"] = {
|
||||||
impl: {
|
impl: {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) {
|
predicate: func(nd) {
|
||||||
var nav_id = getprop("instrumentation/nav/nav-id");
|
var nav_id = getprop("/instrumentation/nav/nav-id");
|
||||||
var ils_mode = getprop("flight-management/freq/ils-mode");
|
var ils_mode = getprop("/Flight-management/freq/ils-mode");
|
||||||
var has_ils = (nav_id != nil and nav_id != "");
|
var has_ils = (nav_id != nil and nav_id != "");
|
||||||
(nd.get_switch("toggle_display_mode") == "MAP" and
|
(nd.get_switch("toggle_display_mode") == "MAP" and
|
||||||
nd.get_switch("toggle_centered") and has_ils and ils_mode);
|
nd.get_switch("toggle_centered") and has_ils and ils_mode);
|
||||||
},
|
},
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
nd.symbols.locTrkPointer2.show();
|
nd.symbols.locTrkPointer2.show();
|
||||||
var crs = getprop("instrumentation/nav/radials/selected-deg");
|
var crs = getprop("/instrumentation/nav/radials/selected-deg");
|
||||||
var rotation = (crs - nd.aircraft_source.get_hdg_tru())*D2R;
|
var rotation = (crs - nd.aircraft_source.get_hdg_tru())*D2R;
|
||||||
nd.symbols.locTrkPointer2.setRotation(rotation);
|
nd.symbols.locTrkPointer2.setRotation(rotation);
|
||||||
},
|
},
|
||||||
|
@ -1365,7 +1365,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) {
|
predicate: func(nd) {
|
||||||
var path = nd.get_nav_path("vor", 0);
|
var path = nd.get_nav_path("vor", 0);
|
||||||
return !(nd.in_mode("toggle_display_mode", ["PLAN"])) and nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_lh_vor_adf") == 1) or (getprop("instrumentation/adf/in-range") and nd.get_switch("toggle_lh_vor_adf") == -1));
|
return !(nd.in_mode("toggle_display_mode", ["PLAN"])) and nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_lh_vor_adf") == 1) or (getprop("/instrumentation/adf/in-range") and nd.get_switch("toggle_lh_vor_adf") == -1));
|
||||||
},
|
},
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
if(nd.get_switch("toggle_lh_vor_adf") < 0){
|
if(nd.get_switch("toggle_lh_vor_adf") < 0){
|
||||||
|
@ -1390,7 +1390,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) {
|
predicate: func(nd) {
|
||||||
var path = nd.get_nav_path("vor", 1);
|
var path = nd.get_nav_path("vor", 1);
|
||||||
return !(nd.in_mode("toggle_display_mode", ["PLAN"])) and nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_rh_vor_adf") == 1) or (getprop("instrumentation/adf[1]/in-range") and nd.get_switch("toggle_rh_vor_adf") == -1));
|
return !(nd.in_mode("toggle_display_mode", ["PLAN"])) and nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_rh_vor_adf") == 1) or (getprop("/instrumentation/adf[1]/in-range") and nd.get_switch("toggle_rh_vor_adf") == -1));
|
||||||
},
|
},
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
if(nd.get_switch("toggle_rh_vor_adf") < 0){
|
if(nd.get_switch("toggle_rh_vor_adf") < 0){
|
||||||
|
@ -1415,7 +1415,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) {
|
predicate: func(nd) {
|
||||||
var path = nd.get_nav_path("vor", 0);
|
var path = nd.get_nav_path("vor", 0);
|
||||||
return nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_lh_vor_adf") == 1) or (getprop("instrumentation/adf/in-range") and nd.get_switch("toggle_lh_vor_adf") == -1));
|
return nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_lh_vor_adf") == 1) or (getprop("/instrumentation/adf/in-range") and nd.get_switch("toggle_lh_vor_adf") == -1));
|
||||||
},
|
},
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
if(nd.get_switch("toggle_lh_vor_adf") < 0){
|
if(nd.get_switch("toggle_lh_vor_adf") < 0){
|
||||||
|
@ -1440,7 +1440,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) {
|
predicate: func(nd) {
|
||||||
var path = nd.get_nav_path("vor", 1);
|
var path = nd.get_nav_path("vor", 1);
|
||||||
return nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_rh_vor_adf") == 1) or (getprop("instrumentation/adf[1]/in-range") and nd.get_switch("toggle_rh_vor_adf") == -1));
|
return nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_rh_vor_adf") == 1) or (getprop("/instrumentation/adf[1]/in-range") and nd.get_switch("toggle_rh_vor_adf") == -1));
|
||||||
},
|
},
|
||||||
is_true: func(nd) {
|
is_true: func(nd) {
|
||||||
if(nd.get_switch("toggle_rh_vor_adf") < 0){
|
if(nd.get_switch("toggle_rh_vor_adf") < 0){
|
||||||
|
@ -1691,7 +1691,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")),
|
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")),
|
||||||
is_true: func(nd){
|
is_true: func(nd){
|
||||||
var active = getprop("FMGC/flightplan[2]/active");
|
var active = getprop("/FMGC/flightplan[2]/active");
|
||||||
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
||||||
var managed_v = nd.options.defaults.managed_val;
|
var managed_v = nd.options.defaults.managed_val;
|
||||||
var is_managed = (lat_ctrl == managed_v);
|
var is_managed = (lat_ctrl == managed_v);
|
||||||
|
@ -1699,7 +1699,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
if((!active or is_managed) and !toggle_xtrk_err){
|
if((!active or is_managed) and !toggle_xtrk_err){
|
||||||
nd.symbols.legDistL.hide();
|
nd.symbols.legDistL.hide();
|
||||||
} else {
|
} else {
|
||||||
var dist = getprop("instrumentation/gps/wp/wp[1]/course-error-nm");
|
var dist = getprop("/instrumentation/gps/wp/wp[1]/course-error-nm");
|
||||||
if(dist == nil or dist == "" or dist > -0.1){
|
if(dist == nil or dist == "" or dist > -0.1){
|
||||||
nd.symbols.legDistL.hide();
|
nd.symbols.legDistL.hide();
|
||||||
} else {
|
} else {
|
||||||
|
@ -1720,7 +1720,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")),
|
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")),
|
||||||
is_true: func(nd){
|
is_true: func(nd){
|
||||||
var active = getprop("FMGC/flightplan[2]/active");
|
var active = getprop("/FMGC/flightplan[2]/active");
|
||||||
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
||||||
var managed_v = nd.options.defaults.managed_val;
|
var managed_v = nd.options.defaults.managed_val;
|
||||||
var is_managed = (lat_ctrl == managed_v);
|
var is_managed = (lat_ctrl == managed_v);
|
||||||
|
@ -1728,7 +1728,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
if((!active or is_managed) and !toggle_xtrk_err){
|
if((!active or is_managed) and !toggle_xtrk_err){
|
||||||
nd.symbols.legDistR.hide();
|
nd.symbols.legDistR.hide();
|
||||||
} else {
|
} else {
|
||||||
var dist = getprop("instrumentation/gps/wp/wp[1]/course-error-nm");
|
var dist = getprop("/instrumentation/gps/wp/wp[1]/course-error-nm");
|
||||||
if(dist == nil or dist == "" or dist < 0.1){
|
if(dist == nil or dist == "" or dist < 0.1){
|
||||||
nd.symbols.legDistR.hide();
|
nd.symbols.legDistR.hide();
|
||||||
} else {
|
} else {
|
||||||
|
@ -1749,7 +1749,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")),
|
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")),
|
||||||
is_true: func(nd){
|
is_true: func(nd){
|
||||||
var active = getprop("FMGC/flightplan[2]/active");
|
var active = getprop("/FMGC/flightplan[2]/active");
|
||||||
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
||||||
var managed_v = nd.options.defaults.managed_val;
|
var managed_v = nd.options.defaults.managed_val;
|
||||||
var is_managed = (lat_ctrl == managed_v);
|
var is_managed = (lat_ctrl == managed_v);
|
||||||
|
@ -1757,7 +1757,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
if((!active or is_managed) and !toggle_xtrk_err){
|
if((!active or is_managed) and !toggle_xtrk_err){
|
||||||
nd.symbols.legDistCtrL.hide();
|
nd.symbols.legDistCtrL.hide();
|
||||||
} else {
|
} else {
|
||||||
var dist = getprop("instrumentation/gps/wp/wp[1]/course-error-nm");
|
var dist = getprop("/instrumentation/gps/wp/wp[1]/course-error-nm");
|
||||||
if(dist == nil or dist == "" or dist > -0.1){
|
if(dist == nil or dist == "" or dist > -0.1){
|
||||||
nd.symbols.legDistCtrL.hide();
|
nd.symbols.legDistCtrL.hide();
|
||||||
} else {
|
} else {
|
||||||
|
@ -1778,7 +1778,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")),
|
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")),
|
||||||
is_true: func(nd){
|
is_true: func(nd){
|
||||||
var active = getprop("FMGC/flightplan[2]/active");
|
var active = getprop("/FMGC/flightplan[2]/active");
|
||||||
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
||||||
var managed_v = nd.options.defaults.managed_val;
|
var managed_v = nd.options.defaults.managed_val;
|
||||||
var is_managed = (lat_ctrl == managed_v);
|
var is_managed = (lat_ctrl == managed_v);
|
||||||
|
@ -1786,7 +1786,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
if((!active or is_managed) and !toggle_xtrk_err){
|
if((!active or is_managed) and !toggle_xtrk_err){
|
||||||
nd.symbols.legDistCtrR.hide();
|
nd.symbols.legDistCtrR.hide();
|
||||||
} else {
|
} else {
|
||||||
var dist = getprop("instrumentation/gps/wp/wp[1]/course-error-nm");
|
var dist = getprop("/instrumentation/gps/wp/wp[1]/course-error-nm");
|
||||||
if(dist == nil or dist == "" or dist < 0.1){
|
if(dist == nil or dist == "" or dist < 0.1){
|
||||||
nd.symbols.legDistCtrR.hide();
|
nd.symbols.legDistCtrR.hide();
|
||||||
} else {
|
} else {
|
||||||
|
@ -1807,7 +1807,7 @@ canvas.NDStyles["Airbus"] = {
|
||||||
init: func(nd,symbol),
|
init: func(nd,symbol),
|
||||||
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["MAP", "PLAN"])),
|
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["MAP", "PLAN"])),
|
||||||
is_true: func(nd){
|
is_true: func(nd){
|
||||||
var active = getprop("FMGC/flightplan[2]/active");
|
var active = getprop("/FMGC/flightplan[2]/active");
|
||||||
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
var lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
|
||||||
var managed_v = nd.options.defaults.managed_val;
|
var managed_v = nd.options.defaults.managed_val;
|
||||||
var is_managed = (lat_ctrl == managed_v);
|
var is_managed = (lat_ctrl == managed_v);
|
||||||
|
|
|
@ -342,23 +342,31 @@ var fplnPage = { # this one is only created once, and then updated - remember th
|
||||||
#me.basePage();
|
#me.basePage();
|
||||||
},
|
},
|
||||||
scrollUp: func() {
|
scrollUp: func() {
|
||||||
if (size(me.planList) > 5) {
|
if (size(me.planList) > 1) {
|
||||||
me.scroll += 1;
|
me.scroll += 1;
|
||||||
if (me.scroll > size(me.planList) - 5) {
|
if (me.scroll > size(me.planList) - 3) {
|
||||||
me.scroll = 0;
|
me.scroll = 0;
|
||||||
}
|
}
|
||||||
|
if (me.scroll < me.plan.getPlanSize()) {
|
||||||
|
setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", me.scroll);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
me.scroll = 0;
|
me.scroll = 0;
|
||||||
|
setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", -1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
scrollDn: func() {
|
scrollDn: func() {
|
||||||
if (size(me.planList) > 5) {
|
if (size(me.planList) > 1) {
|
||||||
me.scroll -= 1;
|
me.scroll -= 1;
|
||||||
if (me.scroll < 0) {
|
if (me.scroll < 0) {
|
||||||
me.scroll = size(me.planList) - 5;
|
me.scroll = size(me.planList) - 3;
|
||||||
|
}
|
||||||
|
if (me.scroll < me.plan.getPlanSize()) {
|
||||||
|
setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", me.scroll);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
me.scroll = 0;
|
me.scroll = 0;
|
||||||
|
setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", -1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
pushButtonLeft: func(index) {
|
pushButtonLeft: func(index) {
|
||||||
|
|
Loading…
Reference in a new issue