1
0
Fork 0
Commit graph

313 commits

Author SHA1 Message Date
torsten
179a799333 - fix the <condition> element which was no longer working due to an invalid property root
- allow multiple <autopilot> elements within an aircraft. All autopilot live in an individual FGXMLAutopilot subsystem which run within a subsystem group now.
2009-11-29 15:56:13 +01:00
Tim Moore
e503591af4 Merge branch 'jmt/gps'
Conflicts:
	src/Instrumentation/gps.cxx
2009-11-27 06:40:47 +01:00
jmt
7bb785c72c Fix altitude units error loading plans, spotted by Csaba Halasz (Jester). 2009-11-15 01:29:08 +01:00
jmt
6a4e458af9 In the route-manager, track the departure and destination airport objects
* Expose the airport names as properties
* Use tied properties to simplify the code
2009-11-07 09:00:36 +01:00
jmt
8ace3a12ba Better idents for waypoints defined by lon/lat. 2009-10-26 22:12:20 +01:00
jmt
9495c2efdf Route tweaks, especially in-flight activation and deactivation
* Don't require a valid departure and destination airport
* Handle in-air route activation cleanly
* Handle end-of-route situation cleanly
2009-10-22 23:21:25 +02:00
jmt
87141b47a7 Fix route-manager / GPS sequencing interaction; tied properties need help to fire listeners. 2009-10-19 23:56:51 +02:00
jmt
1a05ed6b3d Fix a copy-and-paste bug with destination runways. Caught by Scott Hamilton. 2009-10-19 23:56:51 +02:00
jmt
afb1e7ffe9 Further GPS and route manager behavioural fixes
* When the nav-radio is slaved, calculated radial/target-hdg-deg
 (needed by some autopilot logic)
* Handle editing (including deletion) of route waypoints correctly,
 including deleting the active waypoint
* Add a signal to the route manager when the last wpt is reached, and
 use it in the GPS to revert to OBS mode.
