ECAM: add SPDBRK STILL OUT warning
This commit is contained in:
parent
370246d68d
commit
c8e186321c
4 changed files with 165 additions and 0 deletions
|
@ -98,6 +98,8 @@ var warningNodes = {
|
||||||
phase5Trans: props.globals.initNode("/ECAM/warnings/logic/eng/phase-5-output"),
|
phase5Trans: props.globals.initNode("/ECAM/warnings/logic/eng/phase-5-output"),
|
||||||
eng1Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-shutdown"),
|
eng1Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-shutdown"),
|
||||||
eng2Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-2-shutdown"),
|
eng2Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-2-shutdown"),
|
||||||
|
acEssBusAltn: props.globals.initNode("/ECAM/warnings/logic/ac-ess-bus-altn-feed"),
|
||||||
|
spdBrkOut: props.globals.initNode("/ECAM/warnings/fctl/spd-brk-still-out"),
|
||||||
},
|
},
|
||||||
Timers: {
|
Timers: {
|
||||||
apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"),
|
apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"),
|
||||||
|
|
|
@ -1915,6 +1915,7 @@ var messages_priority_2 = func {
|
||||||
ECAM_controller.warningReset(acBusEssShedAtc);
|
ECAM_controller.warningReset(acBusEssShedAtc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# GEN 1 FAULT
|
||||||
if (gen1fault.clearFlag == 0 and warningNodes.Flipflops.gen1Fault.getValue() and (phaseVar2 == 2 or phaseVar2 == 3 or phaseVar2 == 6 or phaseVar2 == 9)) {
|
if (gen1fault.clearFlag == 0 and warningNodes.Flipflops.gen1Fault.getValue() and (phaseVar2 == 2 or phaseVar2 == 3 or phaseVar2 == 6 or phaseVar2 == 9)) {
|
||||||
gen1fault.active = 1;
|
gen1fault.active = 1;
|
||||||
if (!warningNodes.Flipflops.gen1FaultOnOff.getValue()) {
|
if (!warningNodes.Flipflops.gen1FaultOnOff.getValue()) {
|
||||||
|
@ -1981,6 +1982,14 @@ var messages_priority_2 = func {
|
||||||
ECAM_controller.warningReset(apuGenfaultGen3);
|
ECAM_controller.warningReset(apuGenfaultGen3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ELEC AC ESS BUS ALTN
|
||||||
|
if (acEssBusAltn.clearFlag == 0 and warningNodes.Logic.acEssBusAltn.getValue() and (phaseVar2 >= 9 or phaseVar2 <= 2)) {
|
||||||
|
acEssBusAltn.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(acEssBusAltn);
|
||||||
|
}
|
||||||
|
|
||||||
|
# L ELEV FAULT
|
||||||
if (lElevFault.clearFlag == 0 and warningNodes.Timers.leftElevFail.getValue() and phaseVar2 != 4 and phaseVar2 != 5) {
|
if (lElevFault.clearFlag == 0 and warningNodes.Timers.leftElevFail.getValue() and phaseVar2 != 4 and phaseVar2 != 5) {
|
||||||
lElevFault.active = 1;
|
lElevFault.active = 1;
|
||||||
if (lElevFaultCare.clearFlag == 0) {
|
if (lElevFaultCare.clearFlag == 0) {
|
||||||
|
@ -2017,6 +2026,12 @@ var messages_priority_2 = func {
|
||||||
ECAM_controller.warningReset(rElevFaultPitch);
|
ECAM_controller.warningReset(rElevFaultPitch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fctlSpdBrkStillOut.clearFlag == 0 and warningNodes.Logic.spdBrkOut.getValue() and (phaseVar2 == 6 or phaseVar2 == 7)) {
|
||||||
|
fctlSpdBrkStillOut.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(fctlSpdBrkStillOut);
|
||||||
|
}
|
||||||
|
|
||||||
if (directLaw.clearFlag == 0 and warningNodes.Timers.directLaw.getValue() and phaseVar2 != 4 and phaseVar2 != 5 and phaseVar2 != 7 and phaseVar2 != 8) {
|
if (directLaw.clearFlag == 0 and warningNodes.Timers.directLaw.getValue() and phaseVar2 != 4 and phaseVar2 != 5 and phaseVar2 != 7 and phaseVar2 != 8) {
|
||||||
directLaw.active = 1;
|
directLaw.active = 1;
|
||||||
directLawProt.active = 1;
|
directLawProt.active = 1;
|
||||||
|
|
|
@ -342,6 +342,39 @@ var warnings = std.Vector.new([
|
||||||
var satAbvFlexTemp = warning.new(msg: "ENG SAT ABOVE FLEX TEMP", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
var satAbvFlexTemp = warning.new(msg: "ENG SAT ABOVE FLEX TEMP", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
var satAbvFlexTempCheck = warning.new(msg: " -T.O DATA.........CHECK", colour: "c"),
|
var satAbvFlexTempCheck = warning.new(msg: " -T.O DATA.........CHECK", colour: "c"),
|
||||||
|
|
||||||
|
# B RSVR LO LVL
|
||||||
|
var hydBSysLoLvl = warning.new(msg: "HYD B RSVR LO LVL ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
var hydBSysLoLvlPump = warning.new(msg: " -BLUE ELEC PUMP.....OFF ", colour: "c"),
|
||||||
|
|
||||||
|
# G RSVR LO LVL
|
||||||
|
var hydGSysLoLvl = warning.new(msg: "HYD G RSVR LO LVL ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
var hydGSysLoLvlPtu = warning.new(msg: " -PTU................OFF ", colour: "c"),
|
||||||
|
var hydGSysLoLvlPump = warning.new(msg: " -GREEN ENG 1 PUMP...OFF ", colour: "c"),
|
||||||
|
|
||||||
|
# Y RSVR LO LVL
|
||||||
|
var hydYSysLoLvl = warning.new(msg: "HYD Y RSVR LO LVL ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
var hydYSysLoLvlPtu = warning.new(msg: " -PTU................OFF ", colour: "c"),
|
||||||
|
var hydYSysLoLvlPump = warning.new(msg: " -YELLOW ENG 2 PUMP..OFF ", colour: "c"),
|
||||||
|
var hydYSysLoLvlElec = warning.new(msg: " -YELLOW ELEC PUMP...OFF ", colour: "c"),
|
||||||
|
|
||||||
|
# B SYS LO PR
|
||||||
|
var hydBSysLoPr = warning.new(msg: "HYD B SYS LO PR ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
var hydBSysLoPrFuel = warning.new(msg: " FUEL CONSUMPT INCRSD ", colour: "c"),
|
||||||
|
var hydBSysLoPrFmsPred = warning.new(msg: " FMS PRED UNRELIABLE ", colour: "c"),
|
||||||
|
|
||||||
|
# G SYS LO PR
|
||||||
|
var hydGSysLoPr = warning.new(msg: "HYD G SYS LO PR ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
var hydGSysLoPrFuel = warning.new(msg: " FUEL CONSUMPT INCRSD ", colour: "c"),
|
||||||
|
var hydGSysLoPrFmsPred = warning.new(msg: " FMS PRED UNRELIABLE ", colour: "c"),
|
||||||
|
var hydGSysLoPrEngPump = warning.new(msg: " G ENG 1 PUMP LO PR ", colour: "a"),
|
||||||
|
|
||||||
|
# Y SYS LO PR
|
||||||
|
var hydYSysLoPr = warning.new(msg: "HYD Y SYS LO PR ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
var hydYSysLoPrAccu = warning.new(msg: " BRK Y ACCU PR MONITOR ", colour: "c"),
|
||||||
|
var hydYSysLoPrFuel = warning.new(msg: " FUEL CONSUMPT INCRSD ", colour: "c"),
|
||||||
|
var hydYSysLoPrFmsPred = warning.new(msg: " FMS PRED UNRELIABLE ", colour: "c"),
|
||||||
|
var hydYSysLoPrEngPump = warning.new(msg: " Y ENG 2 PUMP LO PR ", colour: "a"),
|
||||||
|
|
||||||
# DC EMER CONFIG
|
# DC EMER CONFIG
|
||||||
var dcEmerconfig = warning.new(msg: "ELEC DC EMER CONFIG", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
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 dcEmerconfigManOn = warning.new(msg: " -EMER ELEC PWR...MAN ON", colour: "c"),
|
||||||
|
@ -408,6 +441,12 @@ var warnings = std.Vector.new([
|
||||||
var acBusEssShed = warning.new(msg: "ELEC AC ESS BUS SHED", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
var acBusEssShed = warning.new(msg: "ELEC AC ESS BUS SHED", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
var acBusEssShedAtc = warning.new(msg: " -ATC..............SYS 2", colour: "c"),
|
var acBusEssShedAtc = warning.new(msg: " -ATC..............SYS 2", colour: "c"),
|
||||||
|
|
||||||
|
# IDG 1 DISCONNECTED
|
||||||
|
var idg1Disc = warning.new(msg: "ELEC IDG 1 DISCONNECTED", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
|
||||||
|
# IDG 2 DISCONNECTED
|
||||||
|
var idg2Disc = warning.new(msg: "ELEC IDG 2 DISCONNECTED", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
|
||||||
# GEN 1 FAULT
|
# GEN 1 FAULT
|
||||||
var gen1fault = warning.new(msg: "ELEC GEN 1 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
var gen1fault = warning.new(msg: "ELEC GEN 1 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
var gen1faultGen = warning.new(msg: "-GEN 1......OFF THEN ON", colour: "c"),
|
var gen1faultGen = warning.new(msg: "-GEN 1......OFF THEN ON", colour: "c"),
|
||||||
|
@ -426,6 +465,9 @@ var warnings = std.Vector.new([
|
||||||
var apuGenfaultGen2 = warning.new(msg: " •IF UNSUCCESSFUL :", colour: "w"),
|
var apuGenfaultGen2 = warning.new(msg: " •IF UNSUCCESSFUL :", colour: "w"),
|
||||||
var apuGenfaultGen3 = warning.new(msg: "-APU GEN............OFF", colour: "c"),
|
var apuGenfaultGen3 = warning.new(msg: "-APU GEN............OFF", colour: "c"),
|
||||||
|
|
||||||
|
# APU GEN FAULT
|
||||||
|
var acEssBusAltn = warning.new(msg: "ELEC AC ESS BUS ALTN", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
|
||||||
# L ELEV FAULT
|
# L ELEV FAULT
|
||||||
var lElevFault = warning.new(msg: "F/CTL L ELEV FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
var lElevFault = warning.new(msg: "F/CTL L ELEV FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
var lElevFaultCare = warning.new(msg: " MANEUVER WITH CARE", colour: "c"),
|
var lElevFaultCare = warning.new(msg: " MANEUVER WITH CARE", colour: "c"),
|
||||||
|
@ -436,6 +478,9 @@ var warnings = std.Vector.new([
|
||||||
var rElevFaultCare = warning.new(msg: " MANEUVER WITH CARE", colour: "c"),
|
var rElevFaultCare = warning.new(msg: " MANEUVER WITH CARE", colour: "c"),
|
||||||
var rElevFaultPitch = warning.new(msg: " FOR GA:MAX PITCH 15 DEG", colour: "c"),
|
var rElevFaultPitch = warning.new(msg: " FOR GA:MAX PITCH 15 DEG", colour: "c"),
|
||||||
|
|
||||||
|
# F/CTL SPD BRK STILL OUT
|
||||||
|
var fctlSpdBrkStillOut = warning.new(msg: "F/CTL SPD BRK STILL OUT ", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
|
|
||||||
# DIRECT LAW
|
# DIRECT LAW
|
||||||
var directLaw = warning.new(msg: "F/CTL DIRECT LAW", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
var directLaw = warning.new(msg: "F/CTL DIRECT LAW", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||||
var directLawProt = warning.new(msg: " (PROT LOST)", colour: "a"),
|
var directLawProt = warning.new(msg: " (PROT LOST)", colour: "a"),
|
||||||
|
|
|
@ -2025,6 +2025,31 @@
|
||||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||||
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
<rate_limit sense="incr">0.5</rate_limit> <!-- 2 seconds -->
|
||||||
</actuator>
|
</actuator>
|
||||||
|
|
||||||
|
<switch name="/ECAM/warnings/logic/ac-ess-bus-altn-feed-input">
|
||||||
|
<default value="0"/>
|
||||||
|
<test logic="AND" value="1">
|
||||||
|
/systems/electrical/bus/ac-1 ge 110
|
||||||
|
/controls/electrical/switches/ac-ess-feed eq 0
|
||||||
|
/systems/electrical/relay/ac-ess-feed-2/output ge 110
|
||||||
|
</test>
|
||||||
|
</switch>
|
||||||
|
|
||||||
|
<actuator name="/ECAM/warnings/logic/ac-ess-bus-altn-feed-output">
|
||||||
|
<input>/ECAM/warnings/logic/ac-ess-bus-altn-feed-input</input>
|
||||||
|
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||||
|
<rate_limit sense="incr">2</rate_limit> <!-- 0.5 seconds -->
|
||||||
|
</actuator>
|
||||||
|
|
||||||
|
<switch name="/ECAM/warnings/logic/ac-ess-bus-altn-feed">
|
||||||
|
<default value="0"/>
|
||||||
|
<test logic="AND" value="1">
|
||||||
|
/systems/electrical/some-electric-thingie/emer-elec-config ne 1
|
||||||
|
/systems/electrical/bus/ac-ess ge 25
|
||||||
|
/ECAM/warnings/logic/ac-ess-bus-altn-feed-output eq 1
|
||||||
|
</test>
|
||||||
|
</switch>
|
||||||
|
|
||||||
</channel>
|
</channel>
|
||||||
|
|
||||||
<channel name="STALL" execrate="16">
|
<channel name="STALL" execrate="16">
|
||||||
|
@ -3166,6 +3191,84 @@
|
||||||
</test>
|
</test>
|
||||||
</switch>
|
</switch>
|
||||||
|
|
||||||
|
<switch name="/ECAM/warnings/fctl/spd-brk-still-out-50-seconds-input">
|
||||||
|
<default value="0"/>
|
||||||
|
<test logic="AND" value="1">
|
||||||
|
/controls/flight/speedbrake gt 0.0
|
||||||
|
</test>
|
||||||
|
</switch>
|
||||||
|
|
||||||
|
<actuator name="/ECAM/warnings/fctl/spd-brk-still-out-50-seconds">
|
||||||
|
<input>/ECAM/warnings/fctl/spd-brk-still-out-50-seconds-input</input>
|
||||||
|
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||||
|
<rate_limit sense="incr">0.02</rate_limit> <!-- 50 seconds -->
|
||||||
|
</actuator>
|
||||||
|
|
||||||
|
<switch name="/ECAM/warnings/fctl/spd-brk-still-out-10-seconds-input">
|
||||||
|
<default value="0"/>
|
||||||
|
<test logic="AND" value="1">
|
||||||
|
/ECAM/warnings/fctl/spd-brk-still-out-50-seconds eq 1
|
||||||
|
/engines/both-at-idle eq 1
|
||||||
|
</test>
|
||||||
|
</switch>
|
||||||
|
|
||||||
|
<actuator name="/ECAM/warnings/fctl/spd-brk-still-out-10-seconds">
|
||||||
|
<input>/ECAM/warnings/fctl/spd-brk-still-out-10-seconds-input</input>
|
||||||
|
<rate_limit sense="incr">120</rate_limit> <!-- Instant -->
|
||||||
|
<rate_limit sense="decr">0.1</rate_limit> <!-- 10 seconds -->
|
||||||
|
</actuator>
|
||||||
|
|
||||||
|
<switch name="/ECAM/warnings/fctl/spd-brk-still-out-1-input">
|
||||||
|
<default value="0"/>
|
||||||
|
<test logic="AND" value="1">
|
||||||
|
/ECAM/warning-phase eq 6
|
||||||
|
/ECAM/warnings/fctl/spd-brk-still-out-50-seconds eq 1
|
||||||
|
/ECAM/warnings/fctl/spd-brk-still-out-10-seconds eq 0
|
||||||
|
</test>
|
||||||
|
</switch>
|
||||||
|
|
||||||
|
<actuator name="/ECAM/warnings/fctl/spd-brk-still-out-1">
|
||||||
|
<input>/ECAM/warnings/fctl/spd-brk-still-out-1-input</input>
|
||||||
|
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||||
|
<rate_limit sense="incr">0.03333333333</rate_limit> <!-- 30 seconds -->
|
||||||
|
</actuator>
|
||||||
|
|
||||||
|
<switch name="/ECAM/warnings/fctl/spd-brk-still-out-2-input">
|
||||||
|
<default value="0"/>
|
||||||
|
<test logic="AND" value="1">
|
||||||
|
/ECAM/warning-phase eq 7
|
||||||
|
/controls/flight/speedbrake gt 0.0
|
||||||
|
</test>
|
||||||
|
</switch>
|
||||||
|
|
||||||
|
<actuator name="/ECAM/warnings/fctl/spd-brk-still-out-2">
|
||||||
|
<input>/ECAM/warnings/fctl/spd-brk-still-out-2-input</input>
|
||||||
|
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||||
|
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||||
|
</actuator>
|
||||||
|
<!-- TCAS ON AP
|
||||||
|
<switch name="/ECAM/warnings/fctl/spd-brk-still-out-3-input">
|
||||||
|
<default value="0"/>
|
||||||
|
<test logic="OR" value="1">
|
||||||
|
/controls/flight/speedbrake gt 0.0
|
||||||
|
</test>
|
||||||
|
</switch>-->
|
||||||
|
|
||||||
|
<!--<actuator name="/ECAM/warnings/fctl/spd-brk-still-out-3">
|
||||||
|
<input>/ECAM/warnings/fctl/spd-brk-still-out-3-input</input>
|
||||||
|
<rate_limit sense="decr">120</rate_limit>--> <!-- Instant -->
|
||||||
|
<!--<rate_limit sense="incr">0.2</rate_limit>--> <!-- 5 seconds -->
|
||||||
|
<!--</actuator>-->
|
||||||
|
|
||||||
|
<switch name="/ECAM/warnings/fctl/spd-brk-still-out">
|
||||||
|
<default value="0"/>
|
||||||
|
<test logic="OR" value="1">
|
||||||
|
/ECAM/warnings/fctl/spd-brk-still-out-1 eq 1
|
||||||
|
/ECAM/warnings/fctl/spd-brk-still-out-2 eq 1
|
||||||
|
<!--/ECAM/warnings/fctl/spd-brk-still-out-3 eq 1-->
|
||||||
|
</test>
|
||||||
|
</switch>
|
||||||
|
|
||||||
</channel>
|
</channel>
|
||||||
|
|
||||||
<channel name="Hydraulic" execrate="16">
|
<channel name="Hydraulic" execrate="16">
|
||||||
|
|
Loading…
Add table
Reference in a new issue