FMGC: Fix bugs in MCDU CLR and NOT ALLOWED logic, fix #74

This commit is contained in:
Joshua Davidson 2019-02-02 20:47:07 -05:00
parent 4f52b4e019
commit 980a7b78bc
7 changed files with 79 additions and 75 deletions

View file

@ -8,7 +8,7 @@ var initInputA = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/MCDUC/flight-num", ""); setprop("/MCDUC/flight-num", "");
setprop("/MCDUC/flight-num-set", 0); setprop("/MCDUC/flight-num-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var flts = size(scratchpad); var flts = size(scratchpad);
@ -24,7 +24,7 @@ var initInputA = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/cost-index", 0); setprop("/FMGC/internal/cost-index", 0);
setprop("/FMGC/internal/cost-index-set", 0); setprop("/FMGC/internal/cost-index-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var ci = int(scratchpad); var ci = int(scratchpad);
@ -48,7 +48,7 @@ var initInputA = func(key, i) {
setprop("/FMGC/internal/cruise-ft", 10000); setprop("/FMGC/internal/cruise-ft", 10000);
setprop("/FMGC/internal/cruise-fl", 100); setprop("/FMGC/internal/cruise-fl", 100);
setprop("/FMGC/internal/cruise-lvl-set", 0); setprop("/FMGC/internal/cruise-lvl-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var crz = int(scratchpad); var crz = int(scratchpad);
@ -74,7 +74,7 @@ var initInputA = func(key, i) {
setprop("/FMGC/internal/arr-arpt", ""); setprop("/FMGC/internal/arr-arpt", "");
setprop("/FMGC/internal/tofrom-set", 0); setprop("/FMGC/internal/tofrom-set", 0);
fmgc.updateARPT(); fmgc.updateARPT();
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -103,7 +103,7 @@ var initInputA = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/tropo", 36090); setprop("/FMGC/internal/tropo", 36090);
setprop("/FMGC/internal/tropo-set", 0); setprop("/FMGC/internal/tropo-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tropo = size(scratchpad); var tropo = size(scratchpad);

View file

@ -46,7 +46,7 @@ var initInputB = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/block", 0.0); setprop("/FMGC/internal/block", 0.0);
setprop("/FMGC/internal/block-set", 0); setprop("/FMGC/internal/block-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);

View file

@ -81,19 +81,19 @@ var lskbutton = func(btn, i) {
if (btn == "1") { if (btn == "1") {
if (getprop("/MCDU[" ~ i ~ "]/page") == "MCDU") { if (getprop("/MCDU[" ~ i ~ "]/page") == "MCDU") {
if (getprop("/MCDU[" ~ i ~ "]/active") != 2) { if (getprop("/MCDU[" ~ i ~ "]/active") != 2) {
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 1);
setprop("/MCDU[" ~ i ~ "]/scratchpad", "WAIT FOR SYSTEM RESPONSE"); setprop("/MCDU[" ~ i ~ "]/scratchpad", "WAIT FOR SYSTEM RESPONSE");
setprop("/MCDU[" ~ i ~ "]/active", 1); setprop("/MCDU[" ~ i ~ "]/active", 1);
settimer(func(){ settimer(func(){
setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-fmgc-page")); setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-fmgc-page"));
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/active", 2); setprop("/MCDU[" ~ i ~ "]/active", 2);
}, 2); }, 2);
} else { } else {
setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-fmgc-page")); setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-fmgc-page"));
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} }
} else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") { } else if (getprop("/MCDU[" ~ i ~ "]/page") == "TO") {
perfTOInput("L1",i); perfTOInput("L1",i);
@ -263,7 +263,7 @@ var rskbutton = func(btn, i) {
if (getprop("/MCDU[" ~ i ~ "]/last-page") != "NONE") { if (getprop("/MCDU[" ~ i ~ "]/last-page") != "NONE") {
setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-page")); setprop("/MCDU[" ~ i ~ "]/page", getprop("/MCDU[" ~ i ~ "]/last-page"));
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else { } else {
notAllowed(i); notAllowed(i);
} }
@ -277,7 +277,7 @@ var rskbutton = func(btn, i) {
if (getprop("/MCDU[" ~ i ~ "]/scratchpad") != "AOC DISABLED") { if (getprop("/MCDU[" ~ i ~ "]/scratchpad") != "AOC DISABLED") {
setprop("/MCDU[" ~ i ~ "]/last-scratchpad", getprop("/MCDU[" ~ i ~ "]/scratchpad")); setprop("/MCDU[" ~ i ~ "]/last-scratchpad", getprop("/MCDU[" ~ i ~ "]/scratchpad"));
} }
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 1);
setprop("/MCDU[" ~ i ~ "]/scratchpad", "AOC DISABLED"); setprop("/MCDU[" ~ i ~ "]/scratchpad", "AOC DISABLED");
} else if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") { } else if (getprop("/MCDU[" ~ i ~ "]/page") == "INITA") {
initInputA("R6",i); initInputA("R6",i);
@ -371,148 +371,148 @@ var button = func(btn, i) {
var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad");
if (btn == "A") { if (btn == "A") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "A"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "A");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "B") { } else if (btn == "B") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "B"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "B");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "C") { } else if (btn == "C") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "C"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "C");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "D") { } else if (btn == "D") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "D"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "D");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "E") { } else if (btn == "E") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "E"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "E");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "F") { } else if (btn == "F") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "F"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "F");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "G") { } else if (btn == "G") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "G"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "G");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "H") { } else if (btn == "H") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "H"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "H");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "I") { } else if (btn == "I") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "I"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "I");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "J") { } else if (btn == "J") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "J"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "J");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "K") { } else if (btn == "K") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "K"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "K");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "L") { } else if (btn == "L") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "L"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "L");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "M") { } else if (btn == "M") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "M"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "M");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "N") { } else if (btn == "N") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "N"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "N");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "O") { } else if (btn == "O") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "O"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "O");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "P") { } else if (btn == "P") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "P"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "P");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "Q") { } else if (btn == "Q") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Q"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Q");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "R") { } else if (btn == "R") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "R"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "R");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "S") { } else if (btn == "S") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "S"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "S");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "T") { } else if (btn == "T") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "T"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "T");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "U") { } else if (btn == "U") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "U"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "U");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "V") { } else if (btn == "V") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "V"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "V");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "W") { } else if (btn == "W") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "W"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "W");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "X") { } else if (btn == "X") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "X"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "X");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "Y") { } else if (btn == "Y") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Y"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Y");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "Z") { } else if (btn == "Z") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Z"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "Z");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "SLASH") { } else if (btn == "SLASH") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "/"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "/");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "SP") { } else if (btn == "SP") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ " "); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ " ");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "CLR") { } else if (btn == "CLR") {
var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad");
if (size(scratchpad) == 0) { if (size(scratchpad) == 0) {
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 1);
setprop("/MCDU[" ~ i ~ "]/scratchpad", "CLR"); setprop("/MCDU[" ~ i ~ "]/scratchpad", "CLR");
} else if (getprop("/MCDU[" ~ i ~ "]/scratchpad-msg") == 1) { } else if (getprop("/MCDU[" ~ i ~ "]/scratchpad-msg") == 1) {
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (size(scratchpad) > 0) { } else if (size(scratchpad) > 0) {
setprop("/MCDU[" ~ i ~ "]/last-scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/last-scratchpad", "");
setprop("/MCDU[" ~ i ~ "]/scratchpad", left(scratchpad, size(scratchpad)-1)); setprop("/MCDU[" ~ i ~ "]/scratchpad", left(scratchpad, size(scratchpad)-1));
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} }
} else if (btn == "0") { } else if (btn == "0") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "0");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "1") { } else if (btn == "1") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "1"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "1");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "2") { } else if (btn == "2") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "2"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "2");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "3") { } else if (btn == "3") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "3"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "3");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "4") { } else if (btn == "4") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "4"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "4");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "5") { } else if (btn == "5") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "5"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "5");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "6") { } else if (btn == "6") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "6"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "6");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "7") { } else if (btn == "7") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "7"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "7");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "8") { } else if (btn == "8") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "8"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "8");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "9") { } else if (btn == "9") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "9"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "9");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "DOT") { } else if (btn == "DOT") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "."); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ ".");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} else if (btn == "PLUSMINUS") { } else if (btn == "PLUSMINUS") {
setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "-"); setprop("/MCDU[" ~ i ~ "]/scratchpad", scratchpad ~ "-");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} }
} else { } else {
if (btn == "CLR") { if (btn == "CLR") {
var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad"); var scratchpad = getprop("/MCDU[" ~ i ~ "]/scratchpad");
if (size(scratchpad) == 0) { if (size(scratchpad) == 0) {
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 1);
setprop("/MCDU[" ~ i ~ "]/scratchpad", "CLR"); setprop("/MCDU[" ~ i ~ "]/scratchpad", "CLR");
} else if (getprop("/MCDU[" ~ i ~ "]/scratchpad-msg") == 1) { } else if (getprop("/MCDU[" ~ i ~ "]/scratchpad-msg") == 1) {
setprop("/MCDU[" ~ i ~ "]/scratchpad", getprop("/MCDU[" ~ i ~ "]/last-scratchpad")); setprop("/MCDU[" ~ i ~ "]/scratchpad", getprop("/MCDU[" ~ i ~ "]/last-scratchpad"));
setprop("/MCDU[" ~ i ~ "]/last-scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/last-scratchpad", "");
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
} }
} }
} }
@ -520,9 +520,13 @@ var button = func(btn, i) {
var notAllowed = func(i) { var notAllowed = func(i) {
if (getprop("/MCDU[" ~ i ~ "]/scratchpad") != "NOT ALLOWED") { if (getprop("/MCDU[" ~ i ~ "]/scratchpad") != "NOT ALLOWED") {
if (getprop("/MCDU[" ~ i ~ "]/scratchpad-msg") == 1) { # Messages clear after NOT ALLOWED
setprop("/MCDU[" ~ i ~ "]/last-scratchpad", "");
} else {
setprop("/MCDU[" ~ i ~ "]/last-scratchpad", getprop("/MCDU[" ~ i ~ "]/scratchpad")); setprop("/MCDU[" ~ i ~ "]/last-scratchpad", getprop("/MCDU[" ~ i ~ "]/scratchpad"));
} }
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "1"); }
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 1);
setprop("/MCDU[" ~ i ~ "]/scratchpad", "NOT ALLOWED"); setprop("/MCDU[" ~ i ~ "]/scratchpad", "NOT ALLOWED");
} }

