props.nas
This commit is contained in:
parent
66c2f98218
commit
dc8e719b4b
2 changed files with 105 additions and 79 deletions
|
@ -15,9 +15,15 @@ setprop("/ECAM/show-right-msg", 1);
|
||||||
setprop("/ECAM/warnings/master-warning-light", 0);
|
setprop("/ECAM/warnings/master-warning-light", 0);
|
||||||
setprop("/ECAM/warnings/master-warning-flash", 0);
|
setprop("/ECAM/warnings/master-warning-flash", 0);
|
||||||
setprop("/ECAM/warnings/master-caution-light", 0);
|
setprop("/ECAM/warnings/master-caution-light", 0);
|
||||||
setprop("/ECAM/warnings/overflow", 0);
|
|
||||||
setprop("/ECAM/warnings/overflow-left", 0);
|
var lines = [props.globals.getNode("/ECAM/msg/line1", 1), props.globals.getNode("/ECAM/msg/line2", 1), props.globals.getNode("/ECAM/msg/line3", 1), props.globals.getNode("/ECAM/msg/line4", 1), props.globals.getNode("/ECAM/msg/line5", 1), props.globals.getNode("/ECAM/msg/line6", 1), props.globals.getNode("/ECAM/msg/line7", 1), props.globals.getNode("/ECAM/msg/line8", 1)];
|
||||||
setprop("/ECAM/warnings/overflow-right", 0);
|
var linesCol = [props.globals.getNode("/ECAM/msg/linec1", 1), props.globals.getNode("/ECAM/msg/linec2", 1), props.globals.getNode("/ECAM/msg/linec3", 1), props.globals.getNode("/ECAM/msg/linec4", 1), props.globals.getNode("/ECAM/msg/linec5", 1), props.globals.getNode("/ECAM/msg/linec6", 1), props.globals.getNode("/ECAM/msg/linec7", 1), props.globals.getNode("/ECAM/msg/linec8", 1)];
|
||||||
|
var leftOverflow = props.globals.initNode("/ECAM/warnings/overflow-left", "BOOL", 0);
|
||||||
|
var rightOverflow = props.globals.initNode("/ECAM/warnings/overflow-right", "BOOL", 0);
|
||||||
|
var overflow = props.globals.initNode("/ECAM/warnings/overflow", "BOOL", 0);
|
||||||
|
|
||||||
|
var lights = [props.globals.initNode("/ECAM/warnings/master-warning-light", "BOOL", 0), props.globals.initNode("/ECAM/warnings/master-caution-light", "BOOL", 0)];
|
||||||
|
var aural = [props.globals.initNode("/sim/sound/warnings/crc", "BOOL", 0), props.globals.initNode("/sim/sound/warnings/chime", "BOOL", 0)];
|
||||||
|
|
||||||
var warning = {
|
var warning = {
|
||||||
msg: "",
|
msg: "",
|
||||||
|
@ -26,7 +32,8 @@ var warning = {
|
||||||
aural: "",
|
aural: "",
|
||||||
light: "",
|
light: "",
|
||||||
noRepeat: 0,
|
noRepeat: 0,
|
||||||
new: func(msg,active,colour,aural,light,noRepeat) {
|
clearFlag: 0,
|
||||||
|
new: func(msg,active,colour,aural,light,noRepeat,clearFlag) {
|
||||||
var t = {parents:[warning]};
|
var t = {parents:[warning]};
|
||||||
|
|
||||||
t.msg = msg;
|
t.msg = msg;
|
||||||
|
@ -35,40 +42,42 @@ var warning = {
|
||||||
t.aural = aural;
|
t.aural = aural;
|
||||||
t.light = light;
|
t.light = light;
|
||||||
t.noRepeat = noRepeat;
|
t.noRepeat = noRepeat;
|
||||||
|
t.clearFlag = clearFlag;
|
||||||
|
|
||||||
return t
|
return t
|
||||||
},
|
},
|
||||||
write: func() {
|
write: func() {
|
||||||
|
if (me.active == 0) {return;}
|
||||||
line = 1;
|
line = 1;
|
||||||
while (getprop("/ECAM/msg/line" ~ line) != "" and line <= 8) {
|
while (lines[line].getValue()) != "" and line <= 8) {
|
||||||
line = line + 1; # go to next line until empty line
|
line = line + 1; # go to next line until empty line
|
||||||
}
|
}
|
||||||
|
|
||||||
if (line > 8) {
|
if (line > 8) {
|
||||||
setprop("/ECAM/warnings/overflow-left", 1);
|
leftOverflow.setBoolValue(1);
|
||||||
} elsif (getprop("/ECAM/warnings/overflow-left") == 1) {
|
} elsif (leftOverflow.getBoolValue() == 1) {
|
||||||
setprop("/ECAM/warnings/overflow-left", 0);
|
leftOverflow.setBoolValue(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getprop("/ECAM/msg/line" ~ line) == "" and me.active == 1 and me.msg != "" and line <= 8) { # at empty line. Also checks if message is not blank to allow for some warnings with no displayed msg, eg stall
|
if (lines[line].getValue() == "" and me.msg != "" and line <= 8) { # at empty line. Also checks if message is not blank to allow for some warnings with no displayed msg, eg stall
|
||||||
setprop("/ECAM/msg/line" ~ line, me.msg);
|
lines[line].setValue(me.msg);
|
||||||
setprop("/ECAM/msg/linec" ~ line, me.colour);
|
linesCol[line].setValue(me.colour);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
warnlight: func() {
|
warnlight: func() {
|
||||||
if ((me.light != "none" or me.light != "") and me.noRepeat == 0 and me.active == 1) { # only toggle light once per message, allows canceling
|
if (me.active == 0 or me.light >= 1) {return;}
|
||||||
setprop("/ECAM/warnings/master-"~me.light~"-light", 1);
|
|
||||||
|
if (me.noRepeat == 0 and lights[me.light].getBoolValue() == 0) { # only toggle light once per message, allows canceling
|
||||||
|
lights[me.light].setBoolValue(1);
|
||||||
me.noRepeat = 1;
|
me.noRepeat = 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sound: func() {
|
sound: func() {
|
||||||
if (me.active and (me.aural != "none" or me.aural != "") and getprop("/sim/sound/warnings/"~me.aural) != 1) {
|
if (me.active == 0 or me.aural >= 1) {return;}
|
||||||
setprop("/sim/sound/warnings/"~me.aural, 1);
|
if (aural[me.aural].getBoolValue() != 1) {
|
||||||
} else if (!me.active or me.aural == "none") {
|
aural[me.aural].setBoolValue(1);
|
||||||
if (getprop("/sim/sound/warnings/"~me.aural) == 1) {
|
|
||||||
setprop("/sim/sound/warnings/"~me.aural, 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
# have to cancel it anyway, I think it does not go out even if failure is removed
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -86,6 +95,7 @@ var memo = {
|
||||||
return t
|
return t
|
||||||
},
|
},
|
||||||
write: func() {
|
write: func() {
|
||||||
|
if (me.active == 1) {
|
||||||
right_line = 1;
|
right_line = 1;
|
||||||
while (getprop("/ECAM/rightmsg/line" ~ right_line) != "" and right_line <= 8) {
|
while (getprop("/ECAM/rightmsg/line" ~ right_line) != "" and right_line <= 8) {
|
||||||
right_line = right_line + 1; # go to next line until empty line
|
right_line = right_line + 1; # go to next line until empty line
|
||||||
|
@ -97,10 +107,11 @@ var memo = {
|
||||||
setprop("/ECAM/warnings/overflow-right", 0);
|
setprop("/ECAM/warnings/overflow-right", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getprop("/ECAM/rightmsg/line" ~ right_line) == "" and me.active == 1 and right_line <= 8) { # at empty line
|
if (getprop("/ECAM/rightmsg/line" ~ right_line) == "" and right_line <= 8) { # at empty line
|
||||||
setprop("/ECAM/rightmsg/line" ~ right_line, me.msg);
|
setprop("/ECAM/rightmsg/line" ~ right_line, me.msg);
|
||||||
setprop("/ECAM/rightmsg/linec" ~ right_line, me.colour);
|
setprop("/ECAM/rightmsg/linec" ~ right_line, me.colour);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -118,15 +129,17 @@ var status = {
|
||||||
return t
|
return t
|
||||||
},
|
},
|
||||||
write: func() {
|
write: func() {
|
||||||
|
if (me.active == 1) {
|
||||||
status_line = 1;
|
status_line = 1;
|
||||||
while (getprop("/ECAM/status/line" ~ status_line) != "" and status_line <= 8) {
|
while (getprop("/ECAM/status/line" ~ status_line) != "" and status_line <= 8) {
|
||||||
status_line = status_line + 1; # go to next line until empty line
|
status_line = status_line + 1; # go to next line until empty line
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getprop("/ECAM/status/line" ~ status_line) == "" and me.active == 1 and status_line <= 8) { # at empty line
|
if (getprop("/ECAM/status/line" ~ status_line) == "" and status_line <= 8) { # at empty line
|
||||||
setprop("/ECAM/status/line" ~ status_line, me.msg);
|
setprop("/ECAM/status/line" ~ status_line, me.msg);
|
||||||
setprop("/ECAM/status/linec" ~ status_line, me.colour);
|
setprop("/ECAM/status/linec" ~ status_line, me.colour);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -137,7 +150,6 @@ var ECAM_controller = {
|
||||||
},
|
},
|
||||||
loop: func() {
|
loop: func() {
|
||||||
# check active messages
|
# check active messages
|
||||||
# config_warnings();
|
|
||||||
messages_priority_3();
|
messages_priority_3();
|
||||||
messages_priority_2();
|
messages_priority_2();
|
||||||
messages_priority_1();
|
messages_priority_1();
|
||||||
|
@ -224,6 +236,17 @@ var ECAM_controller = {
|
||||||
if (w.active == 1) {
|
if (w.active == 1) {
|
||||||
w.active = 0; # todo: need to hit CLR to clear condition, not automatic
|
w.active = 0; # todo: need to hit CLR to clear condition, not automatic
|
||||||
w.noRepeat = 0; # should warning only clear if condition is not true?
|
w.noRepeat = 0; # should warning only clear if condition is not true?
|
||||||
|
w.clearFlag = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
recall: func() {
|
||||||
|
foreach (var w; warnings.vector) {
|
||||||
|
if (w.clearFlag == 1) {
|
||||||
|
w.active = 1;
|
||||||
|
w.noRepeat = 1;
|
||||||
|
w.clearFlag = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,55 +4,58 @@
|
||||||
|
|
||||||
# messages stored in vectors
|
# messages stored in vectors
|
||||||
|
|
||||||
|
# Lights: 0 = red, 1 = yellow, 9 = none
|
||||||
|
# Sounds: 0 = master warn, 1 = chime, 9 = other
|
||||||
|
|
||||||
# Left E/WD
|
# Left E/WD
|
||||||
var warningsOld = std.Vector.new([
|
var warningsOld = std.Vector.new([
|
||||||
var lg_not_dn = warning.new(msg: "L/G GEAR NOT DOWN", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var lg_not_dn = warning.new(msg: "L/G GEAR NOT DOWN", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var pack1_fault = warning.new(msg: "AIR PACK 1 FAULT ", active: 0, colour: "a", aural: "chime", light: "caution", noRepeat: 0),
|
var pack1_fault = warning.new(msg: "AIR PACK 1 FAULT ", active: 0, colour: "a", aural: 1, light: 1, noRepeat: 0, clearFlag: 0),
|
||||||
var pack1_fault_subwarn_1 = warning.new(msg: "-PACK 1.............OFF ", active: 0, colour: "b", aural: "none", light: "none", noRepeat: 0),
|
var pack1_fault_subwarn_1 = warning.new(msg: "-PACK 1.............OFF ", active: 0, colour: "b", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var pack2_fault = warning.new(msg: "AIR PACK 2 FAULT ", active: 0, colour: "a", aural: "chime", light: "caution", noRepeat: 0),
|
var pack2_fault = warning.new(msg: "AIR PACK 2 FAULT ", active: 0, colour: "a", aural: 1, light: 1, noRepeat: 0, clearFlag: 0),
|
||||||
var pack2_fault_subwarn_1 = warning.new(msg: "-PACK 2.............OFF ", active: 0, colour: "b", aural: "none", light: "none", noRepeat: 0),
|
var pack2_fault_subwarn_1 = warning.new(msg: "-PACK 2.............OFF ", active: 0, colour: "b", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var park_brk_on = warning.new(msg: "PARK BRK ON", active: 0, colour: "a", aural: "chime", light: "caution", noRepeat: 0)
|
var park_brk_on = warning.new(msg: "PARK BRK ON", active: 0, colour: "a", aural: 1, light: 1, noRepeat: 0, clearFlag: 0)
|
||||||
]);
|
]);
|
||||||
|
|
||||||
var warnings = std.Vector.new([
|
var warnings = std.Vector.new([
|
||||||
var flap_not_zero = warning.new(msg: "F/CTL FLAP LVR NOT ZERO", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var flap_not_zero = warning.new(msg: "F/CTL FLAP LVR NOT ZERO", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
|
|
||||||
# Config
|
# Config
|
||||||
var slats_config = warning.new(msg: "CONFIG", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var slats_config = warning.new(msg: "CONFIG", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var slats_config_1 = warning.new(msg: "SLATS NOT IN T.O. CONFIG", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var slats_config_1 = warning.new(msg: "SLATS NOT IN T.O. CONFIG", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var flaps_config = warning.new(msg: "CONFIG", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var flaps_config = warning.new(msg: "CONFIG", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var flaps_config_1 = warning.new(msg: "FLAPS NOT IN T.O. CONFIG", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var flaps_config_1 = warning.new(msg: "FLAPS NOT IN T.O. CONFIG", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var spd_brk_config = warning.new(msg: "CONFIG", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var spd_brk_config = warning.new(msg: "CONFIG", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var spd_brk_config_1 = warning.new(msg: "SPD BRK NOT RETRACTED", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var spd_brk_config_1 = warning.new(msg: "SPD BRK NOT RETRACTED", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var pitch_trim_config = warning.new(msg: "CONFIG PITCH TRIM", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var pitch_trim_config = warning.new(msg: "CONFIG PITCH TRIM", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var pitch_trim_config_1 = warning.new(msg: " NOT IN T.O. RANGE", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var pitch_trim_config_1 = warning.new(msg: " NOT IN T.O. RANGE", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var rud_trim_config = warning.new(msg: "CONFIG RUD TRIM", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var rud_trim_config = warning.new(msg: "CONFIG RUD TRIM", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var rud_trim_config_1 = warning.new(msg: " NOT IN T.O. RANGE", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var rud_trim_config_1 = warning.new(msg: " NOT IN T.O. RANGE", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var park_brk_config = warning.new(msg: "CONFIG PARK BRK ON", active: 0, colour: "r", aural: "crc", light: "warning", noRepeat: 0),
|
var park_brk_config = warning.new(msg: "CONFIG PARK BRK ON", active: 0, colour: "r", aural: 0, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
|
|
||||||
# Autopilot
|
# Autopilot
|
||||||
var ap_offw = warning.new(msg: "AUTO FLT AP OFF", active: 0, colour: "r", aural: "calv", light: "warning", noRepeat: 0),
|
var ap_offw = warning.new(msg: "AUTO FLT AP OFF", active: 0, colour: "r", aural: 9, light: 0, noRepeat: 0, clearFlag: 0),
|
||||||
var athr_offw = warning.new(msg: "AUTO FLT A/THR OFF", active: 0, colour: "a", aural: "chime", light: "caution", noRepeat: 0),
|
var athr_offw = warning.new(msg: "AUTO FLT A/THR OFF", active: 0, colour: "a", aural: 1, light: 1, noRepeat: 0, clearFlag: 0),
|
||||||
var athr_offw_1 = warning.new(msg: "-THR LEVERS........MOVE", active: 0, colour: "b", aural: "none", light: "none", noRepeat: 0),
|
var athr_offw_1 = warning.new(msg: "-THR LEVERS........MOVE", active: 0, colour: "b", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var athr_lock = warning.new(msg: "ENG THRUST LOCKED", active: 0, colour: "a", aural: "chime", light: "caution", noRepeat: 0),
|
var athr_lock = warning.new(msg: "ENG THRUST LOCKED", active: 0, colour: "a", aural: 1, light: 1, noRepeat: 0, clearFlag: 0),
|
||||||
var athr_lock_1 = warning.new(msg: "-THR LEVERS........MOVE", active: 0, colour: "b", aural: "none", light: "none", noRepeat: 0),
|
var athr_lock_1 = warning.new(msg: "-THR LEVERS........MOVE", active: 0, colour: "b", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var athr_lim = warning.new(msg: "AUTO FLT A/THR LIMITED", active: 0, colour: "a", aural: "chime", light: "caution", noRepeat: 0),
|
var athr_lim = warning.new(msg: "AUTO FLT A/THR LIMITED", active: 0, colour: "a", aural: 1, light: 1, noRepeat: 0, clearFlag: 0),
|
||||||
var athr_lim_1 = warning.new(msg: "-THR LEVERS........MOVE", active: 0, colour: "b", aural: "none", light: "none", noRepeat: 0)
|
var athr_lim_1 = warning.new(msg: "-THR LEVERS........MOVE", active: 0, colour: "b", aural: 9, light: 9, noRepeat: 0, clearFlag: 0)
|
||||||
]);
|
]);
|
||||||
|
|
||||||
var leftmemos = std.Vector.new([
|
var leftmemos = std.Vector.new([
|
||||||
var company_alert = warning.new(msg: "COMPANY ALERT", active: 0, colour: "g", aural: "buzz", light: "none", noRepeat: 0), # Not yet implemented, buzzer sound
|
var company_alert = warning.new(msg: "COMPANY ALERT", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0), # Not yet implemented, buzzer sound
|
||||||
var refuelg = warning.new(msg: "REFUELG", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0),
|
var refuelg = warning.new(msg: "REFUELG", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var irs_in_align = warning.new(msg: "IRS IN ALIGN", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0), # Not yet implemented
|
var irs_in_align = warning.new(msg: "IRS IN ALIGN", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0), # Not yet implemented
|
||||||
var gnd_splrs = warning.new(msg: "GND SPLRS ARMED", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0),
|
var gnd_splrs = warning.new(msg: "GND SPLRS ARMED", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var seatbelts = warning.new(msg: "SEAT BELTS", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0),
|
var seatbelts = warning.new(msg: "SEAT BELTS", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var nosmoke = warning.new(msg: "NO SMOKING", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0),
|
var nosmoke = warning.new(msg: "NO SMOKING", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var strobe_lt_off = warning.new(msg: "STROBE LT OFF", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0),
|
var strobe_lt_off = warning.new(msg: "STROBE LT OFF", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var outr_tk_fuel_xfrd = warning.new(msg: "OUTR TK FUEL XFRD", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0), # Not yet implemented
|
var outr_tk_fuel_xfrd = warning.new(msg: "OUTR TK FUEL XFRD", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0), # Not yet implemented
|
||||||
var fob_3T = warning.new(msg: "FOB BELOW 3T", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0),
|
var fob_3T = warning.new(msg: "FOB BELOW 3T", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var gpws_flap_mode_off = warning.new(msg: "GPWS FLAP MODE OFF", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0),
|
var gpws_flap_mode_off = warning.new(msg: "GPWS FLAP MODE OFF", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0),
|
||||||
var atc_datalink_stby = warning.new(msg: "ATC DATALINK STBY", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0), # Not yet implemented
|
var atc_datalink_stby = warning.new(msg: "ATC DATALINK STBY", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0), # Not yet implemented
|
||||||
var company_datalink_stby = warning.new(msg: "COMPANY DATALINK STBY", active: 0, colour: "g", aural: "none", light: "none", noRepeat: 0) # Not yet implemented
|
var company_datalink_stby = warning.new(msg: "COMPANY DATALINK STBY", active: 0, colour: "g", aural: 9, light: 9, noRepeat: 0, clearFlag: 0) # Not yet implemented
|
||||||
]);
|
]);
|
||||||
|
|
||||||
# Right E/WD
|
# Right E/WD
|
||||||
|
|
Reference in a new issue