<Gauge Name="TGT 3" Version="1.0">
<Image Name="EGT_back.bmp" Luminous="1"/>
<Macro Name="TableRow">
l1 @1 > l1 @2 <= and
if{
@2 @1 - sp10
@4 @3 - sp11
l11 l10 / sp20
l1 @1 - sp21
l21 l20 * @3 + sp0
}
</Macro>
<Macro Name="TableEnd">
@1 @2 >
if{
@3 sp0
}
</Macro>
<Macro Name="Table1">
<!--
-->
385 sp0 <!-- 385 = lower value to return -->
@1 sp1 <!-- source value (A:Ambient Temperature, Celsius) -->
@TableRow(-40,15,385,545)
@TableRow(15,50,545,630)
@TableEnd(@1,50,630)
l0 <!-- Return value -->
</Macro>
<Macro Name="Table2">
<!--
N2 RPM % EGT Celsius
=========================
11 20
16 200
22 400
25 400
30 540
32 545
54 285
56 295
-->
20 sp0 <!-- 20 = lower value to return -->
@1 sp1 <!-- source value (A:Eng3 N2 RPM, percent) -->
<!-- TableRow meanings
for each row:
#1 parameter = lowest source value
#2 parameter = greatest source value
#3 parameter = return value for lowest source value
#4 parameter = return value for greatest source value
-->
<!-- TableEnd meaning
#1 parameter = source value
#2 parameter = greatest source value of the table
#3 parameter = return value for greatest source value of the table
-->
@TableRow(11,16,20,200)
@TableRow(16,22,200,400)
@TableRow(22,25,400,400)
@TableRow(25,30,400,540)
@TableRow(30,32,540,545)
@TableRow(32,54,545,285)
@TableRow(54,56,285,295)
@TableEnd(@1,56,295)
l0 <!-- Return value -->
</Macro>
<Element>
<Select>
<Value>
<!-- 545 Celsius is peak temp at ISA -->
@Table1((A:Ambient Temperature, Celsius)) 545 / (>L:EGT_per_AmbTemp_correction,number)
(A:Eng3 N2 RPM, percent) 55 > (>L:Eng3 Stable,bool)
</Value>
</Select>
</Element>
<Element>
<Position X="448" Y="452"/>
<Image Name="Needle_EGT.bmp" PointsTo="North" Luminous="1">
<Axis X="145" Y="365"/>
</Image>
<Rotate>
<Value Minimum="0" Maximum="800">
(L:Eng3 Stable,bool)
if{
(A:General eng3 exhaust gas temperature, celsius) (L:LastEGT3,enum) >
if{ (A:ENG3 EXHAUST GAS TEMPERATURE, celsius) (L:temp adj3,number) - (L:E3_hotstart, number) - }
els{ (L:LastEGT3,enum) }
}
els{
(A:Ambient Temperature, Celsius) (A:General eng3 exhaust gas temperature, celsius) > (A:Eng3 N2 RPM, percent) 10 < and
if{ (A:Ambient Temperature, Celsius) }
els{
@Table2((A:Eng3 N2 RPM, percent)) (L:EGT_per_AmbTemp_correction,number) * 0 max
}
}
d (>L:EGT3_read_out,number)
</Value>
<Nonlinearity>
<Item Value="0" X="111" Y="622"/>
<Item Value="50" X="90" Y="570"/>
<Item Value="200" X="98" Y="290"/>
<Item Value="400" X="402" Y="87"/>
<Item Value="600" X="754" Y="257"/>
<Item Value="800" X="774" Y="629"/>
</Nonlinearity>
<Delay DegreesPerSecond="60"/>
</Rotate>
</Element>
<Mouse>
<Tooltip>Engine3 EGT: %((L:EGT3_read_out,number))%!03d!°%c %</Tooltip>
</Mouse>
</Gauge>