• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

FSX IS this possible with a 2d pop-up XML gauge?

Messages
116
Country
england
Code:
<!-- Battery charge -->
<Element>
<Select>
<Value>
(L:CrankHandle, percent) 25 == if{ (L:UnitPower,percent) ++ 0 max 29 min  (>L:UnitPower,percent) } 
(L:CrankHandle, percent) 50 == if{ (L:UnitPower,percent) ++ 0 max 29 min (>L:UnitPower,percent) } 
(L:CrankHandle, percent) 75 == if{ (L:UnitPower,percent) ++ 0 max 29 min  (>L:UnitPower,percent) } 
(L:CrankHandle, percent) 98 == if{ (L:UnitPower,percent) ++ 0 max 29 min (>L:UnitPower,percent) } </Value>
</Select>
</Element>

<!-- Battery Power Discharge  -->
<Element>
  <Select>
    <Value>
(L:BattSwitch,bool) 1 == if{ (P:ABSOLUTE TIME, seconds) (L:START TIME, seconds) - 10 &gt;
  if{ (P:ABSOLUTE TIME, seconds) (&gt;L:START TIME, seconds)
(L:UnitPower, percent) -- (&gt;L:UnitPower, percent)
} } (L:UnitPower, percent) 1 &lt; if{ 0 (&gt;L:BattSwitch,bool) }
</Value>
  </Select>
</Element>

Winding the handle accumulates voltage. When the battery switch is on, timer begins countdown decreasing the battery power (every 10 seconds) When the battery is below 1v the magnetic switch releases and switches off (Stopping the timer, otherwise 'UnitPower' will continue into negative units)

Code:
(L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;

Conditions added to simulate battery. The tank level needle, ADF, and DME require all previous conditions as well as battery on and volts to be 7 or above to operate.

The DME will stop updating and freeze if power is lost. The ADF will go to its park position. The tank level needle either wont move when called, or will go back to zero if power is lost.

Further testing required but so far its working well. :)
 
Messages
116
Country
england
It keeps growing. Today's progress:

18.jpg
 
Messages
116
Country
england
Been working on the gauge over the weekend, and came across a problem I put on the back burner, that has now reappeare.
it’s the dump / fill logic.
Fill logic
The way it works currently is by reading the fuel amount in the aircraft when the fill is first initiated by a switch.
when the switch is put back to its off position it will read the new fuel amount in the aircraft and subtract the previous fuel amount. The amount remaiming is then subtracted from the storage tank.
BUT this means the needle displaying the storage tank quantity, doesn’t move while filling is happening, but when filling is stopped.
Im trying to have the needle decrease while filling is happening
but I’m not sure how to pass the value of the fuel in the aircraft and storage tank and have them work together “live”

dump logic.
same here as above, when the switch is in the dump position, it reads the amount in the aircraft and adds the whole amount in 1 go, so although I can remove 2000gals from the plane via the dump gauge, but the logic adds the whole amount in the aircraft tanks to the storage tank.(Could be 4000 gals in aircraft)
So, I need to have it read the lvars values and change instantly back and forth with new amounts as they happen.

How is this done ? Compare the lvars , and if the value of one or the other changes, add the amount to the other and subtract from the other and vice versa ? 😵‍💫
 

tgibson

Resource contributor
Messages
10,716
Country
us-california
Couldn't you just have the needle position(s) be the combination of the two variables instead of a single variable? I.e. for the fill logic code some combination of the aircraft tank and storage tank variables?
 
Messages
116
Country
england
Hey Tom
I don’t think so because the value of the combination would change as I fly using fuel. So for example checking the amount in storage 400nm away would be different to 200nm away. But I’m not sure on the approach to be sure.
It may need to be approached as useing the storage tanks as cross feed tanks…but again not sure. Still brainstorming.
Its passing the values I'm unsure of. I need to read the value of 2 lvars and if 1 changes, it changes the other by the amount it changes by instantaneously
So to read whatever value the Lvar may have, would it be (L:myvar,number) == ?
the == constantly printing the amount?
 
Messages
116
Country
england
I'm just dumbfounded by this...a complete mental block. I simply don't know where to start .
Usually i have an 'idea' and go from there...i've been staring at a blank white notepad for waay longer than i should be :confused:

