(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