(sorry for the long email, but please read if you are involved with  
panel creation, or can shed light on nav-radios)

I have had an entertaining afternoon, and now morning, with the Mk-VIII.

Along the way, I believe I have discovered some genuine bugs in the  
code, and some odd assumptions which explain various pieces of strange  
behaviour. I'm pretty hopeful with a bit more attention, I can get all  
the various modes working as intended, which would be nice.

However, I've hit one of those cases where the Mk-VIII is being  
confused by other parts of the code, specifically navradio.cxx.

The Mk-VIII is trying to compute localiser and glideslope deviation in  
'dots', and is being cofnused by a magic '5' multiplier at line 614 of  
navradio.cxx - the needle deflection is not in degrees deviation from  
the GS, but degrees * 5. There's comments indicating that no one  
really knows this source of this term, and some grep-ing of data/ 
Aircraft reveals things like:

            gs_needle = getprop("/instrumentation/nav/gs-needle-deflection");
             if ( gs_needle > -2.5 and gs_needle < 2.5 ) {
                 # capture the glide slope if within 0.5 degrees by  
switching
                 # to gs altitude mode.  (2.5 = 0.5 * 5, FG has an odd  
5x factor
                 # that came from some unknown place but it hard to  
get rid of
                 # because so many instruments are build with this  
converstion
                 # factor
                 altmode = "glide-slope";

Well, I've never been daunted by 'hard' :)

I'm going to add a 'gs-deviation-deg' property alongside the existing  
deflection, so users who the true deviation in degrees don't need to  
deal with this odd scaling. I will probably add a similar property for  
the course error, so that users can also bypass the factor-of-4  
scaling using for localiser deviation if they desire. (But as  
discussed below, that scaling is less harmful, I think)

The next issue is mapping degrees to dots. Here I have to state  
(again) that I am not a pilot. My impression is that the mapping from  
degrees to dots is supposed to be standardised, i.e 1 dot deviation  
implies the same degree deviation whether you're in a C172 or a  
747-400. The MK-VIII cites this NTSB report:

        http://www.ntsb.gov/Recs/letters/2000/A00_41_45.pdf

...as giving a value of 0.32 degrees GS deviation per dot. I'd love to  
know if this is correct, and what the VOR/HSI deviation is (in degrees  
per dot) (I believe the 'LOC is 4x the sensitivity of VOR' rule is  
indeed correct, but again, please confirm or deny this).

Assuming we can agree the ratios, I will then add gs-deviation-dots  
and cdi-deviation-dots properties to navradio, and hopefully remove  
that source of problems  going forwards.

Now, a final point: I'm testing this with the Bravo, as it happens.  
The Primus 1000 has the usual 'two dots above and below a bar' GS  
indicator, pretty much identical to what the Boeing and Airbus units  
have, and presumably many others. The mapping in its instrument  
animation is using a range of -10 to 10. Which, divided by the magic  
factor-of-5, gives -2 to 2.  ... which would be right ... for dots.  
But of course, it's reading a deflection in degrees!

So, it seems like at least Syd may have been assuming the deflection  
was in 'dots * 5' rather than 'degrees * 5' - I'd love Syd to confirm  
or deny that. The upshot of this is that the GS indicator in Primus  
is, **I think**, about 1/3rd as sensitive as it should be. However, I  
could easily be wrong about this, so I'll wait for Syd to offer his  
opinion.

Comments on any of the above are welcome.

Regards,
James


------------------------------------------------------------------------------
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to