1
0
Fork 0
Commit graph

777 commits

Author SHA1 Message Date
ehofman
73e70fdb29 Fix a numeric_limits problem for older stdc++ libraries. 2004-07-21 06:56:59 +00:00
curt
77e21b26d2 Curt:
Stub in hooks for Propeller feathering controls and the turbo prop "condition"
lever.

I added a line in FGFDM.cpp to force control properties to exist if they
don't already.  This way you can specify anything you want and find them
in the property browser, otherwise no one else may create them and you are
stuck.

In PropEngine::solve() the code original sets _running = true at the
beginning and then sets running = false at the end.  I changed this to
save the current value at the start, set to true, solve(), and then
restore the original value at the end.  That way if we start off with
_running = true, we don't have to hack up the calc() routine which wasn't
using the value anyway.

Finally I added some very initial support to shut down a turbine engine
(_running = false) when the condition lever goes to zero.
2004-07-20 22:17:58 +00:00
ehofman
1d2af567bf Frederic Bouvier:
I have 3 issues that are fixed by this set of patches.

1. In extensions.cxx
  #else if !defined( WIN32 )  must be changed by
  #elif !defined( WIN32 ) because the text after #else
  seems to be ignored

2. banner is not available on windows, only cygwin

3. ANSI escape sequences are not interpreted on the
   windows console. We just have garbage that is hard
   to read.
2004-07-03 10:59:34 +00:00
ehofman
5c685b34de Sync. with JSBSim CVS again. This fixes some small issues. 2004-06-27 19:35:54 +00:00
david
2bcec1fbbc Ignore generated files. 2004-06-15 12:48:22 +00:00
ehofman
8e1482f746 Sync w. JSBSim CVS 2004-06-14 11:40:45 +00:00
ehofman
22c0529280 Work around a potential never ending loop problem. A proper fix will be in the next JSBSim update. 2004-06-13 18:44:21 +00:00
ehofman
a3c8bc99a2 Incorporate some of the changes from the Linspire diff. 2004-06-06 14:28:45 +00:00
ehofman
b3e9697262 Add the AIModel based air traffic subsystem from Durk Talsma. 2004-06-03 17:59:14 +00:00
andy
3ef1c6f540 Fix a bug with propeller gearing. The torque computations weren't
properly correcting for the gear ratio.  This is the source of the
problems Vivian and Jim were having with the Spitfire and Mustang.
2004-05-18 01:46:36 +00:00
curt
944a82b576 Clean up some sound buffer allocation/deallocation issues. 2004-05-10 21:24:30 +00:00
andy
aadb3cb94f Fix from Melchior: It replaces the ridiculous 5 seconds by
the 30 seconds that Maik had originally intended, according to the comment.
This is important for the pending sound and rotor disc changes (and of course
for realism).
2004-05-06 16:28:08 +00:00
andy
2aaa1803d3 Reverse the sense of manual propellers. Low numbers == fast
propeller, silly.
2004-05-01 15:18:27 +00:00
andy
e14aa3627f Oops, I broke engine starting. 2004-05-01 14:30:00 +00:00
andy
0bd25eb082 It can't be turned off, so force the running flag to true to avoid an
uninitialization stupidity.
2004-05-01 04:59:09 +00:00
andy
a3ba94c39e Initial checkin of a TurbineEngine implementation. This hasn't been
tested at all yet, but it doesn't seem to have broken anything so it
should be safe.  See the README in the base package for docs.
2004-05-01 00:26:33 +00:00
andy
9f2a8d4651 Attempt at a fix for the propeller torque problems in the
"slow/windmilling propeller" regime.  I'm happy with the foundations
of the solution, but this hasn't been complete tested yet.  The
solution behavior seems fine on the planes I tried.
2004-05-01 00:25:56 +00:00
andy
b1c964030d Refactoring in preparation to add a turbine engine to YASim. The
PistonEngine class has grown an "Engine" superclass.  Some other stuff
moved around too, and I cleaned up some property naming while I was in
there.  This hasn't been tested very thorougly, hopefully I didn't
break anything.
2004-04-30 19:06:29 +00:00
andy
7ceb85d454 Changes to get FlightGear (well, the src directory at least) to
configure and compile out-of-the-box on a MinGW target:

Use -lSDL instead of -lglut32 on windows builds when --enable-sdl
is set.

Link against alut.dll in addition to openal32.dll.

Replace BSD bcopy() with ANSI C memmove() in a few places.  This is
simpler than trying to abstract it out as a platform dependency in a
header file; bcopy() has never been standard.

