Big revision of the electrical warnings
This commit is contained in:
parent
d73eecc4f3
commit
16aba3cbfb
5 changed files with 501 additions and 33 deletions
|
@ -87,6 +87,8 @@ var warningNodes = {
|
|||
spdBrkConfig2: props.globals.initNode("/ECAM/warnings/fctl/spd-brk-config-range"),
|
||||
pitchTrimConfig2: props.globals.initNode("/ECAM/warnings/fctl/pitch-trim-config-range"),
|
||||
rudTrimConfig2: props.globals.initNode("/ECAM/warnings/fctl/rudder-trim-config-range"),
|
||||
dcEssFuelConsumptionIncreased: props.globals.initNode("/ECAM/warnings/logic/dc-ess-fuel-consumption-increased"),
|
||||
dcEssFMSPredictions: props.globals.initNode("/ECAM/warnings/logic/dc-ess-fms-predictions-unreliable"),
|
||||
dc2FuelConsumptionIncreased: props.globals.initNode("/ECAM/warnings/logic/dc-2-fuel-consumption-increased"),
|
||||
dc2FMSPredictions: props.globals.initNode("/ECAM/warnings/logic/dc-2-fms-predictions-unreliable"),
|
||||
thrLeversNotSet: props.globals.initNode("/ECAM/warnings/logic/eng/thr-lever-not-set"),
|
||||
|
@ -131,6 +133,17 @@ var warningNodes = {
|
|||
leftElevFail: props.globals.initNode("/ECAM/warnings/fctl/leftElevFault-output"),
|
||||
rightElevFail: props.globals.initNode("/ECAM/warnings/fctl/rightElevFault-output"),
|
||||
staticInverter: props.globals.initNode("/systems/electrical/some-electric-thingie/static-inverter-timer"),
|
||||
dcEmerConfig: props.globals.initNode("/ECAM/warnings/logic/dc-emer-config-output"),
|
||||
dc12Fault: props.globals.initNode("/ECAM/warnings/logic/dc-1-2-output"),
|
||||
dcEssFault: props.globals.initNode("/ECAM/warnings/logic/dc-ess-output"),
|
||||
dc1Fault: props.globals.initNode("/ECAM/warnings/logic/dc-1-output"),
|
||||
dc2Fault: props.globals.initNode("/ECAM/warnings/logic/dc-2-output"),
|
||||
dcBatFault: props.globals.initNode("/ECAM/warnings/logic/dc-bat-output"),
|
||||
ac1Fault: props.globals.initNode("/ECAM/warnings/logic/ac-1-output"),
|
||||
ac2Fault: props.globals.initNode("/ECAM/warnings/logic/ac-2-output"),
|
||||
acEssFault: props.globals.initNode("/ECAM/warnings/logic/ac-ess-output"),
|
||||
dcEssShed: props.globals.initNode("/ECAM/warnings/logic/dc-ess-shed-output"),
|
||||
acEssShed: props.globals.initNode("/ECAM/warnings/logic/ac-ess-shed-output"),
|
||||
},
|
||||
Flipflops: {
|
||||
apuGenFault: props.globals.initNode("/ECAM/warnings/flipflop/apu-gen-fault"),
|
||||
|
|
|
@ -1628,113 +1628,284 @@ var messages_priority_2 = func {
|
|||
}
|
||||
|
||||
# DC EMER CONFIG
|
||||
if (!systems.ELEC.EmerElec.getValue() and systems.ELEC.Bus.dcEss.getValue() < 25 and systems.ELEC.Bus.dc1.getValue() < 25 and systems.ELEC.Bus.dc2.getValue() < 25 and phaseVar2 != 4 and phaseVar2 != 8 and dcEmerconfig.clearFlag == 0) {
|
||||
if (warningNodes.Timers.dcEmerConfig.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and dcEmerconfig.clearFlag == 0) {
|
||||
dcEmerconfig.active = 1;
|
||||
dcEmerconfigManOn.active = 1;
|
||||
if (systems.ELEC.Source.EmerGen.relayPos.getValue() == 0 and dcEmerconfigManOn.clearFlag == 0) {
|
||||
dcEmerconfigManOn.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcEmerconfigManOn);
|
||||
}
|
||||
|
||||
if ((warningNodes.Logic.dcEssFuelConsumptionIncreased.getValue() or warningNodes.Logic.dc2FuelConsumptionIncreased.getValue()) and dcEmerconfigFuel.clearFlag == 0) {
|
||||
dcEmerconfigFuel.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcEmerconfigFuel);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcEmerconfig);
|
||||
ECAM_controller.warningReset(dcEmerconfigManOn);
|
||||
ECAM_controller.warningReset(dcEmerconfigFuel);
|
||||
}
|
||||
|
||||
if (!systems.ELEC.EmerElec.getValue() and !dcEmerconfig.active and systems.ELEC.Bus.dc1.getValue() < 25 and systems.ELEC.Bus.dc2.getValue() < 25 and phaseVar2 != 4 and phaseVar2 != 8 and dcBus12Fault.clearFlag == 0) {
|
||||
if (warningNodes.Timers.dc12Fault.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and dcBus12Fault.clearFlag == 0) {
|
||||
dcBus12Fault.active = 1;
|
||||
dcBus12FaultBlower.active = 1;
|
||||
dcBus12FaultExtract.active = 1;
|
||||
dcBus12FaultBaroRef.active = 1;
|
||||
dcBus12FaultIcing.active = 1;
|
||||
dcBus12FaultBrking.active = 1;
|
||||
|
||||
if (dcBus12FaultBlower.clearFlag == 0) {
|
||||
dcBus12FaultBlower.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus12FaultBlower);
|
||||
}
|
||||
|
||||
if (dcBus12FaultExtract.clearFlag == 0) {
|
||||
dcBus12FaultExtract.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus12FaultExtract);
|
||||
}
|
||||
|
||||
if (dcBus12FaultBaroRef.clearFlag == 0) {
|
||||
dcBus12FaultBaroRef.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus12FaultBaroRef);
|
||||
}
|
||||
|
||||
if (dcBus12FaultFuel.clearFlag == 0 and warningNodes.Logic.dc2FuelConsumptionIncreased.getValue()) {
|
||||
dcBus12FaultFuel.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus12FaultFuel);
|
||||
}
|
||||
|
||||
if (dcBus12FaultPredict.clearFlag == 0 and warningNodes.Logic.dc2FMSPredictions.getValue()) {
|
||||
dcBus12FaultPredict.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus12FaultPredict);
|
||||
}
|
||||
|
||||
if (dcBus12FaultIcing.clearFlag == 0) {
|
||||
dcBus12FaultIcing.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus12FaultIcing);
|
||||
}
|
||||
|
||||
if (dcBus12FaultBrking.clearFlag == 0) {
|
||||
dcBus12FaultBrking.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus12FaultBrking);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus12Fault);
|
||||
ECAM_controller.warningReset(dcBus12FaultBlower);
|
||||
ECAM_controller.warningReset(dcBus12FaultExtract);
|
||||
ECAM_controller.warningReset(dcBus12FaultBaroRef);
|
||||
ECAM_controller.warningReset(dcBus12FaultFuel);
|
||||
ECAM_controller.warningReset(dcBus12FaultPredict);
|
||||
ECAM_controller.warningReset(dcBus12FaultIcing);
|
||||
ECAM_controller.warningReset(dcBus12FaultBrking);
|
||||
}
|
||||
|
||||
if (!systems.ELEC.EmerElec.getValue() and systems.ELEC.Bus.acEss.getValue() < 110 and phaseVar2 != 4 and phaseVar2 != 8 and AcBusEssFault.clearFlag == 0) {
|
||||
if (warningNodes.Timers.acEssFault.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and AcBusEssFault.clearFlag == 0) {
|
||||
AcBusEssFault.active = 1;
|
||||
if (!systems.ELEC.Switch.acEssFeed.getBoolValue()) {
|
||||
if (!systems.ELEC.Switch.acEssFeed.getBoolValue() and AcBusEssFaultFeed.clearFlag == 0) {
|
||||
AcBusEssFaultFeed.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(AcBusEssFaultFeed);
|
||||
}
|
||||
AcBusEssFaultAtc.active = 1;
|
||||
|
||||
if (atc.transponderPanel.atcSel != 2 and AcBusEssFaultAtc.clearFlag == 0) {
|
||||
AcBusEssFaultAtc.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(AcBusEssFaultAtc);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(AcBusEssFault);
|
||||
ECAM_controller.warningReset(AcBusEssFaultFeed);
|
||||
ECAM_controller.warningReset(AcBusEssFaultAtc);
|
||||
}
|
||||
|
||||
if (!systems.ELEC.EmerElec.getValue() and systems.ELEC.Bus.ac1.getValue() < 110 and phaseVar2 != 4 and phaseVar2 != 8 and AcBus1Fault.clearFlag == 0) {
|
||||
if (warningNodes.Timers.ac1Fault.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and AcBus1Fault.clearFlag == 0) {
|
||||
AcBus1Fault.active = 1;
|
||||
AcBus1FaultBlower.active = 1;
|
||||
|
||||
if (AcBus1FaultBlower.clearFlag == 0) {
|
||||
AcBus1FaultBlower.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(AcBus1FaultBlower);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(AcBus1Fault);
|
||||
ECAM_controller.warningReset(AcBus1FaultBlower);
|
||||
}
|
||||
|
||||
if (!dcEmerconfig.active and systems.ELEC.Bus.dcEss.getValue() < 25 and phaseVar2 != 4 and phaseVar2 != 8 and DcEssBusFault.clearFlag == 0) {
|
||||
if (warningNodes.Timers.dcEssFault.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and DcEssBusFault.clearFlag == 0) {
|
||||
DcEssBusFault.active = 1;
|
||||
DcEssBusFaultRadio.active = 1;
|
||||
DcEssBusFaultRadio2.active = 1;
|
||||
DcEssBusFaultBaro.active = 1;
|
||||
DcEssBusFaultGPWS.active = 1;
|
||||
if (DcEssBusFaultRadio.clearFlag == 0) {
|
||||
DcEssBusFaultRadio.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFaultRadio);
|
||||
}
|
||||
if (DcEssBusFaultRadio2.clearFlag == 0) {
|
||||
DcEssBusFaultRadio2.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFaultRadio2);
|
||||
}
|
||||
|
||||
if (DcEssBusFaultBaro.clearFlag == 0) {
|
||||
DcEssBusFaultBaro.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFaultBaro);
|
||||
}
|
||||
|
||||
if (0 == 1 and systems.ELEC.Bus.dc2.getValue() < 25 and systems.ELEC.Bus.dcEss.getValue() < 25 and DcEssBusFaultGear.clearFlag == 0) { # LGCIU12 FAULT
|
||||
DcEssBusFaultGear.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFaultGear);
|
||||
}
|
||||
|
||||
if (DcEssBusFaultGPWS.clearFlag == 0) {
|
||||
DcEssBusFaultGPWS.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFaultGPWS);
|
||||
}
|
||||
|
||||
if (DcEssBusFaultFuel.clearFlag == 0 and warningNodes.Logic.dcEssFuelConsumptionIncreased.getValue()) {
|
||||
DcEssBusFaultFuel.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFaultFuel);
|
||||
}
|
||||
|
||||
if (DcEssBusFaultPredict.clearFlag == 0 and warningNodes.Logic.dcEssFMSPredictions.getValue()) {
|
||||
DcEssBusFaultPredict.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFaultPredict);
|
||||
}
|
||||
|
||||
if (DcEssBusFaultIcing.clearFlag == 0) {
|
||||
DcEssBusFaultIcing.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFaultIcing);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(DcEssBusFault);
|
||||
ECAM_controller.warningReset(DcEssBusFaultRadio);
|
||||
ECAM_controller.warningReset(DcEssBusFaultRadio2);
|
||||
ECAM_controller.warningReset(DcEssBusFaultBaro);
|
||||
ECAM_controller.warningReset(DcEssBusFaultGear);
|
||||
ECAM_controller.warningReset(DcEssBusFaultGPWS);
|
||||
ECAM_controller.warningReset(DcEssBusFaultFuel);
|
||||
ECAM_controller.warningReset(DcEssBusFaultPredict);
|
||||
ECAM_controller.warningReset(DcEssBusFaultIcing);
|
||||
}
|
||||
|
||||
if (!systems.ELEC.EmerElec.getValue() and systems.ELEC.Bus.ac2.getValue() < 110 and phaseVar2 != 4 and phaseVar2 != 8 and AcBus2Fault.clearFlag == 0) {
|
||||
if (warningNodes.Timers.ac2Fault.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and AcBus2Fault.clearFlag == 0) {
|
||||
AcBus2Fault.active = 1;
|
||||
AcBus2FaultExtract.active = 1;
|
||||
if (AcBus2FaultExtract.clearFlag == 0) {
|
||||
AcBus2FaultExtract.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(AcBus2FaultExtract);
|
||||
}
|
||||
|
||||
if (atc.transponderPanel.atcSel != 1 and AcBus2FaultAtc.clearFlag == 0) {
|
||||
AcBus2FaultAtc.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(AcBus2FaultAtc);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(AcBus2Fault);
|
||||
ECAM_controller.warningReset(AcBus2FaultExtract);
|
||||
ECAM_controller.warningReset(AcBus2FaultAtc);
|
||||
}
|
||||
|
||||
if (!systems.ELEC.EmerElec.getValue() and systems.ELEC.Bus.dc1.getValue() < 25 and systems.ELEC.Bus.dc2.getValue() >= 25 and phaseVar2 != 4 and phaseVar2 != 8 and dcBus1Fault.clearFlag == 0) {
|
||||
if (warningNodes.Timers.dc1Fault.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and dcBus1Fault.clearFlag == 0) {
|
||||
dcBus1Fault.active = 1;
|
||||
dcBus1FaultBlower.active = 1;
|
||||
dcBus1FaultExtract.active = 1;
|
||||
|
||||
if (dcBus1FaultBlower.clearFlag == 0) {
|
||||
dcBus1FaultBlower.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus1FaultBlower);
|
||||
}
|
||||
if (dcBus1FaultExtract.clearFlag == 0) {
|
||||
dcBus1FaultExtract.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus1FaultExtract);
|
||||
}
|
||||
if (dcBus1FaultIcing.clearFlag == 0) {
|
||||
dcBus1FaultIcing.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus1FaultIcing);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus1Fault);
|
||||
ECAM_controller.warningReset(dcBus1FaultBlower);
|
||||
ECAM_controller.warningReset(dcBus1FaultExtract);
|
||||
ECAM_controller.warningReset(dcBus1FaultIcing);
|
||||
}
|
||||
|
||||
if (!systems.ELEC.EmerElec.getValue() and systems.ELEC.Bus.dc1.getValue() >= 25 and systems.ELEC.Bus.dc2.getValue() <= 25 and phaseVar2 != 4 and phaseVar2 != 8 and dcBus2Fault.clearFlag == 0) {
|
||||
if (warningNodes.Timers.dc2Fault.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and dcBus2Fault.clearFlag == 0) {
|
||||
dcBus2Fault.active = 1;
|
||||
dcBus2FaultAirData.active = 1;
|
||||
dcBus2FaultBaro.active = 1;
|
||||
|
||||
if (dcBus2FaultAirData.clearFlag == 0 and systems.SwitchingPanel.Switches.airData.getValue() != 1) {
|
||||
dcBus2FaultAirData.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus2FaultAirData);
|
||||
}
|
||||
|
||||
if (dcBus2FaultBaro.clearFlag == 0) {
|
||||
dcBus2FaultBaro.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus2FaultBaro);
|
||||
}
|
||||
|
||||
if (0 == 1 and systems.ELEC.Bus.dc2.getValue() < 25 and systems.ELEC.Bus.dcEss.getValue() < 25 and dcBus2FaultGear.clearFlag == 0) { # LGCIU12 FAULT
|
||||
dcBus2FaultGear.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus2FaultGear);
|
||||
}
|
||||
|
||||
if (dcBus2FaultFuel.clearFlag == 0 and warningNodes.Logic.dc2FuelConsumptionIncreased.getValue()) {
|
||||
dcBus2FaultFuel.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus2FaultFuel);
|
||||
}
|
||||
|
||||
if (dcBus2FaultPredict.clearFlag == 0 and warningNodes.Logic.dc2FMSPredictions.getValue()) {
|
||||
dcBus2FaultPredict.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus2FaultPredict);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBus2Fault);
|
||||
ECAM_controller.warningReset(dcBus2FaultAirData);
|
||||
ECAM_controller.warningReset(dcBus2FaultBaro);
|
||||
ECAM_controller.warningReset(dcBus2FaultGear);
|
||||
ECAM_controller.warningReset(dcBus2FaultFuel);
|
||||
ECAM_controller.warningReset(dcBus2FaultPredict);
|
||||
}
|
||||
|
||||
if (!systems.ELEC.EmerElec.getValue() and !dcEmerconfig.active and systems.ELEC.Bus.dcBat.getValue() < 25 and phaseVar2 != 4 and phaseVar2 != 5 and phaseVar2 != 7 and phaseVar2 != 8 and dcBusBatFault.clearFlag == 0) {
|
||||
if (warningNodes.Timers.dcBatFault.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 5 and phaseVar2 != 7 and phaseVar2 != 8 and dcBusBatFault.clearFlag == 0) {
|
||||
dcBusBatFault.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBusBatFault);
|
||||
}
|
||||
|
||||
if (!(systems.ELEC.EmerElec.getValue() and !systems.ELEC.Source.EmerGen.relayPos.getValue()) and systems.ELEC.Bus.dcEssShed.getValue() < 25 and systems.ELEC.Bus.dcEss.getValue() >= 25 and phaseVar2 != 4 and phaseVar2 != 8 and dcBusEssShed.clearFlag == 0) {
|
||||
if (warningNodes.Timers.dcEssShed.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and dcBusEssShed.clearFlag == 0) {
|
||||
dcBusEssShed.active = 1;
|
||||
dcBusEssShedExtract.active = 1;
|
||||
dcBusEssShedIcing.active = 1;
|
||||
if (dcBusEssShedExtract.clearFlag == 0) {
|
||||
dcBusEssShedExtract.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBusEssShedExtract);
|
||||
}
|
||||
if (dcBusEssShedIcing.clearFlag == 0) {
|
||||
dcBusEssShedIcing.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBusEssShedIcing);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(dcBusEssShed);
|
||||
ECAM_controller.warningReset(dcBusEssShedExtract);
|
||||
ECAM_controller.warningReset(dcBusEssShedIcing);
|
||||
}
|
||||
|
||||
if (!(systems.ELEC.EmerElec.getValue() and !systems.ELEC.Source.EmerGen.relayPos.getValue()) and systems.ELEC.Bus.acEssShed.getValue() < 110 and systems.ELEC.Bus.acEss.getValue() >= 110 and phaseVar2 != 4 and phaseVar2 != 8 and acBusEssShed.clearFlag == 0) {
|
||||
if (warningNodes.Timers.acEssShed.getValue() == 1 and phaseVar2 != 4 and phaseVar2 != 8 and acBusEssShed.clearFlag == 0) {
|
||||
acBusEssShed.active = 1;
|
||||
if (!systems.ELEC.EmerElec.getValue()) {
|
||||
if (!systems.ELEC.EmerElec.getValue() and atc.transponderPanel.atcSel != 2 and acBusEssShedAtc.clearFlag == 0) {
|
||||
acBusEssShedAtc.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(acBusEssShed);
|
||||
|
|
|
@ -345,12 +345,15 @@ var warnings = std.Vector.new([
|
|||
# DC EMER CONFIG
|
||||
var dcEmerconfig = warning.new(msg: "ELEC DC EMER CONFIG", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var dcEmerconfigManOn = warning.new(msg: " -EMER ELEC PWR...MAN ON", colour: "c"),
|
||||
var dcEmerconfigFuel = warning.new(msg: " FUEL CONSUMPT INCRSD", colour: "c"),
|
||||
|
||||
# DC BUS 1 OR 2 FAULT
|
||||
var dcBus12Fault = warning.new(msg: "ELEC DC BUS 1+2 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var dcBus12FaultBlower = warning.new(msg: " -BLOWER............OVRD", colour: "c"),
|
||||
var dcBus12FaultExtract = warning.new(msg: " -EXTRACT...........OVRD", colour: "c"),
|
||||
var dcBus12FaultBaroRef = warning.new(msg: " -BARO REF.........CHECK", colour: "c"),
|
||||
var dcBus12FaultFuel = warning.new(msg: " FUEL CONSUMPT INCRSD", colour: "c"),
|
||||
var dcBus12FaultPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
var dcBus12FaultIcing = warning.new(msg: " AVOID ICING CONDITIONS", colour: "c"),
|
||||
var dcBus12FaultBrking = warning.new(msg: " MAX BRK........1000 PSI", colour: "c"),
|
||||
|
||||
|
@ -368,21 +371,30 @@ var warnings = std.Vector.new([
|
|||
var DcEssBusFaultRadio = warning.new(msg: " -VHF 2 OR 3.........USE", colour: "c"),
|
||||
var DcEssBusFaultRadio2 = warning.new(msg: " -AUDIO SWTG......SELECT", colour: "c"),
|
||||
var DcEssBusFaultBaro = warning.new(msg: " -BARO REF.........CHECK", colour: "c"),
|
||||
var DcEssBusFaultGPWS = warning.new(msg: " -GPWS...............OFF", colour: "c"),
|
||||
var DcEssBusFaultGear = warning.new(msg: " -L/G.........GRVTY EXTN", colour: "c"),
|
||||
var DcEssBusFaultGPWS = warning.new(msg: " -GPWS SYS...........OFF", colour: "c"),
|
||||
var DcEssBusFaultFuel = warning.new(msg: " FUEL CONSUMPT INCRSD", colour: "c"),
|
||||
var DcEssBusFaultPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
var DcEssBusFaultIcing = warning.new(msg: " AVOID ICING CONDITIONS", colour: "c"),
|
||||
|
||||
# AC BUS 2 FAULT
|
||||
var AcBus2Fault = warning.new(msg: "ELEC AC BUS 2 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var AcBus2FaultExtract = warning.new(msg: " -EXTRACT...........OVRD", colour: "c"),
|
||||
var AcBus2FaultAtc = warning.new(msg: " -ATC..............SYS 1", colour: "c"),
|
||||
|
||||
# DC BUS 1 FAULT
|
||||
var dcBus1Fault = warning.new(msg: "ELEC DC BUS 1 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var dcBus1FaultBlower = warning.new(msg: " -BLOWER............OVRD", colour: "c"),
|
||||
var dcBus1FaultExtract = warning.new(msg: " -EXTRACT...........OVRD", colour: "c"),
|
||||
var dcBus1FaultIcing = warning.new(msg: " AVOID ICING CONDITIONS", colour: "c"),
|
||||
|
||||
# DC BUS 2 FAULT
|
||||
var dcBus2Fault = warning.new(msg: "ELEC DC BUS 2 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var dcBus2FaultAirData = warning.new(msg: " -AIR DATA SWTG......F/O", colour: "c"),
|
||||
var dcBus2FaultBaro = warning.new(msg: " -BARO REF.........CHECK", colour: "c"),
|
||||
var dcBus2FaultGear = warning.new(msg: " -L/G.........GRVTY EXTN", colour: "c"),
|
||||
var dcBus2FaultFuel = warning.new(msg: " FUEL CONSUMPT INCRSD", colour: "c"),
|
||||
var dcBus2FaultPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
|
||||
# DC BAT BUS FAULT
|
||||
var dcBusBatFault = warning.new(msg: "ELEC DC BAT BUS FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
|
|
|
@ -1757,6 +1757,90 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-ess-fuel-consumption-increased">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
/ECAM/dual-failure-enabled eq 0
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
/systems/electrical/bus/dc-2 lt 25
|
||||
</test>
|
||||
/ECAM/warnings/logic/SFLAPEXT eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr ne 1
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
/systems/electrical/bus/dc-2 lt 25
|
||||
</test>
|
||||
/ECAM/warnings/logic/SSLATEXT eq 1
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 0
|
||||
/systems/electrical/bus/ac-1 ge 110
|
||||
</test>
|
||||
</test>
|
||||
<test logic="AND">
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
hydraulics/aileron-l/pressure-switch-or eq 1
|
||||
<test logic="OR">
|
||||
/systems/fctl/elac2 eq 0
|
||||
/systems/hydraulic/green-psi lt 1500
|
||||
</test>
|
||||
/ECAM/warnings/logic/BLUE-EMER-ELEC ne 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
hydraulics/aileron-r/pressure-switch-or eq 1
|
||||
<test logic="OR">
|
||||
/systems/fctl/elac2 eq 0
|
||||
/systems/hydraulic/blue-psi lt 1500
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/systems/electrical/bus/ac-1 ge 110
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 0
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
<test logic="OR">
|
||||
hydraulics/spoiler-l3/final-deg gt 0.01
|
||||
hydraulics/spoiler-r3/final-deg gt 0.01
|
||||
</test>
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
hydraulics/aileron-l/pressure-switch-or eq 1
|
||||
<test logic="OR">
|
||||
/systems/fctl/elac2 eq 0
|
||||
/systems/hydraulic/green-psi lt 1500
|
||||
</test>
|
||||
/ECAM/warnings/logic/BLUE-EMER-ELEC ne 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
hydraulics/aileron-r/pressure-switch-or eq 1
|
||||
<test logic="OR">
|
||||
/systems/fctl/elac1 eq 0
|
||||
/systems/hydraulic/green-psi lt 1500
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-2-fms-predictions-unreliable">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
|
@ -1764,6 +1848,183 @@
|
|||
/systems/electrical/relay/dc-ess-shed-switch/contact-pos eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-ess-fms-predictions-unreliable">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/logic/dc-ess-fuel-consumption-increased eq 1
|
||||
/systems/electrical/bus/dc-2 ge 25
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-emer-config">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
/systems/electrical/bus/dc-1 lt 25
|
||||
/systems/electrical/bus/dc-2 lt 25
|
||||
/systems/electrical/bus/dc-ess lt 25
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/dc-emer-config-output">
|
||||
<input>/ECAM/warnings/logic/dc-emer-config</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">5</rate_limit> <!-- 0.2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-1-2">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
/systems/electrical/bus/dc-1 lt 25
|
||||
/systems/electrical/bus/dc-2 lt 25
|
||||
/ECAM/warnings/logic/dc-emer-config ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/dc-1-2-output">
|
||||
<input>/ECAM/warnings/logic/dc-1-2</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-ess-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/dc-ess lt 25
|
||||
/ECAM/warnings/logic/dc-emer-config ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/dc-ess-output">
|
||||
<input>/ECAM/warnings/logic/dc-ess-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-bat-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/dc-bat lt 25
|
||||
/ECAM/warnings/logic/dc-emer-config ne 1
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/dc-bat-output">
|
||||
<input>/ECAM/warnings/logic/dc-bat-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">5</rate_limit> <!-- 0.2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-1-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/dc-1 lt 25
|
||||
/systems/electrical/bus/dc-2 ge 25
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/dc-1-output">
|
||||
<input>/ECAM/warnings/logic/dc-1-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-2-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/dc-2 lt 25
|
||||
/systems/electrical/bus/dc-1 ge 25
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/dc-2-output">
|
||||
<input>/ECAM/warnings/logic/dc-2-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/ac-1-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/ac-1 lt 110
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/ac-1-output">
|
||||
<input>/ECAM/warnings/logic/ac-1-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">5</rate_limit> <!-- 0.2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/ac-2-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/ac-2 lt 110
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/ac-2-output">
|
||||
<input>/ECAM/warnings/logic/ac-2-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">5</rate_limit> <!-- 0.2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/ac-ess-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/ac-ess lt 110
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/ac-ess-output">
|
||||
<input>/ECAM/warnings/logic/ac-ess-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">5</rate_limit> <!-- 0.2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/dc-ess-shed-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/dc-ess-shed lt 25
|
||||
/systems/electrical/bus/dc-ess ge 25
|
||||
<test logic="OR">
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config-10-sec ne 1
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/dc-ess-shed-output">
|
||||
<input>/ECAM/warnings/logic/dc-ess-shed-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/logic/ac-ess-shed-fault">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/electrical/bus/ac-ess-shed lt 110
|
||||
/systems/electrical/bus/ac-ess ge 110
|
||||
<test logic="OR">
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config-10-sec ne 1
|
||||
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/logic/ac-ess-shed-output">
|
||||
<input>/ECAM/warnings/logic/ac-ess-shed-fault</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||
</actuator>
|
||||
</channel>
|
||||
|
||||
<channel name="STALL" execrate="16">
|
||||
|
|
|
@ -78,6 +78,17 @@
|
|||
<output>/systems/electrical/some-electric-thingie/generator-2-reset</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
<value>10.0</value>
|
||||
</time>
|
||||
<S>
|
||||
<not><property>/systems/electrical/some-electric-thingie/emer-elec-config</property></not>
|
||||
</S>
|
||||
<output>/systems/electrical/some-electric-thingie/emer-elec-config-10-sec</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
|
|
Loading…
Reference in a new issue