1
0
Fork 0
Commit graph

429 commits

Author SHA1 Message Date
James Turner
03ecac9dbc Work with new SGPath API. 2016-06-22 17:36:05 +01:00
James Turner
ed8970a29d Fix some more uses of libC time() 2016-01-05 23:19:28 -06:00
James Turner
43fcbd2246 Progress towards testing
- remove route-manager from global variables
2015-12-10 16:40:22 -06:00
Torsten Dreyer
36113bf69d Cleanup: remove unused code and includes
no functional change
jpg-httpd functionality was moved into httpd with 3.4
cmd-line option still spits out a warning
2015-07-08 17:24:13 +02:00
Thomas Albrecht
c8115f516c renamed to DampedOscillation 2015-05-02 14:26:05 +10:00
Torsten Dreyer
f8591433b1 DigitalFilter: remove debug output 2015-04-07 12:08:01 +02:00
Thomas Albrecht
e113586090 add DampedOsciFilter 2015-04-07 10:23:41 +02:00
Torsten Dreyer
55ed10953f Fix StateMachine autopilot component 2015-03-22 16:09:42 +01:00
James Turner
564177933b FlightPlan activation, delegate hook. 2015-02-23 13:41:50 +00:00
James Turner
01622dd1f4 Fix flight-plan course and distance computations.
Always use the RoutePath system for course and distance computations
in the flight plan, so that dynamic segments are handled correctly.
2014-12-08 17:56:15 +00:00
Torsten Dreyer
3e47fc0c11 set corret logging class for A/P messages 2014-05-20 22:36:43 +02:00
Torsten Dreyer
4be1aba62e Autopilot: enable debug output for logic elements 2014-03-28 17:48:35 +01:00
Thomas Geymayer
88b7d4f530 Update for SGPropertyNode changes. 2014-03-06 00:41:41 +01:00
Thomas Geymayer
831f75a030 Autopilot: fix wrong warning for unknown node 2014-02-27 00:20:06 +01:00
Thomas Geymayer
f1e0206f30 Autopilot: fix configuration to prevent false warnings. 2014-02-24 23:19:50 +01:00
Thomas Geymayer
e600cd3d00 Autopilot: add interface properties and property-root.
- Support interface properties as with JSBSim for easy reuse
   and parametrization of autopilot components.
 - Add property-root property to allow changing property root
   for all relative paths. This allows easy use of multiple
   instances of the same autopilot component at the same time
   by specifiying different property root nodes.
2014-02-09 18:51:09 +01:00
Thomas Geymayer
4ae8cd99a1 XMLAutopilot: cleanup and remove code already available in SGSubsystemGroup. 2014-02-09 18:50:55 +01:00
Thomas Geymayer
5b537b6999 PID: ensure correct initialization with large sampling interval 2013-12-22 14:18:25 +01:00
Torsten Dreyer
d1cae3ab4d autopilot: add the forgotten RateLimitFilter 2013-12-19 09:40:24 +01:00
Torsten Dreyer
1ffa09cc49 Add new filters from Alan Teeder 2013-12-17 17:28:16 +01:00
James Turner
7719ad920d Bug 1289, crash on AP reload
- missed update for revised subsystem ownership in the AP code.

https://code.google.com/p/flightgear-bugs/issues/detail?id=1289
2013-12-09 21:46:34 +00:00
Gijs de Rooy
4dbcdbcceb Output route manager ETA in seconds 2013-12-03 22:37:53 +01:00
James Turner
3e1af8248a Fix a copy-paste bug in the route-manager.
autopilot/route-manager/departure/field-elevation-ft was giving
destination field elevation, not departure. Thanks to Hyde Yamakawa for
noticing this.
2013-12-01 21:48:03 +00:00
James Turner
4dcd96c4af Remove dependency on command-mgr singleton
Use explicit instance (from globals)
2013-11-25 09:14:46 +00:00
James Turner
72b85b28da Reset: route-manager guard against no plan. 2013-11-12 22:55:36 +00:00
James Turner
0751556aab Reset: remove commands 2013-11-12 22:47:46 +00:00
James Turner
47ecc0ce29 Fix an MSVC debug crash.
Ensure the route-manger unregisters itself from the flightplan
on destruction, since it is a delegate.
2013-10-21 23:38:01 +01:00
Thomas Geymayer
39c129cee6 Fix signed/unsigned missmatch. 2013-09-08 13:49:29 +02:00
Torsten Dreyer
7e117d2558 Fix #1186 moving average filter
fix incorrect behaviour of the moving average filter as reported
and patched by bmbroom.
2013-09-05 10:21:44 +02:00
Tom Paoletti
81cd33e2fa Performance optimization: empty() instead of size()>0
empty() is guaranteed to be constant complexity for both vectors and lists, while size() has linear complexity for lists.
2013-08-19 09:01:59 +01:00
James Turner
b1b6d2f6e2 Namespace fixes for std::string 2013-06-27 09:53:12 +01:00
James Turner
2ec4b6ecc2 Fix warnings identified by updated XCode.
Mostly unused private vars, for various reasons.
2013-06-21 18:39:24 +01:00
Thomas Geymayer
470a551176 Revert "Autopilot: Optionally write (internal) state to property tree"
This reverts commit 91ae41f9ef.