The ENABLE_THREADS handling has changed to be set to 0 when threads
are not in use.  This breaks expressions like #ifdef ENABLE_THREADS.
Replace with a slightly more complicated expression.  It might have
been better to fix the configure.ac script, but I didn't know how and
this whole setting is likely to go away soon anyway.

The MinGW C runtime actually does include snprintf, so only MSVC
builds (and not all WIN32 ones) need _snprintf in JSBSim/FGState.cpp

Building on a platform with no glut at all exposed some spots where
plib/pu.h was being included without a toolkit setting (it defaults to
glut).  Include fg_os.hxx first.

And when still using glut, glut.h has a bizarre dependency on a
_WCHAR_T_DEFINED symbol.  It it's not defined, it tries to redefine
(!!) wchar_t to disasterous effect.
2004-04-30 00:52:11 +00:00
curt
795abb81a4 Change the message passing structure just a bit in order to remove a possible
time dependency ambiguity on the remote end.
2004-04-20 22:53:38 +00:00
andy
7b3c6c0ff7 Units bug. 2004-04-14 17:05:33 +00:00
curt
0490631250 Jim Wilson:
This update contains a change to not overwrite the altitude-ft preset during
"onground" start.  The change also prevents a ground trim issue with the
JSBSim fdm when a "reset" is done by FlightGear.
2004-04-05 16:47:13 +00:00
curt
b5c9a3c0e2 Clean up some debugging output. 2004-04-02 16:17:08 +00:00
curt
2acdd02879 Clean up various compiler warnings that have crept into the code. This
by no means get's them all, but it's a start.
2004-04-01 15:27:53 +00:00
andy
dc41cdb948 More work to get the starter behavior right, without breaking David's
work on the pa28 idle and without creating ridiculous side effects
(like being able to fly the aircraft with the starter motor, heh).
This one looks pretty good for now, pending work on the propeller to
get its low speed drag in line with reality.
2004-03-27 18:34:04 +00:00
andy
c62048d5e2 YASim now supports the new fuel.nas fuel management system. It
reads the /consumables tree for input to determine weights, but
places output only in /engines/engine[n]/fuel-consumed-lbs where
it gets picked up by the Nasal code.
2004-03-27 04:07:18 +00:00
andy
17b6142a76 Tune up the starter torque to match the recent changes to engine
friction.  We should get these better calibrated at some point...
2004-03-26 22:53:41 +00:00
curt
349195795e Jim Wilson:
This is a fix for my earlier "Remove some hardcoded dependencies between fdm,
viewer and acmodel" patch.  The problem was discovered when testing the
wrightFlyer.
2004-03-23 13:19:40 +00:00
curt
bcc42cbe4c Various final tweaks for the 0.9.4.pre1 release. 2004-03-22 20:19:18 +00:00
curt
ba840da288 plib-1.8.0 no longer defines the cchar type (which we used because we were
deriving a class and the base class used this type.)  Return to using
const char and hope people compiling against earlier versions of plib
have compilers that think typedef const char cchar; char *abc; is equivalent
to const char *abd;
2004-03-22 15:00:42 +00:00
ehofman
f08625d64d A hack to prevent a devide by zero sotuation. Should we still leave the balloon in CVS without WeatherCM? 2004-03-22 10:59:08 +00:00
curt
f7fc455b0d Jim Wilson:
Remove some hardcoded dependencies between fdm, viewer and acmodel classes and
replaced them with property references.   Fix roll offset in viewer.
2004-03-19 03:30:18 +00:00
curt
fe7321e91e Add extern "C" wrappers. 2004-03-16 20:44:00 +00:00
david
25290c4467 Remove the old WeatherCM module. 2004-03-16 20:19:07 +00:00
curt
fbee3d10f0 Rob Deters: UIUC updates from March 1, 2004. 2004-03-16 04:01:38 +00:00
ehofman
c37874e140 Fix an issue where math.h doesn't define sqrt in namespace std (at least on MSVC) and remove DOS line-endings. 2004-03-15 09:24:57 +00:00
ehofman
f63d336ebc Sync. with JSBSim CVS. 2004-03-14 14:57:07 +00:00
ehofman
a97b69056e Fix a string clearance issue with certain compilers. 2004-03-12 17:33:30 +00:00
david
620832274a Increase friction at idle, so that the engine idles more slowly.
The friction factor should be tunable through a runtime parameter;
right now, it is optimized for the PA-28-161.
2004-03-07 01:26:30 +00:00
andy
8d1698d21a Added a <solve-weight> subtag of the approach/cruise parameters that can
be used to set the variable weights to specific values for the solution.
2004-02-18 15:36:35 +00:00
andy
500b081ca5 Allow a "fuel" attribute in the approach and cruise tags to have
values other than the defaults (20% and 50%, respectively)
2004-02-17 23:24:36 +00:00
ehofman
1c576866b2 Adjust the turbine names for N1, N2 and EGT_degC to match those already specified by YASim (n1, n2 and egt_degf). 2004-02-17 09:07:27 +00:00
ehofman
c92cb650eb Add the latest version of JSBSim including support for a Visual Reference Point 2004-02-14 10:19:56 +00:00
andy
1bc3c5eca0 Yank the sqrt() terms from the twist calculations. They were causing
solution failures for reasons I have still to investigate.
2004-02-13 18:12:08 +00:00
ehofman
7da5a741fb Revert to the previous version because it looks it isn't the friction force after all. 2004-02-13 15:20:13 +00:00
ehofman
c648bc18f7 Make sure the friction forces are positive, otherwise they will push the aircraft rather than holding it into place. The ground reaction code still needs some attention. 2004-02-13 12:54:38 +00:00
andy
fc565ebd86 Put the sqrt(frac) terms back into the wing twist. 2004-02-09 19:53:14 +00:00
andy
85115ef347 Fix the left/right terms in the twist handling to be symmetrical. 2004-02-09 15:18:33 +00:00
ehofman
869aa997a5 Initialize the varables *before* reading in the configuration file 2004-02-05 13:47:48 +00:00
andy
5a9c5d80c8 Thrust reversers. Very simple implementation. 2004-01-30 23:21:26 +00:00
andy
e8009ed8fa Forgot the gear ratio handling in stabilize() method, so the solver
got wrong values.
2004-01-25 18:57:11 +00:00
andy
5af1e589de Wire up a "gear-ratio" attribute for geared propeller aircraft 2004-01-24 23:09:41 +00:00
andy
0a9a72f209 Don't default to exactly zero RPM if the RPM property isn't there.
The engine model doesn't like that.
2004-01-21 22:51:21 +00:00
ehofman
fbd21c499f Turn the console colors back to default before continueing 2004-01-19 13:51:05 +00:00
ehofman
2c59d1621f MSVC fix 2004-01-15 10:18:51 +00:00
curt
95440173ca Curt Olson:
Sync with most current JSBSim CVS.
2004-01-14 22:09:39 +00:00
curt
9c49534907 Attempt #1 to sort out confusion between left / right / parking brake
controls in the cockpit vs. which wheels they apply to.  FlightGear now
sets /controls/gear/brake-left, /controls/gear/brake-right, and
/controls/gear/brake-parking.  It should be up to the FDM to sort out
which wheels under which circumstances are affected by these controls
and ultimately what happens to the physical motion of the aircraft.
2004-01-12 17:39:41 +00:00
andy
ba44655796 Attenuate turbulence near the ground. Tweak turbulence numbers. 2004-01-12 04:03:55 +00:00
andy
dfffe9c924 Move the turbulence "airmass" according to the local wind.
Clean up and better document the magic numbers in Turbulence.cpp
2004-01-10 22:34:49 +00:00
andy
ce91286e19 First cut at a turbulence model for YASim. It's a
perlin/scale-invariant vector field implemented as a 2D lookup table.
Seems to work OK, but needs testing and feedback.
2004-01-09 17:05:26 +00:00
ehofman
4cc853e2a2 MIPSpro 7.4 fixes 2003-12-27 22:27:27 +00:00
andy
a59a272702 Yank more debug code. 2003-12-22 19:02:20 +00:00
andy
d0af0c5f58 Export a "/sim/crashed" property to indicate a crash.
Yanked some ancient debug code and cleaned up some whitespace while I
was in there.
2003-12-19 19:02:48 +00:00
andy
439a9fa1e4 Minor API changes to support the new sg_geodesy implementation. A few
places now use sgCartToGeod() instead of rolling their own
approximation.  And YASim is now using exactly the same 3D coordinate
system as the rest of FlightGear is.
2003-12-19 02:42:32 +00:00
ehofman
76585fb801 STL chnages 2003-12-11 14:50:30 +00:00
ehofman
44ce4cdb97 Melchior FRANZ:
I think the ufo turns a bit too fast. 25 is better.
2003-12-08 18:08:27 +00:00
ehofman
7ac15db168 Melchior FRANZ:
Everyone knows that ufos can turn on the spot.
Turn on rudder input at low speeds. (Quite useful when using the
ufo fdm for exploring the scenery.)
2003-12-07 17:39:48 +00:00
andy
9d15561937 My refactoring left two values uninitialized when running a
helicopter.  Melchior caught the bug.
2003-12-03 21:26:03 +00:00
andy
3b2d97289c Cleanup and refactoring to better integrate the helicopter code into
the core YASim stuff.  Mostly cosmetic: whitespace adjustment, dead
code & meaningless comment removal, a little code motion to better
partition the helicopter handling from the original code (no more
giant if() { ... } around the solver).  Added a warning to the parser
to try to eliminate the string booleans that crept in.

