Fixes for MCDU; add EXCESS MOTION
This commit is contained in:
parent
1376f31c5f
commit
39045f9b69
4 changed files with 27 additions and 4 deletions
|
@ -388,7 +388,7 @@ var canvas_MCDU_base = {
|
||||||
if (systems.ADIRS.Operating.aligned[a].getValue()) {
|
if (systems.ADIRS.Operating.aligned[a].getValue()) {
|
||||||
irsstatus = (systems.ADIRS.ADIRunits[a].mode == 2) ? "ATT" : "NAV";
|
irsstatus = (systems.ADIRS.ADIRunits[a].mode == 2) ? "ATT" : "NAV";
|
||||||
} else {
|
} else {
|
||||||
irsstatus = "ALIGN";
|
irsstatus = "ALIGN TTN" ~ sprintf("% 2.0d",math.round(systems.ADIRS.ADIRunits[a]._alignTime) / 60);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return irsstatus;
|
return irsstatus;
|
||||||
|
@ -2338,6 +2338,7 @@ var canvas_MCDU_base = {
|
||||||
me["Simple_L5S"].setText(" IRS1");
|
me["Simple_L5S"].setText(" IRS1");
|
||||||
me["Simple_R5S"].setText("IRS3 ");
|
me["Simple_R5S"].setText("IRS3 ");
|
||||||
me["Simple_R6S"].setText("SEL ");
|
me["Simple_R6S"].setText("SEL ");
|
||||||
|
me["Simple_R6"].setText("NAVAIDS ");
|
||||||
me["Simple_C5S"].setText("IRS2");
|
me["Simple_C5S"].setText("IRS2");
|
||||||
|
|
||||||
var latlog = me.getLatLogFormatted("/position/"); # current sim lat/log (formatted) cached for fast excecution
|
var latlog = me.getLatLogFormatted("/position/"); # current sim lat/log (formatted) cached for fast excecution
|
||||||
|
@ -2402,7 +2403,7 @@ var canvas_MCDU_base = {
|
||||||
} else if (page == "IRSMON") {
|
} else if (page == "IRSMON") {
|
||||||
if (!pageSwitch[i].getBoolValue()) {
|
if (!pageSwitch[i].getBoolValue()) {
|
||||||
|
|
||||||
me.defaultHide();
|
me.defaultHideWithCenter();
|
||||||
me.standardFontSize();
|
me.standardFontSize();
|
||||||
|
|
||||||
me.defaultPageNumbers();
|
me.defaultPageNumbers();
|
||||||
|
@ -2410,6 +2411,8 @@ var canvas_MCDU_base = {
|
||||||
me.showLeft(1, 1, 1, -1, -1, -1);
|
me.showLeft(1, 1, 1, -1, -1, -1);
|
||||||
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.showLeftArrow(1, 1, 1, -1, -1, -1);
|
||||||
|
me.showCenter(-1, -1, -1, -1, -1, -1);
|
||||||
|
me.showCenterS(-1, -1, -1, -1, -1, -1);
|
||||||
me.showRight(-1, -1, -1, -1, -1, -1);
|
me.showRight(-1, -1, -1, -1, -1, -1);
|
||||||
me.showRightS(1, 1, 1, 1, -1, -1);
|
me.showRightS(1, 1, 1, 1, -1, -1);
|
||||||
me.showRightArrow(-1, -1, -1, -1, -1, -1);
|
me.showRightArrow(-1, -1, -1, -1, -1, -1);
|
||||||
|
@ -2422,6 +2425,7 @@ var canvas_MCDU_base = {
|
||||||
|
|
||||||
me.colorLeft("wht", "wht", "wht", "ack", "ack", "ack");
|
me.colorLeft("wht", "wht", "wht", "ack", "ack", "ack");
|
||||||
me.colorLeftS("ack", "grn", "grn", "grn", "ack", "ack");
|
me.colorLeftS("ack", "grn", "grn", "grn", "ack", "ack");
|
||||||
|
me.colorCenter("wht", "grn", "grn", "grn", "ack", "ack");
|
||||||
me.colorRightS("amb", "grn", "grn", "grn", "ack", "ack");
|
me.colorRightS("amb", "grn", "grn", "grn", "ack", "ack");
|
||||||
me.colorLeftArrow("wht", "wht", "wht", "ack", "ack", "ack");
|
me.colorLeftArrow("wht", "wht", "wht", "ack", "ack", "ack");
|
||||||
|
|
||||||
|
@ -2430,6 +2434,12 @@ var canvas_MCDU_base = {
|
||||||
me["Simple_L1"].setText(" IRS1");
|
me["Simple_L1"].setText(" IRS1");
|
||||||
me["Simple_L2"].setText(" IRS2");
|
me["Simple_L2"].setText(" IRS2");
|
||||||
me["Simple_L3"].setText(" IRS3");
|
me["Simple_L3"].setText(" IRS3");
|
||||||
|
me["Simple_C1"].setText("EXCESS MOTION");
|
||||||
|
me["Simple_C2"].setText("EXCESS MOTION");
|
||||||
|
me["Simple_C3"].setText("EXCESS MOTION");
|
||||||
|
me["Simple_C1"].setFontSize(small);
|
||||||
|
me["Simple_C2"].setFontSize(small);
|
||||||
|
me["Simple_C3"].setFontSize(small);
|
||||||
me["Simple_R1S"].setText("");
|
me["Simple_R1S"].setText("");
|
||||||
|
|
||||||
#TODO - Missing SET HDG on degraded operations
|
#TODO - Missing SET HDG on degraded operations
|
||||||
|
@ -2438,8 +2448,14 @@ var canvas_MCDU_base = {
|
||||||
}
|
}
|
||||||
|
|
||||||
var rows = ["Simple_L2S","Simple_L3S","Simple_L4S"];
|
var rows = ["Simple_L2S","Simple_L3S","Simple_L4S"];
|
||||||
|
var center = ["Simple_C1","Simple_C2","Simple_C3"];
|
||||||
for (var a = 0; a<3; a+=1) {
|
for (var a = 0; a<3; a+=1) {
|
||||||
me[rows[a]].setText(" " ~ me.getIRSStatus(a));
|
me[rows[a]].setText(" " ~ me.getIRSStatus(a));
|
||||||
|
if (systems.ADIRS.ADIRunits[a]._excessMotion) {
|
||||||
|
me[center[a]].show();
|
||||||
|
} else {
|
||||||
|
me[center[a]].hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fmgc.FMGCInternal.phase == 7) { # DONE phase
|
if (fmgc.FMGCInternal.phase == 7) { # DONE phase
|
||||||
|
@ -4030,7 +4046,7 @@ var canvas_MCDU_base = {
|
||||||
me["Simple_L6S"].hide();
|
me["Simple_L6S"].hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fmgc.FMGCInternal.phase > 0) { # GREEN title and not modifiable on TO phase
|
if (fmgc.FMGCInternal.phase == 1) { # GREEN title and not modifiable on TO phase
|
||||||
me["Simple_Title"].setColor(GREEN);
|
me["Simple_Title"].setColor(GREEN);
|
||||||
me.colorLeft("grn", "grn", "grn", "blu", "grn", "wht");
|
me.colorLeft("grn", "grn", "grn", "blu", "grn", "wht");
|
||||||
me.colorRight("grn", "blu", "grn", "grn", "grn", "wht");
|
me.colorRight("grn", "blu", "grn", "grn", "grn", "wht");
|
||||||
|
|
|
@ -128,6 +128,7 @@ var doorR4_pos = props.globals.getNode("/sim/model/door-positions/doorr4/positio
|
||||||
|
|
||||||
# Detect OFF without IN
|
# Detect OFF without IN
|
||||||
var lastgs0 = 0;
|
var lastgs0 = 0;
|
||||||
|
var lastgear0 = 0;
|
||||||
var lastgsrestart = 0;
|
var lastgsrestart = 0;
|
||||||
|
|
||||||
# Check for A/C state change - advice me for a better method, please :/
|
# Check for A/C state change - advice me for a better method, please :/
|
||||||
|
|
|
@ -20,7 +20,7 @@ var perfTOCheckVSpeeds = func(i) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var perfTOInput = func(key, i) {
|
var perfTOInput = func(key, i) {
|
||||||
var modifiable = (fmgc.FMGCInternal.phase == 0) ? 1 : 0;
|
var modifiable = (fmgc.FMGCInternal.phase == 1) ? 0 : 1;
|
||||||
var scratchpad = mcdu_scratchpad.scratchpads[i].scratchpad;
|
var scratchpad = mcdu_scratchpad.scratchpads[i].scratchpad;
|
||||||
|
|
||||||
if (key == "L1" and modifiable) {
|
if (key == "L1" and modifiable) {
|
||||||
|
|
|
@ -144,6 +144,7 @@ var ADIRU = {
|
||||||
call(canvas_nd.ND_2.NDFo.predicates[predicate]);
|
call(canvas_nd.ND_2.NDFo.predicates[predicate]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
_excessMotion: 0,
|
||||||
alignLoop: func() {
|
alignLoop: func() {
|
||||||
me._roll = pts.Orientation.roll.getValue();
|
me._roll = pts.Orientation.roll.getValue();
|
||||||
me._pitch = pts.Orientation.pitch.getValue();
|
me._pitch = pts.Orientation.pitch.getValue();
|
||||||
|
@ -152,13 +153,18 @@ var ADIRU = {
|
||||||
# todo use IR values
|
# todo use IR values
|
||||||
if (me._gs > 5 or abs(me._pitch) > 5 or abs(me._roll) > 10) {
|
if (me._gs > 5 or abs(me._pitch) > 5 or abs(me._roll) > 10) {
|
||||||
me.stopAlignNoAlign();
|
me.stopAlignNoAlign();
|
||||||
|
me._excessMotion = 1;
|
||||||
print("Excessive motion, restarting");
|
print("Excessive motion, restarting");
|
||||||
me.update(); # update operative
|
me.update(); # update operative
|
||||||
me.align(calcAlignTime(pts.Position.latitude.getValue()));
|
me.align(calcAlignTime(pts.Position.latitude.getValue()));
|
||||||
} elsif (me.operative == 0) {
|
} elsif (me.operative == 0) {
|
||||||
me.stopAlignNoAlign();
|
me.stopAlignNoAlign();
|
||||||
|
me._excessMotion = 0;
|
||||||
} elsif (pts.Sim.Time.elapsedSec.getValue() >= me._alignTime) {
|
} elsif (pts.Sim.Time.elapsedSec.getValue() >= me._alignTime) {
|
||||||
me.stopAlignAligned();
|
me.stopAlignAligned();
|
||||||
|
me._excessMotion = 0;
|
||||||
|
} else {
|
||||||
|
me._excessMotion = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!me.operating and pts.Sim.Time.elapsedSec.getValue() >= me._pfdTime) {
|
if (!me.operating and pts.Sim.Time.elapsedSec.getValue() >= me._pfdTime) {
|
||||||
|
|
Loading…
Reference in a new issue