We do not need this as outputs already are written to the property
tree and most intermediate values can easily be calculated
manually.
2013-06-18 19:58:28 +02:00
Thomas Geymayer
91ae41f9ef Autopilot: Optionally write (internal) state to property tree
This can be useful eg. for plotting autopilot response
with the Canvas.
2013-06-17 23:21:36 +02:00
James Turner
16d1c47664 Fix a FlightPlan lifetime issue.
Route-manager was explicitly deleting its FP, which was incorrect.
Switch to correct use of SGSharedPtr to refer to flight plans.

Thanks to Roland Haeder for catching this.
2013-05-26 22:11:25 +01:00
James Turner
e89df85817 GPSs uses FlightPlans directly. 2013-04-09 10:20:02 +01:00
James Turner
1eb8ae1fbf Give the FGAirport class a sane filename.
simple.[cxx|hxx] -> airport.[cxx|hxx]
2013-02-21 11:32:02 +00:00
Christian Schmitt
2013f7149d Some headers missing... ;) 2013-02-07 19:00:54 +01:00
James Turner
978a2cd8c6 Initial work on state-machine AP module. 2013-01-31 22:40:48 +00:00
Torsten Dreyer
4277ca6540 Autopilot: rename parameter, no functional change 2012-12-31 22:21:30 +01:00
Torsten Dreyer
fcf40ec6a8 Autopilot: initialize the derivative filter
Dont let the derivative filter emit a spike on init or reset if the input
value is non-zero. This is a potential fix for #973.
2012-12-31 21:27:13 +01:00
James Turner
44a44a0246 Nicer default SID and approach procedures.
Note these are still generic and do NOT take local terrain into account. Don't come crying to me if you fly into nearby terrain because you weren't using a real procedure!
2012-12-30 15:37:25 +00:00
James Turner
d311045018 Bug 974, GPS exceptions at end-of-route.
One of the two route termination conditions was improperly handled, leading to bad leg/wpt indices and exceptions from the GPS code. Detect passing the final waypoint in a more robust way now. 

