1
0
Fork 0
Commit graph

102 commits

Author SHA1 Message Date
James Turner
015732db33 Fix un-inited vars found by valgrind.
All benign, but good to get fixed.
2013-03-17 13:22:30 +00:00
Thomas Geymayer
1c905e5881 Typos, license headers... 2013-03-06 01:04:52 +01:00
Christian Schmitt
2013f7149d Some headers missing... ;) 2013-02-07 19:00:54 +01:00
James Turner
7b8804bd40 Tolerate refactored SGSound headers.
An upcoming commit will make the sound headers standalone, and no longer include various other headers / using std:: declarations. Prepare for this by making includes and usage of namespaces explicit.
2012-09-30 19:40:08 +01:00
James Turner
8e3314a7ec Make the radio interpolation tables static.
No need to read these again for each navradio - and the marker beacon doesn't use them at all.
2012-09-26 23:10:37 +01:00
James Turner
9b900e9430 Implement a persistent cache for navigation data.
Cache the parsed navigation and airport data in a binary file to reduce
startup times and memory consumption (since only referenced FGPositioned
elements are held in memory).

Data will be reimported when the mod-time of any input file is changed.
If a global file is changed (nav.dat, awy.dat, apt.dat, etc), the cache
will be completely rebuilt, which takes approximately 30 seconds on
moderate hardware. (Future work may reduce this).
2012-09-19 11:38:19 +01:00
ThorstenB
043128c7c0 Prepare and implement reinit methods for instruments
to clear error conditions, drifts, offsets etc
2012-09-17 13:45:30 +02:00
ThorstenB
0b9adf8854 ADF: code clean-up/documentation 2012-07-17 19:31:57 +02:00
ThorstenB
b14401df66 : fix glideslope reception
Add missing frequency update.
2012-06-19 00:41:52 +02:00
ThorstenB
aabea95d19 : fix glideslope reception
The glideslope station was only searched once whenever the NAV station
changed. However, sometimes a mismatching G/S station is found, since
another G/S station is still closer when the NAV station changes.
When this happened, the G/S station was never updated again (while the
NAV station stayed in range), resulting in the NAV receiver providing
correct localizer, but bad G/S data (data matching another, remote station).
Issue is fixed by alternating between searching NAV and G/S stations.
2012-06-18 22:57:22 +02:00
ThorstenB
db09e11ba0 Fix inconsistent NAV receiver gs-inrange behaviour.
Make sure gs-inrange and deflection outputs have same behaviour, no matter
which out-of-range condition applies (i.e. aircraft moved out of range,
frequency changed, ...).
2012-06-08 13:28:08 +02:00
Frederic Bouvier
75fc136931 Remove redundant inclusion of math/SGMath.hxx 2012-05-05 11:20:04 +02:00
ThorstenB
e59fabaf82 Clean-up some SGMath dependencies. 2012-05-05 00:56:29 +02:00
Torsten Dreyer
c5eba72c75 Navradio: provide property is-localizer-frequency
This property is true if the active frequency is tuned to a
paired LOC/GS frequency in the range 108.00 - 111.95 with a
odd 100kHz digit (108.10, 108.15, 108.30, 108.35 ...)
It only indicates, that this _is_ a LOC/GS frequency,
it does _not_ provide any indication if a LOC/GS station is
actually being received.
2012-02-15 22:43:15 +01:00
ThorstenB
6fbb5aaf99 navradio: set receiver's signal-quality-norm to 0 when navaid station
is lost
2011-11-07 21:51:53 +01:00
Torsten Dreyer
43109feb0c Some more refactoring of the radios
- wrap the ident-generating code into a class
- move dme-in-range property into dme.cxx
- move dme-ident generation into dme.cxx
- support ident-button and volume for dme idents
- use globals.get_aircraft_position instead of properties
- some minor cleanup
2011-09-15 21:28:30 +02:00
Torsten Dreyer
9cef27f5ca Refactor morse and beacon as singleton 2011-09-13 20:12:52 +02:00
Torsten Dreyer
eab9a65ebc Fix some gcc warnings 2011-07-17 19:31:28 +02:00
ThorstenB
18ada05d41 Fix navreceiver to make DME work with ILS signals.
Property "dme-in-range" should also work with ILS signals, which include
a DME. The nav database (dme_list) doesn't have separate entries for
"ILS-DME" (unlike for "VOR-DME"), so searching a DME by frequency didn't
work for ILS.
=> "instrumentation/nav[*]/dme-in-range" can now be used to enable/disable
cockpit DME displays.
2011-03-09 22:04:03 +01:00
ThorstenB
3c3f3a096e John Denker: move branch cut and apply clamps
fixed un-normalized outputs
2011-02-16 19:53:10 +01:00
John Denker
214919da20 More accurate, more symmetrical computation of tangent vector. 2011-02-16 19:44:23 +01:00
John Denker
02f42b8816 fix up some comments 2011-02-16 19:44:14 +01:00
John Denker
54fb3b64d0 Implement gs-direct-deg property.
Useful when posing aircraft for pictures, not quite on glideslope.
2011-02-16 19:34:38 +01:00
Torsten Dreyer
ded664e89e bugfix: set signal-quality-norm to zero if off or unserviceable 2010-12-23 22:16:55 +01:00
ThorstenB
2302f04095 fix NAV receiver vs GPS bugs
Allow switching off slaved-to-gps (resynch NAV radio/update all NAV outputs)
Allow tuning NAV stations and keep DME alive when slaved to GPS
Clear station ID and heading when loosing NAV signal
2010-12-11 12:37:39 +01:00
ThorstenB
ebbd5bfd05 fix bug : crash caused by route manager/gps/navradio
Uninitialized variables were sources for NaN values.
Once NaNs are passed to Nasal (through (tied) properties), these cause
a crash. Nasal cannot handle NaNs - it interprets these as pointer values...
2010-12-05 20:35:21 +01:00
Thorsten Brehm
9be636555c Fixed navradio when shutting down/restarting nav receiver.
"nav-loc" and "has_gs" properties were not updated when nav receiver was rebooted.

