James Turner
2008-12-31 13:09:05 UTC
(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
------------------------------------------------------------------------------
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
------------------------------------------------------------------------------