Merge pull request #72 from merspieler/master
Something was fixed, figure it out your self
This commit is contained in:
commit
73f5b1365e
1 changed files with 93 additions and 63 deletions
156
Nasal/ECAM.nas
156
Nasal/ECAM.nas
|
@ -40,6 +40,8 @@ var ENGCounting = 0;
|
||||||
var flapLever = 0;
|
var flapLever = 0;
|
||||||
var CRZTime = 0;
|
var CRZTime = 0;
|
||||||
var CRZCondition = 0;
|
var CRZCondition = 0;
|
||||||
|
var CRZCounting = 0;
|
||||||
|
var agl = 0;
|
||||||
var ap_active = 0;
|
var ap_active = 0;
|
||||||
var athr_active = 0;
|
var athr_active = 0;
|
||||||
setprop("/ECAM/left-msg", "NONE");
|
setprop("/ECAM/left-msg", "NONE");
|
||||||
|
@ -348,68 +350,70 @@ var LowerECAM = {
|
||||||
fault_sel = getprop("/ECAM/Lower/fault-select");
|
fault_sel = getprop("/ECAM/Lower/fault-select");
|
||||||
fault_page = getprop("/ECAM/Lower/fault-page");
|
fault_page = getprop("/ECAM/Lower/fault-page");
|
||||||
page = getprop("/ECAM/Lower/page");
|
page = getprop("/ECAM/Lower/page");
|
||||||
aileron = getprop("/fdm/jsbsim/fbw/aileron-sidestick");
|
|
||||||
elevator = getprop("/fdm/jsbsim/fbw/elevator-sidestick");
|
|
||||||
APUMaster = getprop("/controls/APU/master");
|
|
||||||
APURPM = getprop("/systems/apu/rpm");
|
|
||||||
stateL = getprop("/engines/engine[0]/state");
|
|
||||||
stateR = getprop("/engines/engine[1]/state");
|
|
||||||
engModeSel = getprop("/controls/engines/engine-start-switch");
|
|
||||||
elapsedSec = getprop("/sim/time/elapsed-sec");
|
|
||||||
|
|
||||||
if (warnPhase == 2) {
|
|
||||||
if (abs(aileron) > 0.3 or abs(elevator) > 0.3) {
|
|
||||||
fctlTime = elapsedSec;
|
|
||||||
fctlCounting = 1;
|
|
||||||
} else if (fctlCounting) {
|
|
||||||
if (fctlTime + 20 < elapsedSec) {
|
|
||||||
fctlCounting = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
fctlCounting = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (APURPM > 95) {
|
|
||||||
if (APUTime + 10 < elapsedSec) {
|
|
||||||
APUCounting = 0;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (APUMaster) {
|
|
||||||
APUTime = elapsedSec;
|
|
||||||
APUCounting = 1;
|
|
||||||
} else {
|
|
||||||
APUCounting = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((APURPM <= 95 or APUCounting) and APUMaster) {
|
|
||||||
showAPUPage = 1;
|
|
||||||
} else {
|
|
||||||
showAPUPage = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stateL == 3 and stateR == 3) {
|
|
||||||
if (ENGCounting and ENGTime + 10 < elapsedSec) {
|
|
||||||
ENGCounting = 0;
|
|
||||||
}
|
|
||||||
} else if ((stateL > 0 or stateR > 0) and engModeSel == 2) {
|
|
||||||
ENGTime = elapsedSec;
|
|
||||||
ENGCounting = 1;
|
|
||||||
} else if ((stateL == 0 and stateR == 0) or engModeSel < 2) {
|
|
||||||
ENGCounting = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ENGCounting or engModeSel != 1) {
|
|
||||||
showENGPage = 1;
|
|
||||||
} else {
|
|
||||||
showENGPage = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!man_sel) {
|
if (!man_sel) {
|
||||||
if (!fault_sel) {
|
if (!fault_sel) {
|
||||||
warnPhase = getprop("/ECAM/warning-phase");
|
warnPhase = getprop("/ECAM/warning-phase");
|
||||||
|
aileron = getprop("/fdm/jsbsim/fbw/aileron-sidestick");
|
||||||
|
elevator = getprop("/fdm/jsbsim/fbw/elevator-sidestick");
|
||||||
|
APUMaster = getprop("/controls/APU/master");
|
||||||
|
APURPM = getprop("/systems/apu/rpm");
|
||||||
|
stateL = getprop("/engines/engine[0]/state");
|
||||||
|
stateR = getprop("/engines/engine[1]/state");
|
||||||
|
engModeSel = getprop("/controls/engines/engine-start-switch");
|
||||||
|
elapsedSec = getprop("/sim/time/elapsed-sec");
|
||||||
|
|
||||||
|
if (warnPhase == 2) {
|
||||||
|
if (abs(aileron) > 0.3 or abs(elevator) > 0.3) {
|
||||||
|
fctlTime = elapsedSec;
|
||||||
|
fctlCounting = 1;
|
||||||
|
} else if (fctlCounting) {
|
||||||
|
if (fctlTime + 20 < elapsedSec) {
|
||||||
|
fctlCounting = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fctlCounting = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (APURPM > 95) {
|
||||||
|
if (APUTime + 10 < elapsedSec) {
|
||||||
|
APUCounting = 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (APUMaster) {
|
||||||
|
APUTime = elapsedSec;
|
||||||
|
APUCounting = 1;
|
||||||
|
} else {
|
||||||
|
APUCounting = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((APURPM <= 95 or APUCounting) and APUMaster) {
|
||||||
|
showAPUPage = 1;
|
||||||
|
} else {
|
||||||
|
showAPUPage = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stateL == 3 or stateR == 3) {
|
||||||
|
if (ENGCounting and ENGTime + 10 < elapsedSec) {
|
||||||
|
ENGCounting = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (((stateL > 0 and stateL != 3) or (stateR > 0 and stateR != 3)) and engModeSel == 2) {
|
||||||
|
ENGTime = elapsedSec;
|
||||||
|
ENGCounting = 1;
|
||||||
|
} else if ((stateL == 0 and stateR == 0) or engModeSel == 1) {
|
||||||
|
ENGCounting = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ENGCounting or engModeSel == 0) {
|
||||||
|
showENGPage = 1;
|
||||||
|
} else {
|
||||||
|
showENGPage = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (warnPhase == 1 or warnPhase == 10) {
|
if (warnPhase == 1 or warnPhase == 10) {
|
||||||
if (showENGPage) {
|
if (showENGPage) {
|
||||||
if (page != "eng") {
|
if (page != "eng") {
|
||||||
|
@ -439,22 +443,48 @@ var LowerECAM = {
|
||||||
} else if (page != "wheel") {
|
} else if (page != "wheel") {
|
||||||
setprop("/ECAM/Lower/page", "wheel");
|
setprop("/ECAM/Lower/page", "wheel");
|
||||||
}
|
}
|
||||||
} else if (warnPhase >= 3 and warnPhase < 10) {
|
} else if (warnPhase >= 3 and warnPhase <= 5) {
|
||||||
|
if (page != "eng") {
|
||||||
|
setprop("/ECAM/Lower/page", "eng");
|
||||||
|
}
|
||||||
|
} else if (warnPhase >= 7 and warnPhase <= 9) {
|
||||||
|
if (showENGPage) {
|
||||||
|
if (page != "eng") {
|
||||||
|
setprop("/ECAM/Lower/page", "eng");
|
||||||
|
}
|
||||||
|
} else if (showAPUPage) {
|
||||||
|
if (page != "apu") {
|
||||||
|
setprop("/ECAM/Lower/page", "apu");
|
||||||
|
}
|
||||||
|
} else if (page != "wheel") {
|
||||||
|
setprop("/ECAM/Lower/page", "wheel");
|
||||||
|
}
|
||||||
|
} else if (warnPhase == 6) {
|
||||||
flapLever = getprop("/controls/flight/flap-lever");
|
flapLever = getprop("/controls/flight/flap-lever");
|
||||||
|
gearLever = getprop("/controls/gear/gear-down");
|
||||||
|
agl = getprop("/position/gear-agl-ft");
|
||||||
|
|
||||||
if ((toPowerSet or flapLever > 0) and warnPhase == 6) {
|
if (CRZCounting and (toPowerSet or flapLever > 0) and !CRZCondition) {
|
||||||
if (CRZTime + 60 < elapsedSec) {
|
if (CRZTime + 60 < elapsedSec) {
|
||||||
CRZCondition = 1;
|
CRZCondition = 1;
|
||||||
|
CRZCounting = 0;
|
||||||
} else {
|
} else {
|
||||||
CRZCondition = 0;
|
CRZCondition = 0;
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
|
||||||
|
if (!CRZCounting and (toPowerSet or flapLever > 0) and !CRZCondition) {
|
||||||
CRZTime = elapsedSec;
|
CRZTime = elapsedSec;
|
||||||
CRZCondition = 0;
|
CRZCondition = 0;
|
||||||
|
CRZCounting = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CRZCondition or (warnPhase == 6 and flapLever == 0 and !toPowerSet)) {
|
if (CRZCondition or (flapLever == 0 and !toPowerSet)) {
|
||||||
if (page != "crz") {
|
if (gearLever and agl <= 16000) {
|
||||||
|
if (page != "wheel") {
|
||||||
|
setprop("/ECAM/Lower/page", "wheel");
|
||||||
|
}
|
||||||
|
} else if (page != "crz") {
|
||||||
setprop("/ECAM/Lower/page", "crz");
|
setprop("/ECAM/Lower/page", "crz");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -514,4 +544,4 @@ var LowerECAM = {
|
||||||
clrLight: func() {
|
clrLight: func() {
|
||||||
setprop("/ECAM/Lower/light/clr", 1);
|
setprop("/ECAM/Lower/light/clr", 1);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Reference in a new issue