View file

@ -8,7 +8,7 @@ var perfCLBInput = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/cost-index", 0); setprop("/FMGC/internal/cost-index", 0);
setprop("/FMGC/internal/cost-index-set", 0); setprop("/FMGC/internal/cost-index-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var ci = int(scratchpad); var ci = int(scratchpad);

View file

@ -8,7 +8,7 @@ var perfTOInput = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/v1", 0); setprop("/FMGC/internal/v1", 0);
setprop("/FMGC/internal/v1-set", 0); setprop("/FMGC/internal/v1-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -28,7 +28,7 @@ var perfTOInput = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/vr", 0); setprop("/FMGC/internal/vr", 0);
setprop("/FMGC/internal/vr-set", 0); setprop("/FMGC/internal/vr-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -49,7 +49,7 @@ var perfTOInput = func(key, i) {
setprop("/FMGC/internal/v2", 0); setprop("/FMGC/internal/v2", 0);
setprop("/FMGC/internal/v2-set", 0); setprop("/FMGC/internal/v2-set", 0);
setprop("/it-autoflight/settings/togaspd", 157); setprop("/it-autoflight/settings/togaspd", 157);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -87,7 +87,7 @@ var perfTOInput = func(key, i) {
setprop("/systems/thrust/clbreduc-ft", "1500"); setprop("/systems/thrust/clbreduc-ft", "1500");
setprop("/FMGC/internal/reduc-agl-ft", "3000"); setprop("/FMGC/internal/reduc-agl-ft", "3000");
setprop("/MCDUC/thracc-set", 0); setprop("/MCDUC/thracc-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -112,7 +112,7 @@ var perfTOInput = func(key, i) {
setprop("/FMGC/internal/to-flap", 0); setprop("/FMGC/internal/to-flap", 0);
setprop("/FMGC/internal/to-ths", "0.0"); setprop("/FMGC/internal/to-ths", "0.0");
setprop("/FMGC/internal/flap-ths-set", 0); setprop("/FMGC/internal/flap-ths-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -134,7 +134,7 @@ var perfTOInput = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/flex", 0); setprop("/FMGC/internal/flex", 0);
setprop("/FMGC/internal/flex-set", 0); setprop("/FMGC/internal/flex-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -156,7 +156,7 @@ var perfTOInput = func(key, i) {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/eng-out-reduc", "3500"); setprop("/FMGC/internal/eng-out-reduc", "3500");
setprop("/MCDUC/reducacc-set", 0); setprop("/MCDUC/reducacc-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);

View file

@ -7,7 +7,7 @@ var radnavInput = func(key, i) {
if (key == "L1") { if (key == "L1") {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/vor1freq-set", 0); setprop("/FMGC/internal/vor1freq-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -37,7 +37,7 @@ var radnavInput = func(key, i) {
} else if (key == "L2") { } else if (key == "L2") {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/vor1crs-set", 0); setprop("/FMGC/internal/vor1crs-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -56,7 +56,7 @@ var radnavInput = func(key, i) {
} else if (key == "L3") { } else if (key == "L3") {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/ils1freq-set", 0); setprop("/FMGC/internal/ils1freq-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -82,7 +82,7 @@ var radnavInput = func(key, i) {
} else if (key == "L4") { } else if (key == "L4") {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/ils1crs-set", 0); setprop("/FMGC/internal/ils1crs-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -101,7 +101,7 @@ var radnavInput = func(key, i) {
} else if (key == "L5") { } else if (key == "L5") {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/adf1freq-set", 0); setprop("/FMGC/internal/adf1freq-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -120,7 +120,7 @@ var radnavInput = func(key, i) {
} else if (key == "R1") { } else if (key == "R1") {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/vor2freq-set", 0); setprop("/FMGC/internal/vor2freq-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -150,7 +150,7 @@ var radnavInput = func(key, i) {
} else if (key == "R2") { } else if (key == "R2") {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/vor2crs-set", 0); setprop("/FMGC/internal/vor2crs-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);
@ -169,7 +169,7 @@ var radnavInput = func(key, i) {
} else if (key == "R5") { } else if (key == "R5") {
if (scratchpad == "CLR") { if (scratchpad == "CLR") {
setprop("/FMGC/internal/adf2freq-set", 0); setprop("/FMGC/internal/adf2freq-set", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", "0"); setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
setprop("/MCDU[" ~ i ~ "]/scratchpad", ""); setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
} else { } else {
var tfs = size(scratchpad); var tfs = size(scratchpad);

View file

@ -1 +1 @@
4750 4751