1
0
Fork 0
Commit graph

96 commits

Author SHA1 Message Date
curt
52312f2a13 Restructuring some of the initialization code.
The general idea is to help clean up some aspects of the FDM init and be
able to provide startup conditions in a less ambiguous manner.

Previously, things like positions, orientations, and velocites were set on
"the bus".  These had to be read by the FDMs which then were supposed to
initialized themselves to those values and turn write around and start
modifying those values.  It was messy and cumbersome.

Now, all the initial fdm conditions are written to a sub-[property-]tree
under /sim/presets/

The values in /sim/presets/ always stay set to what the user has specified.
The user can change these at his/her liesure, and then request a "reset"
which will reset to the new conditions.  I don't even want to say how this
worked before. :-)

Now, an script, or gui interface can stage a set of initial conditions while
the sim is running (without disrupting it), and then call "reset" to commit
the change.

People who should worry about all this are FDM writters, and a small few
others who care about over all program structure and flow.
2002-11-15 21:13:29 +00:00
curt
2214f540e2 Fixed the DG heading bug hold to work with the new DG instrumentation.
It was slightly goofed up before by about the amount of the magnetic
variation.
2002-10-23 16:27:30 +00:00
curt
1ce4ef590f Norman Vine:
Updates to the autopilot to allow it to run off of 'non-cooked' altitude
and heading values (as a compile time option.)
2002-10-16 02:06:42 +00:00
curt
a15f79f4ae Cascading changes from the navcom.[ch]xx addition. 2002-09-19 01:12:26 +00:00
curt
4f00d9a959 Tidy up the autoconf/automake configuration a bit.
- Removed some old cruft.

