The property /fdm/jsbsim/propulsion/engine/prop-induced-velocity_fps
gives wrong answers, and can become NaN under certain conditions. When thrust is
negative and forward velocity is small we can take the square root of a negative
number. This could occur, for example, when using reverse thrusters on landing.
The value comes out much too high when alpha is near 180, such as taxing with a
tail wind.
are the accelerations (forces) as felt from the pilot's perspective. This
combines the accelerations due to change in velocity vector and gravity.
Previosly the gravity part was right, but the body accelerations were being
transformed incorrectly. The error was very subtle and basically amounted to
the fact that inverting an axis of a vector before transforming it is not
equivalent to transforming the vector and then inverting that axis.
After this fix, pilot accelerations + gyro + gps can be fed into an external
kalman filter and it will converge properly (extra confirmation that there
was a problem and this fix corrects it.)
Replace SG_GENERAL by more specific log classes in many places.
Allow "," to separate logging classes (using "|" is odd on the
command-line).
Also add new option to make logging more useful for developers.
You can use:
--log-level=debug --log-class=environment
to only get environment debug messages, or
--log-level=debug --log-class=sound,ai
to only get debug messages related to the sound or AI subsystem.
1. The atmospheric properties of FG are not yet initialized when
JSBSim is initialized.
-> patch is quite basic and there may exist smarter ways to initialize
properly the environment before the FDM.
2. The Euler angles were initialized after the velocities.
3. The glide slope and rate of climb were ignored. Fixes all FDMs (YASim,
UIUC, JSBSim, etc.)
4. Some properties were instructed to re-use their previous value while
they should not.
5. Some bugs existed in JSBSim trim code. -> This bug has already been
fixed in JSBSim but the corresponding patch has not yet been applied to FG.
coordinated with and approved by Andy.
The lattice(x,y) arguments were being "WRAP()'d" but the WRAP() function
didn't make sense. Instead it was forcing the value to zero if it was
greater than the wrap limit. This was creating large areas of constant
values in the perlin noise maps which resulted in a "constant" turbulence
vector over time -- which is just weird.
Andy couldn't see any reason why the values should be wrapped and couldn't
remember any reason why the WRAP() function was set up like it was.
Andy wanted me to make sure and mention that he was INSANE when he wrote that
code (but now he's sane ... err, mostly.)
The internal solver of YASim which computes drag and lift
coefficients now actually uses the values configured in
the XML input file for approach fuel, cruise fuel and cruise
glide angle.