There should be NO behavioral changes with this checkin.
2003-12-01 01:22:27 +00:00
ehofman
3459147f5f Add a refference to sprintf 2003-11-27 13:44:20 +00:00
ehofman
c7ae0e3b0f Partability fix 2003-11-27 10:24:05 +00:00
david
195eadc739 Use SG_LOG for debugging messages from the YASim helicopter model. 2003-11-25 18:50:47 +00:00
david
5644f22513 Make more output honour debug_lvl. 2003-11-24 17:59:41 +00:00
david
5fa04adf68 Try to coordinate between the different logging idioms of JSBSim and
FlightGear: when FlightGear wants things quiet, make JSBSim quiet as
well.
2003-11-24 17:59:10 +00:00
curt
a37515d7fe Add support for passing a CG offset (in inches) to an external FDM. 2003-11-13 03:10:09 +00:00
curt
23c1057a19 Add support for sending out a requested aircraft weight to an external FDM
via the "pipe" interface.
2003-11-10 21:56:32 +00:00
curt
69f2597a0c Fix an automake squawk. 2003-10-31 21:15:43 +00:00
ehofman
a0216af01d Fix a potention buffer overflow 2003-10-24 12:39:31 +00:00
ehofman
a793268be3 David Culp: Heres are some tweaks to the FGSimTurbine module that smooth out the animation between engine phases, and between afterburner and non-afterburner operation. 2003-10-24 12:25:24 +00:00
ehofman
bf859a91c3 Update to the latest version of JSBSim 2003-10-19 09:48:44 +00:00
ehofman
2ca827a3a4 Fix a bug that gets triggered at least in MSVC and gcc-2.95 2003-10-19 09:27:27 +00:00
david
d4b9ca371c Set the RPM from the property tree with each iteration. This allows a
YASim prop model to start with the prop spinning.
2003-10-18 20:07:46 +00:00
david
202e79b4ad Add the ability to set the RPM from the outside. 2003-10-18 20:07:06 +00:00
curt
5161029fc5 Fix a typo which Frederic's compiler flagged. 2003-10-17 19:17:17 +00:00
curt
cca9f49425 Remove and extraneous starting character. 2003-10-17 14:26:23 +00:00
curt
5333f82eb1 Maik Justus: modifications to add helicopter modeling to YASim. 2003-10-16 14:56:13 +00:00
curt
78cad450e6 Initial revision.
Maik Justus: First pass at helicopter support for YASim.
2003-10-16 14:40:13 +00:00
ehofman
f9b85dc2fd Fix a dependency problem 2003-09-25 09:09:35 +00:00
ehofman
980012e168 Move FGEventMgr and FGSubsystemMgr over to SimGear, add SGEventMgr to FlightGear's globals structre and some small code cleanups 2003-09-24 17:20:55 +00:00
ehofman
b431775273 David Culp:
Here's a new FGSimTurbine module.  Changes are:

