• 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 Top of Descend Announcement Gauge

Messages
31
Country
germany
Hi,

I am keen to put a XML gauge together that announces the top of descend about 40 miles away from TOD.

Does anyone have a clou which variables I could use to make it work?

Thanks in advance

Fritz
 

tgibson

Resource contributor
Messages
11,344
Country
us-california
Why do you want to announce top of descent 40 NM away from the top of descent? If that is what you want, I don't know of a simple way to do that.
 

dave hoeffgen

Resource contributor
Messages
1,439
Country
germany
Why do you want to announce top of descent 40 NM away from the top of descent? If that is what you want, I don't know of a simple way to do that.
Let's not ask why, let's see if it's possible. :p

Hi,

I am keen to put a XML gauge together that announces the top of descend about 40 miles away from TOD.

Does anyone have a clou which variables I could use to make it work?

Thanks in advance

Fritz

So how is the TOD defined in your case? If it's just a distance from your destination (The descent distance) and you can access that one just add +40. Code the gauge to do the announcement when (Descent distance) + (40 miles) away from destination. In case the TOD doesn't exist yet you may have to calculate that one aswell.
I'm not an expert here but I hope this helps.
Gruß,
David
 

Heretic

Resource contributor
Messages
6,830
Country
germany
Isn't this a bit pointless since FSX' and 3rd party ATC tools guide you down at their own discretion anyway?


Since your endeavour basically depends on the GPS, try Robbie McElrath's GPS guidebook (Google!).

There's a variable called (C:FS9GPS:FlightPlanWaypointRemainingTotalDistance, nmiles) that will show the remaining distance to your destination.
With a bit of triangulation, you can calculate the distance required to descend to your destination airport at an assumed rate of descent.
Then compare that calculated distance to the remaining GPS distance plus 40 and you should have your framework to play your announcement sound.


This code might or might not work. Check variable names and the tangent stuff against the SDK reference documents:

Code:
(A:INDICATED ALTITUDE, feet) 10000 >
if{ 
(A:INDICATED ALTITUDE, feet) 3 dgrd tg / 0.000164579 * (>L:Projected Descent Distance, number)


(L:Projected Descent Distance, number) 40 + (C:FS9GPS:FlightPlanWaypointRemainingTotalDistance, nmiles) <
(L:ToD Announcement Played, bool) ! and
if{ 1 (>L:ToD Announcement, number) 1 (>L:ToD Announcement Played, bool) } }

(A:INDICATED ALTITUDE, feet) 10000 <
(L:ToD Announcement Played, bool) and
if{ 999 (>L:Projected Descent Distance, number) 0 (>L:ToD Announcement Played, bool) }

For good measure, the announcement will only play above 10000 feet and reset below.

The first calculation assumes a descent angle of 3°, converts it to radians and uses the tangent with the indicated altitude (in feet) to calculate a rough descent distance (in nautical miles).
The result is then, with a 40 nm bias, compared against the total distance to go. If the total distance is less than descent distance plus 40, the announcement is played once.
 
Messages
31
Country
germany
Okay guys,

The reason to have the announcement is to get notified on the upcoming TOD when simulating with 4x, 8x or 16x rate. Getting notified on TOD, upon I would be able to reduce the sim rate to decent 2x or less.

In addition, I will try to create a gauge "Pause on TOD" about 20 miles away from TOD (in case I am not in front of my computer or diverted by the phone etc.). This feature is available in the PMDG 747 and the WILCO Airbus and really helpful, but coded in a DLL file.

I will try Heretic's code and let you know the test results.

Thank you so far.
 

Heretic

Resource contributor
Messages
6,830
Country
germany
Detecting the sim status to trigger pause is a bit tricky. The variable used in Doug Dawson's sound gauge doesn't work for me and I don't know if you're using XMLTools, which does now have a variable to detect the sim's status.

So the code uses a very simple method to detect pause.
Code:
(P:ABSOLUTE TIME,seconds) (G:Var1) ==
if{ 0 (>L:SimIsRunning,bool) }
els{ 1 (>L:SimIsRunning,bool) }
(P:ABSOLUTE TIME,seconds) (>G:Var1)

(L:Projected Descent Distance, number) 20 + (C:FS9GPS:FlightPlanWaypointRemainingTotalDistance, nmiles) <
(L:SimIsRunning,bool) and
if{ (>K:PAUSE_TOGGLE) }

Make sure that you're not already using G:Var1. The projected distance is taken from the calculation in my previous post.