- Removed some support for older versions of automake which technically was
  correct, but caused the newer automakes to squawk warnings during an
  initial sanity check (which isn't done very intelligently.)

  NOTE: this fix is technically not correct for older version of automake.
  These older version use the variable "INCLUDES" internally and could have
  them already set to an important value.  That is why we were appending
  our values to them.  However, newer versions of automake don't set this
  value themselves so it is an error to append to a non-existant variable.
  We seem to "get away" with overwriting the value on older versions of
  automake, but if you have problems, consider upgrading to at least
  automake-1.5.
2002-08-25 19:40:04 +00:00
david
ec637e33d3 Patch from Cameron Moore:
* Fixed uninitialized MaxAileron value (set to 0.5)
2002-07-18 22:31:19 +00:00
david
5aee96c481 Change FGSteam into a proper subsystem rather than a collection of
static methods, and remove outdated dependency in panel_io.cxx.
2002-07-07 15:45:56 +00:00
david
cd59f77c40 Patch from Julian Foad:
Remove unused variable.
2002-06-28 17:59:30 +00:00
david
bc179de4bd Patch from Jim Wilson:
This is a small patch that makes the autopilot work much better with big heavy
airliners as well as the small Cessnas.  Of course this doesn't address the
way autopilots should be modeled.

But by making a couple changes the "George" is now capable of landing either a
C172 or a 747 very close to the center line of the runway with a moderate
cross breeze (15-20kt).

The changes:
- Added turn configurability so that things like Max Aileron and Roll can be
configured per aircraft.
- Enhanced localizer routine (NAV mode) to begin lining up the aircraft as soon
as the cone is entered.  The former model is adopted for the last 5km of the
approach in order to ensure greater precision (makes a very slight difference).

[float cast added by David Megginson to keep G++ 3.0 happy]
2002-06-07 20:16:54 +00:00
david
88e93dc767 Patch from Jim Wilson:
This is a small patch that makes the autopilot work much better with big heavy
airliners as well as the small Cessnas.  Of course this doesn't address the
way autopilots should be modeled.

But by making a couple changes the "George" is now capable of landing either a
C172 or a 747 very close to the center line of the runway with a moderate
cross breeze (15-20kt).

The changes:
- Added turn configurability so that things like Max Aileron and Roll can be
configured per aircraft.
- Enhanced localizer routine (NAV mode) to begin lining up the aircraft as soon
as the cone is entered.  The former model is adopted for the last 5km of the
approach in order to ensure greater precision (makes a very slight difference).

[float cast added by David Megginson to keep G++ 3.0 happy]
2002-06-07 19:52:00 +00:00
curt
47825dcbae Moved "scenery" from being declaried in scenery.cxx to being declared
in globals.hxx.
2002-05-14 05:22:52 +00:00
david
5a849b66e8 Major overhaul:
- changed FGSubsystem::update(int) to
  FGSubsystem::update(delta_time_sec); the argument is now delta time
  in seconds rather than milliseconds

- added FGSubsystem::suspend(), FGSubsystem::suspend(bool),
  FGSubsystem::resume(), and FGSubsystem::is_suspended(), all with
  default implementations; is_suspended takes account of the master
  freeze as well as the subsystem's individual suspended state

- the FDMs now use the delta time argument the same as the rest of
  FlightGear; formerly, main.cxx made a special case and passed a
  multiloop argument

- FDMs now calculate multiloop internally instead of relying on
  main.cxx

There are probably some problems -- I've done basic testing with the
major FDMs and subsystems, but we'll probably need a few weeks to
sniff out bugs.
2002-05-11 16:28:50 +00:00
david
1ba6272e3c Patch from Melchior Franz:
altitude_mode is still undefined when FGAutopilot::update is
first run.
2002-03-30 12:51:02 +00:00
curt
2e0b32dab8 Changes corresponding to recent property manager changes
Remove bogus warning messages
Documentation changes
Minor speedups
2002-03-27 18:47:31 +00:00
curt
0a035c7f36 Oops, in the latest property manager rewrite, a typo crept in on
somewhat of a global scale.  This commit should fix all these up.
2002-03-26 02:38:11 +00:00
david
d0d3b2bd7a Use !strcmp for all property string-value comparisons. 2002-03-20 22:15:22 +00:00
david
0cc3bed841 Major property-manager rewrite, using const char * throughout
interface instead of string.  This will result in a lot more
efficiency later, once I add in a simple hash table for caching
lookups, since it will avoid creating a lot of temporary string
objects.  The major considerations for users will be that they cannot
use

  node->getName() == "foo";

any more, and will have to use c_str() when setting a string value
from a C++ string.
2002-03-19 17:12:13 +00:00
david
d0eaafb1e1 Patches from Tony Peden to separate property XML I/O operations into a
separate header file.  This change will help integrate properties into
JSBSim.

Also, I (David Megginson) removed most of the SimGear include
statements from globals.hxx, reducing the amount of recompilation
every time SimGear changes.  This required making minor changes to a
lot of files that were depending on the side-effects of the inclusions
in globals.hxx.
2002-03-16 00:18:38 +00:00
david
36876decf3 Autopilot cleanup:
- implement the standard FGSubsystem interface, for consistency
- eliminate current_autopilot and add get/set_autopilot to FGGlobals,
  for consistency
- use private methods rather than static functions for tying
  properties

There should be no change in functionality.
2002-03-13 16:31:21 +00:00
david
e71873f4ad Patch from Jim Wilson:
These changes add to the "Add Waypoint" dialog so that you can see the entire
list in the pui dialog that you are adding to.  Also made some minor changes
so that the autopilot is now activated (toward first waypoint target heading)
when a waypoint is added.
2002-03-04 00:03:25 +00:00
curt
a6cb16ce36 This is the change where autopilot bindings are moved from fg_props.cxx to
newauto.cxx.  Basically everything is the same functionally except for a
changed in the initial altitude setting to 3000ft instead of meters (the panel
is in feet).
2002-03-01 16:54:50 +00:00
curt
249fbedcae Make sure when setting autopilot heading via the menu that the current
heading value is presented between 0 and 360.
2002-02-27 18:05:17 +00:00
curt
55387fd7ea This is a three line fix for some inconsistancies between the gui dialogs and
the panel controls for the autopilot.  The heading dialog would only show the
last setting you did through it, even if it was later tweaked with the bug on
the hsi.  The altitude dialog did a similar thing.  Now the values default to
the same that show on the panel displays.
2002-02-13 20:12:31 +00:00
curt
08bbb83b8e A grab bag of tweaks and patches from Norman Vine.
- Better mingwin/cygwin support
- Various gui tweaks and code clean ups
- Initialization clean ups
- Hitlist/scenery tweaks
- other misc. stuff.
2002-02-05 20:54:08 +00:00
curt
8998dbe0bb Additional autopilot tuning taking into consideration more data. 2002-01-31 00:03:41 +00:00
curt
05e8c4c542 Autopilot now honors tunable altitude hold parameters which are defined in
the aircraft-set.xml file.
2002-01-24 01:48:39 +00:00
curt
1fa4c88d0e Updates to build system to better support automake-1.5
- automake-1.4 sets default values for INCLUDES which we can't
  overwrite.
- automake-1.5 renames this to DEFAULT_INCLUDES and leaves INCLUDES
  open for the developer to use.

Thus for automake-1.4 we are forced to 'append' to INCLUDES and in
automake-1.5 we can just set the value to whatever we like.
Unfortunately, the behaviors of the two versions are mutually
incompatible.

The solution I am committing now works for both versions but
automake-1.5 generates a lot of spurious warning messages that are
annoying, but not fatal.
2001-12-28 22:29:59 +00:00
david
4f5d70144a -Removed .cvsignore from itself, since .cvsignore is now in the CVS 2001-12-12 04:15:23 +00:00
curt
f82b717c8b Norman's changes to display a scrolling "PAUSE" message when the simulation
is paused.
2001-12-11 22:40:14 +00:00
curt
4cc5cee885 David Megginson writes:
Here's an unusual patch for FlightGear -- I've created .cvsignore
files for every source directory, to make CVS output more informative.
This is especially nice when using cvs-examine from (X)Emacs to look
for changes.
2001-12-09 05:43:40 +00:00
curt
2b056c8452 This set of changes touches a *lot* of files. The main goal here is to
fix startup sequence problems where we initialize the FDM before we know
the desired starting altitude.

These changes delay fdm initialization until the local tile has been loaded
and we can do a real intersection and find the true ground elevation.

In order to do this, I depend more on the property manager as glue, rather
than the FGInterface.

There are some glitches still when switching to a new airport or reseting
the sim.  I will work on addressing these, but I need to commit the changes
so far to keep in sync with other developers.
2001-10-28 16:16:30 +00:00
curt
33854d9f6a Fixes to remove dependencies on depricated plib code (that just happened to
be removed in the latest plib CVS.)
2001-10-24 21:24:53 +00:00
curt
019b6d29fe Fixed [simple] terrain following altitude hold mode to work again. 2001-08-31 18:07:23 +00:00
curt
59ccf90a60 Misc tweaks. 2001-08-14 19:47:40 +00:00
curt
96b88e539f Move FGControls declaration to globals.hxx 2001-07-22 19:51:16 +00:00
curt
72a95d570c ** Properties Renamed
- /autopilot/locks/nav1 => /autopilot/locks/nav[0]
- /autopilot/settings/altitude += "-ft"
- /autopilot/settings/climb-rate += "-fpm"
- /autopilot/settings/heading-bug += "-deg"
- /consumables/fuel/tank1/level => /consumables/fuel/tank[0]/level-gal_us
- /consumables/fuel/tank2/level => /consumables/fuel/tank[1]/level-gal_us
- /engines/engine0/cht => /engines/engine[0]/cht-degf
- /engines/engine0/egt => /engines/engine[0]/egt-degf
- /engines/engine0/fuel-flow => /engines/engine[0]/fuel-flow-gph
- /engines/engine0/mp => /engines/engine[0]/mp-osi
- /engines/engine0/rpm => /engines/engine[0]/rpm
- /environment/clouds/altitude += "-ft"
- /environment/magnetic-dip += "-deg"
- /environment/magnetic-varation += "-deg"
- /environment/visibility += "-m"
- /environment/wind-down += "-fps"
- /environment/wind-east += "-fps"
- /environment/wind-north += "-fps"
- /orientation/heading += "-deg"
- /orientation/heading-magnetic += "-deg"
- /orientation/pitch += "-deg"
- /orientation/roll += "-deg"
- /position/altitude += "-ft"
- /position/altitude-agl += "-ft"
- /position/latitude += "-deg"
- /position/longitude += "-deg"
- /radios/adf/frequencies/selected += "-khz"
- /radios/adf/frequencies/standby += "-khz"
- /radios/adf/rotation += "-deg"
- /radios/nav1/* => /radios/nav[0]/*
- /radios/nav2/* => /radios/nav[1]/*
- /radios/nav[*]/dme/distance += "-nm"
- /radios/nav[*]/frequencies/selected += "-mhz"
- /radios/nav[*]/frequencies/standby += "-mhz"
- /radios/nav[*]/radials/actual += "-deg"
- /radios/nav[*]/radials/selected += "-deg"
- /sim/view/goal-offset += "-deg"
- /sim/view/offset += "-deg"
- /steam/adf += "-deg"
- /steam/airspeed += "-kt"
- /steam/altitude += "-ft"
- /steam/gyro-compass += "-deg"
- /steam/gyro-compass-error += "-deg"
- /steam/mag-compass += "-deg"
- /steam/vertical-speed += "-fpm"
- /velocities/airspeed += "-kt"
- /velocities/side-slip += "-rad"
- /velocities/speed-down += "-fps"
- /velocities/speed-east += "-fps"
- /velocities/speed-north += "-fps"
- /velocities/uBody += "-fps"
- /velocities/vBody += "-fps"
- /velocities/wBody += "-fps"
- /velocities/vertical-speed += "-fps"
2001-07-02 22:27:24 +00:00
curt
66280d99a9 Moved DEFAULT_AP_HEADING_LOCK to newauto.hxx
it was defined in both fg_props.cxx and newauto.cxx
This is I believe where it belongs.  (NHV)
2001-06-26 20:14:13 +00:00
curt
d7ae38c0dd Optimized property manager accesses.
Fixed a creep in bug in the altitude hold autopilot.
2001-06-06 17:02:25 +00:00
curt
a8fb1aabca - eliminated all references to BFI; use properties instead
- copied DEFAULT_AP_HEADING_LOCK over from old BFI
2001-06-05 22:10:33 +00:00
curt
f9533d2f4b - eliminated all references to BFI; use properties instead 2001-06-05 22:10:25 +00:00
curt
876e9c60fd Win32 fixes.
Fixed a few glitches in the autopilot keys
Added a #define to be able to make a compile time decision to revert to
   older GPS like autopiolt behavior this define SHOULD become a property
   so that it is run time switchable.
2001-05-29 22:06:14 +00:00
curt
4c4d17631f Screenshot tweaks from Cameron Moore. 2001-04-22 22:04:25 +00:00
curt
f1b1077d93 More fg -> sg namespace changes in simgear. 2001-03-25 14:20:12 +00:00
curt
182fd42b40 SG-ified logstream. 2001-03-24 06:03:11 +00:00
curt
5ea9c04c64 SG_ namespace. 2001-03-24 04:56:46 +00:00
curt
17c96ae69e SG_ namespace 2001-03-24 04:48:44 +00:00
curt
1bf3001749 FG_ to SG_ namespace changes. 2001-03-24 00:18:01 +00:00
curt
5958389026 FG_ to SG_ namespace changes. 2001-03-23 22:59:18 +00:00
curt
4a61945285 Backcourse ILS needle should move correct direction now. 2001-02-27 23:52:52 +00:00
curt
79cabb6a8a Lots of little tweaks to autopilot to make it more realistic. 2001-02-27 23:17:58 +00:00