1
0
Fork 0
Commit graph

702 commits

Author SHA1 Message Date
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
mselig
6adfea97e4 Fixes compiler warning related to this gcc message: This file includes at least one deprecated or antiquated header. Also, mods made to improve the uiuc_recorder code. 2003-07-25 17:55:20 +00:00
mselig
6ae39d57fa Fixes compiler warning related to this gcc message: This file includes at least one deprecated or antiquated header. 2003-07-25 17:53:53 +00:00
mselig
2606555bf6 UIUC code initilization mods to tidy things up a bit. 2003-07-25 17:53:35 +00:00
mselig
9f518ef343 Adds a basic FDM model for LaRCsim debugging purposes. 2003-07-25 17:53:13 +00:00
mselig
27a7b7f5d9 Adds a basic FDM model for LaRCsim debugging purposes. There is a bug in FGFS-LaRCsim that I have yet to put my finger on. 2003-07-25 17:53:08 +00:00
ehofman
a2b71872ad This fixes the K to F conversion for the EGT output 2003-07-24 14:43:11 +00:00
curt
419f09f804 Curt:
I have added a fledgling replay system that records flight data and control
positions during the flight.

I have added an internal command called "replay" which will trigger a replay
of the entire saved flight data set.  This could be bound to a keyboard or
menu command, in fact this entire module is screaming for someone to build
a gui to control playback speed, amount of playback, etc.

This is the initial version so there are kinks that still need to be worked
out, please be patient.
2003-07-17 18:24:17 +00:00
tony
36183cbc3d Make initTheta() use the results of the search it performs. 2003-07-17 02:32:39 +00:00
david
b8a8d2194a More turbulence tweaks and fixes.
Skip turbulence calculations with magnitude is 0.
2003-07-14 22:34:08 +00:00
david
5d3b58438a Make sure sign is preserved for turbulence direction. 2003-07-14 20:48:23 +00:00
tony
16c029c609 Fix for setting initial pitch angle on the ground. 2003-07-14 11:47:25 +00:00
david
9d318461b9 It's a direction, not an axis. The z direction is the one that should
occur full force for turbulence.
2003-07-13 20:18:51 +00:00
david
1691d3ba19 Add the ability to control turbulence rate as well as magnitude.
Square the normalized direction acceleration for the y and z axes, so
that turbulence predominantly affects pitch.

