1
0
Fork 0
A320-family/Systems/a320-fmgc.xml
2022-05-14 15:13:19 -04:00

1080 lines
27 KiB
XML

<?xml version="1.0"?>
<!-- Airbus A320 FMGC -->
<!-- Copyright (c) 2022 Josh Davidson and Jonathan Redpath -->
<system name="A320: FMGC">
<property value="350">/FMGC/internal/vmo-kts</property>
<channel name="FMGC Power" execrate="8">
<switch name="/systems/fmgc/power/power-1">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/bus/dc-ess-shed ge 25
</test>
</switch>
<switch name="/systems/fmgc/power/power-2">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/bus/dc-2 ge 25
</test>
</switch>
<actuator name="/systems/fmgc/power/power-1-timer">
<input>/systems/fmgc/power/power-1</input>
<rate_limit sense="decr">5</rate_limit>
<rate_limit sense="incr">100</rate_limit>
</actuator>
<actuator name="/systems/fmgc/power/power-2-timer">
<input>/systems/fmgc/power/power-2</input>
<rate_limit sense="decr">5</rate_limit>
<rate_limit sense="incr">100</rate_limit>
</actuator>
<switch name="/systems/fmgc/power/power-1-on">
<default value="0"/>
<test logic="OR" value="1">
/systems/fmgc/power/power-1-timer ne 0
</test>
</switch>
<switch name="/systems/fmgc/power/power-2-on">
<default value="0"/>
<test logic="OR" value="1">
/systems/fmgc/power/power-2-timer ne 0
</test>
</switch>
</channel>
<channel name="Envelope Protection" execrate="8">
<!-- Vmo/Mmo -->
<fcs_function name="/FMGC/internal/mmo-kts">
<function>
<product>
<quotient>
<property>/instrumentation/airspeed-indicator/indicated-speed-kt</property>
<max> <!-- Prevent divide by 0 -->
<property>/instrumentation/airspeed-indicator/indicated-mach</property>
<value>0.0001</value>
</max>
</quotient>
<value>0.82</value>
</product>
</function>
</fcs_function>
<switch name="/FMGC/internal/vmo-mmo">
<default value="/FMGC/internal/vmo-kts"/>
<test logic="AND" value="/FMGC/internal/mmo-kts">
/FMGC/internal/mmo-kts lt /FMGC/internal/vmo-kts
position/wow eq 0
</test>
</switch>
<fcs_function name="/FMGC/internal/vmo-mmo-minus-5">
<function>
<sum>
<property>/FMGC/internal/vmo-mmo</property>
<value>-5</value>
</sum>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/vmo-mmo-plus-6">
<function>
<sum>
<property>/FMGC/internal/vmo-mmo</property>
<value>6</value>
</sum>
</function>
</fcs_function>
<!-- Green Dot -->
<fcs_function name="/FMGC/internal/clean">
<function>
<sum>
<quotient>
<property>inertia/weight-kg</property>
<value>500</value> <!-- Skip the * 2 step! -->
</quotient>
<ifthen>
<eq>
<property>/options/eng-int</property>
<value>1</value>
</eq>
<value>85</value>
<value>80</value>
</ifthen>
</sum>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/tow-clean">
<function>
<sum>
<quotient>
<property>/FMGC/internal/tow</property>
<value>500</value> <!-- Skip the * 2 step! -->
</quotient>
<ifthen>
<eq>
<property>/options/eng-int</property>
<value>1</value>
</eq>
<value>85</value>
<value>80</value>
</ifthen>
</sum>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/lw-clean">
<function>
<sum>
<quotient>
<property>/FMGC/internal/lw</property>
<value>500</value> <!-- Skip the * 2 step! -->
</quotient>
<ifthen>
<eq>
<property>/options/eng-int</property>
<value>1</value>
</eq>
<value>85</value>
<value>80</value>
</ifthen>
</sum>
</function>
</fcs_function>
<!-- VS1g -->
<fcs_function name="/FMGC/internal/vs1g-kts">
<function>
<table>
<independentVar lookup="row">inertia/weight-kg</independentVar>
<independentVar lookup="column">fcs/flap-pos-deg</independentVar>
<independentVar lookup="table">fcs/slat-pos-deg</independentVar>
<tableData breakPoint="0"> <!-- 40 column is a guess, no data for flap without slat -->
0 40
35000 114.99 99.55
40000 123.08 106.14
45000 130.66 111.83
50000 137.73 117.76
55000 144.41 123.46
60000 150.81 128.89
65000 156.76 133.34
70000 162.65 138.73
75000 168.43 143.60
80000 173.65 148.02
</tableData>
<tableData breakPoint="27">
0 10 15 20 35 40
35000 95.11 90.08 85.16 83.55 81.61 79.67
40000 101.59 96.03 90.31 88.77 86.71 84.65
45000 107.89 101.93 95.64 94.32 91.69 89.06
50000 113.84 107.55 101.02 99.25 96.56 93.87
55000 119.46 112.76 106.07 104.23 101.37 98.51
60000 124.84 117.97 110.94 109.10 106.01 102.92
65000 130.17 122.96 115.63 113.75 110.25 106.75
70000 135.10 127.54 119.99 118.16 114.67 111.18
75000 139.91 132.18 124.23 122.28 118.68 115.08
80000 144.44 136.54 128.58 126.35 122.58 118.81
</tableData>
</table>
</function>
</fcs_function>
<!-- Extra VS1g tables for predictions etc -->
<fcs_function name="/FMGC/internal/vs1g-conf-0">
<function>
<table>
<independentVar lookup="row">inertia/weight-kg</independentVar>
<tableData>
35000 114.99
40000 123.08
45000 130.66
50000 137.73
55000 144.41
60000 150.81
65000 156.76
70000 162.65
75000 168.43
80000 173.65
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/tow-vs1g-conf-0">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/tow</independentVar>
<tableData>
35000 114.99
40000 123.08
45000 130.66
50000 137.73
55000 144.41
60000 150.81
65000 156.76
70000 162.65
75000 168.43
80000 173.65
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/lw-vs1g-conf-0">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/lw</independentVar>
<tableData>
35000 114.99
40000 123.08
45000 130.66
50000 137.73
55000 144.41
60000 150.81
65000 156.76
70000 162.65
75000 168.43
80000 173.65
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/vs1g-conf-1">
<function>
<table>
<independentVar lookup="row">inertia/weight-kg</independentVar>
<tableData>
35000 95.11
40000 101.59
45000 107.89
50000 113.84
55000 119.46
60000 124.84
65000 130.17
70000 135.10
75000 139.91
80000 144.44
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/vs1g-conf-1f">
<function>
<table>
<independentVar lookup="row">inertia/weight-kg</independentVar>
<tableData>
35000 90.08
40000 96.03
45000 101.93
50000 107.55
55000 112.76
60000 117.97
65000 122.96
70000 127.54
75000 132.18
80000 136.54
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/tow-vs1g-conf-1f">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/tow</independentVar>
<tableData>
35000 90.08
40000 96.03
45000 101.93
50000 107.55
55000 112.76
60000 117.97
65000 122.96
70000 127.54
75000 132.18
80000 136.54
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/lw-vs1g-conf-1f">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/lw</independentVar>
<tableData>
35000 90.08
40000 96.03
45000 101.93
50000 107.55
55000 112.76
60000 117.97
65000 122.96
70000 127.54
75000 132.18
80000 136.54
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/vs1g-conf-2">
<function>
<table>
<independentVar lookup="row">inertia/weight-kg</independentVar>
<tableData>
35000 85.16
40000 90.31
45000 95.64
50000 101.02
55000 106.07
60000 110.94
65000 115.63
70000 119.99
75000 124.23
80000 128.58
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/tow-vs1g-conf-2">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/tow</independentVar>
<tableData>
35000 85.16
40000 90.31
45000 95.64
50000 101.02
55000 106.07
60000 110.94
65000 115.63
70000 119.99
75000 124.23
80000 128.58
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/lw-vs1g-conf-2">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/lw</independentVar>
<tableData>
35000 85.16
40000 90.31
45000 95.64
50000 101.02
55000 106.07
60000 110.94
65000 115.63
70000 119.99
75000 124.23
80000 128.58
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/vs1g-conf-3">
<function>
<table>
<independentVar lookup="row">inertia/weight-kg</independentVar>
<tableData>
35000 83.55
40000 88.77
45000 94.32
50000 99.25
55000 104.23
60000 109.10
65000 113.75
70000 118.16
75000 122.28
80000 126.35
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/tow-vs1g-conf-3">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/tow</independentVar>
<tableData>
35000 83.55
40000 88.77
45000 94.32
50000 99.25
55000 104.23
60000 109.10
65000 113.75
70000 118.16
75000 122.28
80000 126.35
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/lw-vs1g-conf-3">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/lw</independentVar>
<tableData>
35000 83.55
40000 88.77
45000 94.32
50000 99.25
55000 104.23
60000 109.10
65000 113.75
70000 118.16
75000 122.28
80000 126.35
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/vs1g-conf-full">
<function>
<table>
<independentVar lookup="row">inertia/weight-kg</independentVar>
<independentVar lookup="column">/options/maxflap</independentVar>
<tableData> <!-- CFM 35, IAE 40 -->
35 40
35000 81.61 79.67
40000 86.71 84.65
45000 91.69 89.06
50000 96.56 93.87
55000 101.37 98.51
60000 106.01 102.92
65000 110.25 106.75
70000 114.67 111.18
75000 118.68 115.08
80000 122.58 118.81
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/tow-vs1g-conf-full">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/tow</independentVar>
<independentVar lookup="column">/options/maxflap</independentVar>
<tableData> <!-- CFM 35, IAE 40 -->
35 40
35000 81.61 79.67
40000 86.71 84.65
45000 91.69 89.06
50000 96.56 93.87
55000 101.37 98.51
60000 106.01 102.92
65000 110.25 106.75
70000 114.67 111.18
75000 118.68 115.08
80000 122.58 118.81
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/lw-vs1g-conf-full">
<function>
<table>
<independentVar lookup="row">/FMGC/internal/lw</independentVar>
<independentVar lookup="column">/options/maxflap</independentVar>
<tableData> <!-- CFM 35, IAE 40 -->
35 40
35000 81.61 79.67
40000 86.71 84.65
45000 91.69 89.06
50000 96.56 93.87
55000 101.37 98.51
60000 106.01 102.92
65000 110.25 106.75
70000 114.67 111.18
75000 118.68 115.08
80000 122.58 118.81
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/vs1g-roll-factor">
<function>
<sqrt> <!-- Take the square root to get the factor -->
<quotient> <!-- Calculate neutral load factor from bank -->
<value>1</value>
<cos>
<toradians>
<min>
<abs>
<property>/orientation/roll-deg</property>
</abs>
<value>89</value> <!-- Above math breaks -->
</min>
</toradians>
</cos>
</quotient>
</sqrt>
</function>
</fcs_function>
<pure_gain name="/FMGC/internal/vs1g">
<input>/FMGC/internal/vs1g-kts</input>
<gain>/FMGC/internal/vs1g-roll-factor</gain>
<clipto>
<min>0</min>
<max>/FMGC/internal/vmo-mmo</max>
</clipto>
</pure_gain>
<!-- Vsw -->
<fcs_function name="/FMGC/internal/vsw">
<function>
<sum>
<product>
<property>/FMGC/internal/vs1g</property>
<value>1.03</value>
</product>
<product>
<difference>
<property>fbw/pitch/load-factor</property>
<value>1</value>
</difference>
<value>10</value>
</product>
</sum>
</function>
</fcs_function>
<!-- V alpha prot/max -->
<lag_filter name="/FMGC/internal/valpha-lag">
<input>aero/alpha-deg-fixed</input>
<c1>0.35</c1>
</lag_filter>
<fcs_function name="/FMGC/internal/valpha-prot">
<function>
<product>
<min>
<property>/systems/navigation/adr/output/cas-1</property>
<property>/systems/navigation/adr/output/cas-2</property>
<property>/systems/navigation/adr/output/cas-3</property>
</min>
<pow>
<max>
<quotient>
<property>/FMGC/internal/valpha-lag</property>
<property>fbw/alpha-prot-deg</property>
</quotient>
<value>0</value>
</max>
<value>0.28</value>
</pow>
</product>
</function>
</fcs_function>
<fcs_function name="/FMGC/internal/valpha-max">
<function>
<product>
<min>
<property>/systems/navigation/adr/output/cas-1</property>
<property>/systems/navigation/adr/output/cas-2</property>
<property>/systems/navigation/adr/output/cas-3</property>
</min>
<pow>
<max>
<quotient>
<property>/FMGC/internal/valpha-lag</property>
<property>fbw/alpha-max-deg</property>
</quotient>
<value>0</value>
</max>
<value>0.28</value>
</pow>
</product>
</function>
</fcs_function>
<!-- Vls -->
<switch name="/FMGC/internal/takeoff-latch">
<default value="/FMGC/internal/takeoff-latch"/>
<test logic="AND" value="0">
position/wow eq 0
/instrumentation/altimeter/indicated-altitude-ft ge /it-autoflight/settings/accel-ft
</test>
<test logic="OR" value="1">
position/wow eq 1
/FMGC/internal/phase lt 2
/FMGC/internal/phase eq 6
</test>
<test value="0">
fcs/flap-pos-deg lt 0.1
</test>
</switch>
<switch name="/FMGC/internal/vls-factor-cmd">
<default value="1.23"/> <!-- 1.23 VS1g -->
<test value="1.13"> <!-- 1.13 VS1g -->
/FMGC/internal/takeoff-latch eq 1
</test>
</switch>
<switch name="/FMGC/internal/vls-factor-rate">
<default value="10"/>
<test value="0.1">
position/wow eq 1
</test>
</switch>
<actuator name="/FMGC/internal/vls-factor">
<input>/FMGC/internal/vls-factor-cmd</input>
<rate_limit>/FMGC/internal/vls-factor-rate</rate_limit>
</actuator>
<fcs_function name="/FMGC/internal/vls">
<function>
<max>
<product>
<property>/FMGC/internal/vs1g-kts</property>
<sum>
<property>/FMGC/internal/vls-factor</property>
<table>
<independentVar lookup="row">atmosphere/density-altitude</independentVar>
<tableData>
0 0.00
43000 0.22
</tableData>
</table>
</sum>
</product>
<!-- Never drop below either of the following -->
<value>113</value>
<ifthen>
<eq>
<property>/it-fbw/law</property>
<value>0</value>
</eq>
<property>/FMGC/internal/valpha-prot</property>
<property>/FMGC/internal/vsw</property>
</ifthen>
</max>
</function>
<clipto>
<min>/FMGC/internal/vs1g</min>
<max>100000</max>
</clipto>
</fcs_function>
<fcs_function name="/FMGC/internal/vls-mach">
<function>
<product>
<quotient>
<property>/instrumentation/airspeed-indicator/indicated-mach</property>
<max> <!-- Prevent divide by 0 -->
<property>/instrumentation/airspeed-indicator/indicated-speed-kt</property>
<value>0.0001</value>
</max>
</quotient>
<property>/FMGC/internal/vls</property>
</product>
</function>
</fcs_function>
<!-- Vmax - Computed in FMGC.nas and ADR.nas -->
<fcs_function name="/FMGC/internal/vmax-mach">
<function>
<product>
<quotient>
<property>/instrumentation/airspeed-indicator/indicated-mach</property>
<max> <!-- Prevent divide by 0 -->
<property>/instrumentation/airspeed-indicator/indicated-speed-kt</property>
<value>0.0001</value>
</max>
</quotient>
<property>/FMGC/internal/vmax</property>
</product>
</function>
</fcs_function>
<!-- VMCA -->
<fcs_function name="/FMGC/internal/vmca-kt">
<function>
<table>
<independentVar lookup="row">/position/altitude-ft</independentVar>
<tableData>
-2000 112.0
0 110.0
2000 108.0
4000 107.5
6000 105.5
8000 103.0
9200 101.2
10000 100.0
12000 96.5
14100 93.5
</tableData>
</table>
</function>
</fcs_function>
<!-- VMCG -->
<fcs_function name="/FMGC/internal/vmcg-kt">
<function>
<table>
<independentVar lookup="row">/position/altitude-ft</independentVar>
<independentVar lookup="column">fcs/flap-pos-deg</independentVar>
<tableData>
10 15 20
-2000 111.5 109.5 109.0
0 109.5 107.5 107.0
2000 107.5 105.5 105.0
4000 107.0 105.0 104.5
6000 105.0 103.0 103.0
8000 103.0 101.0 100.5
9200 101.0 99.0 98.5
10000 100.0 98.0 97.5
12000 96.5 94.5 94.0
14100 93.0 91.0 91.0
</tableData>
</table>
</function>
</fcs_function>
<!-- Slat -->
<pure_gain name="/FMGC/internal/slat">
<input>/FMGC/internal/vs1g-conf-0</input>
<gain>1.27</gain>
</pure_gain>
<!-- Flap 2 -->
<pure_gain name="/FMGC/internal/flap-2">
<input>/FMGC/internal/vs1g-conf-1f</input>
<gain>1.22</gain>
</pure_gain>
<!-- Flap 3 -->
<pure_gain name="/FMGC/internal/flap-3">
<input>/FMGC/internal/vs1g-conf-2</input>
<gain>1.22</gain>
</pure_gain>
</channel>
<channel name="FMGC Misc" execrate="8">
<summer name="/it-autoflight/internal/vmo-mmo-error">
<input>/instrumentation/airspeed-indicator/indicated-speed-kt</input>
<input>-/FMGC/internal/vmo-mmo</input>
<clipto>
<min>-5</min>
<max>5</max>
</clipto>
</summer>
<fcs_function name="/FMGC/internal/vls-switched-plus-5">
<function>
<ifthen>
<le>
<property>/it-autoflight/input/kts</property>
<property>/FMGC/internal/vls</property>
</le>
<property>/FMGC/internal/vls</property> <!-- Engage at VLS for VLS - 5 -->
<sum> <!-- Engage at VLS + 5 for VLS -->
<property>/FMGC/internal/vls</property>
<value>5</value>
</sum>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/it-autoflight/internal/vls-error">
<function>
<ifthen>
<le>
<property>/it-autoflight/input/kts</property>
<property>/FMGC/internal/vls</property>
</le>
<difference>
<property>/instrumentation/airspeed-indicator/indicated-speed-kt</property>
<value>-5</value> <!-- Intentional double negative -->
<property>/FMGC/internal/vls</property>
</difference>
<difference>
<property>/instrumentation/airspeed-indicator/indicated-speed-kt</property>
<property>/FMGC/internal/vls</property>
</difference>
</ifthen>
</function>
<clipto>
<min>-5</min>
<max>5</max>
</clipto>
</fcs_function>
</channel>
<channel name="FMGC" execrate="8">
<switch name="/systems/fmgc/airborne">
<default value="0"/>
<test logic="OR" value="1">
/gear/gear[1]/wow eq 0
/gear/gear[2]/wow eq 0
</test>
</switch>
<actuator name="/systems/fmgc/airborne-timer">
<input>/systems/fmgc/airborne</input>
<rate_limit sense="decr">100</rate_limit>
<rate_limit sense="incr">0.2</rate_limit>
</actuator>
<switch name="/systems/fmgc/airborne-5-secs">
<default value="0"/>
<test logic="OR" value="1">
/systems/fmgc/airborne-timer eq 1
</test>
</switch>
<fcs_function name="/systems/fmgc/cas-compare/cas-1-to-3">
<function>
<abs>
<difference>
<property>/systems/navigation/adr/output/cas-1</property>
<property>/systems/navigation/adr/output/cas-3</property>
</difference>
</abs>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/cas-compare/cas-2-to-3">
<function>
<abs>
<difference>
<property>/systems/navigation/adr/output/cas-2</property>
<property>/systems/navigation/adr/output/cas-3</property>
</difference>
</abs>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/cas-compare/cas-2-to-1">
<function>
<abs>
<difference>
<property>/systems/navigation/adr/output/cas-2</property>
<property>/systems/navigation/adr/output/cas-1</property>
</difference>
</abs>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/cas-compare/cas-reject-all">
<function>
<ifthen>
<and>
<gt>
<property>/systems/fmgc/cas-compare/cas-1-to-3</property>
<value>5</value> <!-- todo - find proper value -->
</gt>
<gt>
<property>/systems/fmgc/cas-compare/cas-2-to-1</property>
<value>5</value>
</gt>
<gt>
<property>/systems/fmgc/cas-compare/cas-2-to-3</property>
<value>5</value>
</gt>
</and>
<value>1</value>
<value>0</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/cas-compare/cas-reject-1"> <!-- 2 and 3 are the same but 1 is different -->
<function>
<ifthen>
<or>
<eq>
<property>/systems/navigation/adr/operating-1</property>
<value>0</value>
</eq>
<and>
<gt>
<property>/systems/fmgc/cas-compare/cas-1-to-3</property>
<value>5</value> <!-- todo - find proper value -->
</gt>
<gt>
<property>/systems/fmgc/cas-compare/cas-2-to-1</property>
<value>5</value>
</gt>
<lt>
<property>/systems/fmgc/cas-compare/cas-2-to-3</property>
<value>5</value>
</lt>
<eq>
<property>/systems/navigation/adr/operating-2</property>
<value>1</value>
</eq>
<eq>
<property>/systems/navigation/adr/operating-3</property>
<value>1</value>
</eq>
</and>
</or>
<value>1</value>
<value>0</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/cas-compare/cas-reject-2"> <!-- 1 and 3 are the same but 2 is different -->
<function>
<ifthen>
<or>
<eq>
<property>/systems/navigation/adr/operating-2</property>
<value>0</value>
</eq>
<and>
<lt>
<property>/systems/fmgc/cas-compare/cas-1-to-3</property>
<value>5</value>
</lt>
<gt>
<property>/systems/fmgc/cas-compare/cas-2-to-1</property>
<value>5</value>
</gt>
<gt>
<property>/systems/fmgc/cas-compare/cas-2-to-3</property>
<value>5</value>
</gt>
<eq>
<property>/systems/navigation/adr/operating-1</property>
<value>1</value>
</eq>
<eq>
<property>/systems/navigation/adr/operating-3</property>
<value>1</value>
</eq>
</and>
</or>
<value>1</value>
<value>0</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/cas-compare/cas-reject-3"> <!-- 1 and 2 are the same but 3 is different -->
<function>
<ifthen>
<or>
<eq>
<property>/systems/navigation/adr/operating-3</property>
<value>0</value>
</eq>
<and>
<gt>
<property>/systems/fmgc/cas-compare/cas-1-to-3</property>
<value>5</value>
</gt>
<lt>
<property>/systems/fmgc/cas-compare/cas-2-to-1</property>
<value>5</value>
</lt>
<gt>
<property>/systems/fmgc/cas-compare/cas-2-to-3</property>
<value>5</value>
</gt>
<eq>
<property>/systems/navigation/adr/operating-1</property>
<value>1</value>
</eq>
<eq>
<property>/systems/navigation/adr/operating-2</property>
<value>1</value>
</eq>
</and>
</or>
<value>1</value>
<value>0</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/active-airspeed-src-1">
<function>
<ifthen>
<eq>
<property>/systems/fmgc/cas-compare/cas-reject-1</property>
<value>1</value>
</eq>
<value>3</value>
<value>1</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/active-airspeed-1">
<function>
<ifthen>
<eq>
<property>/systems/fmgc/active-airspeed-src-1</property>
<value>1</value>
</eq>
<property>/systems/navigation/adr/output/cas-1</property>
<property>/systems/navigation/adr/output/cas-3</property>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/active-airspeed-src-2">
<function>
<ifthen>
<eq>
<property>/systems/fmgc/cas-compare/cas-reject-2</property>
<value>1</value>
</eq>
<value>3</value>
<value>2</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/fmgc/active-airspeed-2">
<function>
<ifthen>
<eq>
<property>/systems/fmgc/active-airspeed-src-2</property>
<value>2</value>
</eq>
<property>/systems/navigation/adr/output/cas-2</property>
<property>/systems/navigation/adr/output/cas-3</property>
</ifthen>
</function>
</fcs_function>
</channel>
</system>