By the way:
The code I've posted has a huge drawback.
Exercise: Find the drawback and correct it.
 
Messages
840
Country
indonesia
This is the code I use. It tells you the sim rate with 0 = paused.

Code:
<!-- Get Sim Rate -->
<Element>
  <Select>
  <Value>(E:ABSOLUTE TIME,Seconds) s0 (L:LastTime,Seconds) - (&gt;L:TimeDifference,Seconds) l0 (&gt;L:LastTime,Seconds) (L:TimeDifference,Seconds) 72 * near 4 / (&gt;L:SimRate,Number)</Value>
  </Select>
</Element>
 
Messages
31
Country
germany
Thanks for the input.

@Heretic: None of the codes work, so I cannot find out the drawback.

@chris: Your code just readout the sim rate, but does nothing - right?

The FMC I'm using shows the flight levels on the waypoints along the route. I thought there might be a possibility to get the TOD from there, but no Clou how.

Not trivial ... Any other ideas or (code) suggestions?
 
Messages
542
Country
australia
It's quite complex as there are several steps required .

1. A nearest search for the "Destination" airport , and obtain the 'Elevation' of that airport.
2. Calculate the "3 degree glideslope distance" to about 2,500' above that airport elevation.
3. From the aircraft's final leg cruise altitude , subtract (2,500' + airport elevation) to obtain " Initial let down Height"
4. determine "Let down distance" by dividing "Initial let down height" by the average VSI to obtain "Let down Time".
"Let down time" multiplied by GS = "Let down distance"
5. "3 degree glideslope distance" plus "Let down distance" = "Total distance from TOD to airport"

6. In your case add 40 nm to "Total distance from TOD to airport" as the distance to trigger your advisory alarm .

Notes :
- The GS (Groundspeed) would be the cruise GS , unless a descent GS is nominated .
- The airport elevation is important as not all airports are at or near sea level , therefore it needs to be accounted for.
- The normal glideslope for approaches is 3 degrees , however the Let down phase would rarely match that angle , thus let down
needs to be treated separately.

Cheers
Karol
PS ;
The following link might be of interest ,
http://www.fsdeveloper.com/forum/threads/storage-of-gps-variables.433868/

specifically refer to reply #33 on the second page , covering Intercept position Height
above runway.
 
Last edited:
Messages
31
Country
germany
@COBS (Karol): Wow, amazing! You must be a real expert! Unfortunately, this is far to complex for me. I just startet developing gauges and I am looking for solutions. I was wondering if somebody had already developed a Pause on TOD gauge to use it and substitute the pause with a callout and increase the distance. Thank you anyway!

@chris (Chris): Aha! Thx!

@Heretic: Yes, I had a IFR flight plan with waypoints (not direct GPS) loaded and was following it. From my CPL knowledge, I don't think there is a defined TOD if you fly VFR.
 
Messages
31
Country
germany
Nope, none of the tools helped to solve my issue. It looks like the xpause gauge has a Pause on TOD feature, but it is an external gauge, written in French. I tested it without success.

What I am looking for is an FSX internal gauge that pauses the sim on Top of Descent. Having that, it would be easy to make the callout just prior to reach the TOD.

Does anybody ever programmed a gauge for "Pause on TOD"?
 
Messages
542
Country
australia
The FMC I'm using shows the flight levels on the waypoints along the route. I thought there might be a possibility to get the TOD from there, but no Clou how.

When you use the FMC to create a Flight Plan does that flight plan detail and show the TOD ?

If it shows a TOD , is that TOD a waypoint ?

If the TOD is a waypoint then it would have a Latitude and Longitude , in that case your project
would be easy to do using a Geocalc.

Cheers
Karol
 

Heretic

Resource contributor
Messages
6,830
Country
germany
XPause is in English once it is installed and it has the exact features that you're looking for, including a ToD calculator with a distance offset.
 
Messages
31
Country
germany
@COBS (Karol): No, the FMC just displays different FL/altitudes towards the targeted airport, not an exact TOD or waypoint like in the PMDG 747, Wilco Airbus or in the VASFMC.

@Heretic: As stated earlier, I'm looking for a gauge inside FSX. BTW: My xPause installation continues in French after install. I haven't found a way to switch it to another language.
 

Heretic

Resource contributor
Messages
6,830
Country
germany
"Fichier" -> "Options" -> "Langue"

As you have seen in this thread, a gauge-based option is not easy to do, so it's either XPause or a long, rocky way to devise a working XML-based solution. I will not be part of the latter though. It's all up to you now.
 
Top