Sign in to follow this  
Guest Schulli

DME Hold?

Recommended Posts

hi guys!is it possible to program DME Hold function at both nav sources? either xml or c++. if yes, how?thx

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Dai did it for NAV1 in C a long time ago, in XML there's sort of NAV1 hold function in Valmet Vinka, but plane has only one NAV and this solutionmesses up the NAV2 frequencies. For the rest (NAV2 DME hold) I can only say that there is none, or I'm not aware of. Others?

Share this post


Link to post
Share on other sites

You can fake it.If the radio is tuned to a valid nav station then get the range and bearing to it.Get the aircraft position, use that and the range / bearing to the station to work out the station position (great circle).When DME hold is switched on, switch to calculating range and bearing using the station position and current aircraft position.

Share this post


Link to post
Share on other sites

Hi,You could try something like this:"DME HOLD ON" if{ Autopilot Nav1 or Nav2 Hold on, OBS set if{ DME1 or DME2 < x NM if{ NAV HOLD OFF and HEADING SET on OBS + 181 or 179 (right or left turn) } els{ DME1 or DME2 > y NM if{ NAV HOLD ON } } } } (Not yet tested)Jan"Beatus ille qui procul negotiis..."

Share this post


Link to post
Share on other sites

My solution also messes up the NAV2 frequencies . It was a VERY long time ago but IIRC I tuned to DME1, selected the hold and allowed the simpilot to tune another NAV1 input. The act of switching to the Hold actually tuned in DME2 to the current DME1 frequency. I remember having a great deal of fun programming that set of radios to 'talk' to each other; the moment you added NAV2 to the panel it disabled the DME hold function.-Dai

Share this post


Link to post
Share on other sites

Go for the faking it option! It's not as hard as it sounds and it works well and also lets you keep NAV 1 and 2.

Share this post


Link to post
Share on other sites

I did that some time ago. I think for the Cessna 400 navigation pack for the Cessna 210, it should be still here or at flightsim.com in the library. If I recall that right, you have to monitor the DME distance and calculate and store the DME position each time the distance changes. If you have the position you can calculate dist and speed in faked HOLD mode.

Share this post


Link to post
Share on other sites

That's right Arne.That is what I am doing in my Saab and it works well. Add some code to stop displaying the value once it gets outside of average DME range to make it more realistic and you are done.

Share this post


Link to post
Share on other sites

Hi,Just a small contribution, experimental still.When enroute on GPS this code will hold you at a certain distance:(L:DME HOLD,bool) if{ (A:GPS WP DISTANCE,nmiles) s0 (L:desired distance,nmiles) s1 > l0 l1 1 + < and if{ (A:GPS DRIVES NAV1,bool) if{ (>K:TOGGLE_GPS_DRIVES_NAV1) (>K:AP_PANEL_HEADING_ON) (P:Local Time,seconds) 120 + (>L:dme timer,number) (A:GPS WP TRUE REQ HDG,degrees) 180 + (L:correction,number) + (>K:HEADING_BUG_SET) } } (P:Local Time,seconds) (L:dme timer,number) > if{ (A:GPS DRIVES NAV1,bool) ! if{ (>K:TOGGLE_GPS_DRIVES_NAV1) (>K:AP_NAV1_HOLD_ON) (>K:AP_PANEL_HEADING_OFF) } } } Of course you must correct for windspeed and- angle and left or right turn (L:correction,number).Also you can use Nav1 or 2 dme.Hope it helps,Jan"Beatus ille qui procul negotiis..."

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this