Improve FWC phase switching, such that some weird behaviours are gone (like flickering from 4 to 6 to 5 on rotation) + its more efficient due to JSBSIM
This commit is contained in:
parent
97dc7f73ce
commit
469c7ad171
6 changed files with 187 additions and 79 deletions
|
@ -2355,7 +2355,7 @@ var messages_memo = func {
|
|||
|
||||
if ((phaseVarMemo2 == 1 or phaseVarMemo2 == 2) and toMemoLine1.active != 1 and ldgMemoLine1.active != 1 and (systems.ADIRS.ADIRunits[0].inAlign == 1 or systems.ADIRS.ADIRunits[1].inAlign == 1 or systems.ADIRS.ADIRunits[2].inAlign == 1)) {
|
||||
irs_in_align.active = 1;
|
||||
if (getprop("/ECAM/phases/timer/eng1or2-output")) {
|
||||
if (FWC.Timer.eng1or2Output.getValue()) {
|
||||
irs_in_align.colour = "a";
|
||||
} else {
|
||||
irs_in_align.colour = "g";
|
||||
|
|
|
@ -2,19 +2,14 @@
|
|||
|
||||
# Copyright (c) 2019 Jonathan Redpath (legoboyvdlp)
|
||||
|
||||
var twoEngOff = 0;
|
||||
var myPhase = nil;
|
||||
var eng = nil;
|
||||
var eng1epr = nil;
|
||||
var eng2epr = nil;
|
||||
var eng1n1 = nil;
|
||||
var eng2n1 = nil;
|
||||
var eng1n2 = nil;
|
||||
var eng2n2 = nil;
|
||||
var eprlim = nil;
|
||||
var master1 = nil;
|
||||
var master2 = nil;
|
||||
var n1lim = nil;
|
||||
var gear_agl_cur = nil;
|
||||
|
||||
var FWC = {
|
||||
|
@ -53,23 +48,27 @@ var FWC = {
|
|||
Logic: {
|
||||
gnd: props.globals.getNode("/ECAM/ground-calc-immediate"),
|
||||
IRSinAlign: props.globals.initNode("/ECAM/irs-in-align", 0, "BOOL"),
|
||||
feet1500: props.globals.getNode("/ECAM/phases/phase-calculation/altitude-ge-1500"),
|
||||
feet800: props.globals.getNode("/ECAM/phases/phase-calculation/altitude-ge-800"),
|
||||
},
|
||||
Timer: {
|
||||
eng1idle: props.globals.initNode("/ECAM/phases/timer/eng1idle", 0, "INT"),
|
||||
eng2idle: props.globals.initNode("/ECAM/phases/timer/eng2idle", 0, "INT"),
|
||||
eng1or2: props.globals.initNode("/ECAM/phases/timer/eng1or2", 0, "INT"),
|
||||
eng1idle: props.globals.getNode("/ECAM/phases/timer/eng1idle"),
|
||||
eng2idle: props.globals.getNode("/ECAM/phases/timer/eng2idle"),
|
||||
eng1or2: props.globals.getNode("/ECAM/phases/phase-calculation/one-engine-running"),
|
||||
toInhibit: props.globals.initNode("/ECAM/phases/timer/to-inhibit", 0, "INT"),
|
||||
ldgInhibit: props.globals.initNode("/ECAM/phases/timer/ldg-inhibit", 0, "INT"),
|
||||
eng1idleOutput: props.globals.getNode("/ECAM/phases/timer/eng1idle-output"),
|
||||
eng2idleOutput: props.globals.getNode("/ECAM/phases/timer/eng2idle-output"),
|
||||
eng1or2Output: props.globals.initNode("/ECAM/phases/timer/eng1or2-output", 0, "INT"),
|
||||
eng1and2Off: props.globals.getNode("/ECAM/phases/phase-calculation/engines-1-2-not-running"),
|
||||
eng1or2Output: props.globals.getNode("/ECAM/phases/phase-calculation/engine-1-or-2-running"),
|
||||
toInhibitOutput: props.globals.getNode("/ECAM/phases/timer/to-inhibit-output"),
|
||||
ldgInhibitOutput: props.globals.getNode("/ECAM/phases/timer/ldg-inhibit-output"),
|
||||
gnd: props.globals.getNode("/ECAM/timer/ground-calc"), # ZGND
|
||||
gnd2Sec: props.globals.getNode("/ECAM/phases/monostable/gnd-output"),
|
||||
gnd2SecHalf: props.globals.getNode("/ECAM/phases/monostable/gnd-output-2"), # hack to prevent getting confused between phase 5 / 6
|
||||
},
|
||||
speed80: props.globals.initNode("/ECAM/phases/speed-gt-80", 0, "BOOL"),
|
||||
toPower: props.globals.initNode("/ECAM/phases/to-power-set", 0, "BOOL"),
|
||||
toPower: props.globals.getNode("/ECAM/phases/phase-calculation/takeoff-power"),
|
||||
altChg: props.globals.getNode("/it-autoflight/input/alt-is-changing", 1),
|
||||
};
|
||||
|
||||
|
@ -82,53 +81,12 @@ var phaseLoop = func() {
|
|||
eng2epr = pts.Engines.Engine.eprActual[1].getValue();
|
||||
eng1n1 = pts.Engines.Engine.n1Actual[0].getValue();
|
||||
eng2n1 = pts.Engines.Engine.n1Actual[1].getValue();
|
||||
eng1n2 = pts.Engines.Engine.n2Actual[0].getValue();
|
||||
eng2n2 = pts.Engines.Engine.n2Actual[1].getValue();
|
||||
master1 = pts.Controls.Engines.Engine.cutoffSw[0].getBoolValue();
|
||||
master2 = pts.Controls.Engines.Engine.cutoffSw[1].getBoolValue();
|
||||
|
||||
FWC.Flipflop.recallReset.setValue(0);
|
||||
|
||||
# Various things
|
||||
if (eng1n2 >= 59.4 and !master1) {
|
||||
FWC.Timer.eng1idle.setValue(1);
|
||||
} else {
|
||||
FWC.Timer.eng1idle.setValue(0);
|
||||
}
|
||||
|
||||
if (eng2n2 >= 59.4 and !master2) {
|
||||
FWC.Timer.eng2idle.setValue(1);
|
||||
} else {
|
||||
FWC.Timer.eng2idle.setValue(0);
|
||||
}
|
||||
|
||||
if (eng1n2 >= 59.4 or eng2n2 >= 59.4) {
|
||||
FWC.Timer.eng1or2.setValue(1);
|
||||
} else {
|
||||
FWC.Timer.eng1or2.setValue(0);
|
||||
}
|
||||
|
||||
if ((FWC.Timer.eng1idleOutput.getBoolValue() == 0 or master1) and (FWC.Timer.eng2idleOutput.getBoolValue() == 0 or master2)) {
|
||||
twoEngOff = 1;
|
||||
} else {
|
||||
twoEngOff = 0;
|
||||
}
|
||||
|
||||
if (eng == "IAE") {
|
||||
eprlim = getprop("/controls/engines/epr-limit");
|
||||
if ((!pts.Controls.Engines.Engine.reverser[0].getBoolValue() and !pts.Controls.Engines.Engine.reverser[1].getBoolValue()) and (((pts.Controls.Engines.Engine.throttle[0].getValue() >= 0.78 or pts.Controls.Engines.Engine.throttle[1].getValue() >= 0.779) and fadec.Thrust.limFlex.getBoolValue()) or (pts.Controls.Engines.Engine.throttle[0].getValue() >= 0.99 or pts.Controls.Engines.Engine.throttle[1].getValue() >= 0.99))) {
|
||||
FWC.toPower.setBoolValue(1);
|
||||
} else {
|
||||
FWC.toPower.setBoolValue(0);
|
||||
}
|
||||
} else {
|
||||
n1lim = getprop("/controls/engines/n1-limit");
|
||||
if ((!pts.Controls.Engines.Engine.reverser[0].getBoolValue() and !pts.Controls.Engines.Engine.reverser[1].getBoolValue()) and (((pts.Controls.Engines.Engine.throttle[0].getValue() >= 0.78 or pts.Controls.Engines.Engine.throttle[1].getValue() >= 0.779) and fadec.Thrust.limFlex.getBoolValue()) or (pts.Controls.Engines.Engine.throttle[0].getValue() >= 0.99 or pts.Controls.Engines.Engine.throttle[1].getValue() >= 0.99))) {
|
||||
FWC.toPower.setBoolValue(1);
|
||||
} else {
|
||||
FWC.toPower.setBoolValue(0);
|
||||
}
|
||||
}
|
||||
|
||||
if (myPhase == 9) {
|
||||
FWC.Monostable.phase9.setBoolValue(1);
|
||||
|
@ -149,7 +107,7 @@ var phaseLoop = func() {
|
|||
FWC.Flipflop.phase10Reset.setBoolValue(0);
|
||||
}
|
||||
|
||||
if ((FWC.Logic.gnd.getBoolValue() and twoEngOff and myPhase == 9) and FWC.Flipflop.phase10Output.getBoolValue()) {
|
||||
if ((FWC.Logic.gnd.getBoolValue() and FWC.Timer.eng1and2Off.getValue() and myPhase == 9) and FWC.Flipflop.phase10Output.getBoolValue()) {
|
||||
FWC.Monostable.phase1.setBoolValue(1); # true for 300 sec then false
|
||||
} else {
|
||||
FWC.Monostable.phase1.setBoolValue(0);
|
||||
|
@ -171,21 +129,21 @@ var phaseLoop = func() {
|
|||
gear_agl_cur = pts.Position.gearAglFt.getValue();
|
||||
|
||||
# Phase 5 monostable
|
||||
if (FWC.toPower.getBoolValue() and (gear_agl_cur <= 1500 and !FWC.Logic.gnd.getBoolValue() and FWC.Timer.gnd2Sec.getValue() != 1)) {
|
||||
if (FWC.toPower.getBoolValue() and (!FWC.Logic.feet1500.getBoolValue() and !FWC.Logic.gnd.getBoolValue() and FWC.Timer.gnd2Sec.getValue() != 1)) {
|
||||
FWC.Monostable.phase5.setBoolValue(1);
|
||||
} else {
|
||||
FWC.Monostable.phase5.setBoolValue(0);
|
||||
}
|
||||
|
||||
# Phase 7 monostable
|
||||
if (!FWC.toPower.getBoolValue() and gear_agl_cur <= 1500 and gear_agl_cur <= 800 and !FWC.Logic.gnd.getBoolValue() and FWC.Timer.gnd2Sec.getValue() != 1) {
|
||||
if (!FWC.toPower.getBoolValue() and !FWC.Logic.feet1500.getBoolValue() and !FWC.Logic.feet800.getBoolValue() and !FWC.Logic.gnd.getBoolValue() and FWC.Timer.gnd2Sec.getValue() != 1) {
|
||||
FWC.Monostable.phase7.setBoolValue(1);
|
||||
} else {
|
||||
FWC.Monostable.phase7.setBoolValue(0);
|
||||
}
|
||||
|
||||
# Actual Phases
|
||||
if ((!FWC.Logic.gnd.getBoolValue() and FWC.Timer.gnd2Sec.getValue() != 1 and twoEngOff and myPhase != 9) and !FWC.Monostable.phase1Output.getBoolValue()) {
|
||||
if ((!FWC.Logic.gnd.getBoolValue() and FWC.Timer.gnd2Sec.getValue() != 1 and FWC.Timer.eng1and2Off.getValue() and myPhase != 9) and !FWC.Monostable.phase1Output.getBoolValue()) {
|
||||
setPhase(1);
|
||||
}
|
||||
|
||||
|
@ -205,7 +163,7 @@ var phaseLoop = func() {
|
|||
setPhase(5);
|
||||
}
|
||||
|
||||
if (!FWC.Logic.gnd.getValue() and FWC.Timer.gnd2Sec.getValue() != 1 and !(FWC.Monostable.phase5.getBoolValue() and FWC.Monostable.phase5Output.getBoolValue()) and !(FWC.Monostable.phase7.getBoolValue() and FWC.Monostable.phase7Output.getBoolValue())) {
|
||||
if (!FWC.Logic.gnd.getValue() and FWC.Timer.gnd2SecHalf.getValue() != 1 and (!FWC.Monostable.phase5.getBoolValue() or !FWC.Monostable.phase5Output.getBoolValue()) and (!FWC.Monostable.phase7.getBoolValue() or !FWC.Monostable.phase7Output.getBoolValue())) {
|
||||
setPhase(6);
|
||||
}
|
||||
|
||||
|
@ -221,7 +179,7 @@ var phaseLoop = func() {
|
|||
setPhase(9);
|
||||
}
|
||||
|
||||
if ((FWC.Logic.gnd.getBoolValue() and twoEngOff and myPhase == 9) and FWC.Monostable.phase1Output.getBoolValue()) {
|
||||
if ((FWC.Logic.gnd.getBoolValue() and FWC.Timer.eng1and2Off.getValue() and myPhase == 9) and FWC.Monostable.phase1Output.getBoolValue()) {
|
||||
setPhase(10);
|
||||
}
|
||||
|
||||
|
|
|
@ -466,7 +466,7 @@
|
|||
/gear/gear[1]/wow eq 1
|
||||
/systems/air-conditioning/landing-switch eq 1
|
||||
/velocities/airspeed-kt lt 70
|
||||
/ECAM/phases/to-power-set ne 1
|
||||
/ECAM/phases/phase-calculation/takeoff-power ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -474,7 +474,7 @@
|
|||
<default value="/systems/air-conditioning/packs/pack-flow-1-norm"/>
|
||||
<test logic="AND" value="0">
|
||||
/gear/gear[1]/wow eq 1
|
||||
/ECAM/phases/to-power-set eq 1
|
||||
/ECAM/phases/phase-calculation/takeoff-power eq 1
|
||||
</test>
|
||||
<test logic="AND" value="0">
|
||||
/gear/gear[1]/wow eq 1
|
||||
|
@ -507,7 +507,7 @@
|
|||
<default value="/systems/air-conditioning/packs/pack-flow-2-norm"/>
|
||||
<test logic="AND" value="0">
|
||||
/gear/gear[1]/wow eq 1
|
||||
/ECAM/phases/to-power-set eq 1
|
||||
/ECAM/phases/phase-calculation/takeoff-power eq 1
|
||||
</test>
|
||||
<test logic="AND" value="0">
|
||||
/gear/gear[1]/wow eq 1
|
||||
|
|
|
@ -12,6 +12,19 @@
|
|||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit> <!-- 1 second -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/phases/phase-calculation/engine-1-or-2-running">
|
||||
<input>/ECAM/phases/phase-calculation/one-engine-running</input>
|
||||
<rate_limit sense="decr">120</rate_limit>
|
||||
<rate_limit sense="incr">0.03333333333</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/phases/monostable/phase-1-300-output">
|
||||
<input>/ECAM/phases/monostable/phase-1-300</input>
|
||||
<rate_limit sense="incr">0.00333333333</rate_limit>
|
||||
<rate_limit sense="decr">120</rate_limit>
|
||||
</actuator>
|
||||
|
||||
</channel>
|
||||
|
||||
<channel name="FWC Phase Logic and Switches" execrate="4">
|
||||
|
@ -80,12 +93,6 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/phases/monostable/phase-1-300-output">
|
||||
<input>/ECAM/phases/monostable/phase-1-300</input>
|
||||
<rate_limit sense="incr">0.00333333333</rate_limit>
|
||||
<rate_limit sense="decr">120</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/phases/monostable/phase-1-300-output">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
|
@ -93,6 +100,135 @@
|
|||
/ECAM/phases/monostable/phase-1-300 eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/altitude-ge-1500">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/position/gear-agl-ft ge 1500
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/altitude-flipflop-set">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/phases/phase-calculation/altitude-ge-1500 eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/altitude-flipflop-reset">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/position/gear-agl-ft lt 800
|
||||
</test>
|
||||
</switch>
|
||||
</channel>
|
||||
|
||||
<channel name="Phase Calcs" execrate="4">
|
||||
|
||||
<switch name="/ECAM/phases/timer/eng1idle">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[0]/n2 ge 59.4
|
||||
/controls/engines/engine[0]/cutoff-switch eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/timer/eng2idle">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[1]/n2 ge 59.4
|
||||
/controls/engines/engine[1]/cutoff-switch eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/engine-1-off">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
<test logic="OR">
|
||||
/ECAM/phases/timer/eng1idle-output eq 0
|
||||
/controls/engines/engine[0]/cutoff-switch eq 1
|
||||
</test>
|
||||
<test logic="OR">
|
||||
/ECAM/timer/ground-calc eq 1
|
||||
/ECAM/phases/timer/eng1idle eq 0
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/engine-2-off">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
<test logic="OR">
|
||||
/ECAM/phases/timer/eng2idle-output eq 0
|
||||
/controls/engines/engine[1]/cutoff-switch eq 1
|
||||
</test>
|
||||
<test logic="OR">
|
||||
/ECAM/timer/ground-calc eq 1
|
||||
/ECAM/phases/timer/eng2idle eq 0
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/engines-1-2-not-running">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/phases/phase-calculation/engine-1-off eq 1
|
||||
/ECAM/phases/phase-calculation/engine-2-off eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/one-engine-running">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/takeoff-power-logic">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/controls/engines/engine[0]/throttle ge 0.779
|
||||
/systems/thrust/lim-flex eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/controls/engines/engine[0]/throttle ge 0.99
|
||||
/systems/thrust/lim-flex eq 0
|
||||
</test>
|
||||
</test>
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/controls/engines/engine[1]/throttle ge 0.779
|
||||
/systems/thrust/lim-flex eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/controls/engines/engine[1]/throttle ge 0.99
|
||||
/systems/thrust/lim-flex eq 0
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/phases/phase-calculation/takeoff-power-timer">
|
||||
<input>/ECAM/phases/phase-calculation/takeoff-power-logic</input>
|
||||
<rate_limit sense="incr">120</rate_limit>
|
||||
<rate_limit sense="decr">0.01666666666</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/phases/phase-calculation/takeoff-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/ECAM/phases/phase-calculation/takeoff-power-logic eq 1
|
||||
<test logic="AND">
|
||||
/ECAM/phases/phase-calculation/takeoff-power-timer ne 0
|
||||
/ECAM/phases/phase-calculation/altitude-ge-1500 eq 0
|
||||
/controls/engines/engine[0]/throttle ge 0.599
|
||||
/controls/engines/engine[1]/throttle ge 0.599
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
</channel>
|
||||
|
||||
</system>
|
||||
|
|
|
@ -20,13 +20,6 @@
|
|||
<rate_limit sense="incr">0.033</rate_limit> <!-- 30 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/phases/timer/eng1or2-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/phases/timer/eng1or2</input>
|
||||
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.033</rate_limit> <!-- 30 seconds -->
|
||||
</actuator>
|
||||
|
||||
<actuator name="/ECAM/phases/timer/to-inhibit-output">
|
||||
<description>Timer for the ECAM system</description>
|
||||
<input>/ECAM/phases/timer/to-inhibit</input>
|
||||
|
@ -1804,7 +1797,7 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/engines/engine[0]/throttle-lever ge 0.13333333333
|
||||
/ECAM/phases/to-power-set eq 0
|
||||
/ECAM/phases/phase-calculation/takeoff-power eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -1857,7 +1850,7 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/engines/engine[1]/throttle-lever ge 0.13333333333
|
||||
/ECAM/phases/to-power-set eq 0
|
||||
/ECAM/phases/phase-calculation/takeoff-power eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -2062,7 +2055,7 @@
|
|||
/instrumentation/radar-altimeter[0]/radar-altitude-ft lt 750
|
||||
/instrumentation/radar-altimeter[1]/radar-altitude-ft lt 750
|
||||
</test>
|
||||
/ECAM/phases/to-power-set eq 0
|
||||
/ECAM/phases/phase-calculation/takeoff-power eq 0
|
||||
<test logic="OR">
|
||||
fcs/slat-pos-deg gt 16
|
||||
fcs/flap-pos-deg gt 18
|
||||
|
@ -2098,7 +2091,7 @@
|
|||
/instrumentation/radar-altimeter[0]/radar-altitude-ft lt 750
|
||||
/instrumentation/radar-altimeter[1]/radar-altitude-ft lt 750
|
||||
</test>
|
||||
/ECAM/phases/to-power-set eq 0
|
||||
/ECAM/phases/phase-calculation/takeoff-power eq 0
|
||||
<test logic="OR">
|
||||
/gear/gear[0]/position-norm ne 1
|
||||
/gear/gear[1]/position-norm ne 1
|
||||
|
|
|
@ -203,6 +203,17 @@
|
|||
<output>ECAM/phases/monostable/gnd-output</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
<value>2.5</value>
|
||||
</time>
|
||||
<S>
|
||||
<property>/ECAM/ground-calc-immediate</property>
|
||||
</S>
|
||||
<output>ECAM/phases/monostable/gnd-output-2</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>monostable</type>
|
||||
<time>
|
||||
|
@ -372,7 +383,7 @@
|
|||
<value>1.0</value>
|
||||
</time>
|
||||
<S>
|
||||
<property>ECAM/phases/to-power-set</property>
|
||||
<property>ECAM/phases/phase-calculation/takeoff-power</property>
|
||||
</S>
|
||||
<output>ECAM/phases/monostable/to-power-set-output</output>
|
||||
</flipflop>
|
||||
|
@ -1008,4 +1019,14 @@
|
|||
<output>/ECAM/warnings/altitude-alert/monostable-autopilot-output</output>
|
||||
</flipflop>
|
||||
|
||||
<flipflop>
|
||||
<type>RS</type>
|
||||
<S>
|
||||
<property>/ECAM/phases/phase-calculation/altitude-flipflop-set</property>
|
||||
</S>
|
||||
<R>
|
||||
<property>/ECAM/phases/phase-calculation/altitude-flipflop-reset</property>
|
||||
</R>
|
||||
<output>/ECAM/phases/phase-calculation/altitude-ge-800</output>
|
||||
</flipflop>
|
||||
</PropertyList>
|
||||
|
|
Loading…
Reference in a new issue