Hi,
I already whined on fgfs-user about ^U not working since about two weeks.
Now I've looked further into that problem, still without solution, but at
least with some details. (Of course, I have updated plib, SimGear, FlightGear
and FlightGear-Data from cvs before, this time even with "cvs up -A"! My copy
should therefore be an exact copy of the CVS data. Furthermore I did all
tests with and without using my local settings in ~/.fgfsrc, without
any differences.)
I found out, that it's in fact not a problem with the keyboard settings,
as ^U does still work with "magic carpet" and "larcsim". Furthermore,
not only changing the altitude in JSBSim via ^U, but also via the new
property-picker and via telnet yields the same results:
When started from KSFO every external manipulation of the altitude
places the aircraft in the sea at 5ft AGL. The following snippet from
the logs shows something strange: Although I am at 89 feet altitude
and the altitude is correctly passed to FGJSBSim::setAltitude, pressing
^U triggers a =Ground=(!) trim, which does of course not have a
desirable effect on the position:
find_props: allocation of node
files->2 longitude-deg = '-122.363764' (double)
files->3 latitude-deg = '37.617349' (double)
files->4 altitude-ft = '89.868794' (double)
files pointer=1159395616
FGJSBsim::set_Altitude: 1089.87
lat (deg) = 37.6173
Ground Trim
Initial Theta: 2.535
Trim successful
JSBSim State
Weight: 2036 lbs. CG: 42.2, 0.0, 40.3 inches
Flaps: Up Gear: Down
Speed: 0 KCAS Mach: 0.00
Altitude: 5 ft. AGL Altitude: 5 ft.
Angle of Attack: 0.00 deg Pitch Angle: 3.11 deg
Flight Path Angle: 0.00 deg Climb Rate: -0 ft/min
Normal Load Factor: 0.00 g's Pitch Rate: 0.46 deg/s
Heading: 298 deg true Sideslip: 0.00 deg
Bank Angle: 0.00 deg
Elevator: 0.00 deg Left Aileron: 0.00 deg Rudder: 0.00 deg
Throttle: 100.00%
Wind Components: 0.00 kts head wind, 0.00 kts cross wind
Ground Speed: 0 knots , Ground Track: 0 deg true
Trim complete
find_props: allocation of node
files->2 longitude-deg = '-122.357197' (double)
files->3 latitude-deg = '37.617382' (double)
files->4 altitude-ft = '5.103165' (double)
I had a look at JSBSim.cxx and put a SG_LOG line into FGJSBsim::do_trim to show
if fgic->GetVcalibratedKtsIC() is involved. It is! This value was always
reported to be zero, so it's no wonder that I always get a "Ground Trim".
SG_LOG(SG_FLIGHT,SG_INFO,"FGJSBsim::do_trim: " << fgic->GetVcalibratedKtsIC() );
if(fgic->GetVcalibratedKtsIC() < 10 ) {
fgic->SetVcalibratedKtsIC(0.0);
fgtrim=new FGTrim(fdmex,fgic,tGround);
} else {
fgtrim=new FGTrim(fdmex,fgic,tLongitudinal);
}
Why does a Ground Trim also change the longitude?
Why is fgic->GetVcalibratedKtsIC() always zero?
Can someone familiar with JSBSim imagine what's wrong (and why it could
just happen on my installation, although this is without any doubt a 1:1 copy
from CVS)?
What else can I do to find the problem? (I'm not really familiar with
JSBSim.)
m. :-)
PS: I'm running fgfs (CVS HEAD from today) under a Linux 2.4.14 kernel. Everything is
compiled with a (known as non-buggy) gcc 2.95.2 on a SuSE 7.1.
_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel