1
0
Fork 0

ECAM: add SPDBRK STILL OUT warning

This commit is contained in:
legoboyvdlp R 2021-02-02 17:12:42 +00:00
parent 370246d68d
commit c8e186321c
4 changed files with 165 additions and 0 deletions

View file

@ -98,6 +98,8 @@ var warningNodes = {
phase5Trans: props.globals.initNode("/ECAM/warnings/logic/eng/phase-5-output"),
eng1Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-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: {
apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"),

View file

@ -1915,6 +1915,7 @@ var messages_priority_2 = func {
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)) {
gen1fault.active = 1;
if (!warningNodes.Flipflops.gen1FaultOnOff.getValue()) {
@ -1981,6 +1982,14 @@ var messages_priority_2 = func {
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) {
lElevFault.active = 1;
if (lElevFaultCare.clearFlag == 0) {
@ -2017,6 +2026,12 @@ var messages_priority_2 = func {
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) {
directLaw.active = 1;
directLawProt.active = 1;

View file

@ -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 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
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"),
@ -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 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
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"),
@ -426,6 +465,9 @@ var warnings = std.Vector.new([
var apuGenfaultGen2 = warning.new(msg: " •IF UNSUCCESSFUL :", colour: "w"),
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
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"),
@ -436,6 +478,9 @@ var warnings = std.Vector.new([
var rElevFaultCare = warning.new(msg: " MANEUVER WITH CARE", 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
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"),

View file

@ -2025,6 +2025,31 @@
<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-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 name="STALL" execrate="16">
@ -3166,6 +3191,84 @@
</test>
</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 name="Hydraulic" execrate="16">