1
0
Fork 0

Improve stall warning: found better documentation. It actually does operate in normal law -- just uses different angles to alternate or direct law. Inhibited under 1500 feet at takeoff

This commit is contained in:
legoboyvdlp R 2021-01-30 20:22:09 +00:00
parent 8857a2641c
commit c986935810
2 changed files with 106 additions and 22 deletions

View file

@ -119,6 +119,37 @@ var warnings = std.Vector.new([
var rud_trim_config_1 = warning.new(msg: " NOT IN T.O. RANGE", colour: "r", aural: 0, light: 0),
var park_brk_config = warning.new(msg: "CONFIG PARK BRK ON", colour: "r", aural: 0, light: 0),
# EXCESS CAB ALT
var excessCabAlt = warning.new(msg: "CAB PR EXCESS CAB ALT", colour: "r", aural: 0, light: 0, isMainMsg: 1),
var excessCabAltMask = warning.new(msg: " -CREW OXY MASKS.....USE", colour: "c"),
var excessCabAltSigns = warning.new(msg: " -SIGNS...............ON", colour: "c"),
var excessCabAltEmerD = warning.new(msg: " •EMER DESCENT:", colour: "w", isMainMsg: 1),
var excessCabAltDES = warning.new(msg: " -DESCENT.......INITIATE", colour: "c"),
var excessCabAltTHRLVR = warning.new(msg: " -THR LEVERS........IDLE", colour: "c"),
var excessCabAltSPDBRK = warning.new(msg: " -SPD BRK...........FULL", colour: "c"),
var excessCabAltSPD = warning.new(msg: " SPD.....MAX/APPROPRIATE", colour: "c"),
var excessCabAltENG = warning.new(msg: " -ENG MODE...........IGN", colour: "c"),
var excessCabAltCAB = warning.new(msg: " -CABIN CREW......ADVISE", colour: "c"),
var excessCabAltPA = warning.new(msg: " -EMER DES (PA).ANNOUNCE", colour: "c"),
var excessCabAltXPDR = warning.new(msg: " -XPDR 7700.....CONSIDER", colour: "c"),
var excessCabAltMEA = warning.new(msg: " MAX FL.....100/MEA-MORA", colour: "c"),
var excessCabAltCabAlt = warning.new(msg: " •IF CAB ALT>14000 FT:", colour: "w", isMainMsg: 1),
var excessCabAltMasks = warning.new(msg: " -PAX OXY MASKS...MAN ON", colour: "c"),
# ENG 1 OIL LO PR
var eng1OilLoPr = warning.new(msg: "ENG 1 OIL LO PR ", colour: "r", aural: 0, light: 0, isMainMsg: 1),
var eng1OilLoPrIf = warning.new(msg: " •IF OIL PR < 13 PSI :", colour: "w", isMainMsg: 1),
var eng1OilLoPrIf2 = warning.new(msg: " •IF OIL PR < 60 PSI :", colour: "w", isMainMsg: 1),
var eng1OilLoPrThrot = warning.new(msg: " -THR LEVER 1.......IDLE", colour: "c"),
var eng1OilLoPrMaster = warning.new(msg: " -ENG MASTER 1.......OFF", colour: "c"),
# ENG 2 OIL LO PR
var eng2OilLoPr = warning.new(msg: "ENG 2 OIL LO PR ", colour: "r", aural: 0, light: 0, isMainMsg: 1),
var eng2OilLoPrIf = warning.new(msg: " •IF OIL PR < 13 PSI :", colour: "w", isMainMsg: 1),
var eng2OilLoPrIf2 = warning.new(msg: " •IF OIL PR < 60 PSI :", colour: "w", isMainMsg: 1),
var eng2OilLoPrThrot = warning.new(msg: " -THR LEVER 2.......IDLE", colour: "c"),
var eng2OilLoPrMaster = warning.new(msg: " -ENG MASTER 2.......OFF", colour: "c"),
# FCTL L+R ELEV FAULT
var lrElevFault = warning.new(msg: "F/CTL L+R ELEV FAULT", colour: "r", aural: 0, light: 0, isMainMsg: 1),
var lrElevFaultSpeed = warning.new(msg: " MAX SPEED.......320/.77", colour: "c"),

View file

@ -1687,6 +1687,13 @@
</channel>
<channel name="STALL" execrate="16">
<switch name="/ECAM/warnings/logic/stall/phase-4">
<default value="0"/>
<test logic="OR" value="1">
/ECAM/warning-phase eq 4
</test>
</switch>
<switch name="/ECAM/warnings/logic/stall/phase-flipflop-set">
<default value="0"/>
@ -1707,13 +1714,6 @@
</test>
</test>
</switch>
<switch name="/ECAM/warnings/logic/stall/phase-4">
<default value="0"/>
<test logic="OR" value="1">
/ECAM/warning-phase eq 4
</test>
</switch>
<switch name="/ECAM/warnings/logic/stall/phase-5">
<default value="0"/>
@ -1738,37 +1738,90 @@
<test logic="AND" value="1">
/instrumentation/radar-altimeter[0]/radar-altitude-ft lt 1500
/instrumentation/radar-altimeter[1]/radar-altitude-ft lt 1500
/it-fbw/law ne 0
/it-fbw/law eq 0
/ECAM/warnings/logic/stall/phase-flipflop eq 1
</test>
</switch>
<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>
<switch name="/ECAM/warnings/logic/stall/stall-warn">
<default value="0"/>
<test logic="AND" value="1">
<test logic="OR">
<test logic="AND">
/it-fbw/law eq 0
/fdm/jsbsim/fcs/slat-pos-deg lt 15
<test logic="OR">
/systems/navigation/adr/output/aoa-1 ge 15
/systems/navigation/adr/output/aoa-2 ge 15
/systems/navigation/adr/output/aoa-3 ge 15
<test logic="AND">
/systems/navigation/adr/output/aoa-1 ge 13.5
/systems/navigation/adr/operating-1 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-2 ge 13.5
/systems/navigation/adr/operating-2 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-3 ge 13.5
/systems/navigation/adr/operating-3 eq 1
</test>
</test>
</test>
<test logic="AND">
/it-fbw/law eq 0
/fdm/jsbsim/fcs/slat-pos-deg ge 15
<test logic="OR">
/systems/navigation/adr/output/aoa-1 ge 23
/systems/navigation/adr/output/aoa-2 ge 23
/systems/navigation/adr/output/aoa-3 ge 23
<test logic="AND">
/systems/navigation/adr/output/aoa-1 ge 22
/systems/navigation/adr/operating-1 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-2 ge 22
/systems/navigation/adr/operating-2 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-3 ge 22
/systems/navigation/adr/operating-3 eq 1
</test>
</test>
<test logic="AND">
/it-fbw/law ne 0
/fdm/jsbsim/fcs/slat-pos-deg lt 15
<test logic="OR">
<test logic="AND">
/systems/navigation/adr/output/aoa-1 ge 8
/systems/navigation/adr/operating-1 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-2 ge 8
/systems/navigation/adr/operating-2 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-3 ge 8
/systems/navigation/adr/operating-3 eq 1
</test>
</test>
</test>
<test logic="AND">
/it-fbw/law ne 0
/fdm/jsbsim/fcs/slat-pos-deg ge 15
<test logic="AND">
/systems/navigation/adr/output/aoa-1 ge 14
/systems/navigation/adr/operating-1 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-2 ge 14
/systems/navigation/adr/operating-2 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-3 ge 14
/systems/navigation/adr/operating-3 eq 1
</test>
</test>
</test>
/it-fbw/law ne 0
<test logic="OR">
/systems/navigation/adr/operating-1 eq 1
/systems/navigation/adr/operating-2 eq 1
/systems/navigation/adr/operating-3 eq 1
</test>
</test>
</switch>
@ -2878,7 +2931,7 @@
</channel>
<!--<channel name="NAV" execrate="8">
<!--<channel name="NAV" execrate="16">
<switch name="/ECAM/warnings/navigation/ADR123-fault">
<default value="0"/>