Merge branch 'dev' into 3D
This commit is contained in:
commit
dea151a6eb
16 changed files with 177 additions and 219 deletions
|
@ -401,9 +401,9 @@ var beforestart_b = func {
|
|||
setprop("/controls/adirs/mcducbtn", 1);
|
||||
setprop("/controls/switches/beacon", 1);
|
||||
setprop("/controls/lighting/nav-lights-switch", 1);
|
||||
libraries.noSmokingSwitch.setValue(0.5);
|
||||
libraries.seatbeltSwitch.setValue(1.0);
|
||||
libraries.emerLtsSwitch.setValue(0.5);
|
||||
pts.Controls.Switches.noSmokingSwitch.setValue(0.5);
|
||||
pts.Controls.Switches.seatbeltSwitch.setValue(1.0);
|
||||
pts.Controls.Switches.emerLtsSwitch.setValue(0.5);
|
||||
setprop("/controls/radio/rmp[0]/on", 1);
|
||||
setprop("/controls/radio/rmp[1]/on", 1);
|
||||
setprop("/controls/radio/rmp[2]/on", 1);
|
||||
|
@ -499,9 +499,9 @@ var taxi_b = func {
|
|||
setprop("/controls/switches/beacon", 1);
|
||||
setprop("/controls/switches/wing-lights", 1);
|
||||
setprop("/controls/lighting/nav-lights-switch", 1);
|
||||
libraries.noSmokingSwitch.setValue(0.5);
|
||||
libraries.seatbeltSwitch.setValue(1.0);
|
||||
libraries.emerLtsSwitch.setValue(0.5);
|
||||
pts.Controls.Switches.noSmokingSwitch.setValue(0.5);
|
||||
pts.Controls.Switches.seatbeltSwitch.setValue(1.0);
|
||||
pts.Controls.Switches.emerLtsSwitch.setValue(0.5);
|
||||
setprop("/controls/radio/rmp[0]/on", 1);
|
||||
setprop("/controls/radio/rmp[1]/on", 1);
|
||||
setprop("/controls/radio/rmp[2]/on", 1);
|
||||
|
|
|
@ -1224,6 +1224,7 @@
|
|||
<!-- Remove from this animation once you simulate -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>atc-test</object-name>
|
||||
<object-name>audio_att_sgn</object-name>
|
||||
<object-name>audio_call_hf2_led</object-name>
|
||||
<object-name>audio_call_hf1_led</object-name>
|
||||
|
@ -1233,13 +1234,10 @@
|
|||
<object-name>audio_mech_sgn</object-name>
|
||||
<object-name>ecam_c_b_led</object-name>
|
||||
<object-name>ecam_el_dc_led</object-name>
|
||||
<object-name>ecam_sts_led</object-name>
|
||||
<object-name>engine_fault_1</object-name>
|
||||
<object-name>engine_fault_2</object-name>
|
||||
<object-name>exped_led</object-name>
|
||||
<object-name>qnh-test</object-name>
|
||||
<object-name>radio_opt_led</object-name>
|
||||
<object-name>ver.fmgc</object-name>
|
||||
<condition>
|
||||
<property>controls/switches/annun-test</property>
|
||||
</condition>
|
||||
|
@ -1250,7 +1248,9 @@
|
|||
<object-name>alt-text-test</object-name>
|
||||
<object-name>hdg-text-test</object-name>
|
||||
<object-name>spd-text-test</object-name>
|
||||
<object-name>qnh-test</object-name>
|
||||
<object-name>vs-text-test</object-name>
|
||||
<object-name>ver.fmgc</object-name>
|
||||
<condition>
|
||||
<or>
|
||||
<not><property>FMGC/FCU-working</property></not>
|
||||
|
|
|
@ -25,7 +25,7 @@ var new = func(layer) {
|
|||
map: layer.map,
|
||||
listeners: [],
|
||||
};
|
||||
layer.searcher._equals = func(l,r) 0; # TODO: create model objects instead?
|
||||
layer.searcher._equals = func(l,r) return (l == r);
|
||||
append(m.listeners, setlistener(layer.options.active_node, func m.layer.update() ), setlistener(layer.options.wp_num, func m.layer.update() ));
|
||||
m.addVisibilityListener();
|
||||
var driver = opt_member(m.layer.options, 'route_driver');
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
<object-name>CargoHotAirBtn1F</object-name>
|
||||
<object-name>CargoHotAirBtn2O</object-name>
|
||||
<object-name>CrewOxyBtn2O</object-name>
|
||||
<object-name>ExtPwrBtn1A</object-name>
|
||||
<object-name>GalleyPwrBtn1F</object-name>
|
||||
<object-name>GalleyPwrBtn2O</object-name>
|
||||
<object-name>Gen1LineBtn1S</object-name>
|
||||
|
@ -110,6 +109,44 @@
|
|||
</condition>
|
||||
</animation>
|
||||
|
||||
<!-- Special for EXT pwr AVAIL light -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>ExtPwrBtn1A</object-name>
|
||||
<condition>
|
||||
<or>
|
||||
<and>
|
||||
<or>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-si-bus</property>
|
||||
<value>110</value>
|
||||
</greater-than-equals>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-ess-shed</property>
|
||||
<value>110</value>
|
||||
</greater-than-equals>
|
||||
</or>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-ess</property>
|
||||
<value>110</value>
|
||||
</greater-than-equals>
|
||||
</and>
|
||||
<and>
|
||||
<greater-than>
|
||||
<property>/systems/electrical/sources/ext/output-volt</property>
|
||||
<value>110</value>
|
||||
</greater-than>
|
||||
<not>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-ess</property>
|
||||
<value>110</value>
|
||||
</greater-than-equals>
|
||||
</not>
|
||||
</and>
|
||||
</or>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<!-- 36LP AC 2 202XP 5VAC transformer -->
|
||||
<animation>
|
||||
<type>select</type>
|
||||
|
|
|
@ -3314,7 +3314,7 @@ var messages_config_memo = func {
|
|||
toMemoLine1.colour = "c";
|
||||
}
|
||||
|
||||
if (libraries.seatbeltSwitch.getValue() and libraries.noSmokingSwitch.getValue() ) {
|
||||
if (pts.Controls.Switches.seatbeltSwitch.getValue() and pts.Controls.Switches.noSmokingSwitch.getValue()) {
|
||||
toMemoLine2.msg = " SIGNS ON";
|
||||
toMemoLine2.colour = "g";
|
||||
} else {
|
||||
|
@ -3380,7 +3380,7 @@ var messages_config_memo = func {
|
|||
ldgMemoLine1.colour = "c";
|
||||
}
|
||||
|
||||
if (libraries.seatbeltSwitch.getValue() and libraries.noSmokingSwitch.getValue()) {
|
||||
if (pts.Controls.Switches.seatbeltSwitch.getValue() and pts.Controls.Switches.noSmokingSwitch.getValue()) {
|
||||
ldgMemoLine2.msg = " SIGNS ON";
|
||||
ldgMemoLine2.colour = "g";
|
||||
} else {
|
||||
|
@ -3505,19 +3505,19 @@ var messages_memo = func {
|
|||
gnd_splrs.active = 0;
|
||||
}
|
||||
|
||||
if (libraries.seatbeltLight.getValue() == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
|
||||
if (pts.Controls.Lighting.seatbeltSign.getValue() and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
|
||||
seatbelts.active = 1;
|
||||
} else {
|
||||
seatbelts.active = 0;
|
||||
}
|
||||
|
||||
if (libraries.noSmokingLight.getValue() == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) { # should go off after takeoff assuming switch is in auto due to old logic from the days when smoking was allowed!
|
||||
if (pts.Controls.Lighting.noSmokingSign.getValue() and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) { # should go off after takeoff assuming switch is in auto due to old logic from the days when smoking was allowed!
|
||||
nosmoke.active = 1;
|
||||
} else {
|
||||
nosmoke.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/controls/lighting/strobe") == 0 and !pts.Gear.wow[1].getValue() and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) { # todo: use gear branch properties
|
||||
if (!pts.Controls.Lighting.strobe.getValue() and !pts.Gear.wow[1].getValue() and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) { # todo: use gear branch properties
|
||||
strobe_lt_off.active = 1;
|
||||
} else {
|
||||
strobe_lt_off.active = 0;
|
||||
|
@ -3542,7 +3542,7 @@ var messages_memo = func {
|
|||
fob_66L.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override") == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
|
||||
if (pts.Instrumentation.MKVII.Inputs.Discretes.flapAllOverride.getValue() and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
|
||||
gpws_flap_mode_off.active = 1;
|
||||
} else {
|
||||
gpws_flap_mode_off.active = 0;
|
||||
|
@ -3737,7 +3737,7 @@ var messages_right_memo = func {
|
|||
brk_fan.active = 0;
|
||||
}
|
||||
|
||||
if (pts.Instrumentation.MKVII.Inputs.Discretes.flap3Override.getValue() == 1) { # todo: emer elec
|
||||
if (pts.Instrumentation.MKVII.Inputs.Discretes.flap3Override.getValue()) { # todo: emer elec
|
||||
gpws_flap3.active = 1;
|
||||
} else {
|
||||
gpws_flap3.active = 0;
|
||||
|
|
|
@ -22,7 +22,7 @@ var variousReset = func() {
|
|||
setprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override", 0);
|
||||
setprop("/controls/switches/cabinCall", 0);
|
||||
setprop("/controls/switches/mechCall", 0);
|
||||
libraries.emerLtsSwitch.setValue(0.5);
|
||||
pts.Controls.Switches.emerLtsSwitch.setValue(0.5);
|
||||
pts.Controls.Gear.brakeParking.setBoolValue(0);
|
||||
# cockpit voice recorder stuff
|
||||
setprop("/controls/CVR/power", 0);
|
||||
|
@ -60,9 +60,9 @@ var variousReset = func() {
|
|||
setprop("/modes/fcu/hdg-time", -45);
|
||||
setprop("/controls/navigation/switching/att-hdg", 0);
|
||||
setprop("/controls/navigation/switching/air-data", 0);
|
||||
libraries.noSmokingSwitch.setValue(0.0);
|
||||
libraries.seatbeltSwitch.setValue(0.0);
|
||||
libraries.emerLtsSwitch.setValue(0.0);
|
||||
pts.Controls.Switches.noSmokingSwitch.setValue(0);
|
||||
pts.Controls.Switches.seatbeltSwitch.setValue(0);
|
||||
pts.Controls.Switches.emerLtsSwitch.setValue(0);
|
||||
}
|
||||
|
||||
var BUTTONS = {
|
||||
|
|
|
@ -86,7 +86,7 @@ var triggerDoor = func(door, doorName, doorDesc) {
|
|||
gui.popupTip("Closing " ~ doorDesc ~ " door");
|
||||
door.toggle();
|
||||
} else {
|
||||
if (getprop("/velocities/groundspeed-kt") > 5) {
|
||||
if (pts.Velocities.groundspeedKt.getValue() > 5) {
|
||||
gui.popupTip("You cannot open the doors while the aircraft is moving!");
|
||||
} else {
|
||||
gui.popupTip("Opening " ~ doorDesc ~ " door");
|
||||
|
@ -148,48 +148,6 @@ setlistener("/sim/signals/fdm-initialized", func() {
|
|||
emesary.GlobalTransmitter.Register(A320Libraries);
|
||||
});
|
||||
|
||||
var collectorTankL = props.globals.getNode("/fdm/jsbsim/propulsion/tank[5]/contents-lbs");
|
||||
var collectorTankR = props.globals.getNode("/fdm/jsbsim/propulsion/tank[6]/contents-lbs");
|
||||
var groundAir = props.globals.getNode("/controls/pneumatics/switches/ground-air");
|
||||
var groundCart = props.globals.getNode("/controls/electrical/switches/ground-cart");
|
||||
var chocks = props.globals.getNode("/services/chocks/enable");
|
||||
var groundspeed = 0;
|
||||
var stateL = 0;
|
||||
var stateR = 0;
|
||||
|
||||
var seatbeltSwitch = props.globals.getNode("/controls/switches/seatbelt-sign");
|
||||
var noSmokingSwitch = props.globals.getNode("/controls/switches/no-smoking-sign");
|
||||
var emerLtsSwitch = props.globals.getNode("/controls/switches/emer-lights");
|
||||
var seatbeltLight = props.globals.getNode("/controls/lighting/seatbelt-sign");
|
||||
var noSmokingLight = props.globals.getNode("/controls/lighting/no-smoking-sign");
|
||||
|
||||
var update_items = [
|
||||
props.UpdateManager.FromHashValue("seatbelt", nil, func(val) {
|
||||
if (val) {
|
||||
if (!seatbeltLight.getBoolValue()) {
|
||||
seatbeltLight.setValue(1);
|
||||
}
|
||||
} else {
|
||||
if (seatbeltLight.getBoolValue()) {
|
||||
seatbeltLight.setValue(0);
|
||||
}
|
||||
}
|
||||
}),
|
||||
props.UpdateManager.FromHashList(["noSmoking","gearPosNorm"], nil, func(val) {
|
||||
if (val.noSmoking == 1) {
|
||||
if (!noSmokingLight.getBoolValue()) {
|
||||
noSmokingLight.setBoolValue(1);
|
||||
}
|
||||
} elsif (val.noSmoking == 0.5 and val.gearPosNorm != 0) { # todo: should be when uplocks not engaged
|
||||
if (!noSmokingLight.getBoolValue()) {
|
||||
noSmokingLight.setBoolValue(1);
|
||||
}
|
||||
} else {
|
||||
noSmokingLight.setBoolValue(0); # sign stays on in cabin but sound still occurs
|
||||
}
|
||||
}),
|
||||
];
|
||||
|
||||
var systemsLoop = func(notification) {
|
||||
if (!systemsInitialized and getprop("/systems/acconfig/mismatch-code") != "0x000") { return; }
|
||||
systems.PNEU.loop(notification);
|
||||
|
@ -221,66 +179,55 @@ var systemsLoop = func(notification) {
|
|||
}
|
||||
}
|
||||
|
||||
if ((notification.engine1State == 2 or notification.engine1State == 3) and collectorTankL.getValue() < 1) {
|
||||
if (notification.engine1State >= 2 and pts.Fdm.JSBsim.Propulsion.Tank.contentsLbs[5].getValue() < 1) {
|
||||
systems.cutoff_one();
|
||||
}
|
||||
if ((notification.engine2State == 2 or notification.engine2State == 3) and collectorTankR.getValue() < 1) {
|
||||
systems.cutoff_two();
|
||||
}
|
||||
|
||||
foreach (var update_item; update_items) {
|
||||
update_item.update(notification);
|
||||
if (notification.engine2State >= 2 and pts.Fdm.JSBsim.Propulsion.Tank.contentsLbs[6].getValue() < 1) {
|
||||
systems.cutoff_two();
|
||||
}
|
||||
}
|
||||
|
||||
# GPWS
|
||||
var GPWS = {
|
||||
inhibitNode: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/gpws-inhibit"),
|
||||
tatcfInhibit: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit"),
|
||||
volume: props.globals.getNode("/instrumentation/mk-viii/speaker/volume"),
|
||||
flapAllOverride: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override"),
|
||||
flap3Override: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override"),
|
||||
flapOverride: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/momentary-flap-override"),
|
||||
alertMode: props.globals.initNode("/instrumentation/mk-viii/outputs/alert-mode",0,"INT"),
|
||||
alertMode: props.globals.initNode("/instrumentation/mk-viii/outputs/alert-mode", 0, "INT"),
|
||||
alert: props.globals.getNode("instrumentation/mk-viii/outputs/discretes/gpws-alert"),
|
||||
warning: props.globals.getNode("instrumentation/mk-viii/outputs/discretes/gpws-warning"),
|
||||
};
|
||||
|
||||
setlistener("/instrumentation/mk-viii/inputs/discretes/gpws-inhibit", func() {
|
||||
if (GPWS.inhibitNode.getBoolValue()) {
|
||||
GPWS.volume.setValue(2);
|
||||
} else {
|
||||
GPWS.volume.setValue(0);
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
var updateGPWSFlap = func() {
|
||||
if (GPWS.flapAllOverride.getBoolValue() or (GPWS.flap3Override.getBoolValue() and pts.Controls.Flight.flapsPos.getValue() >= 4)) {
|
||||
GPWS.flapOverride.setBoolValue(1);
|
||||
} else {
|
||||
GPWS.flapOverride.setBoolValue(0);
|
||||
}
|
||||
}
|
||||
|
||||
setlistener("/instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override", func() {
|
||||
updateGPWSFlap();
|
||||
}, 0, 0);
|
||||
|
||||
setlistener("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override", func() {
|
||||
updateGPWSFlap();
|
||||
}, 0, 0);
|
||||
|
||||
# GPWS alert pooling for get mode change - a little esoteric way but it works
|
||||
var gpws_alert_watch = maketimer(0.8,func {
|
||||
var alert = 0;
|
||||
if (getprop("instrumentation/mk-viii/outputs/discretes/gpws-warning")) alert = 2; # MODE2 - warning - RED
|
||||
else if (getprop("instrumentation/mk-viii/outputs/discretes/gpws-alert")) alert = 1; # MODE1 - caution - YELLOW
|
||||
if (GPWS.alertMode.getValue()!=alert) GPWS.alertMode.setValue(alert);
|
||||
var GPWSAlertStatus = 0;
|
||||
var gpws_alert_watch = maketimer(0.8, func() {
|
||||
if (GPWS.warning.getValue()) {
|
||||
GPWSAlertStatus = 2; # MODE2 - warning - RED
|
||||
} else if (GPWS.alert.getValue()) {
|
||||
GPWSAlertStatus = 1; # MODE1 - caution - YELLOW
|
||||
} else {
|
||||
GPWSAlertStatus = 0;
|
||||
}
|
||||
|
||||
if (GPWS.alertMode.getValue() != GPWSAlertStatus) {
|
||||
GPWS.alertMode.setValue(GPWSAlertStatus);
|
||||
}
|
||||
});
|
||||
|
||||
setlistener("/instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit", func{ # detect GPWS switch status
|
||||
var failure = GPWS.tatcfInhibit.getBoolValue();
|
||||
if (!failure) gpws_alert_watch.start();
|
||||
else gpws_alert_watch.stop();
|
||||
},1,0);
|
||||
# detect GPWS switch status
|
||||
setlistener("/instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit", func (val) {
|
||||
if (!val.getBoolValue()) {
|
||||
gpws_alert_watch.start();
|
||||
} else {
|
||||
gpws_alert_watch.stop();
|
||||
}
|
||||
}, 1, 0);
|
||||
|
||||
# Steep ILS
|
||||
setlistener("/options/steep-ils", func(val) {
|
||||
if (val.getValue()) {
|
||||
pts.Instrumentation.MKVII.Inputs.Discretes.steepApproach.setValue(1);
|
||||
} else {
|
||||
pts.Instrumentation.MKVII.Inputs.Discretes.steepApproach.setValue(0);
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
# Replay
|
||||
var replayState = props.globals.getNode("/sim/replay/replay-state");
|
||||
|
@ -292,15 +239,6 @@ setlistener(replayState, func(v) {
|
|||
}
|
||||
}, 0, 0);
|
||||
|
||||
# Steep ILS
|
||||
setlistener("/options/steep-ils", func() {
|
||||
if (getprop("/options/steep-ils") == 1) {
|
||||
setprop("/instrumentation/mk-viii/inputs/discretes/steep-approach", 1);
|
||||
} else {
|
||||
setprop("/instrumentation/mk-viii/inputs/discretes/steep-approach", 0);
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
# hackCanvas
|
||||
canvas.Text._lastText = canvas.Text["_lastText"];
|
||||
canvas.Text.setText = func(text) {
|
||||
|
@ -414,8 +352,6 @@ var LibrariesRecipient =
|
|||
|
||||
var input = {
|
||||
# Libraries
|
||||
"seatbelt": "/controls/switches/seatbelt-sign",
|
||||
"noSmoking": "/controls/switches/no-smoking-sign",
|
||||
"gearPosNorm": "/gear/gear[0]/position-norm",
|
||||
"gearPosNorm1": "/gear/gear[1]/position-norm",
|
||||
"gearPosNorm2": "/gear/gear[2]/position-norm",
|
||||
|
@ -451,8 +387,8 @@ setlistener("/sim/current-view/internal", func() {
|
|||
|
||||
# TODO split EFIS altimeters
|
||||
var newinhg = nil;
|
||||
setlistener("/instrumentation/altimeter/setting-inhg", func() {
|
||||
newinhg = getprop("/instrumentation/altimeter/setting-inhg");
|
||||
setlistener("/instrumentation/altimeter/setting-inhg", func(val) {
|
||||
newinhg = val.getValue();
|
||||
setprop("/instrumentation/altimeter[1]/setting-inhg", newinhg);
|
||||
setprop("/instrumentation/altimeter[2]/setting-inhg", newinhg);
|
||||
setprop("/instrumentation/altimeter[3]/setting-inhg", newinhg);
|
||||
|
@ -461,8 +397,8 @@ setlistener("/instrumentation/altimeter/setting-inhg", func() {
|
|||
}, 0, 0);
|
||||
|
||||
var newhpa = nil;
|
||||
setlistener("/instrumentation/altimeter/setting-hpa", func() {
|
||||
newhpa = getprop("/instrumentation/altimeter/setting-hpa");
|
||||
setlistener("/instrumentation/altimeter/setting-hpa", func(val) {
|
||||
newhpa = val.getValue();
|
||||
setprop("/instrumentation/altimeter[1]/setting-hpa", newhpa);
|
||||
setprop("/instrumentation/altimeter[2]/setting-hpa", newhpa);
|
||||
setprop("/instrumentation/altimeter[3]/setting-hpa", newhpa);
|
||||
|
|
|
@ -65,9 +65,15 @@ var Controls = {
|
|||
},
|
||||
Lighting: {
|
||||
landingLights: [props.globals.getNode("/controls/lighting/landing-lights[0]"),props.globals.getNode("/controls/lighting/landing-lights[1]"),props.globals.getNode("/controls/lighting/landing-lights[2]")],
|
||||
noSmokingSign: props.globals.getNode("/controls/lighting/no-smoking-sign"),
|
||||
seatbeltSign: props.globals.getNode("/controls/lighting/seatbelt-sign"),
|
||||
strobe: props.globals.getNode("/controls/lighting/strobe"),
|
||||
},
|
||||
Switches: {
|
||||
annunTest: props.globals.getNode("/controls/switches/annun-test"),
|
||||
emerLtsSwitch: props.globals.getNode("/controls/switches/emer-lights"),
|
||||
noSmokingSwitch: props.globals.getNode("/controls/switches/no-smoking-sign"),
|
||||
seatbeltSwitch: props.globals.getNode("/controls/switches/seatbelt-sign"),
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -137,6 +143,10 @@ var Fdm = {
|
|||
fuelUsed: [props.globals.getNode("/fdm/jsbsim/propulsion/engine[0]/fuel-used-lbs"), props.globals.getNode("/fdm/jsbsim/propulsion/engine[1]/fuel-used-lbs")],
|
||||
reverserAngle: [props.globals.getNode("/fdm/jsbsim/propulsion/engine[0]/reverser-angle-rad"), props.globals.getNode("/fdm/jsbsim/propulsion/engine[1]/reverser-angle-rad")],
|
||||
},
|
||||
Tank: {
|
||||
contentsLbs: [props.globals.getNode("/fdm/jsbsim/propulsion/tank[0]/contents-lbs"), props.globals.getNode("/fdm/jsbsim/propulsion/tank[1]/contents-lbs"), props.globals.getNode("/fdm/jsbsim/propulsion/tank[2]/contents-lbs"),
|
||||
props.globals.getNode("/fdm/jsbsim/propulsion/tank[3]/contents-lbs"), props.globals.getNode("/fdm/jsbsim/propulsion/tank[4]/contents-lbs"), props.globals.getNode("/fdm/jsbsim/propulsion/tank[5]/contents-lbs"), props.globals.getNode("/fdm/jsbsim/propulsion/tank[6]/contents-lbs")],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -227,6 +237,8 @@ var Instrumentation = {
|
|||
Inputs: {
|
||||
Discretes: {
|
||||
flap3Override: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override"),
|
||||
flapAllOverride: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override"),
|
||||
steepApproach: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/steep-approach"),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -19,7 +19,7 @@ var ground_services = {
|
|||
setprop("/services/deicing_truck/de-ice", 0);
|
||||
|
||||
# Set them all to 0 if the aircraft is not stationary
|
||||
if (getprop("velocities/groundspeed-kt") >= 2) {
|
||||
if (pts.Velocities.groundspeedKt.getValue() >= 2) {
|
||||
setprop("/services/fuel-truck/enable", 0);
|
||||
setprop("/services/deicing_truck/enable", 0);
|
||||
setprop("/services/catering/enable", 0);
|
||||
|
|
|
@ -772,7 +772,7 @@
|
|||
<switch name="/systems/fctl/fac1-healthy-signal">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/fctl/fac1-healthy ne 0
|
||||
/systems/fctl/fac1-healthy eq 1
|
||||
<test logic="OR">
|
||||
/systems/fctl/fac1-healthy-latch eq 0
|
||||
/gear/gear[0]/wow eq 1
|
||||
|
@ -843,7 +843,7 @@
|
|||
<switch name="/systems/fctl/fac2-healthy-signal">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/fctl/fac2-healthy ne 0
|
||||
/systems/fctl/fac2-healthy eq 1
|
||||
<test logic="OR">
|
||||
/systems/fctl/fac2-healthy-latch eq 0
|
||||
/gear/gear[0]/wow eq 1
|
||||
|
|
|
@ -187,7 +187,6 @@
|
|||
</switch>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/center-control-low-level">
|
||||
<description>Timer for the Fuel Center pumps</description>
|
||||
<input>/systems/fuel/quantity/center-low</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.00333</rate_limit> <!-- 300 seconds -->
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
<channel name="FWC Phase Logic Timers" execrate="8">
|
||||
|
||||
<actuator name="/ECAM/timer/ground-calc">
|
||||
<description>Timer for the ECAM phase system</description>
|
||||
<input>/ECAM/logic/ground-calc-immediate</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit> <!-- 1 second -->
|
||||
|
|
|
@ -14,363 +14,311 @@
|
|||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/phases/timer/eng1idle-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/phases/timer/eng1idle</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.033</rate_limit> <!-- 30 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/phases/timer/eng2idle-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/phases/timer/eng2idle</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.033</rate_limit> <!-- 30 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/phases/timer/to-inhibit-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/phases/timer/to-inhibit</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.33</rate_limit> <!-- 3 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/phases/timer/ldg-inhibit-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/phases/timer/ldg-inhibit</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.33</rate_limit> <!-- 3 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/bleed-1-fault-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/timer/bleed-1-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/bleed-2-fault-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/timer/bleed-2-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/apu-fault-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/apu-bleed-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/xbleed-fault-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/systems/pneumatics/warnings/crossbleed-disag</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/xbleed-fault-output-10"> <!-- 10 second delay on fall -->
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/crossbleed-fault-timer-was-one</input>
|
||||
<rate_limit sense="decr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
<rate_limit sense="incr">120</rate_limit> <!-- Instant -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/xbleed-fault-eng-fire">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/controls/engines/engine[0]/fire-btn</input>
|
||||
<rate_limit>0.06666666666</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/prv-1-not-shut-apu-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/prv-1-not-shut-apu</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit> <!-- 1 second -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/prv-2-not-shut-apu-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/prv-2-not-shut-apu</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit> <!-- 1 second -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/prv-1-not-shut-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/prv-1-not-shut</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit> <!-- 1 second -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/prv-2-not-shut-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/prv-2-not-shut</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit> <!-- 1 second -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/bleed-1-and-2-low-temp-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/timer/bleed-1-and-2-low-temp</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.00185185</rate_limit> <!-- 540 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/bleed-1-low-temp-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/systems/pneumatics/warnings/lowtemp-1-mem</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.016666</rate_limit> <!-- 60 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/bleed-2-low-temp-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/systems/pneumatics/warnings/lowtemp-2-mem</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.016666</rate_limit> <!-- 60 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/bleed-1-off-60-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/bleed-1-off-60</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.016666</rate_limit> <!-- 60 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/bleed-2-off-60-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/bleed-2-off-60</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.016666</rate_limit> <!-- 60 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/bleed-1-off-5-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/bleed-1-off-5</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/bleed-2-off-5-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/bleed-2-off-5</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/eng-aice-1-open-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/eng-aice-1-open</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/eng-aice-2-open-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/eng-aice-2-open</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/eng-aice-1-closed-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/eng-aice-1-closed</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/eng-aice-2-closed-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/eng-aice-2-closed</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/wing-anti-ice-flipflop-set">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/wing-anti-ice-flipflop-set-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.0285714</rate_limit> <!-- 35 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/phase-1">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/timer/phase-1-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/wing-anti-ice-25">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/controls/ice-protection/wing</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.04</rate_limit> <!-- 25 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/wing-anti-ice-left-closed-set-timer">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/wing-anti-ice-left-closed-set-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.066666</rate_limit> <!-- 15 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/wing-anti-ice-right-closed-set-timer">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/wing-anti-ice-right-closed-set-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.066666</rate_limit> <!-- 15 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/proc-wai-shutdown-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/proc-wai-shutdown-flipflop</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/wing-hi-pr-left">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/wing-hi-pr-left-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.025</rate_limit> <!-- 40 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/wing-hi-pr-right">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/wing-hi-pr-right-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.025</rate_limit> <!-- 40 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/cranking-35-sec">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/cranking-35-sec-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.028571</rate_limit> <!-- 35 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-1-fault-closed">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-1-fault-closed-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-2-fault-closed">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-2-fault-closed-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-1-disagree">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-1-disagree-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-2-disagree">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-2-disagree-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/ignition">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/ignition</input>
|
||||
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="decr">0.028571</rate_limit> <!-- 35 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-1-fault-5">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-1-fault-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.20</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-2-fault-5">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-2-fault-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.20</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-1-fault-2">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-1-fault-warning-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.50</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-2-fault-2">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-2-fault-warning-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.50</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-1-off">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-1-off-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.0166666</rate_limit> <!-- 60 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/pack-2-off">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/pack-2-off-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.0166666</rate_limit> <!-- 60 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/trim-air-fault">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/trim-air-fault-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/yaw-damper-1-fault">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/yaw-damper-1-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/yaw-damper-2-fault">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/yaw-damper-2-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/nav-gpws-terr-fault">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/nav-gpws-terr-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1.0</rate_limit> <!-- 1 second -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/apu-gen-fault-reset">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/apu-gen-fault-reset</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/wing-anti-ice-left-open-set-15">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/wing-anti-ice-left-open-set-15-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.06666666666</rate_limit> <!-- 15 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/wing-anti-ice-right-open-set-15">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/wing-anti-ice-right-open-set-15-input</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.06666666666</rate_limit> <!-- 15 seconds -->
|
||||
|
@ -1726,7 +1674,6 @@
|
|||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/gen-1-fault-set">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/gen-1-fault-set</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1818</rate_limit> <!-- 5.5 seconds -->
|
||||
|
@ -1794,7 +1741,6 @@
|
|||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/gen-2-fault-set">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/gen-2-fault-set</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.1818</rate_limit> <!-- 5.5 seconds -->
|
||||
|
@ -1861,7 +1807,6 @@
|
|||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/timer/apu-gen-fault-set">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/warnings/logic/apu-gen-fault-set</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
|
|
|
@ -233,7 +233,6 @@
|
|||
</switch>
|
||||
|
||||
<actuator name="/systems/hydraulic/sources/blue-elec/pump-operate-apu-timer">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/systems/hydraulic/sources/blue-elec/pump-operate-apu</input>
|
||||
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="decr">0.0083333</rate_limit> <!-- 120 seconds -->
|
||||
|
|
|
@ -225,37 +225,6 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/controls/lighting/landing-lights[1]">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/landing-lights-l eq 1
|
||||
/systems/electrical/bus/ac-1 ge 110
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/controls/lighting/landing-lights[2]">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/landing-lights-r eq 1
|
||||
/systems/electrical/bus/ac-2 ge 110
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
||||
<switch name="/fdm/jsbsim/rubbish/landL">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/lighting/landing-lights[1] ge 0.5
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/fdm/jsbsim/rubbish/landR">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/lighting/landing-lights[2] ge 0.5
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
<channel name="External lights">
|
||||
|
@ -318,5 +287,45 @@
|
|||
</actuator>
|
||||
|
||||
</channel>
|
||||
|
||||
<channel name="Signs">
|
||||
|
||||
<switch name="/controls/lighting/no-smoking-sign">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
<test logic="OR">
|
||||
/systems/electrical/bus/dc-ess ge 25
|
||||
/systems/electrical/bus/dc-service-bus ge 25
|
||||
</test>
|
||||
<test logic="OR">
|
||||
/systems/pressurization/cabinalt-norm ge 11300
|
||||
/controls/switches/no-smoking-sign eq 1
|
||||
</test>
|
||||
</test>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/no-smoking-sign eq 0.5
|
||||
/gear/gear[0]/position-norm ge 0.8
|
||||
<test logic="OR">
|
||||
/systems/electrical/bus/dc-ess ge 25
|
||||
/systems/electrical/bus/dc-service-bus ge 25
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/controls/lighting/seatbelt-sign">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
<test logic="OR">
|
||||
/systems/electrical/bus/dc-ess ge 25
|
||||
/systems/electrical/bus/dc-service-bus ge 25
|
||||
</test>
|
||||
<test logic="OR">
|
||||
/systems/pressurization/cabinalt-norm ge 11300
|
||||
/controls/switches/seatbelt-sign eq 1
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
</system>
|
|
@ -385,6 +385,28 @@
|
|||
|
||||
</channel>
|
||||
|
||||
<channel name="GPWS" execrate="8">
|
||||
|
||||
<switch name="/instrumentation/mk-viii/inputs/discretes/momentary-flap-override">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override eq 1
|
||||
<test logic="AND">
|
||||
/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override eq 1
|
||||
/controls/flight/flaps-pos ge 4
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/instrumentation/mk-viii/speaker/volume">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="2">
|
||||
/instrumentation/mk-viii/inputs/discretes/gpws-inhibit eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
<channel name="System Display" execrate="8">
|
||||
|
||||
<switch name="/ECAM/Lower/g-force-display-cmd">
|
||||
|
|
Loading…
Reference in a new issue