Bind to the /environment/turbulence/magnitude-norm and
/environment/turbulence/rate-hz properties in FlightGear.
2003-07-13 20:13:18 +00:00
ehofman
92ae2adeb1 Fix a mistake 2003-07-07 13:56:23 +00:00
david
16635b6b98 Move the turbulence magnitude away from the peaks. 2003-07-01 20:52:12 +00:00
ehofman
53aceeafe8 Solaris namespace clash fix 2003-07-01 16:12:21 +00:00
david
c5be967fba Avoid strong oscillations at turbulence extremes. 2003-06-29 21:17:21 +00:00
ehofman
0ff6c68c01 This patch normalizes the heading value YASim reports to the interface 2003-06-28 21:49:45 +00:00
ehofman
45e20b6565 Get rid of a multiple defined symbol warning" src/FDM/LaRCsim/ls_step.c
"
2003-06-20 19:53:56 +00:00
mselig
ee84e76641 Fixes some weirdness that Fred reported. Used his patch with one mod. 2003-06-10 06:19:31 +00:00
mselig
de16c7d222 putting back the pilot-g used by accel.xml gadget 2003-06-09 06:15:46 +00:00
mselig
d26c1202d4 several init updates + changes init zeros to false 2003-06-09 06:15:40 +00:00
mselig
bd5ea959a0 gear retract rate input line changes 2003-06-09 05:20:52 +00:00
mselig
419860be01 mods made to setup for some initializations in uiuc code 2003-06-09 02:50:23 +00:00
mselig
3bd9321418 minor mods 2003-06-09 02:50:03 +00:00
david
6f3456a734 Rolled last change back out -- it was causing the default 172 to hang
on loading, because the fuel-quantity token was never consumed.
2003-06-08 12:04:41 +00:00
ehofman
e3bcb4b619 MingW 0.92 fixes 2003-06-08 12:01:43 +00:00
ehofman
cc0ec0b070 Make it possible for FlightGear to override the fuel tank contents with 0.0 2003-06-08 11:19:14 +00:00
ehofman
1100ae47e4 Fix a problem where the contents could be specified by JSBSim and by FlightGear, where JSBSim would override the FlightGear specified value. Now the JSBSim specified value will be discarded if Contents is already set. 2003-06-08 08:45:07 +00:00
ehofman
2c3fa12eea David Culp:
This version handles a zero fuel load better.  I found that if you try to consume fuel from an empty tank, with zero fuel flow, the FGEngine::Starved flag alternates
2003-06-08 08:44:30 +00:00
ehofman
9b353d3665 Some compiler fixes 2003-06-03 13:51:21 +00:00
ehofman
b0433381a7 I had some old SimGear include directories hanging around, so this got uncought. Thanks Melchior 2003-06-03 09:17:57 +00:00
ehofman
815333af23 sync JSBSim and FlightGear 2003-06-03 08:46:15 +00:00
ehofman
679325b947 Switch roll and yaw trim commands 2003-05-28 17:53:42 +00:00
ehofman
f405ddbce4 Rename some defines to prevent a namespace clash 2003-05-25 12:14:46 +00:00
ehofman
50e8454da3 Fix a typo 2003-05-24 08:41:11 +00:00
ehofman
8ac87ab5e6 Provide a better(?) solution to the windows GDI problem 2003-05-24 08:37:31 +00:00
ehofman
4974b3cc5a Provide a fix for the MSVC/Cygwin GDI build problem 2003-05-23 22:09:35 +00:00
mselig
0d9685184a sign change to rudder SAS 2003-05-22 14:53:17 +00:00
mselig
5c99b9308c Updates to properties for uiuc aircraft 2003-05-22 04:34:27 +00:00
curt
676e4c8846 Oops missed a couple things when I moved LaRCsim.cxx into src/FDM/LaRCsim/
This was masked because I didn't wipe src/FDM/libFlight.a and recreate it.
2003-05-20 11:29:06 +00:00
curt
b07b7c8ad0 Moved FDM/LaRCsim.[ch]xx to FDM/LaRCsim/LaRCsim.[ch]xx 2003-05-20 02:08:31 +00:00
curt
e9f4fc5972 Jim Wilson:
> > Here's a patch to add manual-pitch control to the propeller in YASim.  A new
> > control axis "PROPPITCH" is added.  Requires "manual-pitch" boolean property
> > in the "propeller" tag.
> >
> > Tags and Properties to add in order to enable:
> >
> > manual-pitch="true"
> >
> > <control-input axis="/controls/engines/engine[0]/propeller-pitch"
> > control="PROPPITCH" src0="0" src1="1" dst0="0.40" dst1="0.80"/>
> >
> > Note that for the time being, excessively low RPM or excessively high RPM is
> > brought undercontrol by a scaling range defined in the control-input tag
> > (see "dst0" and "dst1" properties).
2003-05-16 17:27:17 +00:00
ehofman
48fc16432b MSVC fixes 2003-05-15 08:17:53 +00:00
curt
7289eaa8ba Robert Deters:
I have attached some revisions for the UIUCModel and some LaRCsim.
  The only thing you should need to check is LaRCsim.cxx.  The file
  I attached is a revised version of 1.5 and the latest is 1.7.  Also,
  uiuc_getwind.c and uiuc_getwind.h are no longer in the LaRCsim
  directory.  They have been moved over to UIUCModel.
2003-05-13 18:45:04 +00:00
curt
3c7bdc31d9 Cosmetic changes for new code moved into simgear to make the naming scheme
better follow simgear conventions.
2003-05-13 03:18:42 +00:00
curt
56db994994 Moved src/Model/loader.[ch]xx and src/Model/model.[ch]xx to
simgear/scene/model/
2003-05-09 20:40:59 +00:00
curt
51c04e9e4c - Added "SG" prefix to sound classes that recently moved to SimGear.
- Cleaned up some minor compiler warnings.
- Moved src/Model/placement.[ch]xx over into simgear/scene/model/
2003-05-09 19:39:48 +00:00
curt
575b3ac98c Working at unraveling and breaking dependencies inside of src/Model.
I split the FGModelPlacement code out into it's own set of source files.
I created two versions of the fgLoad3DModel() routine.  One that is
  unecumbered by a panelnode dependency and one that is.  acmodel.cxx is
  the only place that needs to load an aircraft with instrument panels.
model.[ch]xx are now pretty much free to move over into simgear.
loader.[ch]xx should be able to follow closely behind.
This will be a big step towards being able to move the material management
code over into simgear.
2003-05-08 20:28:46 +00:00
curt
2119db35c3 This is step "1" of probably "many" in the process of separating out the
scene management code and organizing it within simgear.  My strategy is
to identify the code I want to move, and break it's direct flightgear
dependencies.  Then it will be free to move over into the simgear package.

- Moved some property specific code into simgear/props/
- Split out the condition code from fgfs/src/Main/fg_props and put it
  in it's own source file in simgear/props/
- Created a scene subdirectory for scenery, model, and material property
  related code.
- Moved location.[ch]xx into simgear/scene/model/
- The location and condition code had dependencies on flightgear's global
  state (all the globals-> stuff, the flightgear property tree, etc.)  SimGear
  code can't depend on it so that data has to be passed as parameters to the
  functions/methods/constructors.
- This need to pass data as function parameters had a dramatic cascading
  effect throughout the FlightGear code.
