On Sun, 2007-02-18 at 12:22 -0500, John Denker wrote:
> On 02/12/2007 08:43 PM, Dave Perry wrote:
> 
> > What I am proposing is to create a C++ function (say height_ft) that has
> > two arguments, P0 and P1 that does the interpolation in John's new patch
> > using his constants.
> > 
> > Then the kap140.nas could use that function, the encoder could use that
> > function to compute PA and the altimeter 
> 
> Those who are interested may try out the alpha version of
> the FGaltimeter::reading_ft(,) feature in:
> 
>    http://www.av8n.com/fly/fgfs/atmo.diff
> 
> The interface to this feature is about as simple as it could
> possibly be.  In Instrumentation/altimeter.cxx we find only
> the following three lines:
> 
>   1) Grab the definitions
>       #include <atmo.hxx>
>   2) Instantiate the object (once, at startup time):
>       FGaltimeter _altimeter;
>   3) Ask for the altimeter reading:
>       _altimeter.reading_ft(pressure, setting)
> 
> This is implemented as a class rather than as a plain-old
> function, so that it can build and use an interpolation
> table.
> 
> This altimetry method is valid to above 100,000 feet, and
> correctly handles Kollsman settings (unlike the altimeter
> instrument in the current and previous cvs versions).
> 
> ========================
> Notes:
> 
> 1) I did say this an _alpha_ feature, right?  That means
>   a) Now is a particularly timely time to make suggestions.
>   b) There is even less warranty than the usual "no warranty"
>    and there are no promises of stability.  I can't presently
>    think of any reason to change the FGaltimeter::reading_ft(,)
>    interface, but no promises are being made.

Thanks John,
Just made the changes in your new patch to a copy of cvs source and all
compiled and ran OK.  I was running a version of your prior patch that
was also good to 100K ft.  I am not sure the new patch is giving the
same results, but I have not done any controlled comparisons; just one
flight from 2V2 (now KLMO) to KBJC with real metar weather.  The QNH was
29.71 and later 29.70 as I approached KBJC.  The field elevation with
the altimeter kollsman setting correct was about 60 ft low.  I will
double check and compare some examples with the previous patch.  

> 2) You may notice the files contain quite a bit of additional
> functionality beyond the FGaltimeter::reading_ft(,) feature,
> but it is pre-alpha.  That means
>    a) Play if you dare.
>    b) Comments are welcome.
>    c) I /know/ some of it is going to change.
> 
> If you want to play with member functions in the FGatmobase
> class, it suffices to call them using an anonymous temporary
> instance, as in:
>       FGatmobase().qnh(elev, Pfield);
> 
Looking at FGaltimeter, the following calls allow separating PA and C.

If I want just the PA as in the encoder, the assign would be 

    pressureAltitude_ft = _altimeter.reading_ft(pressure, 29.92);

and if I want just the kollsman offset as in kap140.nas

    kollsman_shift_ft = _altimeter.reading_ft(setting, 29.92);

Again, tomorrow, I will do some more comparisons and feed the results
back.  

Thanks for staying with this.
-- 
Dave Perry 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to