The code for it as it is now, When the switch is put into LOAD position (2) it takes the current amount in the aircraft tanks and stores it in (L:CurrentAmount)

XML:
(L:FLD_State,enum) 2 == if{ (A:FUEL TOTAL QUANTITY,gallon) (>L:CurrentAmount,enum) 1 (>L:TankSub, number) }
^ this is in the mouse click.

When the switch is put back to off position, this is where the equation is done and amounts are removed from storage :

XML:
(L:FLD_State,enum) 0 == (L:TankSub, number) 1 ==
 (L:Fuel Gauge Switch, enum) 0 ==
 &amp;&amp; &amp;&amp;
if{ (A:FUEL TOTAL QUANTITY,gallon) (L:CurrentAmount,enum) - (>L:Loadsub, enum) (L:EAFS, enum) (L:Loadsub, enum) - (>L:EAFS, enum) 0 (>L:TankSub, number)
^ this in a Element Select Value section.

I have this process working fine...but...it doesn't do the add or subtracting until the load (or dump) switch is switched back to the off position.

but what i'm trying to do : if the loading gauge loads 1 gal into the plane, remove 1 gal from the storage tank....as/when it's transferring
 

tgibson

Resource contributor
Messages
10,716
Country
us-california
Can't you just remove the test for the load/dump switch being off in the second bit of code?
 
Messages
116
Country
england
Hi Tom
I've done a quick test with removing that condition and although it hasn't the intended result with the storage tank needle, it has made another gauge work as intended 😄

Removing the (L:FLD_State,enum) 0 == condition gave funny results with (L:TankSub)..and also the tank is emptied completely to zero...think something is racing as 'TankSub' is not turning off.
I'll take another look tomorrow.
Thanks Tom.
 
Messages
116
Country
england
How do you know you've been doing something to long and its time for break?

...I have 2 copies of an XML file with the same name, but different location. Rather than going to the gauge file and opening the correct XML i open the same named XML by right clicking the note pad icon and selecting it that way...then wonder why my edits are not making any difference 🤣

Yeah....done that..
 
Messages
116
Country
england
Can't you just remove the test for the load/dump switch being off in the second bit of code?
So, while i was testing your idea, as i said above it did make another gauge work correctly. So i gave it some thought and re-wrote the xml code for the loading procedure.

The code now looks like this :
Code:
<Element>
<Select>
<Value> (L:FLD_State,enum) 0 == if{ 0 (&gt;L:TankSub,number) } </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;=
        (A:NAV HAS NAV:1, bool) -1 ==
        (L:TankSub, number) 1 ==
        (L:Fuel Gauge Switch, enum) 1 ==
        (A:Nav active frequency:1,Khz) 108200 == &amp;&amp; &amp;&amp; &amp;&amp;
            if{ (A:FUEL TOTAL QUANTITY,gallon) (L:CurrentAmount,enum) - (>L:flowneedle, enum) (L:CurrentAmount2,enum) (L:flowneedle, enum) - (>L:UKBA,enum) }
            (L:UKBA, enum) 0 &lt; if{ 0 (>L:UKBA, enum) 0 (>L:FLD_State, enum) }
            (A:FUEL TOTAL QUANTITY,gallon) 4739 &gt;= if{ 0 (>L:FLD_State, enum) } </Value>
</Select>
</Element>

<Mouse>
<Click>(L:FLD_State,enum) 2 ==
    if{ (A:FUEL TOTAL QUANTITY,gallon) (>L:CurrentAmount,enum)
    1 (>L:TankSub, number)
    (L:UKBA,enum) (>L:CurrentAmount2,enum)
    (L:EAFS,enum) (>L:CurrentAmount3,enum)
    (L:LSGS,enum) (>L:CurrentAmount4,enum) } </Click>
    </Mouse>

And it's now champion :) working perfectly. :wizard:

 
Messages
116
Country
england
Glad to hear it. Sometimes a full rewrite is the way to go.
As much as i tried to re-use the old code, eventually a re-write was easier.

This weekend i re-wrote the dump code. Although its a backward conversion of the above code, it certainly got the thinking muscle flexing..
Dump code looks like so:

Click Section:
XML:
(L:FLD_State,enum) -2 == if{
(A:FUEL TOTAL QUANTITY,gallon) (>L:CurrentAmount,enum)
2 (>L:TankSub, number)
(L:UKBA,enum) (>L:CurrentAmount2,enum)
(L:EAFS,enum) (>L:CurrentAmount3,enum)
(L:LSGS,enum) (>L:CurrentAmount4,enum) }

Logic:
XML:
<!-- Dump from AIRCRAFT to STORAGE -->

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;=
    (A:NAV HAS NAV:1, bool) -1 ==
    (L:TankSub, number) 2 ==
    (L:Fuel Gauge Switch, enum) 1 ==
    (A:Nav active frequency:1,Khz) 108200 ==
    &amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp;
    if{ (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum)
    (L:flowneedle, enum) (L:CurrentAmount2,enum) + (>L:UKBA,enum) }
    (L:UKBA, enum) 0 &lt; if{ 0 (>L:UKBA, enum) }
    (L:UKBA, enum) 10000 &gt;= if{ 10000 (>L:UKBA, enum) }
    </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;=
    (A:NAV HAS NAV:1, bool) -1 ==
    (L:TankSub, number) 2 ==
    (L:Fuel Gauge Switch, enum) 0 ==
    (A:Nav active frequency:1,Khz) 115000 ==
    &amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp;
    if{ (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum)
    (L:flowneedle, enum) (L:CurrentAmount3,enum) + (>L:EAFS,enum) }
    (L:EAFS, enum) 0 &lt; if{ 0 (>L:EAFS, enum) }
    (L:EAFS, enum) 10000 &gt;= if{ 10000 (>L:EAFS, enum) }  </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2.4 &lt;=
    (A:NAV HAS NAV:1, bool) -1 ==
    (L:TankSub, number) 2 ==
    (L:Fuel Gauge Switch, enum) 2 ==
    (A:Nav active frequency:1,Khz) 112150 ==
    &amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp;
    if{ (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum)
    (L:flowneedle, enum) (L:CurrentAmount4,enum) + (>L:LSGS, enum) }
    (L:LSGS, enum) 0 &lt; if{ 0 (>L:LSGS, enum) }
    (L:LSGS, enum) 10000 &gt;= if{ 10000 (>L:LSGS, enum) }  </Value>
</Select>
</Element>

When the mouse is clicked, the amount in the aircraft is passed and saved into CurrentAmount.
Code:
(A:FUEL TOTAL QUANTITY,gallon) (>L:CurrentAmount,enum)
The dump guage begins to subtract fuel from the aircraft. When it does this this the value of (A:FUEL TOTAL QUANTITY,gallon) changes (in this case, to a lower amount). The logic then subtracts the old amount from the new amount :
Code:
(L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) -

EX: (A:FUEL TOTAL QUANTITY,gallon) = 1000
(L:CurrentAmount,enum) = 1000

Dump gauge 'ON'
'-' 100 from (A:FUEL TOTAL QUANTITY,gallon), now = 900
1000 - 900 = 100 which is passed to (>L:flowneedle, enum)
Code:
 (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum)

CurrentAmount4 is the value of LSGS that was passed when clicked.
the logic then add's the value of (L:flowneedle, enum) to (L:CurrentAmount4,enum)

Code:
(L:flowneedle, enum) (L:CurrentAmount4,enum) +

And replaces the value of LSGS
Code:
(L:flowneedle, enum) (L:CurrentAmount4,enum) + (>L:LSGS, enum)

Repeats every time the fuel level changes or until the switch is turned off

:)
 

