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
Torsten Dreyer
c56aaa8771
add <initialize-to> to components
...
The tag <initialize-to> can be used to control the value
of the output when the component is first enabled. This
controls initialization of the output property and the current
value for internal computation
Valid values are
<initialize-to>input</initialize-to>
set the output-property to the input value
<initialize-to>output</initialize-to>
set the output-property to the output value
<initialize-to>none</initialize-to>
ignore input and output value
2010-11-02 11:07:33 +01:00
James Turner
d573cb43a0
Move three more subsystems into the init + update scheme - fixes some crashes found by papillion.
2010-10-22 16:44:37 +01:00
James Turner
fe16732783
Fix Win32 compilation - avoid SID name clash with windows.h
2010-10-20 13:13:05 +01:00
James Turner
dd2eec7bd8
Airways/procedures code - add new data structures to store waypoints and
...
procedures, and routing algorithms, and modify the GPS, route manager and
WaypointList to use the new objects.
2010-10-20 09:02:02 +01:00
Torsten Dreyer
9f9e86a61e
remove leftover debugging stuff
2010-10-12 15:26:00 +02:00
Thorsten Brehm
a4f1139fcd
Fixed autopilot/Predictor.
...
Signature of Predictor::configure must match AnalogComponent::configure,
otherwise the inherited method isn't overridden.
=> predictor couldn't be configured.
=> speed predictor rules in "generic-autopilot-helper.xml" weren't working.
2010-10-08 21:41:09 +02:00
Torsten Dreyer
9ffaf11aa5
Autopilot: fix initialization of digital filters
2010-10-05 14:29:36 +02:00
Torsten Dreyer
c41364983e
fix double binding bug in autopilotgroup and naming error
2010-08-26 18:51:46 +02:00
Torsten Dreyer
fed62b13dd
Downgrade two autopilot SG_LOG alerts to warnings
2010-08-25 20:43:43 +02:00
Torsten Dreyer
8a00bce145
property-rules might be read from fg-root
2010-08-23 22:27:39 +02:00
Torsten Dreyer
54e6757211
Autopilot is more than just an autopilot: Introducing: "property rule"
...
The autopilot has grown beyond being just an autopilot. It's
components, filters and controllers could be used to set property
values based on complex rules and driven from other property values.
That's why I chose to give it the name "property-rule".
This patch allows to define an arbitrary number of property rules under
a/sim/property-rule[n]/path
using the same syntax as autopilot configurations.
2010-08-18 18:50:07 +02:00
James Turner
ab495d1370
Add --fg-aircraft option, and aircraft dir path list. Partial support in places that load files, for respecting the setting.
...
Add helper to look for an aircraft branch path in multiple candidate locations.
Update the main subsystems to use the helper, and hence load from any aircraft dir.
2010-07-28 22:03:10 +01:00
Torsten Dreyer
ff408dc540
(Re)allow duplicate names for A/P stages
...
Don't ignore autpilot stages with duplicate names but rename
the dups to a unique name by adding '_' plus a sequence number.
2010-07-24 17:17:33 +02:00
Torsten Dreyer
c3b9676e22
One more try to fix the Windows build
2010-06-29 17:42:04 +02:00
Torsten Dreyer
598d46529f
Fix three bugs in the new autopilot code
...
- Respect the global inverted flag in the get_output() method
- Check the clock state before processing the static R/S inputs
- Emit debug output only on a state change
2010-06-28 18:20:30 +02:00
Torsten Dreyer
bed15f5315
One more fix for a working windows build.
2010-06-28 13:53:17 +02:00
Torsten Dreyer
f6ea868804
Fix build on Windows
...
Add missing includes.
Thanks to Alan Teeder
2010-06-27 15:02:59 +02:00
James Turner
a0588272dc
Merge branch 'topics/mainloop' into next
2010-06-26 15:30:00 +01:00
James Turner
85be9be1e0
Initial work on FDM shell, and removal of cur_fdm_state
2010-06-26 10:31:22 +01:00
Torsten Dreyer
610777ac53
Move the flipflop implementations into the correct namespace
2010-06-25 21:17:13 +02:00
Torsten Dreyer
0a50c16052
Some more src docs for the A/P implementation.
2010-06-25 21:09:37 +02:00
Torsten Dreyer
47c956b516
Some code documentation added to the A/P flip flop implementation
2010-06-25 11:06:00 +02:00
Torsten Dreyer
d558b52cb6
New autopilot subsystem implementation.
...
Split the former single-file-implementation in xmlauto.?xx into multiple
files and use some OO techniques. Started with documentation to be used
with doxygen.
2010-06-24 17:09:33 +02:00
Torsten Dreyer
8c15899837
Merge branch 'next' of gitorious.org:fg/flightgear into next
2010-06-01 22:10:00 +02:00
Torsten Dreyer
253b14a1cb
Code cleanup, inherit JK, D and T from RS and a bugfix for the logic element
...
- reuse code
- undeclared inputs default to false where applicable
- remove unused tInput
- JK, D and T FF now inherit from RS with dominant R input, so they all
have a R and a S input to preset the output
- fix the nonfunctional <inverted> element of the logic element
2010-06-01 22:08:42 +02:00
James Turner
be30c2d53b
Merge branch 'topics/removeab' into next
2010-05-29 10:37:20 +01:00
James Turner
ad19acf1c6
Remove C++ autobrake code - this can all be done easier in XML now!
2010-05-29 10:36:23 +01:00
Torsten Dreyer
54c964aed5
Respect different behaviour of RS and SR flip flops
...
No more invalid states here.
According to IEC 61131, RS flip flop have dominant reset and SR have
dominant set. This is now implemented.
2010-05-27 22:22:01 +02:00
James Turner
321bbeb2e8
Allow 'property' as well as 'prop' to be used in XMLauto <enable> blocks.
2010-05-27 15:20:37 +01:00
James Turner
1d0e9d268a
Support <expression> in autopilot inputs, as well as property and value.
2010-05-26 19:30:33 +01:00
Torsten Dreyer
9e35d18f2e
Add RS, JK, D and T flip flops as components
...
Flip flops are useful items for data latches and can be used to implement
pushbuttons, glideslope locks etc.
Check http://en.wikipedia.org/wiki/Flip-flop_(electronics)
and http://wiki.flightgear.org/index.php/Autopilot_Configuration_Reference
for details
2010-05-24 11:57:55 +02:00
Tim Moore
4fae1160d4
Merge branch 'torsten/proplist' into next
2010-04-19 12:22:48 +02:00
Tim Moore
3e4a592282
Move using declaration out of header file
2010-04-19 12:22:30 +02:00
Tim Moore
0f9f092412
Merge branch 'torsten/proplist' into next
2010-04-19 10:20:13 +02:00
torsten
a464d1b2b2
use simgear::PropertyList instead of std::vector<SGPropertyNode_ptr>
2010-04-19 10:20:03 +02:00
Tim Moore
98e6b8212a
Merge branch 'torsten/auto'
2010-04-19 10:19:42 +02:00
Tim Moore
323fb790e7
Merge branch 'jmt/gps' into next
2010-04-19 09:52:43 +02:00
jmt
8ffa65a821
Route-file saving.
2010-04-19 09:52:32 +02:00
jmt
3270a610f8
Support loading plain-text routes, and stop aggressively using the cruise altitude when loading waypoints.
2010-04-19 09:52:17 +02:00
Tim Moore
ebdeb3eed3
Merge branch 'jmt/gps' into next
...
Conflicts:
src/Instrumentation/navradio.cxx
2010-03-28 15:32:59 +02:00
jmt
597df694e3
GPS/route-manager - notify listeners when current waypoint is changed.
2010-03-28 15:26:25 +02:00
Tim Moore
39def8132a
Merge branch 'jmt/gpswidget'
2010-03-28 15:15:58 +02:00
Tim Moore
f71c094da2
Merge branch 'torsten/auto' into next
2010-03-20 18:46:27 +01:00
torsten
c55874d70e
Fix broken anti windup if the proportional gain runs into the nonlinear area and gets clipped.
...
Also fix the wrong debug message.
2010-03-20 18:46:19 +01:00
Tim Moore
3973637606
Merge branch 'torsten/auto' into next
2010-03-11 09:01:42 +01:00
torsten
f4f784a514
Added anti windup for the pi-simple-controller
2010-03-11 09:01:25 +01:00