2003-05-06 23:46:24 +00:00
ehofman
ea24640f96 MSVC6 updates 2003-04-13 21:25:46 +00:00
david
64e81d1960 Make sure values get back to FGInterface, in case we're not trimming.
This is especially important for setting multiple values like Euler
angles.
2003-04-04 22:44:32 +00:00
david
7ba6807736 Fix to use renamed /controls properties. 2003-04-01 15:51:15 +00:00
ehofman
c3cefaf883 Updates to the controls properties tree. This is a major update so there may be one or two 'old' refferences left. To simplify the transisition there is a file called README.properties in the docs-mini directory of FlightGear that explains the new controls layout. 2003-04-01 12:43:18 +00:00
curt
68522eb75c There were several typos in the unbinding section of FGInterface. This meant
that after a reset or reposition, several FDM variable were not unbound
correctly and left dangling pointing to unallocated memory.  This wasn't
a crash type bug, but those properties then had bogus values.  This
specifically prevented the turn coordinator gyro modeling from working after
a reset or reposition.
2003-03-30 02:26:05 +00:00
ehofman
b71e0774d6 Make spoilers and speed-brake position accessible 2003-03-24 10:44:45 +00:00
ehofman
60283d19bb Add speed-brake and spoilers controlls 2003-03-24 10:04:19 +00:00
tony
1a50c56d5e Updates from JSBSim, including new turbine engine model from David Culp 2003-03-23 15:12:35 +00:00
ehofman
df2ce45ab7 Change cout and cerr in SG_LOG() where appropriate, otherwise comment it out 2003-03-20 10:43:02 +00:00
ehofman
01be2ed8e4 Compiler warning fixes and small updates 2003-03-19 17:46:52 +00:00
ehofman
cb8b72744c Add mach number to the property tree 2003-03-19 16:06:17 +00:00
david
b3930c9c60 Added a new turbulence type ttStandard, and made it the default.
ttStandard is copied from ttBerndt, with the following modifications:

1. All turbulence is diminished within three wingspans of the ground.

2. The horizontal forces are used to calculate the moments, but then
   zeroed out so that only the vertical force is actually applied to
   the aircraft.

3. The yaw moment is not used.

In fact, the horizontal forces and the yaw moment should be allowed,
but they are extremely rare compared to the vertical force and the
pitch/roll moments.  For now, simply zeroing them gives the most
accurate feel.
2003-03-16 21:14:45 +00:00
curt
2c20e61b4b Removed some extraneous debugging output. 2003-03-09 12:48:29 +00:00
david
4b78f5305f Ignore generated files. 2003-03-09 03:21:34 +00:00
curt
92cfd383d6 Remove std:: 2003-03-04 00:25:35 +00:00
curt
11e0a3b1f8 Don't remove the named pipe on a "Reset" or position change (i.e. when
FGExternalPipe is destructed.)  This leaves the name pipe hanging around
even after flightgear exits, but assuming we put the files in /tmp that
shouldn't be a big deal.
2003-03-03 17:48:09 +00:00
curt
dbf7218c63 A small optimization, pass the number of iterations to the remote end and
have it do all the work, rather than calling the remote end "iteration"
number of times.
2003-03-03 04:59:41 +00:00
curt
ec9c990ae4 Add ExternalPipe subdirectory. 2003-03-03 04:33:51 +00:00
curt
cc269730a5 First stab at a "named pipe" interface to an external FDM. Compared to the
ExternalNet interface:

- allows a much more closely coupled execution.  A remote network FDM will run
  at it's own rate, and maybe a particular data packets will come, maybe it
  won't.  This makes it very hard to control timing and keep the animation
  smooth.  There are also cpu scheduling issues with running multiple
  processes on a single machine.  The linux scheduler by default runs at
  100hz.  If an FDM process uses a sleep/alarm system to avoid wasting
  CPU, it will be forced to run at 100hz, 50hz, 25hz, 20hz, etc.  This
  makes it *impossible* to serve a display system running at 60hz without
  dropping frames.

- the downside is that the FDM process must now run on the same machine as
  the master flightgear process.
2003-03-03 04:30:16 +00:00
david
c8b8722a14 Don't fiddle with control positions at startup -- we can do that in
the *-set.xml files if desired.
2003-03-02 02:22:18 +00:00
david
c7998b9940 Initialize speed from mach number or vcas more-or-less properly. 2003-03-02 01:44:11 +00:00
david
1e5d48d1d9 Add spdFromMach() and spdFromVCAS(). 2003-03-02 01:43:39 +00:00
david
d38685b92f Minor code cleanup. 2003-02-26 19:20:02 +00:00
david
c07f22ea16 Begin supporting a starting speed for YASim:
- NED and UVW are working correctly
- knots is giving true airspeed instead of calibrated airspeed
- mach is not working at all

This desperately needs a trimming routine.
2003-02-22 20:29:43 +00:00
david
8eac88efe9 Fixed calibrated airspeed output so that it accounts for wind. 2003-02-19 17:41:53 +00:00