tgibson

Resource contributor
Messages
10,716
Country
us-california
Yep, when you need something like this to happen adding another variable is often the best solution.
 
Messages
116
Country
england
Weekend Update
Added a mode selector switch:
19.jpg

20.jpg

2.jpg

21.jpg


Each mode selects 3 different airports (mode 3 being just 1)
Installed the tanks at each airport:
XML:
[Config]
MaxValues=10


[LVars]
Lvar_00=EAFS
Lvar_01=UKBA
Lvar_02=LSGS
Lvar_03=EGKK
Lvar_04=EGGD
Lvar_05=EGGP
Lvar_06=EGNS
Lvar_07=EGAA
Lvar_08=LSZB
Lvar_09=LSMI

[Floats]
Value_00=4856.23803710937
Value_01=5819.26049804687
Value_02=0.
Value_03=4440.69376627604
Value_04=2461.10821533203
Value_05=8468.
Value_06=5000.
Value_07=4000.
Value_08=6000.
Value_09=1500.
 
Messages
116
Country
england
added DME's

XML:
<!-- DME -->

<Element>
<Select>
<Value>(L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 108200 == (L:BearingSwitch,enum) 2 == (L:CodeSwitch, enum) 2 == (L:CodeSwitch2, enum) 1 == (L:CodeSwitch3, enum) 0 == (L:CodeSwitch4, enum) 2 == and and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 52.0972 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) -0.0571 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 112150 == (L:BearingSwitch,enum) 2 == (L:CodeSwitch, enum) 0 == (L:CodeSwitch2, enum) 0 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 0 == and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 46.2155 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) 7.2888 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 115000 == (L:BearingSwitch,enum) 2 == (L:CodeSwitch, enum) 0 == (L:CodeSwitch2, enum) 2 == (L:CodeSwitch3, enum) 2 == (L:CodeSwitch4, enum) 0 == and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 47.6512 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) 10.7740 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 114100 == (L:BearingSwitch,enum) 2 == (L:CodeSwitch, enum) 2 == (L:CodeSwitch2, enum) 2 == (L:CodeSwitch3, enum) 2 == (L:CodeSwitch4, enum) 2 == and and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 53.3336 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) 2.8497 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 117900 == (L:BearingSwitch,enum) 1 == (L:CodeSwitch, enum) 1 == (L:CodeSwitch2, enum) 2 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 2 == and and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 51.1485 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) 0.1903 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 110150 == (L:BearingSwitch,enum) 3 == (L:CodeSwitch, enum) 1 == (L:CodeSwitch2, enum) 0 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 2 == and and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 51.3827 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) -2.7192 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 112200 == (L:BearingSwitch,enum) 1 == (L:CodeSwitch, enum) 1 == (L:CodeSwitch2, enum) 1 == (L:CodeSwitch3, enum) 0 == (L:CodeSwitch4, enum) 1 == and and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 54.0669 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) -4.7635 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 117200 == (L:BearingSwitch,enum) 3 == (L:CodeSwitch, enum) 2 == (L:CodeSwitch2, enum) 1 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 1 == and and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 54.6611 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) -6.2299 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 110850 == (L:BearingSwitch,enum) 1 == (L:CodeSwitch, enum) 2 == (L:CodeSwitch2, enum) 2 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 2 == and and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 46.7776 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) 7.2235 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 116900 == (L:BearingSwitch,enum) 3 == (L:CodeSwitch, enum) 0 == (L:CodeSwitch2, enum) 1 == (L:CodeSwitch3, enum) 2 == (L:CodeSwitch4, enum) 1 == and and and and and and and if{ (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees) 46.9122 (&gt; C:fs9gps:GeoCalcLatitude2, degrees) 7.4992 (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (C:fs9gps:GeoCalcDistance, nmiles) (&gt;L:DMEDistance1, nmiles) } els{ (L:UnitPower, percent) 7 &lt;= or (L:BearingSwitch,enum) 0 == if{ 0 (>L:DMEDistance1, nmiles) } }
</Value>
</Select>
</Element>
 
Messages
116
Country
england
New Bearing's

XML:
<!--LOGIC FOR BEARING FROM A GIVEN POINT, FROM USER AIRCRAFT -->
 
<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 115000 == (L:BearingSwitch,enum) 2 == &amp;&amp; if{ 47.6512 (&gt;L:VOR_EAFS_lat, degrees) 10.7740 (&gt;L:VOR_EAFS_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:VOR_EAFS_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:VOR_EAFS_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 108200 == (L:BearingSwitch,enum) 2 == &amp;&amp; if{ 52.0972 (&gt;L:VOR_UKBA_lat, degrees) -0.0571 (&gt;L:VOR_UKBA_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:VOR_UKBA_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:VOR_UKBA_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 112150 == (L:BearingSwitch,enum) 2 == &amp;&amp; if{ 46.2155 (&gt;L:VOR_LSGS_lat, degrees) 7.2888 (&gt;L:VOR_LSGS_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:VOR_LSGS_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:VOR_LSGS_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 114100 == (L:BearingSwitch,enum) 2 == &amp;&amp; if{ 53.3336 (&gt;L:AIRPORT_EGGP_lat, degrees) -2.8497 (&gt;L:AIRPORT_EGGP_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:AIRPORT_EGGP_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:AIRPORT_EGGP_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 117900 == (L:BearingSwitch,enum) 1 == &amp;&amp; if{ 51.1485 (&gt;L:AIRPORT_EGKK_lat, degrees) 0.1903 (&gt;L:AIRPORT_EGKK_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:AIRPORT_EGKK_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:AIRPORT_EGKK_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 110150 == (L:BearingSwitch,enum) 3 == &amp;&amp; if{ 51.3827 (&gt;L:AIRPORT_EGGD_lat, degrees) -2.7192 (&gt;L:AIRPORT_EGGD_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:AIRPORT_EGGD_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:AIRPORT_EGGD_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 112200 == (L:BearingSwitch,enum) 1 == &amp;&amp; if{ 54.0669 (&gt;L:VOR_IOM_lat, degrees) -4.7635 (&gt;L:VOR_IOM_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:VOR_IOM_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:VOR_IOM_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 117200 == (L:BearingSwitch,enum) 3 == &amp;&amp; if{ 54.6611 (&gt;L:VOR_BELFAST_lat, degrees) -6.2299 (&gt;L:VOR_BELFAST_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:VOR_BELFAST_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:VOR_BELFAST_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 110850 == (L:BearingSwitch,enum) 1 == &amp;&amp; if{ 46.7776 (&gt;L:VOR_FRI_lat, degrees) 7.2235 (&gt;L:VOR_FRI_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:VOR_FRI_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:VOR_FRI_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>

<Element>
<Select>
<Value>(A:Nav active frequency:1,Khz) 116900 == (L:BearingSwitch,enum) 3 == &amp;&amp; if{ 46.9122 (&gt;L:AIRPORT_LSZB_lat, degrees) 7.4992 (&gt;L:AIRPORT_LSZB_lon, degrees) (A:PLANE LATITUDE, degrees) (&gt; C:fs9gps:GeoCalcLatitude1, degrees) (A:PLANE LONGITUDE, degrees) (&gt; C:fs9gps:GeoCalcLongitude1, degrees)
(L:AIRPORT_LSZB_lat, degrees) (&gt; C:fs9gps:GeoCalcLatitude2, degrees) (L:AIRPORT_LSZB_lon, degrees) (&gt; C:fs9gps:GeoCalcLongitude2, degrees) (C:fs9gps:GeoCalcBearing, degrees) (>L:Bearing22, degrees) }
</Value>
</Select>
</Element>
 
Messages
116
Country
england
Bearing needle:

XML:
<Rotate>
            <Value>
(L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 2 == (L:CodeSwitch2, enum) 1 == (L:CodeSwitch3, enum) 0 == (L:CodeSwitch4, enum) 2 == (A:Nav active frequency:1,Khz) 108200 == (L:BearingSwitch,enum) 2 == (L:Mode_selector_switch,number) 0 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 0 == (L:CodeSwitch2, enum) 0 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 0 == (A:Nav active frequency:1,Khz) 112150 == (L:BearingSwitch,enum) 2 == (L:Mode_selector_switch,number) 2 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 0 == (L:CodeSwitch2, enum) 2 == (L:CodeSwitch3, enum) 2 == (L:CodeSwitch4, enum) 0 == (A:Nav active frequency:1,Khz) 115000 == (L:Mode_selector_switch,number) 3 == (L:BearingSwitch,enum) 2 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 2 == (L:CodeSwitch2, enum) 2 == (L:CodeSwitch3, enum) 2 == (L:CodeSwitch4, enum) 2 == (A:Nav active frequency:1,Khz) 114100 == (L:BearingSwitch,enum) 2 == (L:Mode_selector_switch,number) 1 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 1 == (L:CodeSwitch2, enum) 2 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 2 == (A:Nav active frequency:1,Khz) 117900 == (L:BearingSwitch,enum) 1 == (L:Mode_selector_switch,number) 0 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 1 == (L:CodeSwitch2, enum) 0 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 2 == (A:Nav active frequency:1,Khz) 110150 == (L:BearingSwitch,enum) 3 == (L:Mode_selector_switch,number) 0 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 1 == (L:CodeSwitch2, enum) 1 == (L:CodeSwitch3, enum) 0 == (L:CodeSwitch4, enum) 1 == (A:Nav active frequency:1,Khz) 112200 == (L:BearingSwitch,enum) 1 == (L:Mode_selector_switch,number) 1 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 2 == (L:CodeSwitch2, enum) 1 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 1 == (A:Nav active frequency:1,Khz) 117200 == (L:BearingSwitch,enum) 3 == (L:Mode_selector_switch,number) 1 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 2 == (L:CodeSwitch2, enum) 2 == (L:CodeSwitch3, enum) 1 == (L:CodeSwitch4, enum) 2 == (A:Nav active frequency:1,Khz) 110850 == (L:BearingSwitch,enum) 1 == (L:Mode_selector_switch,number) 2 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt;= (L:CodeSwitch, enum) 0 == (L:CodeSwitch2, enum) 1 == (L:CodeSwitch3, enum) 2 == (L:CodeSwitch4, enum) 1 == (A:Nav active frequency:1,Khz) 116900 == (L:BearingSwitch,enum) 3 == (L:Mode_selector_switch,number) 2 == and and and and and and and and if{ (L:Bearing22, radians) (A:PLANE HEADING DEGREES MAGNETIC, radians) - pi + } els{ 0 (&gt;L:Bearing22, enum) } </Value>
<Delay DegreesPerSecond="80" />
</Rotate>
</Element>

new needle logic:

XML:
<!-- CALL REQUEST TANK QUANTITY TUNED STATION- NEEDLE -->

<Element>
        <Position X="489" Y="97" />
        <Image Name="needle.bmp" PointsTo="North">
            <Axis X="2" Y="55" />
        </Image>
        <Rotate>
            <Value>(L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 108200 == (L:Mode_selector_switch,number) 0 == and and and and if{ (L:UKBA, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 115000 == (L:Mode_selector_switch,number) 3 == and and and and if{ (L:EAFS, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 112150 == (L:Mode_selector_switch,number) 2 == and and and and if{ (L:LSGS, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 117900 == (L:Mode_selector_switch,number) 0 == and and and and if{ (L:EGKK, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 110150 == (L:Mode_selector_switch,number) 0 == and and and and if{ (L:EGGD, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 114100 == (L:Mode_selector_switch,number) 1 == and and and and if{ (L:EGGP, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 112200 == (L:Mode_selector_switch,number) 1 == and and and and if{ (L:EGNS, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 117200 == (L:Mode_selector_switch,number) 1 == and and and and if{ (L:EGAA, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 110850 == (L:Mode_selector_switch,number) 2 == and and and and if{ (L:LSMI, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (L:needlepower,enum) 1 == (A:Nav active frequency:1,Khz) 116900 == (L:Mode_selector_switch,number) 2 == and and and and if{ (L:LSZB, enum) }
      </Value>
            <Nonlinearity>
            <Item Value="0" X="456" Y="152"/>
            <Item Value="1000" X="434" Y="126"/>
            <Item Value="2000" X="421" Y="95"/>
            <Item Value="3000" X="431" Y="61"/>
            <Item Value="4000" X="455" Y="37"/>
            <Item Value="5000" X="488" Y="28"/>
        <Item Value="6000" X="523" Y="36"/>
            <Item Value="7000" X="545" Y="61"/>
            <Item Value="8000" X="556" Y="95"/>
            <Item Value="9000" X="547" Y="129"/>
            <Item Value="10000" X="527" Y="151"/>
            </Nonlinearity>
            <Delay DegreesPerSecond="20" />
        </Rotate>
    </Element>

<!-- STORAGE TANK NEEDLE - NON CALL - CONTINUOUSE TRANSMIT -->
<Element>
        <Position X="94" Y="420" />
        <Image Name="needle.bmp" PointsTo="North">
            <Axis X="2" Y="55" />
        </Image>
        <Rotate>
            <Value>(L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 108200 == (L:Fuel Gauge Switch, enum) 1 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:UKBA, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 115000 == (L:Fuel Gauge Switch, enum) 1 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:EAFS, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 112150 == (L:Fuel Gauge Switch, enum) 2 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:LSGS, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 117900 == (L:Fuel Gauge Switch, enum) 0 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:EGKK, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 110150 == (L:Fuel Gauge Switch, enum) 2 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:EGGD, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 114100 == (L:Fuel Gauge Switch, enum) 1 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:EGGP, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 112200 == (L:Fuel Gauge Switch, enum) 0 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:EGNS, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 117200 == (L:Fuel Gauge Switch, enum) 2 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:EGAA, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 110850 == (L:Fuel Gauge Switch, enum) 0 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:LSMI, enum) } (L:BattSwitch,bool) 1 == (L:UnitPower, percent) 7 &gt; (A:Nav active frequency:1,Khz) 116900 == (L:Fuel Gauge Switch, enum) 2 == (L:TransferSwitch,bool) 1 == and and and and if{ (L:LSZB, enum) }
      </Value>
            <Nonlinearity>
            <Item Value="0" X="66" Y="469"/>
            <Item Value="1000" X="47" Y="447"/>
            <Item Value="2000" X="36" Y="420"/>
            <Item Value="3000" X="47" Y="393"/>
            <Item Value="4000" X="66" Y="373"/>
            <Item Value="5000" X="93" Y="365"/>
        <Item Value="6000" X="121" Y="372"/>
            <Item Value="7000" X="141" Y="392"/>
            <Item Value="8000" X="153" Y="420"/>
            <Item Value="9000" X="143" Y="448"/>
            <Item Value="10000" X="125" Y="468"/>
            </Nonlinearity>
            <Delay DegreesPerSecond="20" />
        </Rotate>
    </Element>

Fill logic :

XML:
<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 1 == (L:Fuel Gauge Switch, enum) 1 == (A:Nav active frequency:1,Khz) 108200 == &amp;&amp; &amp;&amp; &amp;&amp; if{ (A:FUEL TOTAL QUANTITY,gallon) (L:CurrentAmount,enum) - (>L:flowneedle, enum) (L:CurrentAmount2,enum) (L:flowneedle, enum) - (>L:UKBA,enum) } (L:UKBA, enum) 0 &lt; if{ 0 (>L:UKBA, enum) 0 (>L:FLD_State, enum) } (A:FUEL TOTAL QUANTITY,gallon) 4739 &gt;= if{ 0 (>L:FLD_State, enum) } </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 1 == (L:Fuel Gauge Switch, enum) 0 == (A:Nav active frequency:1,Khz) 115000 == &amp;&amp; &amp;&amp; &amp;&amp; if{ (A:FUEL TOTAL QUANTITY,gallon) (L:CurrentAmount,enum) - (>L:flowneedle, enum) (L:CurrentAmount3, enum) (L:flowneedle, enum) - (>L:EAFS, enum) } (L:EAFS, enum) 0 &lt; if{ 0 (>L:EAFS, enum) 0 (>L:FLD_State, enum) } (A:FUEL TOTAL QUANTITY,gallon) 4739 &gt;= if{ 0 (>L:FLD_State, enum) } </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 14.5 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 1 == (L:Fuel Gauge Switch, enum) 0 == (A:Nav active frequency:1,Khz) 117900 == &amp;&amp; &amp;&amp; &amp;&amp; if{ (A:FUEL TOTAL QUANTITY,gallon) (L:CurrentAmount,enum) - (>L:flowneedle, enum) (L:CurrentAmount5,enum) (L:flowneedle, enum) - (>L:EGKK,enum) } (L:EGKK, enum) 0 &lt; if{ 0 (>L:EGKK, enum) 0 (>L:FLD_State, enum) } (A:FUEL TOTAL QUANTITY,gallon) 4739 &gt;= if{ 0 (>L:FLD_State, enum) } </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2.4 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 1 == (L:Fuel Gauge Switch, enum) 2 == (A:Nav active frequency:1,Khz) 112150 == &amp;&amp; &amp;&amp; &amp;&amp; if{ (A:FUEL TOTAL QUANTITY,gallon) (L:CurrentAmount,enum) - (>L:flowneedle, enum) (L:CurrentAmount4, enum) (L:flowneedle, enum) - (>L:LSGS, enum) } (L:LSGS, enum) 0 &lt; if{ 0 (>L:LSGS, enum) 0 (>L:FLD_State, enum) } (A:FUEL TOTAL QUANTITY,gallon) 4739 &gt;= if{ 0 (>L:FLD_State, enum) } </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 1 == (L:Fuel Gauge Switch, enum) 2 == (A:Nav active frequency:1,Khz) 110150 == &amp;&amp; &amp;&amp; &amp;&amp; if{ (A:FUEL TOTAL QUANTITY,gallon) (L:CurrentAmount,enum) - (>L:flowneedle, enum) (L:CurrentAmount6,enum) (L:flowneedle, enum) - (>L:EGGD,enum) } (L:EGGD, enum) 0 &lt; if{ 0 (>L:EGGD, enum) 0 (>L:FLD_State, enum) } (A:FUEL TOTAL QUANTITY,gallon) 4739 &gt;= if{ 0 (>L:FLD_State, enum) } </Value>
</Select>
</Element>

dump logic

XML:
<!-- Dump from AIRCRAFT to STORAGE -->

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 2 == (L:Fuel Gauge Switch, enum) 1 == (A:Nav active frequency:1,Khz) 108200 == &amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp; if{ (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum) (L:flowneedle, enum) (L:CurrentAmount2,enum) + (>L:UKBA,enum) } (L:UKBA, enum) 0 &lt; if{ 0 (>L:UKBA, enum) } (L:UKBA, enum) 10000 &gt;= if{ 10000 (>L:UKBA, enum) }  </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 2 == (L:Fuel Gauge Switch, enum) 0 == (A:Nav active frequency:1,Khz) 115000 == &amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp; if{ (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum) (L:flowneedle, enum) (L:CurrentAmount3,enum) + (>L:EAFS,enum) } (L:EAFS, enum) 0 &lt; if{ 0 (>L:EAFS, enum) } (L:EAFS, enum) 10000 &gt;= if{ 10000 (>L:EAFS, enum) }  </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2.4 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 2 == (L:Fuel Gauge Switch, enum) 2 == (A:Nav active frequency:1,Khz) 112150 == &amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp; if{ (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum) (L:flowneedle, enum) (L:CurrentAmount4,enum) + (>L:LSGS, enum) } (L:LSGS, enum) 0 &lt; if{ 0 (>L:LSGS, enum) } (L:LSGS, enum) 10000 &gt;= if{ 10000 (>L:LSGS, enum) }  </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 14.5 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 2 == (L:Fuel Gauge Switch, enum) 0 == (A:Nav active frequency:1,Khz) 117900 == &amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp; if{ (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum) (L:flowneedle, enum) (L:CurrentAmount5,enum) + (>L:EGKK, enum) } (L:EGKK, enum) 0 &lt; if{ 0 (>L:EGKK, enum) } (L:EGKK, enum) 10000 &gt;= if{ 10000 (>L:EGKK, enum) }  </Value>
</Select>
</Element>

<Element>
<Select>
<Value> (L:Nav1_DME, number) 2 &lt;= (A:NAV HAS NAV:1, bool) -1 == (L:TankSub, number) 2 == (L:Fuel Gauge Switch, enum) 2 == (A:Nav active frequency:1,Khz) 110150 == &amp;&amp; &amp;&amp; &amp;&amp; &amp;&amp; if{ (L:CurrentAmount,enum) (A:FUEL TOTAL QUANTITY,gallon) - (>L:flowneedle, enum) (L:flowneedle, enum) (L:CurrentAmount6,enum) + (>L:EGGD, enum) } (L:EGGD, enum) 0 &lt; if{ 0 (>L:EGGD, enum) } (L:EGGD, enum) 10000 &gt;= if{ 10000 (>L:EGGD, enum) }  </Value>
</Select>
</Element>
 
Messages
116
Country
england
Click spot added that pop's up a placard, showing Country flag, airport ICAO, required mode, frequency and station code as there are many now :
placard.jpg
 
Top