I am passing this along from David Megginson, who used to be one of our core
developers and became a pilot through the process of participating in
FlightGear, (but more recently has backed off helping with FlightGear to
concentrate more on developing his own consulting business.)

One important use of FlightGear is as a pilot training aid, and one huge
thing that instructors like to do is setup in-air starts so you can practice
a lot of approaches in a short amount of time (that's one of the key
benefits of a simulator over a real airplane.)

This capability seems to be broken now.  David did some investigation and
here is his email (attached).

Also, here is a follow up email he just sent me:

*Any control-related property **specified in the aircraft *-set.xml files,
.fgfsrc, or the command **line is blown away.  Many of the *-set.xml files
set default fixed **aileron and rudder trim to counteract torque etc. in
cruise, just like **some planes have tabs that can be physically bent on the
ground (most **planes are designed so that torque/slipstream/etc. effects
are **negligible in level cruise).*
*
*
*I'm sure this was just an accident during some code refactoring.*


---------- Forwarded message ----------
From: David Megginson
Date: Sun, Oct 31, 2010 at 5:50 PM

I've been trying to use FlightGear for instrument approach practice,
which means I want to start in the air, which means I want the engine
already running.  This, however, no longer works:

 fgfs --prop:/controls/engines/engine/magnetos=3

The value was set correctly at first, but then would be blown away
during later initialization.  I did a bit of digging in the code, and
discovered the culprit:

#0  FGControls::reset_all (this=0xe005b0) at controls.cxx:132
#1  0x0000000000446538 in fgReInitSubsystems () at fg_init.cxx:1534
#2  0x000000000043e879 in do_presets_commit (arg=<value optimized out>)
   at fg_commands.cxx:1236
#3  0x0000000000a0d66e in SGCommandMgr::execute (this=<value optimized out>,
   name=..., arg=0x13f94700) at commands.cxx:91

do_presets_commit calls fgReInitSubsystems(), which calls
FGControls::reset_all(), which blows away any control presets because
it reinitializes everything to default values.  I can see the value of
that when resetting the plane to a default position in an airport, but
it's a bit of a disaster for any saved or canned scenarios.  It might
be a good idea either to remove the call to FGControls::reset_all()
from fgReInitSubsystems, or to create a function other than
do_presets_commit for the program's initialization sequence.  For now,
I'm just commenting out the call to FGControls::reset_all in
fg_init.cxx.

As a side note, this also blows away all the aileron- and rudder-trim
adjustments used to make planes fly straightish in cruise -- for
example, if you try flying the Cub now, you'll find that it pulls hard
to the side even in level flight.


All the best,


David
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to