1
0
Fork 0
A320-family/Nasal/MCDU/IRSINIT.nas

102 lines
4.2 KiB
Text
Raw Normal View History

2020-04-30 19:26:36 +00:00
# Copyright (c) 2020 Matthew Maring (mattmaring)
var initInputIRS = func(key, i) {
if (key == "up") {
if (getprop("FMGC/internal/align-ref-lat-edit")) {
if (num(getprop("FMGC/internal/align-ref-lat-minutes")) == 180) {
if (getprop("FMGC/internal/align-ref-lat-sign") == "N") {
setprop("FMGC/internal/align-ref-lat-sign", "S");
} else {
setprop("FMGC/internal/align-ref-lat-sign", "N");
}
} else if (num(getprop("FMGC/internal/align-ref-lat-minutes")) == 59.9) {
setprop("FMGC/internal/align-ref-lat-degrees", getprop("FMGC/internal/align-ref-lat-degrees") + 1);
setprop("FMGC/internal/align-ref-lat-minutes", 0.0);
} else {
setprop("FMGC/internal/align-ref-lat-minutes", getprop("FMGC/internal/align-ref-lat-minutes") + 0.1);
}
} else if (getprop("FMGC/internal/align-ref-long-edit")) {
if (num(getprop("FMGC/internal/align-ref-long-minutes")) == 180) {
if (getprop("FMGC/internal/align-ref-long-sign") == "W") {
setprop("FMGC/internal/align-ref-long-sign", "E");
} else {
setprop("FMGC/internal/align-ref-long-sign", "W");
}
} else if (num(getprop("FMGC/internal/align-ref-long-minutes")) == 59.9) {
setprop("FMGC/internal/align-ref-long-degrees", getprop("FMGC/internal/align-ref-long-degrees") + 1);
setprop("FMGC/internal/align-ref-long-minutes", 0.0);
} else {
setprop("FMGC/internal/align-ref-long-minutes", getprop("FMGC/internal/align-ref-long-minutes") + 0.1);
}
} else {
2020-05-23 11:16:20 +00:00
mcdu_message(i, "NOT ALLOWED");
}
} else if (key == "down") {
if (getprop("FMGC/internal/align-ref-lat-edit")) {
if (num(getprop("FMGC/internal/align-ref-lat-minutes")) == 0) {
if (getprop("FMGC/internal/align-ref-lat-sign") == "N") {
setprop("FMGC/internal/align-ref-lat-sign", "S");
} else {
setprop("FMGC/internal/align-ref-lat-sign", "N");
}
} else if (num(getprop("FMGC/internal/align-ref-lat-minutes")) == 0) {
setprop("FMGC/internal/align-ref-lat-degrees", getprop("FMGC/internal/align-ref-lat-degrees") - 1);
setprop("FMGC/internal/align-ref-lat-minutes", 59.9);
} else {
setprop("FMGC/internal/align-ref-lat-minutes", getprop("FMGC/internal/align-ref-lat-minutes") - 0.1);
}
} else if (getprop("FMGC/internal/align-ref-long-edit")) {
if (num(getprop("FMGC/internal/align-ref-long-minutes")) == 0) {
if (getprop("FMGC/internal/align-ref-long-sign") == "W") {
setprop("FMGC/internal/align-ref-long-sign", "E");
} else {
setprop("FMGC/internal/align-ref-long-sign", "W");
}
} else if (num(getprop("FMGC/internal/align-ref-long-minutes")) == 0) {
setprop("FMGC/internal/align-ref-long-degrees", getprop("FMGC/internal/align-ref-long-degrees") - 1);
setprop("FMGC/internal/align-ref-long-minutes", 59.9);
} else {
setprop("FMGC/internal/align-ref-long-minutes", getprop("FMGC/internal/align-ref-long-minutes") - 0.1);
}
} else {
2020-05-23 11:16:20 +00:00
mcdu_message(i, "NOT ALLOWED");
}
} else if (key == "L1") {
2020-07-10 19:28:17 +00:00
if (fmgc.FMGCInternal.toFromSet) {
setprop("FMGC/internal/align-ref-lat-edit", 1);
setprop("FMGC/internal/align-ref-long-edit", 0);
} else {
2020-05-23 11:16:20 +00:00
mcdu_message(i, "NOT ALLOWED");
}
} else if (key == "L6") {
setprop("FMGC/internal/align-ref-lat-edit", 0);
setprop("FMGC/internal/align-ref-long-edit", 0);
setprop("MCDU[" ~ i ~ "]/page", "INITA");
} else if (key == "R1") {
2020-07-10 19:28:17 +00:00
if (fmgc.FMGCInternal.toFromSet) {
setprop("FMGC/internal/align-ref-lat-edit", 0);
setprop("FMGC/internal/align-ref-long-edit", 1);
} else {
2020-05-23 11:16:20 +00:00
mcdu_message(i, "NOT ALLOWED");
}
} else if (key == "R6") {
setprop("FMGC/internal/align-ref-lat-edit", 0);
setprop("FMGC/internal/align-ref-long-edit", 0);
2020-07-10 19:28:17 +00:00
if (fmgc.FMGCInternal.toFromSet and getprop("systems/navigation/adr/any-adr-on") == 1) {
2020-03-28 20:40:02 +00:00
if (getprop("FMGC/internal/align-set") == 0) {
setprop("FMGC/internal/align-set", 1);
} else {
setprop("controls/adirs/mcducbtn", 1);
2020-04-13 19:04:01 +00:00
setprop("FMGC/internal/align-set", 0);
2020-03-28 20:40:02 +00:00
setprop("MCDU[" ~ i ~ "]/page", "INITA");
}
2020-07-10 19:28:17 +00:00
} else if (!fmgc.FMGCInternal.toFromSet) {
2020-05-23 11:16:20 +00:00
# setprop("MCDU[" ~ i ~ "]/scratchpad", "SELECT REFERENCE");
2020-03-28 20:40:02 +00:00
} else if (getprop("systems/navigation/adr/any-adr-on") == 0) {
2020-05-23 11:16:20 +00:00
# setprop("MCDU[" ~ i ~ "]/scratchpad", "IRS NOT ALIGNED");
2020-03-28 20:40:02 +00:00
} else {
2020-05-23 11:16:20 +00:00
mcdu_message(i, "NOT ALLOWED");
2020-03-28 20:40:02 +00:00
}
}
}