1.  Adds starting and stopping functionality
2.  Calculate() now calls other functions, based on the engine's state, which gives more readable code.

Until now turbine engines were always running as long as fuel was available. With this new module the engine defaults to OFF.  To start with the engine running, the variable FGEngine::Running must be set to true at sim startup. In FlightGear this is done with --prop:/engines/engine[n]/running=true.

To start the engine (on the ground), first set the starter to ON, i.e. FGEngine::Starter is set to true.  In FlightGear this is done by toggling /controls/engines/engine[n]/starter to TRUE.  Note that the current FlightGear key binding will not work, as it causes the starter to quit when the key is released.  A new key binding is needed, without the mod-up.

When N2 reaches 15% or greater, place the fuel cutoff control to FALSE.  This is FGEngine::Cutoff.  In FlightGear this is done with /controls/engines/engine[n]/cutoff set to FALSE.  The engine will then accelerate to idle.  Upon reaching idle, the starter is automatically turned off, and the engine is running.  There is presently no FlightGear key binding for the fuel cutoff switch.

To shut off the engine, place the fuel cutoff control to TRUE.

If you shut down the engine in flight it will windmill.  To airstart you will need at least 15% N2, just as with a ground start.  When you have enough N2, place the cutoff control to FALSE and the engine will restart. Note that if you can't get enough N2 by speeding up, you can get it by using the starter.

