A3XX: Improve FCTL Lower ECAM
This commit is contained in:
parent
ba639551a0
commit
68a4a1e1d5
4 changed files with 1538 additions and 221 deletions
|
@ -23,9 +23,12 @@ setprop("/ECAM/Lower/Oil-QT[0]", 0);
|
|||
setprop("/ECAM/Lower/Oil-QT[1]", 0);
|
||||
setprop("/ECAM/Lower/Oil-PSI[0]", 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-right", 0);
|
||||
setprop("/ECAM/Lower/elevator-trim-deg", 0);
|
||||
setprop("/controls/flight/rudder-fdm", 0);
|
||||
setprop("/environment/temperature-degc", 0);
|
||||
setprop("/FMGC/internal/gw", 0);
|
||||
setprop("/controls/flight/spoiler-l1-failed", 0);
|
||||
|
@ -274,340 +277,347 @@ var canvas_lowerECAM_eng = {
|
|||
|
||||
|
||||
var canvas_lowerECAM_fctl = {
|
||||
new: func(canvas_group, file) {
|
||||
var m = { parents: [canvas_lowerECAM_fctl , canvas_lowerECAM_base] };
|
||||
m.init(canvas_group, file);
|
||||
|
||||
return m;
|
||||
new: func(canvas_group, file) {
|
||||
var m = { parents: [canvas_lowerECAM_fctl , canvas_lowerECAM_base] };
|
||||
m.init(canvas_group, file);
|
||||
|
||||
return m;
|
||||
},
|
||||
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"
|
||||
,"spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf","spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf","spoiler5Lf","ailLscale","ailRscale"];
|
||||
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","spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf","spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf","spoiler5Lf",
|
||||
"ailLscale","ailRscale"];
|
||||
},
|
||||
update: func() {
|
||||
var blue_psi=getprop("/systems/hydraulic/blue-psi");
|
||||
var green_psi=getprop("/systems/hydraulic/green-psi");
|
||||
var yellow_psi=getprop("/systems/hydraulic/yellow-psi");
|
||||
var blue_psi = getprop("/systems/hydraulic/blue-psi");
|
||||
var green_psi = getprop("/systems/hydraulic/green-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-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"));
|
||||
}else if(getprop("/controls/flight/elevator-trim")>0){
|
||||
} else if (getprop("/controls/flight/elevator-trim") > 0) {
|
||||
me["PTupdn"].setText(sprintf("DN"));
|
||||
}else{
|
||||
} else {
|
||||
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["PTupdn"].setColor(1,0.6,0);
|
||||
me["PTcc"].setColor(1,0.6,0);
|
||||
}else{
|
||||
} else {
|
||||
me["PT"].setColor(0,1,0);
|
||||
me["PTupdn"].setColor(0,1,0);
|
||||
me["PTcc"].setColor(0,1,0);
|
||||
}
|
||||
|
||||
#AILERONS
|
||||
#Becomes amber if no green and blue servojack
|
||||
if(blue_psi<2900 and green_psi<2900){
|
||||
# Ailerons
|
||||
me["ailL"].setTranslation(0,getprop("/ECAM/Lower/aileron-ind-left")*100);
|
||||
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["ailR"].setColor(1,0.6,0);
|
||||
me["ailLscale"].setColor(1,0.6,0);
|
||||
me["ailRscale"].setColor(1,0.6,0);
|
||||
me["ailL"].setTranslation(0,100);
|
||||
me["ailR"].setTranslation(0,100);
|
||||
}else{
|
||||
} else {
|
||||
me["ailL"].setColor(0,1,0);
|
||||
me["ailR"].setColor(0,1,0);
|
||||
me["ailLscale"].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["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);
|
||||
}else{
|
||||
} else {
|
||||
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);
|
||||
}else{
|
||||
} else {
|
||||
me["elevR"].setColor(0,1,0);
|
||||
}
|
||||
|
||||
#RUDDER
|
||||
me["rudder"].setRotation(getprop("/controls/flight/rudder")*(-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){
|
||||
# Rudder
|
||||
me["rudder"].setRotation(getprop("/controls/flight/rudder-fdm")*(-0.6));
|
||||
|
||||
if (blue_psi < 1500 and yellow_psi < 1500 and green_psi < 1500) {
|
||||
me["rudder"].setColor(1,0.6,0);
|
||||
}else{
|
||||
} else {
|
||||
me["rudder"].setColor(0,1,0);
|
||||
}
|
||||
|
||||
#SPOILERS
|
||||
if(getprop("/controls/flight/spoiler-r1")<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){
|
||||
# Spoilers
|
||||
if (getprop("/controls/flight/spoiler-l1") < 0.083) {
|
||||
me["spoiler1Lex"].hide();
|
||||
me["spoiler1Lrt"].show();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler1Lrt"].hide();
|
||||
me["spoiler1Lex"].show();
|
||||
}
|
||||
if(getprop("/controls/flight/spoiler-l2")<0.083){
|
||||
|
||||
if (getprop("/controls/flight/spoiler-l2") < 0.083) {
|
||||
me["spoiler2Lex"].hide();
|
||||
me["spoiler2Lrt"].show();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler2Lrt"].hide();
|
||||
me["spoiler2Lex"].show();
|
||||
}
|
||||
if(getprop("/controls/flight/spoiler-l3")<0.083){
|
||||
|
||||
if (getprop("/controls/flight/spoiler-l3") < 0.083) {
|
||||
me["spoiler3Lex"].hide();
|
||||
me["spoiler3Lrt"].show();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler3Lrt"].hide();
|
||||
me["spoiler3Lex"].show();
|
||||
}
|
||||
if(getprop("/controls/flight/spoiler-l4")<0.083){
|
||||
|
||||
if (getprop("/controls/flight/spoiler-l4") < 0.083) {
|
||||
me["spoiler4Lex"].hide();
|
||||
me["spoiler4Lrt"].show();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler4Lrt"].hide();
|
||||
me["spoiler4Lex"].show();
|
||||
}
|
||||
if(getprop("/controls/flight/spoiler-l5")<0.083){
|
||||
|
||||
if (getprop("/controls/flight/spoiler-l5") < 0.083) {
|
||||
me["spoiler5Lex"].hide();
|
||||
me["spoiler5Lrt"].show();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler5Lrt"].hide();
|
||||
me["spoiler5Lex"].show();
|
||||
}
|
||||
|
||||
#STBY CODE - SPOILER FAIL
|
||||
if(getprop("/controls/flight/spoiler-r1-failed")){
|
||||
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();
|
||||
if (getprop("/controls/flight/spoiler-r1") < 0.083) {
|
||||
me["spoiler1Rex"].hide();
|
||||
me["spoiler1Rrt"].show();
|
||||
} else {
|
||||
me["spoiler1Rrt"].hide();
|
||||
me["spoiler1Rex"].show();
|
||||
}
|
||||
|
||||
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["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();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler1Lf"].hide();
|
||||
}
|
||||
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler1Lex"].setColor(0,1,0);
|
||||
me["spoiler1Lrt"].setColor(0,1,0);
|
||||
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["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();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler2Lf"].hide();
|
||||
}
|
||||
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler2Lex"].setColor(0,1,0);
|
||||
me["spoiler2Lrt"].setColor(0,1,0);
|
||||
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["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();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler3Lf"].hide();
|
||||
}
|
||||
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler3Lex"].setColor(0,1,0);
|
||||
me["spoiler3Lrt"].setColor(0,1,0);
|
||||
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["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();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler4Lf"].hide();
|
||||
}
|
||||
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler4Lex"].setColor(0,1,0);
|
||||
me["spoiler4Lrt"].setColor(0,1,0);
|
||||
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["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();
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler5Lf"].hide();
|
||||
}
|
||||
|
||||
}else{
|
||||
} else {
|
||||
me["spoiler5Lex"].setColor(0,1,0);
|
||||
me["spoiler5Lrt"].setColor(0,1,0);
|
||||
me["spoiler5Lf"].hide();
|
||||
}
|
||||
|
||||
#FLIGHT COMPUTERS
|
||||
if(getprop("/systems/fctl/elac1")){
|
||||
if (getprop("/controls/flight/spoiler-r1-failed")) {
|
||||
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);
|
||||
}else{
|
||||
} else {
|
||||
me["elac1"].setColor(1,0.6,0);
|
||||
}
|
||||
if(getprop("/systems/fctl/elac2")){
|
||||
|
||||
if (getprop("/systems/fctl/elac2")){
|
||||
me["elac2"].setColor(0,1,0);
|
||||
}else{
|
||||
} else {
|
||||
me["elac2"].setColor(1,0.6,0);
|
||||
}
|
||||
if(getprop("/systems/fctl/sec1")){
|
||||
|
||||
if (getprop("/systems/fctl/sec1")){
|
||||
me["sec1"].setColor(0,1,0);
|
||||
}else{
|
||||
} else {
|
||||
me["sec1"].setColor(1,0.6,0);
|
||||
}
|
||||
if(getprop("/systems/fctl/sec2")){
|
||||
|
||||
if (getprop("/systems/fctl/sec2")){
|
||||
me["sec2"].setColor(0,1,0);
|
||||
}else{
|
||||
} else {
|
||||
me["sec2"].setColor(1,0.6,0);
|
||||
}
|
||||
if(getprop("/systems/fctl/sec3")){
|
||||
|
||||
if (getprop("/systems/fctl/sec3")){
|
||||
me["sec3"].setColor(0,1,0);
|
||||
}else{
|
||||
} else {
|
||||
me["sec3"].setColor(1,0.6,0);
|
||||
}
|
||||
|
||||
#HYDRAULIC INDICATORS
|
||||
if(getprop("/systems/hydraulic/blue-psi")>2900){
|
||||
# Hydraulic Indicators
|
||||
if (getprop("/systems/hydraulic/blue-psi") > 1500){
|
||||
me["ailLblue"].setColor(0,1,0);
|
||||
me["ailRblue"].setColor(0,1,0);
|
||||
me["elevLblue"].setColor(0,1,0);
|
||||
me["elevRblue"].setColor(0,1,0);
|
||||
me["rudderblue"].setColor(0,1,0);
|
||||
me["spdbrkblue"].setColor(0,1,0);
|
||||
}else{
|
||||
} else {
|
||||
me["ailLblue"].setColor(1,0.6,0);
|
||||
me["ailRblue"].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["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["ailRgreen"].setColor(0,1,0);
|
||||
me["elevLgreen"].setColor(0,1,0);
|
||||
me["ruddergreen"].setColor(0,1,0);
|
||||
me["PTgreen"].setColor(0,1,0);
|
||||
me["spdbrkgreen"].setColor(0,1,0);
|
||||
}else{
|
||||
} else {
|
||||
me["ailLgreen"].setColor(1,0.6,0);
|
||||
me["ailRgreen"].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["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["rudderyellow"].setColor(0,1,0);
|
||||
me["PTyellow"].setColor(0,1,0);
|
||||
me["spdbrkyellow"].setColor(0,1,0);
|
||||
}else{
|
||||
} else {
|
||||
me["elevRyellow"].setColor(1,0.6,0);
|
||||
me["rudderyellow"].setColor(1,0.6,0);
|
||||
me["PTyellow"].setColor(1,0.6,0);
|
||||
me["spdbrkyellow"].setColor(1,0.6,0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
me.updateBottomStatus();
|
||||
|
||||
settimer(func me.update(), 0.02);
|
||||
|
@ -660,19 +670,19 @@ setlistener("sim/signals/fdm-initialized", func {
|
|||
});
|
||||
lowerECAM_display.addPlacement({"node": "lecam.screen"});
|
||||
var groupApu = lowerECAM_display.createGroup();
|
||||
var groupFctl = lowerECAM_display.createGroup();
|
||||
var groupEng1 = 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_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_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_fctl.update();
|
||||
lowerECAM_eng1.update();
|
||||
lowerECAM_eng.update();
|
||||
lowerECAM_fctl.update();
|
||||
canvas_lowerECAM_base.update();
|
||||
});
|
||||
|
||||
|
|
1269
Models/Instruments/Upper-ECAM/res/iae-eis1-wip.svg
Normal file
1269
Models/Instruments/Upper-ECAM/res/iae-eis1-wip.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 78 KiB |
|
@ -151,8 +151,8 @@
|
|||
</table>
|
||||
<table>
|
||||
<property>/fdm/jsbsim/fcs/flap-pos-deg</property>
|
||||
<entry><ind>1</ind><dep>0.0</dep></entry>
|
||||
<entry><ind>5</ind><dep>0.2</dep></entry>
|
||||
<entry><ind>1</ind><dep>0.00</dep></entry>
|
||||
<entry><ind>5</ind><dep>0.13</dep></entry>
|
||||
</table>
|
||||
</sum>
|
||||
</expression>
|
||||
|
@ -268,8 +268,8 @@
|
|||
</table>
|
||||
<table>
|
||||
<property>/fdm/jsbsim/fcs/flap-pos-deg</property>
|
||||
<entry><ind>1</ind><dep> 0.0</dep></entry>
|
||||
<entry><ind>5</ind><dep>-0.2</dep></entry>
|
||||
<entry><ind>1</ind><dep> 0.00</dep></entry>
|
||||
<entry><ind>5</ind><dep>-0.13</dep></entry>
|
||||
</table>
|
||||
</sum>
|
||||
</expression>
|
||||
|
|
|
@ -172,32 +172,67 @@
|
|||
</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>
|
||||
<gain>1</gain>
|
||||
<input>
|
||||
<expression>
|
||||
<table>
|
||||
<property>/controls/flight/elevator-left</property>
|
||||
<entry><ind> -0.5</ind><dep>-1</dep></entry>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep> 0.66</dep></entry>
|
||||
<entry><ind>-0.5</ind><dep>-1.03</dep></entry>
|
||||
<entry><ind> 0.0</ind><dep> 0.00</dep></entry>
|
||||
<entry><ind> 0.5</ind><dep> 0.63</dep></entry>
|
||||
</table>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/ECAM/Lower/elevator-ind-left</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>ELEV R Indication</name>
|
||||
<name>Elevator R Indication</name>
|
||||
<type>gain</type>
|
||||
<gain>1</gain>
|
||||
<input>
|
||||
<expression>
|
||||
<table>
|
||||
<property>/controls/flight/elevator-right</property>
|
||||
<entry><ind> -0.5</ind><dep>-1</dep></entry>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>0.5</ind><dep> 0.66</dep></entry>
|
||||
<entry><ind>-0.5</ind><dep>-1.03</dep></entry>
|
||||
<entry><ind> 0.0</ind><dep> 0.00</dep></entry>
|
||||
<entry><ind> 0.5</ind><dep> 0.63</dep></entry>
|
||||
</table>
|
||||
</expression>
|
||||
</input>
|
||||
|
@ -205,16 +240,19 @@
|
|||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>ELEV Trim Deg</name>
|
||||
<name>Elevator Trim Deg</name>
|
||||
<type>gain</type>
|
||||
<gain>1</gain>
|
||||
<input>
|
||||
<expression>
|
||||
<table>
|
||||
<property>/controls/flight/elevator-trim</property>
|
||||
<entry><ind>1</ind><dep>4</dep></entry>
|
||||
<entry><ind>0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>-1</ind><dep> 13.5</dep></entry>
|
||||
<entry><ind> 0.4283</ind><dep>-4.0</dep></entry>
|
||||
<entry><ind> 0.1161</ind><dep>-1.0</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>
|
||||
</expression>
|
||||
</input>
|
||||
|
|
Reference in a new issue