* Change the altitude handling to use the specified cruise altitude
* Fix a bug where autopilot/locks/altitude was treated as a boolean
2009-10-16 11:24:36 +02:00
jmt
a865555fed Route-manager: remove any interaction with the autopilot, or internal sequencing; assume the GPS always handles this (it should, now). Also fix waypoint altitude handling, which was broken. If not altitude is supplied for a waypoint, default to the requested cruise altitude. 2009-10-14 11:44:27 +02:00
jmt
879531ce63 Make the GPS drive the autopilot directly (if configured), also update external course (OBS) source, and init at the current airport. 2009-10-14 00:42:37 +02:00
Tim Moore
21122fa03e Merge branches 'jmt/brakes' and 'jmt/dump' 2009-10-12 11:05:36 +02:00
jmt
110dd605a0 Fix unrealistic-but-convenient direct-drive from the route-manager to the autopilot code. A new boolean config prop, 'drive-autopilot' exists, to disable this behaviour. 2009-10-12 07:56:15 +02:00
jmt
3637482916 Fix various route-manager issues - HUD display of waypoints, some potential divide-by-zeroes when paused or stationary, and Win32 compilation. 2009-10-12 07:54:09 +02:00
jmt
cb6647ff13 Fix an issue which VC90 warns about - using 'this' in initialiser lists. 2009-10-07 08:26:23 +02:00
jmt
d784810430 Land the GPS/route-manager re-write. Many things are better, many other things will be better, some things are no doubt broken. Please be patient and report problems on the mailing list. 2009-10-06 10:44:01 +02:00
jmt
26cd4f92c5 Fix another crash in the autobrake code, with 'aircraft' (eg, ATC) with no weight-on-wheels flag. Thanks to Jacob Burbach for the report. 2009-10-04 02:05:51 +02:00
jmt
739196c912 Refactor the XMLAuto parsing code to no longer warn about every node handled by the base class (FGXMLAutoComponent). As a side effect, issue better warnings when an unrecognised node is encountered. 2009-09-23 23:11:07 +02:00
jmt
4ccef76fc4 Auto-brake enhancements: support for JSBSim aircraft, Airbus-style combined MAX/RTO modes, correct disengage behaviour and more disengage conditions. 2009-09-22 22:51:29 +02:00
jmt
289023da1d Don't crash with UFO FDM, etc, or other FDMs that don't define global props needed - just go into passive mode. 2009-09-21 22:51:40 +02:00
jmt
263ff7d93d Don't look for /velocities/groundspeed-kts during initialisation. 2009-09-21 22:51:40 +02:00
jmt
4d67c69462 A generic, configurable autobrake system. Not fully features yet, but works quite nicely in the 777, including RTO modes and auto-disengage on pilot input. 2009-09-21 22:51:40 +02:00
torsten
5e9864994c fix warnings (order of initialization) 2009-08-23 21:43:09 +02:00
timoore
4cc3084256 SGPropertyNode::Type moves to simgear::props namespace 2009-07-16 12:10:47 +02:00
torsten
786c10a69e fix self initialized of average variable in FGPredictor 2009-07-02 08:59:16 +02:00
fredb
219be77f1e Suppress warnings 2009-07-02 08:59:16 +02:00
torsten
ec0ed21b73 support
<abs>true</abs>
for input elements.
If set to true, the input value is filtered thru fabs() function.
Defaults to false if absent, so there is no impact for existing configurations
2009-05-20 00:00:06 +02:00
mfranz
095c710c0e leak fixes 2009-05-18 12:24:16 +02:00
torsten
b0dd43e022 added new features:
- conditions for InputValues
- multiple InputValues
some more code cleanup
2009-04-01 09:23:55 +02:00
torsten
abcc94d8ee - created a class for InputValues
- moved common code into the base class FGXMLAutoComponent
- adapted the documentation
2009-04-01 09:23:54 +02:00
mfranz
b00e1c10e0 Merge branch 'master' of ../.fg.osg 2009-03-18 08:00:08 +01:00
torsten
78e45727d0 Added support for <condition> elements under <enable> elements.
The old <prop> and <value> elements are still supported but ignored, if a <condition> element exists.
Also for the DigitalFilter
2009-03-05 10:52:03 +01:00
torsten
3f0e9b0161 Added support for <condition> elements under <enable> elements.
The old <prop> and <value> elements are still supported but ignored, if a <condition> element exists.
2009-03-05 10:52:02 +01:00
mfranz
58a2927aaf segfault-- 2009-02-02 00:56:25 +01:00
fredb
d4168d161e James Turner :
- a refactoring of the route manager to reduce indentation and duplication
	- created a helper method to generate the ETA strings
	- created a helper to update target_altitude and altitude_set when the active wp0 changes
	- used early returns to make update() easier to follow
	- removed spurious includes in both header and source file
2008-12-04 08:29:36 +00:00
fredb
f3b110e565 James Turner:
Attached patch updates the route-manager to use FGPositioned to search
for waypoints, instead of a manual airport / fix / navaid search. This
is good because it's now using the 'strictly closest' match, rather
than arbitrarily picking a distant fix over a nearby navaid. In my
case, the TLA VOR is significant to several EGPH procedures, but also
happens to be the ident of a fix a long, long way away.

Also updates the FGPositioned class to stop using Point3D, partly
because it's deprecated and partly because I had misunderstood the
interface and was using it wrong. For now, all FGPositioned distance
checks use SGGeodesy::inverse, which is accurate but inefficient. Once
FGPositioned queries are used for something on a hot path, I'll
probably store the cartesian position as well as the geodetic, to make
these checks fast.
2008-12-03 20:03:46 +00:00
ehofman
3b486e1aee James Turner:
Here's part 2 - converting FGFix (the simplest one) to be both heap-based and inherit FGPositioned. One minor benefit from this is replacing some dangerous code in FGFixList which used to return the address of an iterator member ('&it->second'). To keep the diff a sensible size, I'm not updating the callers to use the richer FGPositioned types - i.e replacing separate lat/lon handling with SGGeod. I will make those cleanups, but in future patches.
2008-09-10 08:54:49 +00:00
ehofman
14885374de header cleanups 2008-07-31 12:04:32 +00:00
ehofman
667e64e1eb - remove the SG_GLxxxx_H #defines, since OSG provides its own versions
- this exposed a bizarre issue on Mac where dragging in <AGL/agl.h> in
   extensions.hxx was pulling in all of Carbon to the global namespace
   - very scary. As a result, I now need to explicitly include CoreFoundation
   in fg_init.cxx.
 - change SG_USING_STD(x) to using std::x