Also fix the GPS code to avoid turn computation on the final leg.
2012-12-29 13:45:27 +00:00
James Turner
e248ea8183 Fix altitudes on default SIDs and approaches.
Thanks to Hyde for noticing I had set the elevations incorrectly.
2012-12-24 20:22:58 +00:00
James Turner
7d88714e2d Fix duplicate runway wpt in default approach. 2012-11-24 13:50:37 +00:00
ThorstenB
58380b286e Fixed some uninitialized member vars and a mem leak. 2012-11-18 16:39:22 +01:00
Frederic Bouvier
b88e941ca2 MSVC compile fix 2012-11-15 08:42:10 +01:00
James Turner
78d97fa468 Support for creating default SID/approach.
Durk reminded me of this - when we're missing procedures data (the common case), synthesise a plausible (but possibly dangerously unrealistic) departure and approach. Will work fine for airports in gentle terrain, and likely kill you at challenging airports. You have been warned.
2012-11-12 22:30:28 +01:00
James Turner
0f927d5766 Part of bug 885
Allow the route-manager to be explicitly de-activated.
2012-09-26 22:43:19 +01:00
James Turner
1be2aa558f Quieten down autopilot creation log. 2012-09-26 16:25:43 +01:00
James Turner
48c26079e1 Fix classes derived from SubsystemGroup.
Various classes derive from SubsystemGroup, but extend the init behaviour. Fix those for the incremental init scheme, generally by forcing their init to be atomic. Can convert them to be truly incremental in the future if it's needed, but probably not.
2012-09-19 11:37:19 +01:00
James Turner
7fabeed85d Fix some places relying on public 'using std::string' in SimGear
(Otherwise my next SimGear commit will break them)
2012-08-21 17:07:47 +01:00
Mathias Froehlich
86e61cfd78 autopilot: Introduce virtual dtor.
Introduce a virtual destructor to make deleting
FunctorBase instances ComponentForge::~ComponentForge
work reliable.
2012-07-29 17:59:38 +02:00
James Turner
1ef77b2bc2 More route-manager functionality moved to Nasal.
The routing behaviour now happens entirely in Nasal,
using a delegate, and can be over-ridden or disable
by aircraft authors. Default behaviour should be
unchanged.
2012-05-15 17:53:30 +01:00
James Turner
ce92730ef6 Expose FlightPlan delegates to Nasal, finally.
This will permit Nasal (e.g., FMS) to update nicely when the FlightPlan
is modified from anywhere else.
2012-05-12 17:23:17 +01:00
James Turner
0f61108f5b Break FlightPlan out into its own file. 2012-05-12 10:25:56 +01:00
James Turner
b0384d035f Remove remaining includes of simgear/waypoint 2012-05-11 23:49:12 +01:00
James Turner
79391f818c Remove stale includes, use local ground-speed property. 2012-05-11 17:07:21 +01:00
James Turner
ec4f2f59c9 Airways routing is driven via Nasal now. 2012-05-09 09:39:33 +01:00
James Turner
ea2c73e8b5 Expose airways via Nasal, and allow waypoint creation and deletion via Nasal too. 2012-05-08 21:06:28 +01:00
James Turner
ff91fec1bb Fix various route-manager issues reported by Hyde. 2012-05-07 23:48:56 +01:00
James Turner
b092987656 Fix SID class ambiguity on Windows (clashes with winnt.h) 2012-05-07 00:59:28 +01:00
James Turner
1b7b69b498 Create a real FlightPlan (and Leg) class
Convert the route-manager to use a flight-plan internally, and expose
flightplan, leg and procedure data to Nasal. Move the Level-D parser
into its own file.
2012-05-07 00:35:48 +01:00
ThorstenB
b9260f543b Ganael Laplanche: fix include dependencies for FreeBSD support 2012-05-05 01:08:20 +02:00
ThorstenB
e59fabaf82 Clean-up some SGMath dependencies. 2012-05-05 00:56:29 +02:00
ThorstenB
5683467d34 Abstract AP implementation base classes need a virtual destructor
(SGReferenced doesn't provide it)
2012-04-25 23:11:45 +02:00
James Turner
76efc104c0 Route-manager distance helpers for Hyde and others working on VNAV support. 2012-04-09 14:06:44 +01:00
Torsten Dreyer
68e1a8c4cb Autopilot: save loads of CPU cycles
Not every xml-autopilot filter needs to run at the update rate
of the FDM. This only makes sense for the autpilot filters. Those,
who update instrument needles or environment properties for example
may run at frame rate.
This patch (thanks to ThorstenB, who is the author) forces those
filters defined in /sim/systems/autopilot into the FDM loop and those
defined in /sim/systems/property-rule into the default loop. They
show up as xml-autopilot and xml-proprules in the performance monitor
2012-04-05 20:40:07 +02:00
James Turner
f0bf3ed841 Fix total-distance computation in the route-manager, and expose some additional values - departure and arrival field elevation, and total distance along the route of a waypoint. (Addresses some feature requests) 2012-03-27 21:54:38 +01:00
ThorstenB
bb59af4357 Fix segfault when loading routes in RouteManager
FGRouteMgr::loadRoute always needs to call "update_mirror" before
returning.
2012-03-07 21:33:08 +01:00
Torsten Dreyer
644bb8c4f4 Spring-cleaning: some minor optimization
- initialize uninitialized properties
- use prefix instead of postfix increments
- reduce visibility of variables
- use empty() instead of size() == 0 for vector and string
- pass string by reference, not by value
2012-03-06 22:28:18 +01:00
Torsten Dreyer
ed934c1999 Some xml-autopilot tuning
- Add update-interval-secs to the entire autopilot
- cache min/max values in InputValue
- a little more relaxed "equals zero" checking in the NoiseSpikeFilter
2012-02-15 14:59:10 +01:00
Torsten Dreyer
5ebdcdc3d5 Some autopilot works
- add new <update-interval-secs> for autopilot components.
  This does what it says.
- add new method to PeriodicalValue to normalize symmetric around zero
- move the DigitalFilterImplementation out of the header file
- refactor NoiseSpikeFilter: spare some cpu-cycles and respect periodical
  output
2012-02-12 11:41:21 +01:00
ThorstenB
4e9e35a0a2 #609 route manager/nav display related startup segfault
Immediately update the property-tree mirror when adding waypoints (i.e.
using the "--flight-plan=..." startup option).
2012-01-22 11:23:56 +01:00
James Turner
fdbdbfe93d When clearing the route, skip generated waypoints. 2012-01-08 19:31:07 +00:00
James Turner
70b4f38ebc Goodbye automake. 2011-11-01 11:15:53 +00:00
Torsten Dreyer
1a80d70e00 Some autopilot fixes
- fix minor memory leak
- make autopilots addable and removeable at runtime
2011-10-27 08:27:52 +02:00
James Turner
2157164271 Fix some code which clang didn't like 2011-10-23 15:33:00 +01:00
James Turner
b1b4b7ecf4 Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +01:00
James Turner
563614f36c Expose route-manager WP mirror nodes on the API 2011-09-19 11:38:35 +01:00
James Turner
af6ed2ff3a Expose departure+arrival airport + runway on route-manager. 2011-09-19 11:38:35 +01:00
Torsten Dreyer
4599893fa9 fix #416: reciprocal filter broken 2011-08-25 22:25:20 +02:00
Curtis L. Olson
a5de08e240 Fix a couple issues with non-referenced files missing from the source
distribution (and thus breaking the build.)
2011-08-15 22:50:39 -05:00
James Turner
6c52a5ac85 Fixes for include-file flattening - condition.hxx no longer pulls in props or props_io 2011-07-30 10:47:28 +01:00
James Turner
7abf7c5748 CMake header support for XCode/Visual Studio 2011-07-19 07:58:03 +01:00
ThorstenB
eb3f135985 #367: Add visible error messages when flight plan file isn't found/readable 2011-07-07 08:44:09 +02:00
ThorstenB
b839e8c3ac #367: raise log level for some routemanager error messages
When flightplans cannot be loaded (i.e. --flight-plan command-line
option fails), make sure the message is visible to the user with
default log level.
2011-07-06 22:33:19 +02:00
ThorstenB
4fd1e219a4 #348 related: More places where missing files were not reported properly
Whenever resolving a (relative) path to an absolute path with
'resolve_maybe_aircraft_path', check if the result is empty and report original
(relative) path as missing. Otherwise no or a meaningless message is
issued ("File '' not found.").
2011-07-03 13:06:41 +02:00
James Turner
2bdaebb7d9 Make basic route-manager commands be real SGCommands 2011-06-01 00:04:25 +01:00
James Turner
fe1bedad32 Make --flight-plan option delegate to the route-manager loadRoute code, and hence support XML flight-plans. 2011-05-25 08:21:45 +01:00
ThorstenB
7f846d20c7 Make route editing sane.
Drag&drop, insert and remove now update the current waypoint as expected.
2011-01-23 00:45:06 +01:00
James Turner
7cbb3a10ed Expand route-manager waypoint info, to support smarter FMS functions. 2011-01-20 00:39:42 +00:00
James Turner
54ef43878f Fix bug 259 - don't override existing airport/runway in initPos 2011-01-19 23:58:00 +00:00
Torsten Dreyer
2ba4f3ddad Autopilot: use SimGear function 2011-01-17 20:18:17 +01:00
James Turner
a91ec5f9f9 Initial work on CMake build files, with considerable help from Olaf Flebbe. 2010-12-19 15:06:04 +00:00
Torsten Dreyer
58fbd0d72a msvc warning fixes 2010-12-15 16:40:25 +01:00
ThorstenB
138449f4bd Avoid exceptions in route manager module.
Avoid segfaults in gps when route manager doesn't throw exceptions.
Minor fix when removing waypoints by negative index.
2010-12-05 21:26:51 +01:00
ThorstenB
d438a180ab Fix route manager exception and following crash (may fix #177)
See bug issue #177 for more.
Also fix minor compiler warning.
2010-11-27 20:05:28 +01:00
Torsten Dreyer
495a23a80a Avoid division by zero in exponential filters 2010-11-20 11:07:24 +01:00
Christian Schmitt
0a5e86f4e6 remove old .cvsignore files 2010-11-11 01:16:29 +01:00