From c8e186321cca257bbb17ec9c48e6cd16bd5eefca Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Tue, 2 Feb 2021 17:12:42 +0000 Subject: [PATCH] ECAM: add SPDBRK STILL OUT warning --- Nasal/ECAM/ECAM-controller.nas | 2 + Nasal/ECAM/ECAM-logic.nas | 15 +++++ Nasal/ECAM/ECAM-messages.nas | 45 ++++++++++++++ Systems/a320-fwc.xml | 103 +++++++++++++++++++++++++++++++++ 4 files changed, 165 insertions(+) diff --git a/Nasal/ECAM/ECAM-controller.nas b/Nasal/ECAM/ECAM-controller.nas index aedf2937..d43f5947 100644 --- a/Nasal/ECAM/ECAM-controller.nas +++ b/Nasal/ECAM/ECAM-controller.nas @@ -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"), diff --git a/Nasal/ECAM/ECAM-logic.nas b/Nasal/ECAM/ECAM-logic.nas index 066a7c91..99c3478c 100644 --- a/Nasal/ECAM/ECAM-logic.nas +++ b/Nasal/ECAM/ECAM-logic.nas @@ -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; diff --git a/Nasal/ECAM/ECAM-messages.nas b/Nasal/ECAM/ECAM-messages.nas index 247f78a9..f0fc3232 100644 --- a/Nasal/ECAM/ECAM-messages.nas +++ b/Nasal/ECAM/ECAM-messages.nas @@ -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"), diff --git a/Systems/a320-fwc.xml b/Systems/a320-fwc.xml index 6e43357b..f2fb337f 100644 --- a/Systems/a320-fwc.xml +++ b/Systems/a320-fwc.xml @@ -2025,6 +2025,31 @@ 120 0.5 + + + + + /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 + + + + + /ECAM/warnings/logic/ac-ess-bus-altn-feed-input + 120 + 2 + + + + + + /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 + + + @@ -3166,6 +3191,84 @@ + + + + /controls/flight/speedbrake gt 0.0 + + + + + /ECAM/warnings/fctl/spd-brk-still-out-50-seconds-input + 120 + 0.02 + + + + + + /ECAM/warnings/fctl/spd-brk-still-out-50-seconds eq 1 + /engines/both-at-idle eq 1 + + + + + /ECAM/warnings/fctl/spd-brk-still-out-10-seconds-input + 120 + 0.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 + + + + + /ECAM/warnings/fctl/spd-brk-still-out-1-input + 120 + 0.03333333333 + + + + + + /ECAM/warning-phase eq 7 + /controls/flight/speedbrake gt 0.0 + + + + + /ECAM/warnings/fctl/spd-brk-still-out-2-input + 120 + 0.2 + + + + + + + + + + + /ECAM/warnings/fctl/spd-brk-still-out-1 eq 1 + /ECAM/warnings/fctl/spd-brk-still-out-2 eq 1 + + + +