A3XX: Improve FCTL Lower ECAM

This commit is contained in:
Joshua Davidson 2017-08-03 13:11:45 -04:00
parent ba639551a0
commit 68a4a1e1d5
4 changed files with 1538 additions and 221 deletions

View file

@ -23,9 +23,12 @@ setprop("/ECAM/Lower/Oil-QT[0]", 0);
setprop("/ECAM/Lower/Oil-QT[1]", 0); setprop("/ECAM/Lower/Oil-QT[1]", 0);
setprop("/ECAM/Lower/Oil-PSI[0]", 0); setprop("/ECAM/Lower/Oil-PSI[0]", 0);
setprop("/ECAM/Lower/Oil-PSI[1]", 0); setprop("/ECAM/Lower/Oil-PSI[1]", 0);
setprop("/ECAM/Lower/aileron-ind-left", 0);
setprop("/ECAM/Lower/aileron-ind-right", 0);
setprop("/ECAM/Lower/elevator-ind-left", 0); setprop("/ECAM/Lower/elevator-ind-left", 0);
setprop("/ECAM/Lower/elevator-ind-right", 0); setprop("/ECAM/Lower/elevator-ind-right", 0);
setprop("/ECAM/Lower/elevator-trim-deg", 0); setprop("/ECAM/Lower/elevator-trim-deg", 0);
setprop("/controls/flight/rudder-fdm", 0);
setprop("/environment/temperature-degc", 0); setprop("/environment/temperature-degc", 0);
setprop("/FMGC/internal/gw", 0); setprop("/FMGC/internal/gw", 0);
setprop("/controls/flight/spoiler-l1-failed", 0); setprop("/controls/flight/spoiler-l1-failed", 0);
@ -274,340 +277,347 @@ var canvas_lowerECAM_eng = {
var canvas_lowerECAM_fctl = { var canvas_lowerECAM_fctl = {
new: func(canvas_group, file) { new: func(canvas_group, file) {
var m = { parents: [canvas_lowerECAM_fctl , canvas_lowerECAM_base] }; var m = { parents: [canvas_lowerECAM_fctl , canvas_lowerECAM_base] };
m.init(canvas_group, file); m.init(canvas_group, file);
return m; return m;
}, },
getKeys: func() { getKeys: func() {
return ["ailL","ailR","elevL","elevR","PTcc","PT","PTupdn","GW","TAT","SAT","elac1","elac2","sec1","sec2","sec3","ailLblue","ailRblue","elevLblue","elevRblue","rudderblue","ailLgreen","ailRgreen","elevLgreen","ruddergreen","PTgreen","elevRyellow","rudderyellow","PTyellow","rudder","spdbrkblue","spdbrkgreen","spdbrkyellow","spoiler1Rex","spoiler1Rrt","spoiler2Rex","spoiler2Rrt","spoiler3Rex","spoiler3Rrt","spoiler4Rex","spoiler4Rrt","spoiler5Rex","spoiler5Rrt","spoiler1Lex","spoiler1Lrt","spoiler2Lex","spoiler2Lrt","spoiler3Lex","spoiler3Lrt","spoiler4Lex","spoiler4Lrt","spoiler5Lex","spoiler5Lrt" return["ailL","ailR","elevL","elevR","PTcc","PT","PTupdn","GW","TAT","SAT","elac1","elac2","sec1","sec2","sec3","ailLblue","ailRblue","elevLblue","elevRblue","rudderblue","ailLgreen","ailRgreen","elevLgreen","ruddergreen","PTgreen","elevRyellow",
,"spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf","spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf","spoiler5Lf","ailLscale","ailRscale"]; "rudderyellow","PTyellow","rudder","spdbrkblue","spdbrkgreen","spdbrkyellow","spoiler1Rex","spoiler1Rrt","spoiler2Rex","spoiler2Rrt","spoiler3Rex","spoiler3Rrt","spoiler4Rex","spoiler4Rrt","spoiler5Rex","spoiler5Rrt","spoiler1Lex","spoiler1Lrt",
"spoiler2Lex","spoiler2Lrt","spoiler3Lex","spoiler3Lrt","spoiler4Lex","spoiler4Lrt","spoiler5Lex","spoiler5Lrt","spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf","spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf","spoiler5Lf",
"ailLscale","ailRscale"];
}, },
update: func() { update: func() {
var blue_psi=getprop("/systems/hydraulic/blue-psi"); var blue_psi = getprop("/systems/hydraulic/blue-psi");
var green_psi=getprop("/systems/hydraulic/green-psi"); var green_psi = getprop("/systems/hydraulic/green-psi");
var yellow_psi=getprop("/systems/hydraulic/yellow-psi"); var yellow_psi = getprop("/systems/hydraulic/yellow-psi");
# Pitch Trim
#PITCH TRIM
me["PT"].setText(sprintf("%2.1f", getprop("/ECAM/Lower/elevator-trim-deg"))); me["PT"].setText(sprintf("%2.1f", getprop("/ECAM/Lower/elevator-trim-deg")));
#me["PT-decimal"].setText(sprintf("%s", int(10*math.mod(getprop("/ECAM/Lower/elevator-trim-deg"),1))));
if(getprop("/controls/flight/elevator-trim")<0){ if (getprop("/controls/flight/elevator-trim") < 0) {
me["PTupdn"].setText(sprintf("UP")); me["PTupdn"].setText(sprintf("UP"));
}else if(getprop("/controls/flight/elevator-trim")>0){ } else if (getprop("/controls/flight/elevator-trim") > 0) {
me["PTupdn"].setText(sprintf("DN")); me["PTupdn"].setText(sprintf("DN"));
}else{ } else {
me["PTupdn"].setText(sprintf("")); me["PTupdn"].setText(sprintf(""));
} }
#Pitch Trim numbers become amber if green+yellow hydraulic pressure decreases
if(green_psi<2900 and yellow_psi<2900){ if (green_psi < 1500 and yellow_psi < 1500) {
me["PT"].setColor(1,0.6,0); me["PT"].setColor(1,0.6,0);
me["PTupdn"].setColor(1,0.6,0); me["PTupdn"].setColor(1,0.6,0);
me["PTcc"].setColor(1,0.6,0); me["PTcc"].setColor(1,0.6,0);
}else{ } else {
me["PT"].setColor(0,1,0); me["PT"].setColor(0,1,0);
me["PTupdn"].setColor(0,1,0); me["PTupdn"].setColor(0,1,0);
me["PTcc"].setColor(0,1,0); me["PTcc"].setColor(0,1,0);
} }
#AILERONS # Ailerons
#Becomes amber if no green and blue servojack me["ailL"].setTranslation(0,getprop("/ECAM/Lower/aileron-ind-left")*100);
if(blue_psi<2900 and green_psi<2900){ me["ailR"].setTranslation(0,getprop("/ECAM/Lower/aileron-ind-right")*(-100));
if (blue_psi < 1500 and green_psi < 1500) {
me["ailL"].setColor(1,0.6,0); me["ailL"].setColor(1,0.6,0);
me["ailR"].setColor(1,0.6,0); me["ailR"].setColor(1,0.6,0);
me["ailLscale"].setColor(1,0.6,0); me["ailLscale"].setColor(1,0.6,0);
me["ailRscale"].setColor(1,0.6,0); me["ailRscale"].setColor(1,0.6,0);
me["ailL"].setTranslation(0,100); } else {
me["ailR"].setTranslation(0,100);
}else{
me["ailL"].setColor(0,1,0); me["ailL"].setColor(0,1,0);
me["ailR"].setColor(0,1,0); me["ailR"].setColor(0,1,0);
me["ailLscale"].setColor(1,1,1); me["ailLscale"].setColor(1,1,1);
me["ailRscale"].setColor(1,1,1); me["ailRscale"].setColor(1,1,1);
me["ailL"].setTranslation(0,getprop("/controls/flight/aileron-left")*100);
me["ailR"].setTranslation(0,getprop("/controls/flight/aileron-right")*(-100));
} }
#ELEVATORS # Elevators
me["elevL"].setTranslation(0,getprop("/ECAM/Lower/elevator-ind-left")*100); me["elevL"].setTranslation(0,getprop("/ECAM/Lower/elevator-ind-left")*100);
me["elevR"].setTranslation(0,getprop("/ECAM/Lower/elevator-ind-right")*100); me["elevR"].setTranslation(0,getprop("/ECAM/Lower/elevator-ind-right")*100);
#Index becomes amber when both actuators don't work
if(blue_psi<2900 and green_psi<2900){ if (blue_psi < 1500 and green_psi < 1500) {
me["elevL"].setColor(1,0.6,0); me["elevL"].setColor(1,0.6,0);
}else{ } else {
me["elevL"].setColor(0,1,0); me["elevL"].setColor(0,1,0);
} }
if(blue_psi<2900 and yellow_psi<2900){ if (blue_psi < 1500 and yellow_psi < 1500) {
me["elevR"].setColor(1,0.6,0); me["elevR"].setColor(1,0.6,0);
}else{ } else {
me["elevR"].setColor(0,1,0); me["elevR"].setColor(0,1,0);
} }
#RUDDER # Rudder
me["rudder"].setRotation(getprop("/controls/flight/rudder")*(-0.6)); me["rudder"].setRotation(getprop("/controls/flight/rudder-fdm")*(-0.6));
#Indicator becomes amber if green yellow and blue hydraulic pressure is low
if(blue_psi<2900 and yellow_psi<2900 and green_psi<2900){ if (blue_psi < 1500 and yellow_psi < 1500 and green_psi < 1500) {
me["rudder"].setColor(1,0.6,0); me["rudder"].setColor(1,0.6,0);
}else{ } else {
me["rudder"].setColor(0,1,0); me["rudder"].setColor(0,1,0);
} }
#SPOILERS # Spoilers
if(getprop("/controls/flight/spoiler-r1")<0.083){ if (getprop("/controls/flight/spoiler-l1") < 0.083) {
me["spoiler1Rex"].hide();
me["spoiler1Rrt"].show();
}else{
me["spoiler1Rrt"].hide();
me["spoiler1Rex"].show();
}
if(getprop("/controls/flight/spoiler-r2")<0.083){
me["spoiler2Rex"].hide();
me["spoiler2Rrt"].show();
}else{
me["spoiler2Rrt"].hide();
me["spoiler2Rex"].show();
}
if(getprop("/controls/flight/spoiler-r3")<0.083){
me["spoiler3Rex"].hide();
me["spoiler3Rrt"].show();
}else{
me["spoiler3Rrt"].hide();
me["spoiler3Rex"].show();
}
if(getprop("/controls/flight/spoiler-r4")<0.083){
me["spoiler4Rex"].hide();
me["spoiler4Rrt"].show();
}else{
me["spoiler4Rrt"].hide();
me["spoiler4Rex"].show();
}
if(getprop("/controls/flight/spoiler-r5")<0.083){
me["spoiler5Rex"].hide();
me["spoiler5Rrt"].show();
}else{
me["spoiler5Rrt"].hide();
me["spoiler5Rex"].show();
}
if(getprop("/controls/flight/spoiler-l1")<0.083){
me["spoiler1Lex"].hide(); me["spoiler1Lex"].hide();
me["spoiler1Lrt"].show(); me["spoiler1Lrt"].show();
}else{ } else {
me["spoiler1Lrt"].hide(); me["spoiler1Lrt"].hide();
me["spoiler1Lex"].show(); me["spoiler1Lex"].show();
} }
if(getprop("/controls/flight/spoiler-l2")<0.083){
if (getprop("/controls/flight/spoiler-l2") < 0.083) {
me["spoiler2Lex"].hide(); me["spoiler2Lex"].hide();
me["spoiler2Lrt"].show(); me["spoiler2Lrt"].show();
}else{ } else {
me["spoiler2Lrt"].hide(); me["spoiler2Lrt"].hide();
me["spoiler2Lex"].show(); me["spoiler2Lex"].show();
} }
if(getprop("/controls/flight/spoiler-l3")<0.083){
if (getprop("/controls/flight/spoiler-l3") < 0.083) {
me["spoiler3Lex"].hide(); me["spoiler3Lex"].hide();
me["spoiler3Lrt"].show(); me["spoiler3Lrt"].show();
}else{ } else {
me["spoiler3Lrt"].hide(); me["spoiler3Lrt"].hide();
me["spoiler3Lex"].show(); me["spoiler3Lex"].show();
} }
if(getprop("/controls/flight/spoiler-l4")<0.083){
if (getprop("/controls/flight/spoiler-l4") < 0.083) {
me["spoiler4Lex"].hide(); me["spoiler4Lex"].hide();
me["spoiler4Lrt"].show(); me["spoiler4Lrt"].show();
}else{ } else {
me["spoiler4Lrt"].hide(); me["spoiler4Lrt"].hide();
me["spoiler4Lex"].show(); me["spoiler4Lex"].show();
} }
if(getprop("/controls/flight/spoiler-l5")<0.083){
if (getprop("/controls/flight/spoiler-l5") < 0.083) {
me["spoiler5Lex"].hide(); me["spoiler5Lex"].hide();
me["spoiler5Lrt"].show(); me["spoiler5Lrt"].show();
}else{ } else {
me["spoiler5Lrt"].hide(); me["spoiler5Lrt"].hide();
me["spoiler5Lex"].show(); me["spoiler5Lex"].show();
} }
#STBY CODE - SPOILER FAIL if (getprop("/controls/flight/spoiler-r1") < 0.083) {
if(getprop("/controls/flight/spoiler-r1-failed")){ me["spoiler1Rex"].hide();
me["spoiler1Rex"].setColor(1,0.6,0); me["spoiler1Rrt"].show();
me["spoiler1Rrt"].setColor(1,0.6,0); } else {
if(getprop("/controls/flight/spoiler-r1")<0.083){ me["spoiler1Rrt"].hide();
me["spoiler1Rf"].show(); me["spoiler1Rex"].show();
}else{
me["spoiler1Rf"].hide();
}
}else{
me["spoiler1Rex"].setColor(0,1,0);
me["spoiler1Rrt"].setColor(0,1,0);
me["spoiler1Rf"].hide();
}
if(getprop("/controls/flight/spoiler-r2-failed")){
me["spoiler2Rex"].setColor(1,0.6,0);
me["spoiler2Rrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-r2")<0.083){
me["spoiler2Rf"].show();
}else{
me["spoiler2Rf"].hide();
}
}else{
me["spoiler2Rex"].setColor(0,1,0);
me["spoiler2Rrt"].setColor(0,1,0);
me["spoiler2Rf"].hide();
}
if(getprop("/controls/flight/spoiler-r3-failed")){
me["spoiler3Rex"].setColor(1,0.6,0);
me["spoiler3Rrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-r3")<0.083){
me["spoiler3Rf"].show();
}else{
me["spoiler3Rf"].hide();
}
}else{
me["spoiler3Rex"].setColor(0,1,0);
me["spoiler3Rrt"].setColor(0,1,0);
me["spoiler3Rf"].hide();
}
if(getprop("/controls/flight/spoiler-r4-failed")){
me["spoiler4Rex"].setColor(1,0.6,0);
me["spoiler4Rrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-r4")<0.083){
me["spoiler4Rf"].show();
}else{
me["spoiler4Rf"].hide();
}
}else{
me["spoiler4Rex"].setColor(0,1,0);
me["spoiler4Rrt"].setColor(0,1,0);
me["spoiler4Rf"].hide();
}
if(getprop("/controls/flight/spoiler-r5-failed")){
me["spoiler5Rex"].setColor(1,0.6,0);
me["spoiler5Rrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-r5")<0.083){
me["spoiler5Rf"].show();
}else{
me["spoiler5Rf"].hide();
}
}else{
me["spoiler5Rex"].setColor(0,1,0);
me["spoiler5Rrt"].setColor(0,1,0);
me["spoiler5Rf"].hide();
} }
if(getprop("/controls/flight/spoiler-l1-failed")){ if (getprop("/controls/flight/spoiler-r2")<0.083) {
me["spoiler2Rex"].hide();
me["spoiler2Rrt"].show();
} else {
me["spoiler2Rrt"].hide();
me["spoiler2Rex"].show();
}
if (getprop("/controls/flight/spoiler-r3") < 0.083) {
me["spoiler3Rex"].hide();
me["spoiler3Rrt"].show();
} else {
me["spoiler3Rrt"].hide();
me["spoiler3Rex"].show();
}
if (getprop("/controls/flight/spoiler-r4") < 0.083) {
me["spoiler4Rex"].hide();
me["spoiler4Rrt"].show();
} else {
me["spoiler4Rrt"].hide();
me["spoiler4Rex"].show();
}
if (getprop("/controls/flight/spoiler-r5") < 0.083) {
me["spoiler5Rex"].hide();
me["spoiler5Rrt"].show();
} else {
me["spoiler5Rrt"].hide();
me["spoiler5Rex"].show();
}
# Spoiler Fail
if (getprop("/controls/flight/spoiler-l1-failed")) {
me["spoiler1Lex"].setColor(1,0.6,0); me["spoiler1Lex"].setColor(1,0.6,0);
me["spoiler1Lrt"].setColor(1,0.6,0); me["spoiler1Lrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-l1")<0.083){ if (getprop("/controls/flight/spoiler-l1") < 0.083) {
me["spoiler1Lf"].show(); me["spoiler1Lf"].show();
}else{ } else {
me["spoiler1Lf"].hide(); me["spoiler1Lf"].hide();
} }
} else {
}else{
me["spoiler1Lex"].setColor(0,1,0); me["spoiler1Lex"].setColor(0,1,0);
me["spoiler1Lrt"].setColor(0,1,0); me["spoiler1Lrt"].setColor(0,1,0);
me["spoiler1Lf"].hide(); me["spoiler1Lf"].hide();
} }
if(getprop("/controls/flight/spoiler-l2-failed")){
if (getprop("/controls/flight/spoiler-l2-failed")) {
me["spoiler2Lex"].setColor(1,0.6,0); me["spoiler2Lex"].setColor(1,0.6,0);
me["spoiler2Lrt"].setColor(1,0.6,0); me["spoiler2Lrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-l2")<0.083){ if (getprop("/controls/flight/spoiler-l2") < 0.083) {
me["spoiler2Lf"].show(); me["spoiler2Lf"].show();
}else{ } else {
me["spoiler2Lf"].hide(); me["spoiler2Lf"].hide();
} }
} else {
}else{
me["spoiler2Lex"].setColor(0,1,0); me["spoiler2Lex"].setColor(0,1,0);
me["spoiler2Lrt"].setColor(0,1,0); me["spoiler2Lrt"].setColor(0,1,0);
me["spoiler2Lf"].hide(); me["spoiler2Lf"].hide();
} }
if(getprop("/controls/flight/spoiler-l3-failed")){
if (getprop("/controls/flight/spoiler-l3-failed")) {
me["spoiler3Lex"].setColor(1,0.6,0); me["spoiler3Lex"].setColor(1,0.6,0);
me["spoiler3Lrt"].setColor(1,0.6,0); me["spoiler3Lrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-l3")<0.083){ if (getprop("/controls/flight/spoiler-l3") < 0.083) {
me["spoiler3Lf"].show(); me["spoiler3Lf"].show();
}else{ } else {
me["spoiler3Lf"].hide(); me["spoiler3Lf"].hide();
} }
} else {
}else{
me["spoiler3Lex"].setColor(0,1,0); me["spoiler3Lex"].setColor(0,1,0);
me["spoiler3Lrt"].setColor(0,1,0); me["spoiler3Lrt"].setColor(0,1,0);
me["spoiler3Lf"].hide(); me["spoiler3Lf"].hide();
} }
if(getprop("/controls/flight/spoiler-l4-failed")){
if (getprop("/controls/flight/spoiler-l4-failed")) {
me["spoiler4Lex"].setColor(1,0.6,0); me["spoiler4Lex"].setColor(1,0.6,0);
me["spoiler4Lrt"].setColor(1,0.6,0); me["spoiler4Lrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-l4")<0.083){ if (getprop("/controls/flight/spoiler-l4") < 0.083) {
me["spoiler4Lf"].show(); me["spoiler4Lf"].show();
}else{ } else {
me["spoiler4Lf"].hide(); me["spoiler4Lf"].hide();
} }
} else {
}else{
me["spoiler4Lex"].setColor(0,1,0); me["spoiler4Lex"].setColor(0,1,0);
me["spoiler4Lrt"].setColor(0,1,0); me["spoiler4Lrt"].setColor(0,1,0);
me["spoiler4Lf"].hide(); me["spoiler4Lf"].hide();
} }
if(getprop("/controls/flight/spoiler-l5-failed")){
if (getprop("/controls/flight/spoiler-l5-failed")) {
me["spoiler5Lex"].setColor(1,0.6,0); me["spoiler5Lex"].setColor(1,0.6,0);
me["spoiler5Lrt"].setColor(1,0.6,0); me["spoiler5Lrt"].setColor(1,0.6,0);
if(getprop("/controls/flight/spoiler-l5")<0.083){ if (getprop("/controls/flight/spoiler-l5") < 0.083) {
me["spoiler5Lf"].show(); me["spoiler5Lf"].show();
}else{ } else {
me["spoiler5Lf"].hide(); me["spoiler5Lf"].hide();
} }
} else {
}else{
me["spoiler5Lex"].setColor(0,1,0); me["spoiler5Lex"].setColor(0,1,0);
me["spoiler5Lrt"].setColor(0,1,0); me["spoiler5Lrt"].setColor(0,1,0);
me["spoiler5Lf"].hide(); me["spoiler5Lf"].hide();
} }
#FLIGHT COMPUTERS if (getprop("/controls/flight/spoiler-r1-failed")) {
if(getprop("/systems/fctl/elac1")){ me["spoiler1Rex"].setColor(1,0.6,0);
me["spoiler1Rrt"].setColor(1,0.6,0);
if (getprop("/controls/flight/spoiler-r1") < 0.083) {
me["spoiler1Rf"].show();
} else {
me["spoiler1Rf"].hide();
}
} else {
me["spoiler1Rex"].setColor(0,1,0);
me["spoiler1Rrt"].setColor(0,1,0);
me["spoiler1Rf"].hide();
}
if (getprop("/controls/flight/spoiler-r2-failed")) {
me["spoiler2Rex"].setColor(1,0.6,0);
me["spoiler2Rrt"].setColor(1,0.6,0);
if (getprop("/controls/flight/spoiler-r2") < 0.083) {
me["spoiler2Rf"].show();
} else {
me["spoiler2Rf"].hide();
}
} else {
me["spoiler2Rex"].setColor(0,1,0);
me["spoiler2Rrt"].setColor(0,1,0);
me["spoiler2Rf"].hide();
}
if (getprop("/controls/flight/spoiler-r3-failed")) {
me["spoiler3Rex"].setColor(1,0.6,0);
me["spoiler3Rrt"].setColor(1,0.6,0);
if (getprop("/controls/flight/spoiler-r3") < 0.083) {
me["spoiler3Rf"].show();
} else {
me["spoiler3Rf"].hide();
}
} else {
me["spoiler3Rex"].setColor(0,1,0);
me["spoiler3Rrt"].setColor(0,1,0);
me["spoiler3Rf"].hide();
}
if (getprop("/controls/flight/spoiler-r4-failed")) {
me["spoiler4Rex"].setColor(1,0.6,0);
me["spoiler4Rrt"].setColor(1,0.6,0);
if (getprop("/controls/flight/spoiler-r4") < 0.083) {
me["spoiler4Rf"].show();
} else {
me["spoiler4Rf"].hide();
}
} else {
me["spoiler4Rex"].setColor(0,1,0);
me["spoiler4Rrt"].setColor(0,1,0);
me["spoiler4Rf"].hide();
}
if (getprop("/controls/flight/spoiler-r5-failed")) {
me["spoiler5Rex"].setColor(1,0.6,0);
me["spoiler5Rrt"].setColor(1,0.6,0);
if (getprop("/controls/flight/spoiler-r5") < 0.083) {
me["spoiler5Rf"].show();
} else {
me["spoiler5Rf"].hide();
}
} else {
me["spoiler5Rex"].setColor(0,1,0);
me["spoiler5Rrt"].setColor(0,1,0);
me["spoiler5Rf"].hide();
}
# Flight Computers
if (getprop("/systems/fctl/elac1")){
me["elac1"].setColor(0,1,0); me["elac1"].setColor(0,1,0);
}else{ } else {
me["elac1"].setColor(1,0.6,0); me["elac1"].setColor(1,0.6,0);
} }
if(getprop("/systems/fctl/elac2")){
if (getprop("/systems/fctl/elac2")){
me["elac2"].setColor(0,1,0); me["elac2"].setColor(0,1,0);
}else{ } else {
me["elac2"].setColor(1,0.6,0); me["elac2"].setColor(1,0.6,0);
} }
if(getprop("/systems/fctl/sec1")){
if (getprop("/systems/fctl/sec1")){
me["sec1"].setColor(0,1,0); me["sec1"].setColor(0,1,0);
}else{ } else {
me["sec1"].setColor(1,0.6,0); me["sec1"].setColor(1,0.6,0);
} }
if(getprop("/systems/fctl/sec2")){
if (getprop("/systems/fctl/sec2")){
me["sec2"].setColor(0,1,0); me["sec2"].setColor(0,1,0);
}else{ } else {
me["sec2"].setColor(1,0.6,0); me["sec2"].setColor(1,0.6,0);
} }
if(getprop("/systems/fctl/sec3")){
if (getprop("/systems/fctl/sec3")){
me["sec3"].setColor(0,1,0); me["sec3"].setColor(0,1,0);
}else{ } else {
me["sec3"].setColor(1,0.6,0); me["sec3"].setColor(1,0.6,0);
} }
#HYDRAULIC INDICATORS # Hydraulic Indicators
if(getprop("/systems/hydraulic/blue-psi")>2900){ if (getprop("/systems/hydraulic/blue-psi") > 1500){
me["ailLblue"].setColor(0,1,0); me["ailLblue"].setColor(0,1,0);
me["ailRblue"].setColor(0,1,0); me["ailRblue"].setColor(0,1,0);
me["elevLblue"].setColor(0,1,0); me["elevLblue"].setColor(0,1,0);
me["elevRblue"].setColor(0,1,0); me["elevRblue"].setColor(0,1,0);
me["rudderblue"].setColor(0,1,0); me["rudderblue"].setColor(0,1,0);
me["spdbrkblue"].setColor(0,1,0); me["spdbrkblue"].setColor(0,1,0);
}else{ } else {
me["ailLblue"].setColor(1,0.6,0); me["ailLblue"].setColor(1,0.6,0);
me["ailRblue"].setColor(1,0.6,0); me["ailRblue"].setColor(1,0.6,0);
me["elevLblue"].setColor(1,0.6,0); me["elevLblue"].setColor(1,0.6,0);
@ -615,14 +625,15 @@ var canvas_lowerECAM_fctl = {
me["rudderblue"].setColor(1,0.6,0); me["rudderblue"].setColor(1,0.6,0);
me["spdbrkblue"].setColor(1,0.6,0); me["spdbrkblue"].setColor(1,0.6,0);
} }
if(getprop("/systems/hydraulic/green-psi")>2900){
if (getprop("/systems/hydraulic/green-psi") > 1500){
me["ailLgreen"].setColor(0,1,0); me["ailLgreen"].setColor(0,1,0);
me["ailRgreen"].setColor(0,1,0); me["ailRgreen"].setColor(0,1,0);
me["elevLgreen"].setColor(0,1,0); me["elevLgreen"].setColor(0,1,0);
me["ruddergreen"].setColor(0,1,0); me["ruddergreen"].setColor(0,1,0);
me["PTgreen"].setColor(0,1,0); me["PTgreen"].setColor(0,1,0);
me["spdbrkgreen"].setColor(0,1,0); me["spdbrkgreen"].setColor(0,1,0);
}else{ } else {
me["ailLgreen"].setColor(1,0.6,0); me["ailLgreen"].setColor(1,0.6,0);
me["ailRgreen"].setColor(1,0.6,0); me["ailRgreen"].setColor(1,0.6,0);
me["elevLgreen"].setColor(1,0.6,0); me["elevLgreen"].setColor(1,0.6,0);
@ -630,20 +641,19 @@ var canvas_lowerECAM_fctl = {
me["PTgreen"].setColor(1,0.6,0); me["PTgreen"].setColor(1,0.6,0);
me["spdbrkgreen"].setColor(1,0.6,0); me["spdbrkgreen"].setColor(1,0.6,0);
} }
if(getprop("/systems/hydraulic/yellow-psi")>2900){
if (getprop("/systems/hydraulic/yellow-psi") > 1500){
me["elevRyellow"].setColor(0,1,0); me["elevRyellow"].setColor(0,1,0);
me["rudderyellow"].setColor(0,1,0); me["rudderyellow"].setColor(0,1,0);
me["PTyellow"].setColor(0,1,0); me["PTyellow"].setColor(0,1,0);
me["spdbrkyellow"].setColor(0,1,0); me["spdbrkyellow"].setColor(0,1,0);
}else{ } else {
me["elevRyellow"].setColor(1,0.6,0); me["elevRyellow"].setColor(1,0.6,0);
me["rudderyellow"].setColor(1,0.6,0); me["rudderyellow"].setColor(1,0.6,0);
me["PTyellow"].setColor(1,0.6,0); me["PTyellow"].setColor(1,0.6,0);
me["spdbrkyellow"].setColor(1,0.6,0); me["spdbrkyellow"].setColor(1,0.6,0);
} }
me.updateBottomStatus(); me.updateBottomStatus();
settimer(func me.update(), 0.02); settimer(func me.update(), 0.02);
@ -660,19 +670,19 @@ setlistener("sim/signals/fdm-initialized", func {
}); });
lowerECAM_display.addPlacement({"node": "lecam.screen"}); lowerECAM_display.addPlacement({"node": "lecam.screen"});
var groupApu = lowerECAM_display.createGroup(); var groupApu = lowerECAM_display.createGroup();
var groupFctl = lowerECAM_display.createGroup();
var groupEng1 = lowerECAM_display.createGroup(); var groupEng1 = lowerECAM_display.createGroup();
var groupEng = lowerECAM_display.createGroup(); var groupEng = lowerECAM_display.createGroup();
var groupFctl = lowerECAM_display.createGroup();
lowerECAM_apu = canvas_lowerECAM_apu.new(groupApu, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/apu.svg"); lowerECAM_apu = canvas_lowerECAM_apu.new(groupApu, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/apu.svg");
lowerECAM_fctl = canvas_lowerECAM_fctl.new(groupFctl, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/fctl.svg");
lowerECAM_eng1 = canvas_lowerECAM_eng1.new(groupEng1, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/eng-eis1.svg"); lowerECAM_eng1 = canvas_lowerECAM_eng1.new(groupEng1, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/eng-eis1.svg");
lowerECAM_eng = canvas_lowerECAM_eng.new(groupEng, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/eng-eis2.svg"); lowerECAM_eng = canvas_lowerECAM_eng.new(groupEng, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/eng-eis2.svg");
lowerECAM_fctl = canvas_lowerECAM_fctl.new(groupFctl, "Aircraft/A320Family/Models/Instruments/Lower-ECAM/res/fctl.svg");
lowerECAM_apu.update(); lowerECAM_apu.update();
lowerECAM_fctl.update();
lowerECAM_eng1.update(); lowerECAM_eng1.update();
lowerECAM_eng.update(); lowerECAM_eng.update();
lowerECAM_fctl.update();
canvas_lowerECAM_base.update(); canvas_lowerECAM_base.update();
}); });

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 78 KiB

