<?xml version="1.0"?>

<!-- McDonnell Douglas DC-10 GE CF6-6D Engine/Thrust Limits -->
<!-- Copyright (c) 2026 Josh Davidson (Octal450) -->

<system name="DC-10: GE Engine/TCI">
	
	<property value="30">/systems/engines/limit/rated-temp</property>
	<property value="39300">/systems/engines/limit/rated-thrust</property>
	<property value="910">/systems/engines/egt-alert</property>
	<property value="925">/systems/engines/egt-redline</property>
	<property value="1">/systems/engines/epr-actual-1</property> <!-- Unused in this engine -->
	<property value="1">/systems/engines/epr-actual-2</property> <!-- Unused in this engine -->
	<property value="1">/systems/engines/epr-actual-3</property> <!-- Unused in this engine -->
	<property value="111">/systems/engines/n1-redline</property>
	<property value="101">/systems/engines/n2-redline</property>
	
	<channel name="Thrust Limits">
		
		<fcs_function name="/systems/engines/limit/rated-thrust-n1">
			<function>
				<table>
					<independentVar lookup="row">/position/altitude-ft</independentVar>
					<independentVar lookup="column">propulsion/tat-c</independentVar>
					<tableData>
						      -60   -30    0      30     60
						-2000  86.7  92.1   97.1  102.1  107.1
						    0  89.7  95.3  100.4  105.5  110.6
						10000  95.5  99.4  104.5  107.8  112.2
						45000  92.2  96.3  101.9  106.9  111.6
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/milthrust-no-density"> <!-- Copy of MilThrust table without density effects -->
			<function>
				<table>
					<independentVar lookup="row">velocities/mach</independentVar>
					<independentVar lookup="column">/position/altitude-ft</independentVar>
					<tableData>
						    -10000   0       10000   20000   30000   45000   52000
						0.0  1.0000  1.0000  0.7400  0.5640  0.3920  0.2840  0.0000
						0.2  1.0000  0.9740  0.6970  0.5360  0.3850  0.2740  0.0000
						0.4  1.0000  0.9570  0.6920  0.5460  0.3870  0.2670  0.0000
						0.6  1.0000  0.9410  0.7210  0.5660  0.3580  0.2310  0.0000
						0.8  1.0000  1.0200  0.7820  0.5570  0.3040  0.2060  0.0000
						0.9  1.0000  1.0200  0.7820  0.5220  0.2710  0.1270  0.0000
						1.0  1.0000  0.9510  0.7210  0.4410  0.1740  0.0580  0.0000
						1.2  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/milthrust-density"> <!-- Copy of MilThrust table with density effects -->
			<function>
				<table>
					<independentVar lookup="row">velocities/mach</independentVar>
					<independentVar lookup="column">atmosphere/density-altitude</independentVar>
					<tableData>
						    -10000   0       10000   20000   30000   45000   52000
						0.0  1.2600  1.0000  0.7400  0.5640  0.3920  0.2840  0.0000
						0.2  1.1710  0.9740  0.6970  0.5360  0.3850  0.2740  0.0000
						0.4  1.1500  0.9570  0.6920  0.5460  0.3870  0.2670  0.0000
						0.6  1.1810  0.9410  0.7210  0.5660  0.3580  0.2310  0.0000
						0.8  1.2290  1.0200  0.7820  0.5570  0.3040  0.2060  0.0000
						0.9  1.2580  1.0200  0.7820  0.5220  0.2710  0.1270  0.0000
						1.0  1.1810  0.9510  0.7210  0.4410  0.1740  0.0580  0.0000
						1.2  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<!-- Following functions fix a FGTurbine inaccuracy... rated thrust N1% should be rated thrust lbs -->
		<!-- These calculations change it so that the rated power at sea level is at the correct N1% value. It still changes with altitude and mach as it should -->
		<fcs_function name="/systems/engines/limit/rated-thrust-target"> <!-- Thrust it should produce at the rated N1 -->
			<function>
				<sum>
					<product>
						<property>propulsion/engine[0]/IdleThrust</property> <!-- It doesn't matter which engine, same for all -->
						<property>/systems/engines/limit/rated-thrust</property>
					</product>
					<product>
						<difference>
							<property>/systems/engines/limit/rated-thrust</property>
							<product>
								<property>propulsion/engine[0]/IdleThrust</property> <!-- It doesn't matter which engine, same for all -->
								<property>/systems/engines/limit/rated-thrust</property>
							</product>
						</difference>
						<property>/systems/engines/limit/milthrust-no-density</property>
					</product>
				</sum>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/rated-thrust-actual"> <!-- Actual thrust that FGTurbine would produce at the rated N1 -->
			<function>
				<sum>
					<product>
						<property>propulsion/engine[0]/IdleThrust</property> <!-- It doesn't matter which engine, same for all -->
						<property>/systems/engines/limit/rated-thrust</property>
					</product>
					<product>
						<product>
							<difference>
								<property>/systems/engines/limit/rated-thrust</property>
								<product>
									<property>propulsion/engine[0]/IdleThrust</property> <!-- It doesn't matter which engine, same for all -->
									<property>/systems/engines/limit/rated-thrust</property>
								</product>
							</difference>
							<property>/systems/engines/limit/milthrust-density</property>
						</product>
						<pow>
							<quotient>
								<difference>
									<property>/systems/engines/limit/rated-thrust-n1</property>
									<value>22.6</value>
								</difference>
								<value>88.4</value>
							</quotient>
							<value>2</value>
						</pow>
					</product>
				</sum>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/rated-thrust-factor">
			<function>
				<ifthen>
					<eq>
						<property>/systems/acconfig/autoconfig-running</property>
						<value>1</value>
					</eq>
					<value>0</value>
					<ifthen>
						<nq> <!-- Prevent divide by 0 -->
							<property>/systems/engines/limit/rated-thrust-actual</property>
							<value>0</value>
						</nq>
						<quotient>
							<property>/systems/engines/limit/rated-thrust-target</property>
							<property>/systems/engines/limit/rated-thrust-actual</property>
						</quotient>
						<value>1</value>
					</ifthen>
				</ifthen>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/takeoff-table">
			<function>
				<table>
					<independentVar lookup="row">/position/altitude-ft</independentVar>
					<independentVar lookup="column">propulsion/tat-c</independentVar>
					<tableData>
						      -60   -50    -40    -30    -20    -10     0      10     20     30     40     50     60
						-2000  86.6   88.5   90.4   92.0   93.8   95.6   97.1   98.9  100.4  102.2  102.2  100.6   99.4
						-1000  88.2   90.1   91.8   93.7   95.5   97.1   98.9  100.5  102.2  103.8  103.0  101.4   99.9
						    0  89.7   91.6   93.5   95.2   97.0   98.8  100.4  102.2  103.8  105.5  103.7  102.1  100.3
						 1000  90.4   92.3   94.1   96.0   97.8   99.5  101.2  102.9  104.6  105.5  103.8  101.9  100.4
						 2000  91.1   93.0   94.9   96.7   98.5  100.1  102.0  103.5  105.3  105.5  103.7  101.8  100.5
						 3000  91.8   93.8   95.6   97.4   99.2  100.9  102.6  104.3  106.0  105.5  103.5  101.8  100.6
						 4000  92.6   94.4   96.3   98.0   99.9  101.6  103.2  105.0  106.6  105.5  103.3  102.0  100.7
						 5000  93.3   95.1   97.0   98.9  100.5  102.3  104.0  105.6  107.4  105.4  103.2  102.0  100.7
						 6000  93.8   95.8   97.6   99.4  101.2  102.9  104.5  106.2  107.4  105.4  103.2  102.0  100.6
						 7000  94.6   96.6   98.4  100.2  102.1  103.8  105.4  107.2  107.4  105.3  103.2  102.1  101.1
						 8000  95.4   97.3   99.2  101.1  102.9  104.7  106.3  108.1  107.3  105.1  103.2  102.1  102.1
						 9000  95.9   97.8   99.7  101.6  103.3  105.2  106.9  108.5  107.2  105.1  103.3  102.2  102.2
						10000  96.2   98.2  100.1  102.1  103.8  105.6  107.4  108.9  107.0  105.1  103.5  102.3  102.3
						11000  97.0   99.0  100.8  102.7  104.6  106.3  108.1  109.1  106.9  105.0  103.7  103.7  103.7
						12000  97.6   99.6  101.6  103.4  105.3  107.2  108.8  109.0  106.8  105.0  104.0  104.0  104.0
						13000  98.0  100.1  102.1  104.0  105.8  107.6  109.3  108.8  106.8  105.1  104.1  104.1  104.1
						14000  98.5  100.5  102.4  104.4  106.3  108.1  109.8  108.6  106.8  105.2  104.2  104.2  104.2
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/takeoff">
			<function>
				<quotient>
					<floor>
						<sum>
							<product>
								<property>/systems/engines/limit/takeoff-table</property>
								<value>10</value>
							</product>
							<value>0.5</value> <!-- Make it round correctly -->
						</sum>
					</floor>
					<value>10</value>
				</quotient>
			</function>
		</fcs_function>
		
		<summer name="/systems/engines/limit/flex-temp-input"> <!-- (Rated - Flex) + TAT -->
			<input>/systems/engines/limit/rated-temp</input>
			<input>-/systems/engines/limit/flex-temp</input>
			<input>propulsion/tat-c</input>
		</summer>
		
		<fcs_function name="/systems/engines/limit/takeoff-flex-table">
			<function>
				<table>
					<independentVar lookup="row">/position/altitude-ft</independentVar>
					<independentVar lookup="column">/systems/engines/limit/flex-temp-input</independentVar>
					<tableData>
						      -60    -50    -40    -30    -20    -10     0      10     20     30     40     50     60
						-2000   92.8   94.8   96.9   98.7  100.7  102.6  104.3  106.2  107.9  109.8  109.8  108.1  106.8
						-1000   94.5   96.6   98.5  100.5  102.5  104.3  106.2  108.0  109.8  111.6  110.7  109.0  107.3
						    0   96.2   98.2  100.3  102.2  104.2  106.1  107.9  109.8  111.6  113.5  111.5  109.7  107.8
						 1000   96.9   99.0  101.0  103.1  105.0  106.9  108.8  110.6  112.5  113.5  111.6  109.5  107.9
						 2000   97.7   99.8  101.8  103.8  105.8  107.6  109.6  111.3  113.3  113.5  111.5  109.4  108.0
						 3000   98.4  100.6  102.6  104.6  106.6  108.4  110.3  112.2  114.0  113.5  111.3  109.4  108.1
						 4000   99.3  101.3  103.4  105.3  107.3  109.2  111.0  112.9  114.7  113.5  111.1  109.6  108.2
						 5000  100.1  102.1  104.2  106.2  108.0  110.0  111.8  113.6  115.5  113.4  110.9  109.6  108.2
						 6000  100.7  102.8  104.8  106.8  108.8  110.6  112.4  114.2  115.5  113.4  110.9  109.6  108.1
						 7000  101.5  103.7  105.7  107.7  109.7  111.6  113.4  115.3  115.6  113.2  110.9  109.7  108.7
						 8000  102.4  104.5  106.6  108.7  110.6  112.6  114.4  116.3  115.4  113.0  111.0  109.7  109.7
						 9000  102.9  105.0  107.1  109.2  111.1  113.1  115.0  116.8  115.3  113.0  111.1  109.9  109.9
						10000  103.3  105.5  107.6  109.7  111.6  113.6  115.5  117.2  115.1  113.0  111.3  110.0  110.0
						11000  104.1  106.3  108.3  110.4  112.5  114.4  116.3  117.4  115.0  112.9  111.5  111.5  111.5
						12000  104.8  107.0  109.2  111.2  113.3  115.3  117.1  117.3  114.9  112.9  111.8  111.8  111.8
						13000  105.2  107.5  109.7  111.8  113.8  115.8  117.6  117.1  114.9  113.0  111.9  111.9  111.9
						14000  105.8  108.0  110.1  112.3  114.3  116.3  118.2  116.9  114.9  113.1  112.0  112.0  112.0
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/takeoff-flex">
			<function>
				<quotient>
					<floor>
						<sum>
							<product>
								<min> <!-- FLEX can not increase thrust past T/O -->
									<property>/systems/engines/limit/takeoff-table</property>
									<property>/systems/engines/limit/takeoff-flex-table</property>
								</min>
								<value>10</value>
							</product>
							<value>0.5</value> <!-- Make it round correctly -->
						</sum>
					</floor>
					<value>10</value>
				</quotient>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/go-around-table">
			<function>
				<table>
					<independentVar lookup="row">/position/altitude-ft</independentVar>
					<independentVar lookup="column">propulsion/tat-c</independentVar>
					<tableData>
						      -60   -50    -40    -30    -20    -10     0      10     20     30     40     50     60
						-2000  86.4   88.2   90.1   91.8   93.6   95.2   96.9   98.6  100.1  101.9  101.9  100.3   99.1
						-1000  87.9   89.8   91.6   93.4   95.1   96.9   98.6  100.2  101.9  103.5  102.7  101.1   99.6
						    0  89.4   91.3   93.2   94.9   96.8   98.5  100.1  101.9  103.5  105.3  103.4  101.8  100.1
						 1000  90.1   92.0   93.8   95.8   97.5   99.2  100.9  102.6  104.3  105.3  103.5  101.6  100.1
						 2000  90.7   92.7   94.5   96.3   98.0   99.8  101.6  103.2  105.0  105.2  103.3  101.4  100.1
						 3000  91.4   93.4   95.1   97.0   98.9  100.5  102.2  104.0  105.6  105.2  103.2  101.4  100.2
						 4000  92.1   94.0   95.9   97.7   99.5  101.2  102.9  104.6  106.3  105.2  103.0  101.6  100.3
						 5000  92.9   94.8   96.7   98.5  100.1  102.0  103.5  105.3  107.0  105.1  102.8  101.6  100.3
						 6000  93.6   95.5   97.3   99.1  100.9  102.6  104.2  105.9  107.1  105.2  102.9  101.7  100.3
						 7000  94.2   96.2   98.0   99.9  101.7  103.4  105.1  106.8  107.1  104.9  102.8  101.7  100.7
						 8000  94.9   97.0   98.9  100.7  102.5  104.3  106.0  107.7  106.9  104.7  102.9  101.7  101.7
						 9000  95.5   97.4   99.3  101.2  103.0  104.8  106.4  108.2  106.8  104.7  103.0  101.9  101.9
						10000  95.9   97.8   99.8  101.7  103.4  105.3  107.0  108.5  106.5  104.7  103.2  102.0  102.0
						11000  96.6   98.6  100.4  102.3  104.2  106.0  107.7  108.7  106.4  104.6  103.3  103.3  103.3
						12000  97.2   99.2  101.2  103.1  105.0  106.8  108.4  108.6  106.3  104.6  103.5  103.5  103.5
						13000  97.6   99.7  101.7  103.5  105.4  107.3  108.9  108.4  106.3  104.7  103.6  103.6  103.6
						14000  98.0  100.1  102.1  104.1  105.9  107.7  109.4  108.3  106.3  104.8  103.7  103.7  103.7
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/go-around">
			<function>
				<quotient>
					<floor>
						<sum>
							<product>
								<property>/systems/engines/limit/go-around-table</property>
								<value>10</value>
							</product>
							<value>0.5</value> <!-- Make it round correctly -->
						</sum>
					</floor>
					<value>10</value>
				</quotient>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/mct-table">
			<function>
				<table>
					<independentVar lookup="row">/position/altitude-ft</independentVar>
					<independentVar lookup="column">propulsion/tat-c</independentVar>
					<independentVar lookup="table">velocities/mach</independentVar>
					<tableData breakPoint="0.3">
						      -60   -30     0      30     60
						    0  84.1   89.5   94.6   99.7   96.3
						 5000  87.6   93.1   98.2  100.1   98.9
						10000  92.2   97.8  103.0  101.3  102.3
						15000  95.0  100.5  105.6  100.7  105.1
					</tableData>
					<tableData breakPoint="0.4">
						      -60   -30     0      30     60
						    0  83.4   88.8   93.9   98.9   96.6
						 5000  86.8   92.2   97.3  100.4   98.0
						10000  91.2   96.8  101.9  101.7  101.2
						15000  95.6  101.0  105.1  102.2  105.3
						20000  97.1  102.9  106.1  102.7  105.3
					</tableData>
					<tableData breakPoint="0.5">
						      -60   -30     0      30     60
						    0  82.7   88.0   93.1   97.9   97.1
						 5000  85.8   91.3   96.4  101.2   97.2
						10000  90.3   95.8  100.9  102.2  100.1
						15000  93.4   98.8  103.7  101.7  103.1
						20000  94.5  100.2  104.1  100.3  104.7
						25000  96.3  101.9  102.9  102.5  106.9
					</tableData>
					<tableData breakPoint="0.6">
						      -60   -30    0      30     60
						 5000  84.6  90.0   95.0   99.9   97.4
						10000  88.6  94.0   99.1  102.2   98.4
						15000  91.6  97.0  102.0  101.8  102.2
						20000  93.7  99.3  102.7  101.7  103.4
						25000  94.0  99.6  102.2  100.1  104.5
					</tableData>
					<tableData breakPoint="0.7">
						      -60   -30     0      30     60
						15000  89.0   94.3   99.2  101.3   98.4
						20000  91.4   97.0  101.3  101.6  101.1
						25000  91.5   97.0  102.0  100.9  101.8
						35000  95.6  101.0   99.2  100.4  103.5
						39000  95.5  100.8   98.2  100.3  103.3
						45000  96.6  100.9   97.6  100.0  102.8
					</tableData>
					<tableData breakPoint="0.8">
						      -60   -30    0     30     60
						20000  88.9  94.5  99.6  100.1   98.5
						25000  91.2  94.8  98.9   97.9   98.6
						35000  92.4  97.9  98.9   97.2  101.6
						39000  92.3  97.7  97.7   97.1  101.5
						45000  93.5  98.9  97.2   96.6  100.9
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/mct">
			<function>
				<quotient>
					<floor>
						<sum>
							<product>
								<property>/systems/engines/limit/mct-table</property>
								<value>10</value>
							</product>
							<value>0.5</value> <!-- Make it round correctly -->
						</sum>
					</floor>
					<value>10</value>
				</quotient>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/climb-table">
			<function>
				<table>
					<independentVar lookup="row">/position/altitude-ft</independentVar>
					<independentVar lookup="column">propulsion/tat-c</independentVar>
					<independentVar lookup="table">velocities/mach</independentVar>
					<tableData breakPoint="0.4">
						      -60   -30    0      30    60
						 5000  83.2  88.6   93.7  97.0   94.6
						 8000  85.6  91.1   96.2  97.6   97.0
						10000  87.9  93.3   98.4  98.9   98.3
						14000  91.0  96.5  101.7  99.7  100.2
					</tableData>
					<tableData breakPoint="0.6">
						      -60   -30    0      30     60
						 5000  81.0  86.3   91.3   96.0   93.2
						10000  84.7  90.0   94.9   98.5   95.0
						14000  86.9  92.3   97.4   98.5   97.8
						20000  91.4  96.9  102.0   99.4  100.5
						25000  94.0  99.6  102.2  100.2  102.3
					</tableData>
					<tableData breakPoint="0.8">
						      -60   -30    0     30    60
						20000  86.6  91.9  97.0  98.3  96.9
						25000  88.4  93.8  98.9  97.0  97.8
						35000  92.4  97.9  98.9  97.2  99.6
						39000  92.3  97.7  97.7  97.1  99.6
						45000  93.5  98.9  96.8  96.6  98.7
					</tableData>
					<tableData breakPoint="0.85">
						      -60   -30    0     30    60
						25000  87.5  92.8  97.8  97.0  97.5
						35000  90.7  97.0  98.7  95.5  97.3
						39000  90.6  97.0  97.5  95.4  97.2
						45000  91.9  97.3  97.2  94.9  97.0
					</tableData>
					<tableData breakPoint="0.87">
						      -60   -30    0     30    60
						25000  87.1  92.4  97.4  97.0  97.1
						35000  90.1  96.7  98.6  94.7  96.4
						39000  89.8  96.7  97.4  94.6  96.3
						45000  91.4  96.8  97.0  94.2  96.1
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/climb">
			<function>
				<quotient>
					<floor>
						<sum>
							<product>
								<property>/systems/engines/limit/climb-table</property>
								<value>10</value>
							</product>
							<value>0.5</value> <!-- Make it round correctly -->
						</sum>
					</floor>
					<value>10</value>
				</quotient>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/cruise-table">
			<function>
				<table>
					<independentVar lookup="row">/position/altitude-ft</independentVar>
					<independentVar lookup="column">propulsion/tat-c</independentVar>
					<independentVar lookup="table">velocities/mach</independentVar>
					<tableData breakPoint="0.4">
						      -60   -30    0     30    60
						 5000  78.3  83.4  88.4  91.5  89.1
						10000  82.2  87.5  92.4  92.9  93.3
						14000  85.5  90.9  96.0  94.1  95.6
						20000  90.4  95.9  98.7  96.9  99.0
					</tableData>
					<tableData breakPoint="0.6">
						      -60   -30    0     30    60
						 5000  76.2  81.2  85.9  90.6  88.6
						10000  79.3  84.5  89.3  92.8  90.3
						14000  81.6  86.9  91.8  92.9  92.4
						20000  86.0  91.4  96.5  94.8  93.7
						25000  89.8  95.4  97.7  95.0  93.6
						30000  93.7  99.2  98.0  97.9  96.5
					</tableData>
					<tableData breakPoint="0.8">
						      -60   -30    0     30    60
						20000  81.3  86.5  91.4  92.6  91.4
						25000  84.1  89.4  93.5  91.9  91.3
						35000  88.2  93.6  94.4  92.4  90.9
						39000  90.2  94.6  95.4  92.6  91.0
						45000  91.8  96.0  96.1  92.8  92.1
					</tableData>
					<tableData breakPoint="0.85">
						      -60   -30    0     30    60
						25000  82.9  88.2  93.2  91.8  91.1
						35000  86.6  92.9  93.5  90.8  90.3
						39000  89.5  94.0  94.3  91.8  91.2
						45000  91.2  94.9  95.0  92.1  91.5
					</tableData>
					<tableData breakPoint="0.87">
						      -60   -30    0     30    60
						25000  82.4  87.7  93.1  91.8  91.0
						35000  86.1  92.7  93.1  90.2  90.0
						39000  89.2  93.8  93.9  91.6  91.3
						45000  91.0  94.6  94.7  91.9  91.2
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/cruise">
			<function>
				<quotient>
					<floor>
						<sum>
							<product>
								<property>/systems/engines/limit/cruise-table</property>
								<value>10</value>
							</product>
							<value>0.5</value> <!-- Make it round correctly -->
						</sum>
					</floor>
					<value>10</value>
				</quotient>
			</function>
		</fcs_function>
		
		<switch name="/systems/engines/limit/active">
			<default value="100"/>
			<test value="/systems/engines/limit/active">
				/systems/engines/limit/active-mode-int eq -1
			</test>
			<test value="/systems/engines/limit/active">
				<test logic="OR">
					/systems/engines/limit/active-mode-int eq 0
					/systems/engines/limit/active-mode-int eq 1
				</test>
				/instrumentation/airspeed-indicator/indicated-speed-kt ge 30
			</test>
			<test value="/systems/engines/limit/takeoff">
				/systems/engines/limit/active-mode-int eq 0
			</test>
			<test value="/systems/engines/limit/takeoff-flex">
				/systems/engines/limit/active-mode-int eq 1
			</test>
			<test value="/systems/engines/limit/go-around">
				/systems/engines/limit/active-mode-int eq 2
			</test>
			<test value="/systems/engines/limit/mct">
				/systems/engines/limit/active-mode-int eq 3
			</test>
			<test value="/systems/engines/limit/climb">
				/systems/engines/limit/active-mode-int eq 4
			</test>
			<test value="/systems/engines/limit/cruise">
				/systems/engines/limit/active-mode-int eq 5
			</test>
		</switch>
		
		<fcs_function name="/systems/engines/limit/active-norm">
			<function>
				<table>
					<independentVar lookup="row">/systems/engines/limit/active</independentVar>
					<tableData>
						 22.6  0
						111.0  1
					</tableData>
				</table>
			</function>
			<output>/it-autoflight/settings/autothrottle-max</output>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/highest">
			<function>
				<max>
					<property>/systems/engines/limit/climb</property>
					<property>/systems/engines/limit/cruise</property>
					<property>/systems/engines/limit/go-around</property>
					<property>/systems/engines/limit/mct</property>
					<property>/systems/engines/limit/takeoff</property>
				</max>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/highest-norm">
			<function>
				<table>
					<independentVar lookup="row">/systems/engines/limit/highest</independentVar>
					<tableData>
						 22.6  0
						111.0  1
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/idle"> <!-- No rounding, this is analog -->
			<function>
				<ifthen>
					<eq>
						<property>gear/unit[0]/WOW</property>
						<value>0</value>
					</eq>
					<table>
						<independentVar lookup="row">velocities/mach</independentVar>
						<independentVar lookup="column">/systems/fcs/flaps/input</independentVar> <!-- Take advantage of table interpolation, values same -->
						<independentVar lookup="table">/position/altitude-ft</independentVar>
						<tableData breakPoint="0">
							      0     1
							0.21  28.8  28.8
							0.70  37.4  37.4
						</tableData>
						<tableData breakPoint="45000">
							      0     1
							0.55  47.5  47.5
							0.90  53.7  53.7
						</tableData>
					</table>
					<value>0</value>
				</ifthen>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/limit/idle-norm">
			<function>
				<table>
					<independentVar lookup="row">/systems/engines/limit/idle</independentVar>
					<tableData>
						 22.6  0
						111.0  1
					</tableData>
				</table>
			</function>
			<output>/it-autoflight/settings/autothrottle-min</output>
		</fcs_function>
	
	</channel>
	
	<channel name="Reversers">
		
		<!-- Engine 1 -->
		<switch name="/systems/engines/reverse-1/position-cmd">
			<default value="0"/>
			<test value="1">
				/systems/engines/reverse-1/engage eq 1
			</test>
			<test logic="AND" value="1"> <!-- Don't stow until thrust is reduced enough -->
				/engines/engine[0]/n1-actual ge 40
				/systems/engines/reverse-1/position-cmd eq 1
			</test>
			<output>/systems/engines/reverse-1/position-cmd-out</output>
		</switch>
		
		<switch name="/systems/engines/reverse-1/position-rate">
			<default value="0"/>
			<test logic="OR" value="1">
				/systems/pneumatics/eng-1-psi ge 20
				/systems/acconfig/autoconfig-running eq 1
			</test>
		</switch>
		
		<actuator name="/systems/engines/reverse-1/position-norm">
			<input>/systems/engines/reverse-1/position-cmd</input>
			<rate_limit>/systems/engines/reverse-1/position-rate</rate_limit>
			<output>/engines/engine[0]/reverser-pos-norm</output>
		</actuator>
		
		<pure_gain name="propulsion/engine[0]/reverser-angle-rad">
			<input>/systems/engines/reverse-1/position-norm</input>
			<gain>3.14</gain>
		</pure_gain>
		
		<switch name="/systems/engines/reverse-1/interlock"> <!-- Locked until 60% open, unlocked until 20% closed -->
			<default value="/systems/engines/reverse-1/interlock"/>
			<test value="0">
				/engines/engine[0]/reverser-pos-norm ge 0.6
			</test>
			<test value="1">
				/engines/engine[0]/reverser-pos-norm le 0.2
			</test>
		</switch>
		
		<fcs_function name="/systems/engines/reverse-1/throttle-rev-cmd">
			<function>
				<ifthen>
					<eq>
						<property>/systems/engines/reverse-1/position-norm</property>
						<value>1</value>
					</eq>
					<table>
						<independentVar lookup="row">/controls/engines/engine[0]/throttle</independentVar>
						<tableData>
							0.05  0.00
							1.00  0.82
						</tableData>
					</table>
					<value>0</value>
				</ifthen>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/reverse-1/throttle-lever">
			<function>
				<product>
					<property>/systems/engines/reverse-1/engage</property>
					<table>
						<independentVar lookup="row">/systems/engines/reverse-1/throttle-rev-cmd</independentVar>
						<tableData>
							0.05  0.25
							0.82  1.00
						</tableData>
					</table>
				</product>
			</function>
		</fcs_function>
		
		<switch name="/systems/engines/reverse-1/throttle-rev">
			<default value="0"/>
			<test value="0">
				/systems/engines/reverse-1/interlock eq 1
			</test>
			<test value="/systems/engines/reverse-1/throttle-rev-cmd">
				/systems/engines/reverse-1/engage eq 1
			</test>
		</switch>
		
		<switch name="/systems/engines/reverse-1/active">
			<default value="0"/>
			<test logic="OR" value="1">
				/systems/engines/reverse-1/position-cmd eq 1
				/systems/engines/reverse-1/position-norm ne 0
			</test>
		</switch>
		
		<!-- Engine 2 -->
		<switch name="/systems/engines/reverse-2/position-cmd">
			<default value="0"/>
			<test value="1">
				/systems/engines/reverse-2/engage eq 1
			</test>
			<test logic="AND" value="1"> <!-- Don't stow until thrust is reduced enough -->
				/engines/engine[1]/n1-actual ge 40
				/systems/engines/reverse-2/position-cmd eq 1
			</test>
			<output>/systems/engines/reverse-2/position-cmd-out</output>
		</switch>
		
		<switch name="/systems/engines/reverse-2/position-cmd-wow">
			<default value="/systems/engines/reverse-2/position-cmd"/>
			<test logic="AND" value="0">
				/gear/gear[0]/wow ne 1
				/systems/engines/reverse-2/position-cmd-wow eq 0
			</test>
		</switch>
		
		<switch name="/systems/engines/reverse-2/position-rate">
			<default value="0"/>
			<test logic="OR" value="1">
				/systems/pneumatics/eng-2-psi ge 20
				/systems/acconfig/autoconfig-running eq 1
			</test>
		</switch>
		
		<actuator name="/systems/engines/reverse-2/position-norm">
			<input>/systems/engines/reverse-2/position-cmd-wow</input>
			<rate_limit>/systems/engines/reverse-2/position-rate</rate_limit>
			<output>/engines/engine[1]/reverser-pos-norm</output>
		</actuator>
		
		<pure_gain name="propulsion/engine[1]/reverser-angle-rad">
			<input>/systems/engines/reverse-2/position-norm</input>
			<gain>3.14</gain>
		</pure_gain>
		
		<switch name="/systems/engines/reverse-2/interlock"> <!-- Locked until 60% open, unlocked until 20% closed -->
			<default value="/systems/engines/reverse-2/interlock"/>
			<test value="0">
				/engines/engine[1]/reverser-pos-norm ge 0.6
			</test>
			<test value="1">
				/engines/engine[1]/reverser-pos-norm le 0.2
			</test>
		</switch>
		
		<fcs_function name="/systems/engines/reverse-2/throttle-rev-cmd">
			<function>
				<ifthen>
					<eq>
						<property>/systems/engines/reverse-2/position-norm</property>
						<value>1</value>
					</eq>
					<table>
						<independentVar lookup="row">/controls/engines/engine[1]/throttle</independentVar>
						<tableData>
							0.05  0.00
							1.00  0.82
						</tableData>
					</table>
					<value>0</value>
				</ifthen>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/reverse-2/throttle-lever">
			<function>
				<product>
					<property>/systems/engines/reverse-2/engage</property>
					<table>
						<independentVar lookup="row">/systems/engines/reverse-2/throttle-rev-cmd</independentVar>
						<tableData>
							0.05  0.25
							0.82  1.00
						</tableData>
					</table>
				</product>
			</function>
		</fcs_function>
		
		<switch name="/systems/engines/reverse-2/throttle-rev">
			<default value="0"/>
			<test value="0">
				/systems/engines/reverse-2/interlock eq 1
			</test>
			<test value="/systems/engines/reverse-2/throttle-rev-cmd">
				/systems/engines/reverse-2/engage eq 1
			</test>
		</switch>
		
		<switch name="/systems/engines/reverse-2/active">
			<default value="0"/>
			<test logic="OR" value="1">
				/systems/engines/reverse-2/position-cmd eq 1
				/systems/engines/reverse-2/position-norm ne 0
			</test>
		</switch>
		
		<!-- Engine 3 -->
		<switch name="/systems/engines/reverse-3/position-cmd">
			<default value="0"/>
			<test value="1">
				/systems/engines/reverse-3/engage eq 1
			</test>
			<test logic="AND" value="1"> <!-- Don't stow until thrust is reduced enough -->
				/engines/engine[2]/n1-actual ge 40
				/systems/engines/reverse-3/position-cmd eq 1
			</test>
			<output>/systems/engines/reverse-3/position-cmd-out</output>
		</switch>
		
		<switch name="/systems/engines/reverse-3/position-rate">
			<default value="0"/>
			<test logic="OR" value="1">
				/systems/pneumatics/eng-3-psi ge 20
				/systems/acconfig/autoconfig-running eq 1
			</test>
		</switch>
		
		<actuator name="/systems/engines/reverse-3/position-norm">
			<input>/systems/engines/reverse-3/position-cmd</input>
			<rate_limit>/systems/engines/reverse-3/position-rate</rate_limit>
			<output>/engines/engine[2]/reverser-pos-norm</output>
		</actuator>
		
		<pure_gain name="propulsion/engine[2]/reverser-angle-rad">
			<input>/systems/engines/reverse-3/position-norm</input>
			<gain>3.14</gain>
		</pure_gain>
		
		<switch name="/systems/engines/reverse-3/interlock"> <!-- Locked until 60% open, unlocked until 20% closed -->
			<default value="/systems/engines/reverse-3/interlock"/>
			<test value="0">
				/engines/engine[2]/reverser-pos-norm ge 0.6
			</test>
			<test value="1">
				/engines/engine[2]/reverser-pos-norm le 0.2
			</test>
		</switch>
		
		<fcs_function name="/systems/engines/reverse-3/throttle-rev-cmd">
			<function>
				<ifthen>
					<eq>
						<property>/systems/engines/reverse-3/position-norm</property>
						<value>1</value>
					</eq>
					<table>
						<independentVar lookup="row">/controls/engines/engine[2]/throttle</independentVar>
						<tableData>
							0.05  0.00
							1.00  0.82
						</tableData>
					</table>
					<value>0</value>
				</ifthen>
			</function>
		</fcs_function>
		
		<fcs_function name="/systems/engines/reverse-3/throttle-lever">
			<function>
				<product>
					<property>/systems/engines/reverse-3/engage</property>
					<table>
						<independentVar lookup="row">/systems/engines/reverse-3/throttle-rev-cmd</independentVar>
						<tableData>
							0.05  0.25
							0.82  1.00
						</tableData>
					</table>
				</product>
			</function>
		</fcs_function>
		
		<switch name="/systems/engines/reverse-3/throttle-rev">
			<default value="0"/>
			<test value="0">
				/systems/engines/reverse-3/interlock eq 1
			</test>
			<test value="/systems/engines/reverse-3/throttle-rev-cmd">
				/systems/engines/reverse-3/engage eq 1
			</test>
		</switch>
		
		<switch name="/systems/engines/reverse-3/active">
			<default value="0"/>
			<test logic="OR" value="1">
				/systems/engines/reverse-3/position-cmd eq 1
				/systems/engines/reverse-3/position-norm ne 0
			</test>
		</switch>
	
	</channel>
	
	<channel name="Engine Control">
		
		<!-- Engine 1 -->
		<fcs_function name="/systems/engines/limit/man-1-norm">
			<function>
				<table>
					<independentVar lookup="row">/controls/engines/engine[0]/man-n1</independentVar>
					<tableData>
						 22.6  0
						111.0  1
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<switch name="/systems/engines/control-1/ats-max">
			<default value="/systems/engines/limit/active-norm"/>
			<test logic="AND" value="/systems/engines/limit/man-1-norm">
				/instrumentation/n[0]/power-avail eq 1
				/controls/engines/engine[0]/man-n1-set eq 1
				/systems/engines/limit/man-1-norm le /systems/engines/limit/active-norm
			</test>
			<clipto>
				<min>/systems/engines/limit/idle-norm</min>
				<max>1.0</max>
			</clipto>
		</switch>
		
		<switch name="/systems/engines/control-1/throttle-pos">
			<default value="/controls/engines/engine[0]/throttle"/>
			<test value="0">
				/systems/engines/reverse-1/active eq 1
			</test>
			<test logic="AND" value="/systems/engines/ats-cmd-1">
				/it-autoflight/output/athr eq 1
				/it-autoflight/output/thr-mode ne 3
			</test>
		</switch>
		
		<lag_filter name="/systems/engines/control-1/throttle-pos-lag">
			<input>/systems/engines/control-1/throttle-pos</input>
			<c1>20</c1>
		</lag_filter>
		
		<switch name="/systems/engines/control-1/throttle-output">
			<default value="/systems/engines/control-1/throttle-pos"/>
			<test value="/systems/engines/reverse-1/throttle-rev">
				/systems/engines/reverse-1/active eq 1
			</test>
			<clipto>
				<min>/systems/engines/limit/idle-norm</min>
				<max>1.0</max>
			</clipto>
		</switch>
		
		<lag_filter name="/systems/engines/control-1/throttle-fdm">
			<input>/systems/engines/control-1/throttle-output</input>
			<c1>1.0</c1>
			<output>fcs/throttle-pos-norm[0]</output>
		</lag_filter>
		
		<!-- Engine 2 -->
		<fcs_function name="/systems/engines/limit/man-2-norm">
			<function>
				<table>
					<independentVar lookup="row">/controls/engines/engine[1]/man-n1</independentVar>
					<tableData>
						 22.6  0
						111.0  1
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<switch name="/systems/engines/control-2/ats-max">
			<default value="/systems/engines/limit/active-norm"/>
			<test logic="AND" value="/systems/engines/limit/man-2-norm">
				/instrumentation/n[1]/power-avail eq 1
				/controls/engines/engine[1]/man-n1-set eq 1
				/systems/engines/limit/man-2-norm le /systems/engines/limit/active-norm
			</test>
			<clipto>
				<min>/systems/engines/limit/idle-norm</min>
				<max>1.0</max>
			</clipto>
		</switch>
		
		<switch name="/systems/engines/control-2/throttle-pos">
			<default value="/controls/engines/engine[1]/throttle"/>
			<test value="0">
				/systems/engines/reverse-2/active eq 1
			</test>
			<test logic="AND" value="/systems/engines/ats-cmd-2">
				/it-autoflight/output/athr eq 1
				/it-autoflight/output/thr-mode ne 3
			</test>
		</switch>
		
		<lag_filter name="/systems/engines/control-2/throttle-pos-lag">
			<input>/systems/engines/control-2/throttle-pos</input>
			<c1>20</c1>
		</lag_filter>
		
		<switch name="/systems/engines/control-2/throttle-output">
			<default value="/systems/engines/control-2/throttle-pos"/>
			<test value="/systems/engines/reverse-2/throttle-rev">
				/systems/engines/reverse-2/active eq 1
			</test>
			<clipto>
				<min>/systems/engines/limit/idle-norm</min>
				<max>1.0</max>
			</clipto>
		</switch>
		
		<lag_filter name="/systems/engines/control-2/throttle-fdm">
			<input>/systems/engines/control-2/throttle-output</input>
			<c1>1.0</c1>
			<output>fcs/throttle-pos-norm[1]</output>
		</lag_filter>
		
		<!-- Engine 3 -->
		<fcs_function name="/systems/engines/limit/man-3-norm">
			<function>
				<table>
					<independentVar lookup="row">/controls/engines/engine[2]/man-n1</independentVar>
					<tableData>
						 22.6  0
						111.0  1
					</tableData>
				</table>
			</function>
		</fcs_function>
		
		<switch name="/systems/engines/control-3/ats-max">
			<default value="/systems/engines/limit/active-norm"/>
			<test logic="AND" value="/systems/engines/limit/man-3-norm">
				/instrumentation/n[2]/power-avail eq 1
				/controls/engines/engine[2]/man-n1-set eq 1
				/systems/engines/limit/man-3-norm le /systems/engines/limit/active-norm
			</test>
			<clipto>
				<min>/systems/engines/limit/idle-norm</min>
				<max>1.0</max>
			</clipto>
		</switch>
		
		<switch name="/systems/engines/control-3/throttle-pos">
			<default value="/controls/engines/engine[2]/throttle"/>
			<test value="0">
				/systems/engines/reverse-3/active eq 1
			</test>
			<test logic="AND" value="/systems/engines/ats-cmd-3">
				/it-autoflight/output/athr eq 1
				/it-autoflight/output/thr-mode ne 3
			</test>
		</switch>
		
		<lag_filter name="/systems/engines/control-3/throttle-pos-lag">
			<input>/systems/engines/control-3/throttle-pos</input>
			<c1>20</c1>
		</lag_filter>
		
		<switch name="/systems/engines/control-3/throttle-output">
			<default value="/systems/engines/control-3/throttle-pos"/>
			<test value="/systems/engines/reverse-3/throttle-rev">
				/systems/engines/reverse-3/active eq 1
			</test>
			<clipto>
				<min>/systems/engines/limit/idle-norm</min>
				<max>1.0</max>
			</clipto>
		</switch>
		
		<lag_filter name="/systems/engines/control-3/throttle-fdm">
			<input>/systems/engines/control-3/throttle-output</input>
			<c1>1.0</c1>
			<output>fcs/throttle-pos-norm[2]</output>
		</lag_filter>
		
		<!-- Comparator -->
		<fcs_function name="/systems/engines/throttle-compare-max">
			<function>
				<max> <!-- Don't use clipped -->
					<property>/systems/engines/control-1/throttle-pos-lag</property>
					<property>/systems/engines/control-2/throttle-pos-lag</property>
					<property>/systems/engines/control-3/throttle-pos-lag</property>
				</max>
			</function>
		</fcs_function>
	
	</channel>
	
	<channel name="Engine Parameters" execrate="2">
		
		<lag_filter name="/systems/engines/n1-actual-1">
			<input>/engines/engine[0]/n1</input>
			<c1>2.25</c1>
			<output>/engines/engine[0]/n1-actual</output>
			<output>/engines/engine[4]/n1</output>
		</lag_filter>
		
		<lag_filter name="/systems/engines/n1-actual-2">
			<input>/engines/engine[1]/n1</input>
			<c1>2.25</c1>
			<output>/engines/engine[1]/n1-actual</output>
			<output>/engines/engine[5]/n1</output>
		</lag_filter>
		
		<lag_filter name="/systems/engines/n1-actual-3">
			<input>/engines/engine[2]/n1</input>
			<c1>2.25</c1>
			<output>/engines/engine[2]/n1-actual</output>
			<output>/engines/engine[6]/n1</output>
		</lag_filter>
		
		<switch name="/systems/engines/egt-c1">
			<default value="0.35"/>
			<test value="1000">
				/systems/acconfig/autoconfig-running eq 1
			</test>
		</switch>
		
		<fcs_function name="/systems/engines/egt-cmd-1">
			<function>
				<sum>
					<property>propulsion/tat-c</property>
					<table>
						<independentVar lookup="row">/engines/engine[0]/n2</independentVar>
						<independentVar lookup="column">atmosphere/density-altitude</independentVar>
						<independentVar lookup="table">/controls/engines/engine[0]/cutoff</independentVar>
						<tableData breakPoint="0">
							         0    50000
							 10.0    0    0
							 35.0  540  430
							 50.0  535  425
							 61.8  420  295
							101.0  895  670
						</tableData>
						<tableData breakPoint="1">
							       0    50000
							 30.0  0    0
							 61.8  420  295
							101.0  895  670
						</tableData>
					</table>
				</sum>
			</function>
		</fcs_function>
		
		<lag_filter name="/systems/engines/egt-actual-1">
			<input>/systems/engines/egt-cmd-1</input>
			<c1>/systems/engines/egt-c1</c1>
			<output>/engines/engine[0]/egt-actual</output>
		</lag_filter>
		
		<fcs_function name="/systems/engines/egt-cmd-2">
			<function>
				<sum>
					<property>propulsion/tat-c</property>
					<table>
						<independentVar lookup="row">/engines/engine[1]/n2</independentVar>
						<independentVar lookup="column">atmosphere/density-altitude</independentVar>
						<independentVar lookup="table">/controls/engines/engine[1]/cutoff</independentVar>
						<tableData breakPoint="0">
							         0    50000
							 10.0    0    0
							 35.0  540  430
							 50.0  535  425
							 61.8  420  295
							101.0  895  670
						</tableData>
						<tableData breakPoint="1">
							       0    50000
							 30.0  0    0
							 61.8  420  295
							101.0  895  670
						</tableData>
					</table>
				</sum>
			</function>
		</fcs_function>
		
		<lag_filter name="/systems/engines/egt-actual-2">
			<input>/systems/engines/egt-cmd-2</input>
			<c1>/systems/engines/egt-c1</c1>
			<output>/engines/engine[1]/egt-actual</output>
		</lag_filter>
		
		<fcs_function name="/systems/engines/egt-cmd-3">
			<function>
				<sum>
					<property>propulsion/tat-c</property>
					<table>
						<independentVar lookup="row">/engines/engine[2]/n2</independentVar>
						<independentVar lookup="column">atmosphere/density-altitude</independentVar>
						<independentVar lookup="table">/controls/engines/engine[2]/cutoff</independentVar>
						<tableData breakPoint="0">
							         0    50000
							 10.0    0    0
							 35.0  540  430
							 50.0  535  425
							 61.8  420  295
							101.0  895  670
						</tableData>
						<tableData breakPoint="1">
							       0    50000
							 30.0  0    0
							 61.8  420  295
							101.0  895  670
						</tableData>
					</table>
				</sum>
			</function>
		</fcs_function>
		
		<lag_filter name="/systems/engines/egt-actual-3">
			<input>/systems/engines/egt-cmd-3</input>
			<c1>/systems/engines/egt-c1</c1>
			<output>/engines/engine[2]/egt-actual</output>
		</lag_filter>
		
		<lag_filter name="/systems/engines/n2-actual-1">
			<input>/engines/engine[0]/n2</input>
			<c1>2.25</c1>
			<output>/engines/engine[0]/n2-actual</output>
			<output>/engines/engine[4]/n2</output>
		</lag_filter>
		
		<lag_filter name="/systems/engines/n2-actual-2">
			<input>/engines/engine[1]/n2</input>
			<c1>2.25</c1>
			<output>/engines/engine[1]/n2-actual</output>
			<output>/engines/engine[5]/n2</output>
		</lag_filter>
		
		<lag_filter name="/systems/engines/n2-actual-3">
			<input>/engines/engine[2]/n2</input>
			<c1>2.25</c1>
			<output>/engines/engine[2]/n2-actual</output>
			<output>/engines/engine[6]/n2</output>
		</lag_filter>
		
		<lag_filter name="/systems/engines/ff-actual-1">
			<input>/engines/engine[0]/fuel-flow_pph</input>
			<c1>3.0</c1>
			<output>/engines/engine[0]/ff-actual</output>
		</lag_filter>
		
		<lag_filter name="/systems/engines/ff-actual-2">
			<input>/engines/engine[1]/fuel-flow_pph</input>
			<c1>3.0</c1>
			<output>/engines/engine[1]/ff-actual</output>
		</lag_filter>
		
		<lag_filter name="/systems/engines/ff-actual-3">
			<input>/engines/engine[2]/fuel-flow_pph</input>
			<c1>3.0</c1>
			<output>/engines/engine[2]/ff-actual</output>
		</lag_filter>
		
		<!-- Overspeed Alert -->
		<fcs_function name="/systems/engines/limit/overspeed-n1-input">
			<function>
				<sum>
					<max>
						<property>/systems/engines/n1-actual-1</property>
						<property>/systems/engines/n1-actual-2</property>
						<property>/systems/engines/n1-actual-3</property>
					</max>
					<value>-2</value>
				</sum>
			</function>
		</fcs_function>
		
		<switch name="/systems/engines/limit/overspeed">
			<default value="0"/>
			<test value="1">
				/systems/engines/limit/overspeed-n1-input gt /systems/engines/limit/highest
			</test>
		</switch>
	
	</channel>
	
	<channel name="Reverser Status" execrate="8">
		
		<switch name="/systems/engines/eng-1-rev-state">
			<default value="0"/>
			<test value="3"> <!-- REV -->
				/systems/engines/reverse-1/position-norm eq 1
			</test>
			<test logic="OR" value="2"> <!-- U/L -->
				/systems/engines/reverse-1/engage eq 1
				/systems/engines/reverse-1/position-norm gt 0.2
			</test>
			<test logic="OR" value="1"> <!-- PRES -->
				/systems/engines/reverse-1/engage eq 1
				/systems/engines/reverse-1/position-norm gt 0
			</test>
		</switch>
		
		<switch name="/systems/engines/eng-2-rev-state">
			<default value="0"/>
			<test value="3"> <!-- REV -->
				/systems/engines/reverse-2/position-norm eq 1
			</test>
			<test logic="OR" value="2"> <!-- U/L -->
				/systems/engines/reverse-2/engage eq 1
				/systems/engines/reverse-2/position-norm gt 0.2
			</test>
			<test logic="OR" value="1"> <!-- PRES -->
				/systems/engines/reverse-2/engage eq 1
				/systems/engines/reverse-2/position-norm gt 0
			</test>
		</switch>
		
		<switch name="/systems/engines/eng-3-rev-state">
			<default value="0"/>
			<test value="3"> <!-- REV -->
				/systems/engines/reverse-3/position-norm eq 1
			</test>
			<test logic="OR" value="2"> <!-- U/L -->
				/systems/engines/reverse-3/engage eq 1
				/systems/engines/reverse-3/position-norm gt 0.2
			</test>
			<test logic="OR" value="1"> <!-- PRES -->
				/systems/engines/reverse-3/engage eq 1
				/systems/engines/reverse-3/position-norm gt 0
			</test>
		</switch>
	
	</channel>

</system>