Shutting down the nav receiver clears all nav outputs (including "nav-loc" and "has_gs").
=> When nav receiver is powered again, all outputs must be updated.
=> "nav-loc" and "has_gs" are only updated when active nav station changes.
=> old nav station must be cleared on shutdown to enforce update on nav reboot...
2010-10-05 22:34:08 +02:00
Torsten Dreyer
bc31bdbbbb use simgear::strutils::rpad() instead of strncpy() 2010-08-12 13:03:26 +02:00
James Turner
d1852430bf Make various implicit includes (via PLIB) explicit. 2010-07-28 10:25:42 +01:00
James Turner
9604908a8d Remove all (2) uses of simgear/math/vector.h from FlightGear. 2010-07-23 13:26:07 +01:00
jmt
1222e9b094 Fix a crash if startup fails before the navradio is inited. 2010-05-05 12:02:07 +02:00
jmt
e4c4a3a412 MapWidget for the GUI, initial commit. 2010-03-28 15:25:47 +02:00
Tim Moore
1aff92ce49 Merge to get true base of James' recent gps changes 2010-03-28 15:20:09 +02:00
jmt
4265b2e241 GPS: make slaved-to-gps read course from the GPS *when active*, via a listener. 2010-03-28 00:33:13 +01:00
jmt
0be2e03d7e GPS: fix bugs where GPS overwrites NAV1 course, including --nav1 command line 2010-03-28 00:32:34 +01:00
Tim Moore
992b7ca8f4 Merge branch 'jmt/navradio' 2010-02-10 00:41:52 +01:00
jmt
49e477f6a7 Bugfix: ensure navradio nav-loc and has-gs properties clear to false when no valid station is tuned / radio is u/s. 2010-01-31 15:11:25 +01:00
Tim Moore
cf9a520a9f Merge branch 'curt/navradio'
Conflicts:
	src/Instrumentation/navradio.cxx
2010-01-13 07:37:44 +01:00
jmt
38e76a175e Navradio: constructor cleanup, tie/untie helper, and a new 'operable' property to make it clear when the radio is functioning. 2009-12-27 10:03:08 +01:00
jmt
45d0e14cad JSD: Make false courses work for more than one instance of navradio. 2009-12-22 07:41:30 +01:00
Tim Moore
b5c46a8d59 Merge branch 'ehofman/sound' 2009-12-20 11:11:16 +01:00
curt
ea281051d8 Compute glide slope target rate of climb in fpm as well as fps. 2009-12-18 07:10:13 +01:00
Tim Moore
e503591af4 Merge branch 'jmt/gps'
Conflicts:
	src/Instrumentation/gps.cxx
2009-11-27 06:40:47 +01:00
jmt
33058511de Dave Perry:
Allows using a nasal filter to smoothly park the gs needle when out
of range or frequency changes to a station w/o gs.
2009-11-15 01:31:42 +01:00
ehofman
f9445874a0 Don't make the SoundManager a memebr of the subsystem manager; It needs to be initialized very early and destroyed as late as possible. That doesn't work as a subsystem meber onless some sort of priority scheme gets implemented. Get rid of auto_ptr which doesn work for the samples either. 2009-10-24 19:51:39 +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
Tim Moore
40639d38a8 Merge branches 'jmt/xmlauto', 'luff/kln89' and 'curt/radial' 2009-10-12 11:03:35 +02:00
jmt
bde366e0e3 Make GPS slaved mode on the navradio slightly more robust. Not done yet. 2009-10-12 07:55:51 +02:00
ehofman
c56113d0dd add the option to tie a SampleGroup to the listener position and orientation 2009-10-08 10:38:05 +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