View file

@ -151,8 +151,8 @@
</table> </table>
<table> <table>
<property>/fdm/jsbsim/fcs/flap-pos-deg</property> <property>/fdm/jsbsim/fcs/flap-pos-deg</property>
<entry><ind>1</ind><dep>0.0</dep></entry> <entry><ind>1</ind><dep>0.00</dep></entry>
<entry><ind>5</ind><dep>0.2</dep></entry> <entry><ind>5</ind><dep>0.13</dep></entry>
</table> </table>
</sum> </sum>
</expression> </expression>
@ -268,8 +268,8 @@
</table> </table>
<table> <table>
<property>/fdm/jsbsim/fcs/flap-pos-deg</property> <property>/fdm/jsbsim/fcs/flap-pos-deg</property>
<entry><ind>1</ind><dep> 0.0</dep></entry> <entry><ind>1</ind><dep> 0.00</dep></entry>
<entry><ind>5</ind><dep>-0.2</dep></entry> <entry><ind>5</ind><dep>-0.13</dep></entry>
</table> </table>
</sum> </sum>
</expression> </expression>

View file

@ -172,32 +172,67 @@
</filter> </filter>
<filter> <filter>
<name>ELEV L Indication</name> <name>Aileron L Indication</name>
<type>gain</type>
<gain>1</gain>
<input>
<expression>
<table>
<property>/controls/flight/aileron-left</property>
<entry><ind>-0.5</ind><dep>-0.73</dep></entry>
<entry><ind> 0.0</ind><dep> 0.00</dep></entry>
<entry><ind> 0.5</ind><dep> 0.83</dep></entry>
</table>
</expression>
</input>
<output>/ECAM/Lower/aileron-ind-left</output>
</filter>
<filter>
<name>Aileron R Indication</name>
<type>gain</type>
<gain>1</gain>
<input>
<expression>
<table>
<property>/controls/flight/aileron-right</property>
<entry><ind>-0.5</ind><dep>-0.83</dep></entry>
<entry><ind> 0.0</ind><dep> 0.00</dep></entry>
<entry><ind> 0.5</ind><dep> 0.73</dep></entry>
</table>
</expression>
</input>
<output>/ECAM/Lower/aileron-ind-right</output>
</filter>
<filter>
<name>Elevator L Indication</name>
<type>gain</type> <type>gain</type>
<gain>1</gain> <gain>1</gain>
<input> <input>
<expression> <expression>
<table> <table>
<property>/controls/flight/elevator-left</property> <property>/controls/flight/elevator-left</property>
<entry><ind> -0.5</ind><dep>-1</dep></entry> <entry><ind>-0.5</ind><dep>-1.03</dep></entry>
<entry><ind>0</ind><dep> 0</dep></entry> <entry><ind> 0.0</ind><dep> 0.00</dep></entry>
<entry><ind>0.5</ind><dep> 0.66</dep></entry> <entry><ind> 0.5</ind><dep> 0.63</dep></entry>
</table> </table>
</expression> </expression>
</input> </input>
<output>/ECAM/Lower/elevator-ind-left</output> <output>/ECAM/Lower/elevator-ind-left</output>
</filter> </filter>
<filter> <filter>
<name>ELEV R Indication</name> <name>Elevator R Indication</name>
<type>gain</type> <type>gain</type>
<gain>1</gain> <gain>1</gain>
<input> <input>
<expression> <expression>
<table> <table>
<property>/controls/flight/elevator-right</property> <property>/controls/flight/elevator-right</property>
<entry><ind> -0.5</ind><dep>-1</dep></entry> <entry><ind>-0.5</ind><dep>-1.03</dep></entry>
<entry><ind>0</ind><dep> 0</dep></entry> <entry><ind> 0.0</ind><dep> 0.00</dep></entry>
<entry><ind>0.5</ind><dep> 0.66</dep></entry> <entry><ind> 0.5</ind><dep> 0.63</dep></entry>
</table> </table>
</expression> </expression>
</input> </input>
@ -205,16 +240,19 @@
</filter> </filter>
<filter> <filter>
<name>ELEV Trim Deg</name> <name>Elevator Trim Deg</name>
<type>gain</type> <type>gain</type>
<gain>1</gain> <gain>1</gain>
<input> <input>
<expression> <expression>
<table> <table>
<property>/controls/flight/elevator-trim</property> <property>/controls/flight/elevator-trim</property>
<entry><ind>1</ind><dep>4</dep></entry> <entry><ind> 0.4283</ind><dep>-4.0</dep></entry>
<entry><ind>0</ind><dep> 0</dep></entry> <entry><ind> 0.1161</ind><dep>-1.0</dep></entry>
<entry><ind>-1</ind><dep> 13.5</dep></entry> <entry><ind> 0.0000</ind><dep> 0.0</dep></entry>
<entry><ind>-0.0883</ind><dep> 1.0</dep></entry>
<entry><ind>-0.1900</ind><dep> 2.0</dep></entry>
<entry><ind>-0.5035</ind><dep> 5.0</dep></entry>
</table> </table>
</expression> </expression>
</input> </input>