The reverser still works, and is controlled in FlightGear with /controls/engines/engine[n]/reverser.  With the reverser control on (TRUE), the engine will produce negative thrust in proportion to throttle position, i.e. to get more reverse
thrust, increase throttle.
2003-09-23 09:25:24 +00:00
ehofman
4a5dbf1106 David Culp:
Here's a new FGSimTurbine module.  Changes are:

1.  Adds starting and stopping functionality
2.  Calculate() now calls other functions, based on the engine's state, which gives more readable code.

Until now turbine engines were always running as long as fuel was available. With this new module the engine defaults to OFF.  To start with the engine running, the variable FGEngine::Running must be set to true at sim startup. In FlightGear this is done with --prop:/engines/engine[n]/running=true.

To start the engine (on the ground), first set the starter to ON, i.e. FGEngine::Starter is set to true.  In FlightGear this is done by toggling /controls/engines/engine[n]/starter to TRUE.  Note that the current FlightGear key binding will not work, as it causes the starter to quit when the key is released.  A new key binding is needed, without the mod-up.

When N2 reaches 15% or greater, place the fuel cutoff control to FALSE.  This is FGEngine::Cutoff.  In FlightGear this is done with /controls/engines/engine[n]/cutoff set to FALSE.  The engine will then accelerate to idle.  Upon reaching idle, the starter is automatically turned off, and the engine is running.  There is presently no FlightGear key binding for the fuel cutoff switch.

To shut off the engine, place the fuel cutoff control to TRUE.

If you shut down the engine in flight it will windmill.  To airstart you will need at least 15% N2, just as with a ground start.  When you have enough N2, place the cutoff control to FALSE and the engine will restart. Note that if you can't get enough N2 by speeding up, you can get it by using the starter.

The reverser still works, and is controlled in FlightGear with /controls/engines/engine[n]/reverser.  With the reverser control on (TRUE), the engine will produce negative thrust in proportion to throttle position, i.e. to get more reverse thrust, increase throttle.
2003-09-23 09:24:36 +00:00
curt
7807a68fa3 Another step towards making aircraft more self contained. YASim aircraft
now read the config file out of the individual aircraft directory rather
than the collective Aircraft-yasim/ directory (which is now obsolete.)
This requires a corresponding update of the base package cvs.
2003-09-20 03:33:06 +00:00
ehofman
3ba01fa762 New automake, new problems. Add $base_LIBS for programs since $LIBS isn't substituted automatically anymore 2003-08-29 09:03:49 +00:00
ehofman
0a7cc77d5e Initialize some variables 2003-08-11 08:35:29 +00:00
david
1d4a7659fc Fix drag when engine is shut down, by avoiding negative RPM.
The Propeller class ignored negative RPM but still returned a torque
value, which ratcheted up a higher and higher negative RPM until drag
overwhelmed the aircraft.

In reality, the propeller should windmill at a reasonable postive RPM,
introducing a constant drag on the aircraft -- the propeller should
*not* stop unless the plane is flying very slowly.  That's a future
project.
2003-08-06 21:38:01 +00:00
curt
562ce6f5e2 Ooops, I added another item to what I write to the buffer, but
forgot to make it big enough to hold the new item.  This was manifesting
itself as a crash on reset (if the ExternalPipe FDM was being used.)
2003-08-01 17:06:11 +00:00
mselig
c0eea29af8 Fixes namespace conflict with the variable ch. Changed to chord_h. 2003-07-27 17:54:18 +00:00
ehofman
0ff5f409c0 Add the abillity to attach a propeller thruster to a turbine engine 2003-07-26 09:12:54 +00:00
mselig
7dd8eb61d0 Comments added to printf statments. 2003-07-26 00:19:14 +00:00
mselig
658a838ea0 Includes mods to greatly shorten the uiuc_recorder.cpp code. 2003-07-25 17:55:27 +00:00