Commit 3c46949f authored by Михаил Данилов's avatar Михаил Данилов 💬

Support all overlay states, except supersonic cruise.

parent 2313f459
......@@ -16,13 +16,9 @@ var LoadFlightplan = func(file) {
'targetnode' : '/sim/temp/Orbita'
});
CopyLoaded();
N_AP = getprop("/fdm/jsbsim/fcs/NPK/Orbita/flightplan/AP/count");
if(!N_AP){
N_AP = 1;
}
setprop("/fdm/jsbsim/fcs/NPK/panel/TsUNP/switch/AP", N_AP - 1);
Tu144.NPKLandingAirport(getprop("/fdm/jsbsim/fcs/NPK/Orbita/flightplan/AP/count"));
setprop("/sim/gui/dialog/Orbita10/plottype", "PPM");
Orbita10.Plot("PPM");
Plot("PPM");
}
......
......@@ -496,7 +496,7 @@ var mainloop = func {
if(QNH_new != QNH){
say("altimeter", 2.0);
do(func {
Tu144.SetAltimeters(QNH_new);
Tu144.SetQNHAll(QNH_new);
});
QNH = QNH_new;
}
......
var _supported = ["parking", "gate", "taxi", "take-off", "cruise", "approach"];
setlistener("/sim/signals/fdm-initialized", func(p) {
if(p.getValue() == 0){
return;
}
var state = getprop("/nasal/state/name");
var match = 0;
foreach(name; _supported){
if(state == name){
match = 1;
break;
}
}
if(!match){
print("Unsupported state: " ~ state);
return;
}
if((state == "parking") or (state == "gate")){
Tu144.TrimTargetParking();
}else if(state == "take-off"){
Tu144.TrimTargetTakeoff();
}else if(state == "approach"){
Tu144.TrimTarget(-20.0, 0.0, 0.0);
}else if(state == "cruise"){
Tu144.TrimTarget(32.0, 0.0, 0.0);
}else{
Tu144.TrimTarget(0.0, 0.0, 0.0);
}
if((state == "parking") or (state == "gate") or (state == "taxi") or (state == "take-off")){
Tu144.ThrottleTargetAll(0.0);
}else if(state == "approach"){
Tu144.ThrottleTargetAll(28.0);
}else{
Tu144.ThrottleTargetAll(42.0);
}
if(state == "take-off"){
Tu144.ConeCmd(1);
Tu144.CanardCmd(2);
}else if((state == "taxi") or (state == "approach")){
Tu144.ConeCmd(2);
Tu144.CanardCmd(2);
}else{
Tu144.ConeCmd(0);
Tu144.CanardCmd(0);
Tu144.ConePower(0);
Tu144.CanardPower(0);
}
if(state == "cruise"){
Tu144.GearCmd(-1);
}
# FIXME Vary fuel CG on cruise alt/speed!
if((state == "parking") or (state == "gate")){
Tu144.SetFuel(9000.0, 0.0, 0.0, 0.0);
}else if(state == "taxi"){
Tu144.SetFuel(26000.0, 0.0, 6000.0, 0.0);
Tu144.FuelMeterTarget(3, 1, 9);
}else if(state == "takeoff"){
Tu144.SetFuel(24000.0, 0.0, 6000.0, 0.0);
Tu144.FuelMeterTarget(2, 9, 9);
}else if(state == "approach"){
Tu144.SetFuel(10000.0, 0.0, 0000.0, 0.0);
Tu144.FuelMeterTarget(0, 9, 9);
}else{
Tu144.SetFuel(24000.0, 0.0, 3000.0, 3000.0);
Tu144.FuelMeterTarget(2, 9, 9);
}
if((state == "parking") or (state == "gate")){
Tu144.FuelMeter(0);
}else{
Tu144.FuelMeter(1);
}
if(state == "parking"){
Tu144.APUPower(0);
Tu144.APUBleed(0);
Tu144.ElecOff(1);
Tu144.FireOpenCloseAll(0);
Tu144.CutoffAll(1);
Tu144.BoostpumpAll(0);
}else if(state == "gate"){
Tu144.APUPower(1);
Tu144.APUBleed(1);
Tu144.ElecAPU(1);
Tu144.FireOpenCloseAllExceptAPU(0);
Tu144.FireOpenCloseAPU(1);
Tu144.CutoffAll(1);
Tu144.BoostpumpAll(0);
}else{
Tu144.APUPower(0);
Tu144.APUBleed(0);
Tu144.ElecDefault(1);
Tu144.FireOpenCloseAll(1);
Tu144.CutoffAll(0);
Tu144.BoostpumpAll(1);
}
Tu144.PrepareInstruments();
if(state == "parking"){
Tu144.NPKMode(0);
Tu144.NPKIntegration(0);
} else if (state == "gate") {
Tu144.NPKMode(2);
Tu144.NPKIntegration(0);
}else{
Tu144.NPKMode(3);
Tu144.NPKIntegration(1);
}
if((state == "parking") or (state == "gate") or (state == "taxi")){
Tu144.Steering(2);
}else{
Tu144.Steering(1);
}
if(state == "parking"){
Tu144.AirconOff();
}else if(state == "gate"){
Tu144.AirconGate();
}else{
Tu144.AirconDefault();
}
if(state == "parking"){
Tu144.LightsOff();
}else if(state == "gate"){
Tu144.LightsGate();
}else if(state == "taxi"){
Tu144.LightsTaxi();
}else if((state == "takeoff") or (state == "approach")){
Tu144.LightsTOL();
}else{
Tu144.LightsDefault();
}
if((state == "parking") or (state == "gate")){
Tu144.Chocks(1);
}else{
Tu144.Chocks(0);
}
if((state == "parking") or (state == "gate") or (state == "taxi")){
Tu144.Parkingbrake(1);
}else{
Tu144.Parkingbrake(0);
}
if((state == "takeoff")){
Tu144.Startbrake(1);
}else{
Tu144.Startbrake(0);
}
});
This diff is collapsed.
# WARNING
#
# This only sets the state of prepared aircraft.
# It does NOT follow any procedures and MUST NOT be used
# as documentation.
# TODO When property tree has settled, most of this stuff is better in -set.xml.
setlistener("/sim/signals/fdm-initialized", func(p) {
if(p.getValue() == 0){
return;
}
Tu144.SetFuel(9000.0, 0.0, 0.0, 0.0);
setprop("/fdm/jsbsim/systems/warning/panel/button/ack-caution", 1);
setprop("/fdm/jsbsim/systems/warning/panel/button/ack-warning", 1);
setprop("/fdm/jsbsim/crew/copilot/adjust-trim", 1);
for(var i = 1; i < 5; i += 1){
setprop("/fdm/jsbsim/systems/elec/panel/switch/DC27-bat[" ~ i ~"]", 1);
}
setprop("/fdm/jsbsim/systems/elec/panel/switch/APU", 1);
for(var i = 0; i < 4; i += 1){
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/crossfeed[" ~ i ~ "]", 1);
}
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/master", 1);
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/KSA-valve[3]", 1);
setprop("/fdm/jsbsim/propulsion/engine[4]/panel/switch/master", 1);
setprop("/fdm/jsbsim/propulsion/engine[4]/panel/switch/ignition", 1);
setprop("/fdm/jsbsim/propulsion/engine[4]/panel/switch/bleed", 1);
settimer(func {
setprop("/fdm/jsbsim/propulsion/engine[4]/panel/switch/bleed", 0);
}, 8.0);
for(var i = 1; i < 3; i += 1){
setprop("/fdm/jsbsim/propulsion/air/panel/switch/APU_ASU[" ~ i ~ "]", 1);
}
setprop("/fdm/jsbsim/fcs/panel/switch/canard-power", 1);
setprop("/fdm/jsbsim/fcs/panel/switch/cone-power", 1);
setprop("/fdm/jsbsim/systems/comm/SOM/panel/switch/SO-63", 1);
setprop("/fdm/jsbsim/fcs/NPK/panel/PIK/switch/mode", 1);
Tu144.PrepareInstruments();
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/autoselect", 1);
setprop("/fdm/jsbsim/fcs/NPK/panel/TsUNP/switch/AP_", getprop("/fdm/jsbsim/fcs/NPK/Orbita/flightplan/AP/count"));
settimer(func {
setprop("/fdm/jsbsim/fcs/NPK/panel/PIK/switch/mode", 2);
setprop("/sim/speed-up", 4);
}, 1.0);
settimer(func {
setprop("/fdm/jsbsim/systems/warning/panel/button/ack-caution", 0);
setprop("/fdm/jsbsim/systems/warning/panel/button/ack-warning", 0);
setprop("/systems/ground-supply/dialog/electrical", 0);
setprop("/systems/ground-supply/dialog/air", 0);
setprop("/systems/ground-supply/dialog/refill", 0);
setprop("/fdm/jsbsim/systems/comm/RI/panel/switch/power", 1);
setprop("/sim/speed-up", 1);
setprop("/fdm/jsbsim/crew/copilot/adjust-trim", 0);
}, 4.0);
});
# WARNING
#
# This only sets the state of already running aircraft.
# It does NOT follow any procedures and MUST NOT be used
# as documentation.
# TODO When property tree has settled, most of this stuff is better in -set.xml.
setlistener("/sim/signals/fdm-initialized", func(p) {
if(p.getValue() == 0){
return;
}
Tu144.SetFuel(24000.0, 0.0, 6000.0, 0.0);
setprop("/fdm/jsbsim/crew/copilot/adjust-trim", 1);
for(var i = 1; i < 5; i += 1){
setprop("/fdm/jsbsim/systems/elec/panel/switch/DC27-bat[" ~ i ~"]", 1);
}
setprop("/fdm/jsbsim/systems/elec/panel/switch/GPU", 1);
setprop("/fdm/jsbsim/fcs/panel/switch/canard-power", 1);
setprop("/fdm/jsbsim/fcs/panel/switch/cone-power", 1);
setprop("/controls/flight/wing-sweep", 0.5);
setprop("/controls/flight/flaps", 1);
setprop("/controls/gear/brake-left", 1);
setprop("/controls/gear/brake-right", 1);
setprop("/fdm/jsbsim/gear/panel/switch/start-brake", 1);
setprop("/controls/gear/brake-parking", 0);
setprop("/fdm/jsbsim/systems/lighting/panel/switch/collision", 1);
setprop("/fdm/jsbsim/systems/lighting/panel/switch/front_2", 1);
setprop("/fdm/jsbsim/systems/comm/SOM/panel/switch/SO-63", 1);
setprop("/fdm/jsbsim/fcs/NPK/panel/PIK/switch/mode", 1);
Tu144.PrepareInstruments();
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/master", 1);
for(var i = 0; i < 4; i += 1){
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/engine-valve[" ~ i ~ "]", 1);
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/KSA-valve[" ~ i ~ "]", 1);
setprop("/fdm/jsbsim/propulsion/engine[" ~ i ~ "]/panel/lever/cutoff", 0);
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/boost-pump_1[" ~ i ~ "]", 1);
}
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/autoselect", 1);
setprop("/fdm/jsbsim/propulsion/fuel/meter/init/d-1", 0);
setprop("/fdm/jsbsim/propulsion/fuel/meter/init/d0", 0);
setprop("/fdm/jsbsim/propulsion/fuel/meter/init/d1", 3);
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/meter", 1);
setprop("/fdm/jsbsim/fcs/NPK/panel/TsUNP/switch/AP_", getprop("/fdm/jsbsim/fcs/NPK/Orbita/flightplan/AP/count"));
settimer(func {
setprop("/fdm/jsbsim/fcs/NPK/panel/PIK/switch/mode", 2);
setprop("/sim/speed-up", 4);
}, 1.0);
for(var i = 1; i < 5; i += 1){
setprop("/fdm/jsbsim/systems/elec/panel/switch/AC200-gen[" ~ i ~ "]", 1);
}
for(var i = 0; i < 4; i += 1){
setprop("/fdm/jsbsim/propulsion/air/panel/switch/engine[" ~ i ~ "]", 1);
}
settimer(func {
setprop("/fdm/jsbsim/systems/elec/panel/switch/GPU", 0);
setprop("/systems/ground-supply/dialog/wheel-chocks", 0);
setprop("/systems/ground-supply/dialog/electrical", 0);
setprop("/systems/ground-supply/dialog/air", 0);
setprop("/systems/ground-supply/dialog/refill", 0);
setprop("/fdm/jsbsim/fcs/NPK/panel/PIK/switch/mode", 3);
setprop("/fdm/jsbsim/fcs/NPK/panel/TsUNP/switch/integration", 1);
setprop("/fdm/jsbsim/systems/comm/RI/panel/switch/power", 1);
setprop("/fdm/jsbsim/gear/panel/switch/steering-60deg", 0);
setprop("/fdm/jsbsim/crew/copilot/adjust-trim", 0);
setprop("/controls/gear/brake-left", 0);
setprop("/controls/gear/brake-right", 0);
setprop("/sim/speed-up", 1);
}, 4.0);
});
# WARNING
#
# This only sets the state of already running aircraft.
# It does NOT follow any procedures and MUST NOT be used
# as documentation.
# TODO When property tree has settled, most of this stuff is better in -set.xml.
setlistener("/sim/signals/fdm-initialized", func(p) {
if(p.getValue() == 0){
return;
}
Tu144.SetFuel(26000.0, 0.0, 6000.0, 0.0);
setprop("/fdm/jsbsim/crew/copilot/adjust-trim", 1);
for(var i = 1; i < 5; i += 1){
setprop("/fdm/jsbsim/systems/elec/panel/switch/DC27-bat[" ~ i ~"]", 1);
}
#setprop("/fdm/jsbsim/systems/elec/panel/switch/GPU", 1);
setprop("/fdm/jsbsim/fcs/panel/switch/canard-power", 1);
setprop("/fdm/jsbsim/fcs/panel/switch/cone-power", 1);
setprop("/controls/flight/wing-sweep", 1.0);
setprop("/controls/flight/flaps", 1);
setprop("/controls/gear/brake-left", 1);
setprop("/controls/gear/brake-right", 1);
setprop("/fdm/jsbsim/gear/panel/switch/start-brake", 1);
setprop("/controls/gear/brake-parking", 0);
setprop("/fdm/jsbsim/systems/lighting/panel/switch/collision", 1);
setprop("/fdm/jsbsim/systems/lighting/panel/switch/front_1", 1);
setprop("/fdm/jsbsim/systems/comm/SOM/panel/switch/SO-63", 1);
setprop("/fdm/jsbsim/fcs/NPK/panel/PIK/switch/mode", 1);
Tu144.PrepareInstruments();
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/master", 1);
for(var i = 0; i < 4; i += 1){
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/engine-valve[" ~ i ~ "]", 1);
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/KSA-valve[" ~ i ~ "]", 1);
setprop("/fdm/jsbsim/propulsion/engine[" ~ i ~ "]/panel/lever/cutoff", 0);
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/boost-pump_1[" ~ i ~ "]", 1);
}
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/autoselect", 1);
setprop("/fdm/jsbsim/propulsion/fuel/meter/init/d-1", 0);
setprop("/fdm/jsbsim/propulsion/fuel/meter/init/d0", 2);
setprop("/fdm/jsbsim/propulsion/fuel/meter/init/d1", 3);
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/meter", 1);
setprop("/fdm/jsbsim/fcs/NPK/panel/TsUNP/switch/AP_", getprop("/fdm/jsbsim/fcs/NPK/Orbita/flightplan/AP/count"));
settimer(func {
setprop("/fdm/jsbsim/fcs/NPK/panel/PIK/switch/mode", 2);
setprop("/sim/speed-up", 4);
}, 1.0);
for(var i = 1; i < 5; i += 1){
setprop("/fdm/jsbsim/systems/elec/panel/switch/AC200-gen[" ~ i ~ "]", 1);
}
for(var i = 0; i < 4; i += 1){
setprop("/fdm/jsbsim/propulsion/air/panel/switch/engine[" ~ i ~ "]", 1);
}
settimer(func {
setprop("/fdm/jsbsim/systems/elec/panel/switch/GPU", 0);
setprop("/systems/ground-supply/dialog/wheel-chocks", 0);
setprop("/systems/ground-supply/dialog/electrical", 0);
setprop("/systems/ground-supply/dialog/air", 0);
setprop("/systems/ground-supply/dialog/refill", 0);
setprop("/fdm/jsbsim/fcs/NPK/panel/PIK/switch/mode", 3);
setprop("/fdm/jsbsim/fcs/NPK/panel/TsUNP/switch/integration", 1);
setprop("/fdm/jsbsim/systems/comm/RI/panel/switch/power", 1);
setprop("/fdm/jsbsim/crew/copilot/adjust-trim", 0);
setprop("/controls/gear/brake-left", 0);
setprop("/controls/gear/brake-right", 0);
setprop("/sim/speed-up", 1);
}, 4.0);
});
......@@ -189,11 +189,8 @@
<repeatable type="bool">false</repeatable>
<desc>Gear neutral, down</desc>
<binding>
<command>property-adjust</command>
<property>/fdm/jsbsim/gear/panel/lever/gear</property>
<step type="int">1</step>
<min type="int">-1</min>
<max type="int">1</max>
<command>nasal</command>
<script>Tu144.GearInc(1)</script>
</binding>
</key>
......@@ -202,11 +199,8 @@
<repeatable type="bool">false</repeatable>
<desc>Gear neutral, up</desc>
<binding>
<command>property-adjust</command>
<property>/fdm/jsbsim/gear/panel/lever/gear</property>
<step type="int">-1</step>
<min type="int">-1</min>
<max type="int">1</max>
<command>nasal</command>
<script>Tu144.GearInc(-1)</script>
</binding>
</key>
......
......@@ -88,6 +88,9 @@
<property>&U;/deltaT_stag-degC</property>
<property>simulation/init-hotstart-avionics</property>
<channel name="Status" execrate="4">
<switch name="&U;/status/mode">
......@@ -453,8 +456,9 @@
<switch name="&NPK;/instr/US-I/input">
<default value="&NPK;/instr/US-I/input-sync"/>
<test value="0">
<test logic="AND" value="0">
&ABSU;/status/AC36-ok EQ 0
simulation/init-hotstart-avionics EQ 0
</test>
<test value="&NPK;/panel/AT/pot/speed">
&U;/status/V NE 0
......@@ -485,6 +489,9 @@
<switch name="&NPK;/instr/US-I/c1">
<default value="&NPK;/instr/US-I/c1-max"/>
<test value="20.0">
simulation/init-hotstart-avionics NE 0
</test>
<test value="&NPK;/instr/US-I/c1-min">
&NPK;/instr/US-I/input LT 0.0
</test>
......
......@@ -80,8 +80,9 @@
<switch name="fcs/NPK/DISS/status/ready">
<default value="fcs/NPK/DISS/status/on"/>
<test value="0">
<test logic="AND" value="0">
fcs/NPK/DISS/status/func/ready-norm LT 0.9
simulation/init-hotstart-avionics EQ 0
</test>
</switch>
......
......@@ -80,8 +80,9 @@
<!-- TODO affected by BKK. -->
<output>fcs/NPK/instr/PKP/flag/horizon</output>
<default value="fcs/NPK/IS/status/on"/>
<test logic="OR" value="0">
<test logic="AND" value="0">
fcs/NPK/IS/status/func/ready-norm LT 0.9
simulation/init-hotstart-avionics EQ 0
</test>
</switch>
......@@ -115,6 +116,9 @@
<switch name="fcs/NPK/IS/MGV/theta-err-deg">
<default value="fcs/NPK/IS/MGV/theta-err-deg"/>
<test value="0.0">
simulation/init-hotstart-avionics NE 0
</test>
<test logic="OR" value="-attitude/theta-deg">
fcs/NPK/IS/status/on EQ 0
fcs/NPK/status/init NE 0
......@@ -123,6 +127,9 @@
<switch name="fcs/NPK/IS/MGV/gamma-err-deg">
<default value="fcs/NPK/IS/MGV/gamma-err-deg"/>
<test value="0.0">
simulation/init-hotstart-avionics NE 0
</test>
<test logic="OR" value="-attitude/phi-deg">
fcs/NPK/IS/status/on EQ 0
fcs/NPK/status/init NE 0
......
......@@ -69,6 +69,10 @@
<property>accelerations/slip-skid-ball-norm</property>
<property>simulation/init-hotstart-avionics</property>
<property>simulation/init-hotstart-NPK-mode</property>
<channel name="Electric" execrate="8">
<!-- FIXME Obey these:
......@@ -272,6 +276,9 @@
<switch name="fcs/NPK/status/mode">
<default value="fcs/NPK/panel/PIK/switch/mode"/>
<test value="simulation/init-hotstart-NPK-mode">
simulation/init-hotstart-avionics NE 0
</test>
<test value="0">
fcs/NPK/status/power EQ 0
</test>
......
......@@ -153,7 +153,7 @@
<system file="Tu-144-jsbsim/systems/hydr"/>
<system file="Tu-144-jsbsim/systems/elec"/>
<system file="Tu-144-jsbsim/systems/fuel"/>
<system file="Tu-144-jsbsim/propulsion/fuel"/>
<system file="Tu-144-jsbsim/systems/pitot-static"/>
<system file="Tu-144-jsbsim/systems/pitot-static_0"/>
<system file="Tu-144-jsbsim/systems/pitot-static_1"/>
......
......@@ -12,7 +12,7 @@
<property>&U;/panel/button/test</property>
<property>&U;/panel/button/repeat</property>
<property>&U;/panel/button/clear</property>
<property>&U;/panel/switch/power</property>
<property value="1">&U;/panel/switch/power</property>
<property>&U;/elec/DC27-V</property>
......
......@@ -4,7 +4,7 @@
<property value="1">systems/comm/SOM/panel/switch/system</property><!-- 0: РСП; 1: УВД; 2: RBS; 3: 023М -->
<property>systems/comm/SOM/panel/switch/SO-63</property>
<property value="1">systems/comm/SOM/panel/switch/SO-63</property>
<property>systems/comm/SOM/panel/switch/freq</property><!-- Transmission freq (волна): 0: 1; 1: 2; 2: 3; 3: 5 -->
<property>systems/comm/SOM/panel/button/test</property>
<property>systems/comm/SOM/panel/button/ident</property>
......
......@@ -72,7 +72,7 @@
<property>fcs/panel/yoke/button/PTT</property>
<property>fcs/panel/yoke/button/trim-elec</property><!-- -1: back, 0: neutral, 1: forward -->
<property>fcs/panel/yoke/button/trim</property><!-- -1: back, 0: neutral, 1: forward -->
<property>fcs/panel/switch/canard-power</property>
<property>fcs/panel/switch/canard-command</property><!-- 0: retract, 1: neutral, 2: extend -->
......@@ -101,11 +101,13 @@
<property>fcs/pitch/trim/ap-command</property>
<property>fcs/set-trim</property>
<property>fcs/set-trim-column-mm</property>
<property>fcs/set-trim-wheel-deg</property>
<property>fcs/set-trim-pedal-mm</property>
<property>crew/copilot/adjust-trim</property>
<property>simulation/init-hotstart-avionics</property>
<property>simulation/init-airstart</property>
<property>simulation/init-trim</property>
<property>simulation/init-mech</property>
<property>simulation/repair</property>
<property>simulation/refill</property>
<property>simulation/external-actuation</property>
......@@ -125,7 +127,7 @@
<property value="1">gear/panel/switch/steering</property>
<property value="1">gear/panel/switch/steering-60deg</property>
<property>gear/panel/switch/start-brake</property>
<property>gear/panel/switch/parking-brake</property>
<property value="1">gear/panel/switch/parking-brake</property>
<property>gear/panel/lever/emergency-extend</property>
<property>gear/panel/lever/emergency-brake[1]</property>
<property>gear/panel/lever/emergency-brake[2]</property>
......@@ -794,15 +796,9 @@
<switch name="fcs/pitch/trim/pot-target-mm">
<default value="fcs/panel/pot/pitch-trim/pos-mm"/>
<test value="0.0">
simulation/init-airstart NE 0
</test>
<test logic="AND" value="91.5">
crew/copilot/adjust-trim NE 0
propulsion/fuel/trim/cg-pMAC GE 40.5
</test>
<test value="80.0">
crew/copilot/adjust-trim NE 0
<test logic="OR" value="fcs/set-trim-column-mm">
fcs/set-trim NE 0
simulation/init-trim NE 0
</test>
<test value="-200.0">
fcs/panel/pot/pitch-trim/cmd LE -1
......@@ -811,11 +807,11 @@
fcs/panel/pot/pitch-trim/cmd GE 1
</test>
<test logic="AND" value="-200.0">
fcs/panel/yoke/button/trim-elec LE -1
fcs/panel/yoke/button/trim LE -1
fcs/status/standby-AC36 NE 0
</test>
<test logic="AND" value="200.0">
fcs/panel/yoke/button/trim-elec GE 1
fcs/panel/yoke/button/trim GE 1
fcs/status/standby-AC36 NE 0
</test>
<test logic="AND" value="-200.0">
......@@ -836,13 +832,10 @@
<switch name="fcs/pitch/trim/pot-c1">
<!-- Trim speed: 0.6+0.15-0.2 deg/s [ABSU 2 p. 593] -->
<default value="10.5"/><!-- SIC Can be moved by hand -->
<test logic="AND" value="105.0">
simulation/init-hotstart-avionics NE 0
crew/copilot/adjust-trim NE 0
</test>
<!-- SIC Can be moved by hand as well as electrically. -->
<default value="10.5"/>
<test value="105.0">
simulation/init-airstart NE 0
simulation/init-trim NE 0
</test>
</switch>
......@@ -960,6 +953,10 @@
<switch name="fcs/roll/trim/target-deg">
<default value="fcs/roll/trim/pos-deg"/>
<test logic="OR" value="fcs/set-trim-wheel-deg">
fcs/set-trim NE 0
simulation/init-trim NE 0
</test>
<test value="-80.0">
fcs/panel/switch/roll-trim LE -1
</test>
......@@ -976,6 +973,9 @@
<switch name="fcs/roll/trim/c1">
<default value="25.0"/>
<test value="250.0">
simulation/init-trim NE 0
</test>
<test value="0.0">
fcs/status/standby-AC36 EQ 0
</test>
......@@ -1023,7 +1023,7 @@
<table>
<independentVar lookup="row">fcs/yaw/pedal-mm</independentVar>
<tableData>
-100 -15.0
-100.0 -15.0
-87.5 -11.0
-75.0 -8.2
-50.0 -4.5
......@@ -1035,7 +1035,7 @@
50.0 4.5
75.0 8.2
87.5 11.0
100 15.0
100.0 15.0
</tableData>
</table>
</function>
......@@ -1054,6 +1054,10 @@
<switch name="fcs/yaw/trim/target-mm">
<default value="fcs/yaw/trim/pos-mm"/>
<test logic="OR" value="fcs/set-trim-pedal-mm">
fcs/set-trim NE 0
simulation/init-trim NE 0
</test>
<test value="-100.0">
fcs/panel/switch/yaw-trim LE -1
</test>
......@@ -1070,6 +1074,9 @@
<switch name="fcs/yaw/trim/c1">
<default value="25.0"/>
<test value="250.0">
simulation/init-trim NE 0
</test>
<test value="0.0">
fcs/status/standby-AC36 EQ 0
</test>
......@@ -1297,7 +1304,7 @@
<switch name="fcs/canard/function/c1">
<default value="fcs/canard/function/c1-elec"/>
<test value="10.0">
simulation/init-airstart NE 0
simulation/init-mech NE 0
</test>
<test value="0.0">
fcs/canard/damage/jam NE 0
......@@ -1306,9 +1313,6 @@
<test value="0.0455">
simulation/external-actuation NE 0
</test>
<test value="4.55">