2008-07-27 16:25:13 +00:00
ehofman
d9bfd5a425 This should apply, and everything should build cleanly, in isolation from the
SimGear change. It changes all the SG_xxxx to be the 'real' includes, and gets
rid of many #ifdef SG_HAVE_STD_INCLUDES. As an added bonus, rather than
replacing 'SG_USING_NAMESPACE(std)' with 'using namespace std', I just fixed
the small number of places to use std:: explicitly. So we're no longer polluting
the global namespace with the entire contents of std, in many cases.

There is one more 'mechanical' change to come - getting rid of SG_USING_STD(X),
but I want to keep that separate from everything else. (There's another
mechnical change, replacing <math.h> with <cmath> and so on *everywhere*, but
one step at a time)
2008-07-25 18:38:29 +00:00
mfranz
b27f73f4f4 make route manager input case insensitive 2008-06-06 07:49:41 +00:00
timoore
a251fd35cb Include <iostream> and using declarations as needed.
SimGear no longer includes iostream and avoids using declarations in
header files, so various fixups are needed.
2008-06-02 21:07:35 +00:00
mfranz
3842fa0edc Csaba "Jester" HALASZ:
Attached patch adds support for multiple FIXes with the same name.
Applies to both branches.
New functionality is in query_and_offset, which now returns the FIX
closest to the passed in location.
Updated route manager to take advantage of this.

Otherwise, query functions return an unspecified member from the set
of identically named FIXes. (This was previously the one occurring
last in the database file, but I don't think anybody counted on that.)
2008-04-28 11:26:02 +00:00
durk
3bc15df56b Syd Adams: Enable bank limit controls with the autopilot. 2008-04-06 06:49:36 +00:00
timoore
d28b509e5f autopilot filter deque fixes
Thanks to Vivian Meazza for debugging this. The output deque for
FGDigitalFilter was not being kept long enough for the
doubleExponential filter. Reads from output[1] could cause a crash.
2008-03-24 22:46:47 +00:00
mfranz
7d5c5e4aaf Roy Vegard OVESEN & Lee ELLIOT:
Lee has added two new filter types, "gain" and "reciprocal". These filters can
read their gain factor from a property. In the process we also added minimum
and maximum output clamps that are applicable to all filters.

I added the ability to configure adaptive controllers i.e. the controller gain
can be tied to a property, so that it can be changed at runtime. This
requires a change in the xml structure of the autopilot configuration file:

<Kp>
  <prop>/autopilot/KAP140/settings/ROL/Kp</prop>
  <value>0.10</value>
</Kp>        <!-- proportional gain -->

The old method <Kp>0.10</Kp> still works so as to not break all existing
autopilots, but it will output a warning to use the new method.
2008-02-17 09:44:03 +00:00
curt
15cd4284fb Roy Ovesen:
Please find attatched a new version of xmlauto.cxx.

Remove the call to build() in reinit(). This prevents build() from being
called twice when Reload Autopilot is selected from the Debug menu.

I've also added the ability to define an enabled property for the filters.
It's used like the PID controllers. If there is no enabled tag then the
filter defaults to enabled so that nothing should get broken by this change.

This ability can be used to create a filter between the output of a PID
controller and the property that it controls (a control surface). By putting
a noise spike filter between the output of a controller and the control
surface that it controls, we can simulate the limited movement rate that is
inherent in autopilot servos.
2008-02-04 20:01:20 +00:00
timoore
1b439f8501 Memory leak fixes from Till Busch 2008-01-19 18:06:05 +00:00
mfranz
80467ed6d0 Harald JOHNSEN: initialize elapsedTime 2007-07-09 17:15:11 +00:00
curt
50c7a31de8 Fix a long standing bug in a code path that is probably executed very rarely. 2007-06-26 21:29:59 +00:00