Commit Graph

326 Commits

Author SHA1 Message Date
Oliver Jowett 2fa793d0d7 Add a separate --version arg. Don't spit out full help on option syntax problems. 2020-08-05 20:11:40 +08:00
Oliver Jowett 74607b31ed Factor out FIFO handling; reimplement as a linked list, not a circular buffer.
Update all the SDR implementation to use it.

This was getting pretty ugly with code getting copy&pasted in all the SDR
implementations. Unify it all and give it a simpler API. Linked list works out
much simpler than the circular buffer. Also, simplify copying the overlap region
around by just using a separate buffer (it's only a few hundred bytes long, so
the double copy is not a big deal).
2020-08-05 19:50:38 +08:00
Oliver Jowett 8b21104d66 Factor out sdr thread CPU monitoring 2020-08-05 19:50:38 +08:00
Oliver Jowett 66ba823493 Merge branch 'limesdr' of https://github.com/Gluttton/dump1090 into Gluttton-limesdr 2020-08-03 15:16:32 +08:00
Oliver Jowett 5261b98c95 Merge branch 'master' of https://github.com/kr105/dump1090 into kr105-master 2020-08-03 14:32:08 +08:00
Oliver Jowett c890bb6125
Merge pull request #67 from neheb/st
Make more functions static
2020-08-02 22:42:07 -05:00
Gluttton 53183c0b2a limesdr: basic implementation of LimeSDR support
The commit provides a basic implementation of support for LimeSDR USB
receivers based on LMS7002 chip. The solution has several limitations:
 - passing parameters for tune LimeSDR receiver via command-line
   options is not implemented;
 - only hardcoded configuration is used (channel 0 of lower band LNA,
   LMS_FMT_I16 format, gain, bandwidth and timeout);
 - only one device is supported and it is not possible to select a
   desired one in case if several devices are connected to the host.

Test: compare the output of the program for RTL and LimeSDR receivers.
Environment:
 - RTL2832SDR dongle;
 - LMS7002M based USB LimeSDR board;
 - 800MHz-2200MHz omnidirectional antenna with SMA connector.
Procedure:
 - connect RTL dongle to the host and start the program with the
   following parameters:
   $ ./dump1090 --device-type rtlsdr --interactive
 - wait until several planes will be detected;
 - stop the program, connect the LimeSDR board to the host and restart
   the program with the following parameters:
   $ ./dump1090 --device-type limesdr --interactive
 - ensure that the same planes are detected.
Acceptance criteria: the same planes are detected using both receivers
   and track information matches with information from the
   FlightRadar24 application.

Signed-off-by: Gluttton <gluttton@ukr.net>
2020-07-29 23:09:27 +03:00
Rosen Penev 0df937e9c6
fix -Wmissing-declaration warnings
This should result in a smaller size.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-06-29 16:42:21 -07:00
Oliver Jowett 0793c64ee8 Clean up linkage of struct Modes to actually make sense.
(how did this work before? But it's been unchanged since at least
2013..)

Maybe fixes #65
2020-06-06 21:52:04 +08:00
Oliver Jowett 8879bcac86 Change 2-bit correction option to "--fix-2bit"
--fix --fix was a poor choice for this, as some existing configs
happened to specify --fix twice but only expected 1-bit correction.
So move 2-bit correction to a separate option.

"--fix" or "--fix --fix" now gives 1-bit correction.
"--fix-2bit" or "--fix --fix-2bit" or "--fix-2bit --fix" gives 2-bit correction.

Version bump to 3.8.2~dev
2020-05-02 14:55:36 +08:00
Carlos Pizarro 0f0696c97b
Added support for HackRF One 2019-12-09 18:55:40 -03:00
Oliver Jowett a8737f7916 Remove --aggressive entirely, replaced by "--fix --fix" to enable 2-bit FEC.
nb: messages with a correctable 2-bit error are only forwarded to network
clients that have enabled verbatim mode (and they will be forwarded with
the 2-bit error still present, so the downstream client must apply its own
correction if desired)
2019-11-27 21:09:19 +08:00
Oliver Jowett 54409b4836 Split beast output into two separate writers for verbatim vs. non-verbatim
in preparation for supporting both types of connection in parallel
2019-11-27 21:01:46 +08:00
Rosen Penev ffff5d6646
treewide: Replace usleep with nanosleep
usleep was removed in POSIX 2008 and is optionally unavailable with
uClibc-ng.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-10-03 18:10:46 -07:00
Oliver Jowett 9dfc3e7aa6 Arrange to return a non-zero exit code if the SDR thread unexpectedly halts 2019-03-07 18:35:47 +00:00
Oliver Jowett f4fa94f842 Merge branch 'more_mode_s' into dev 2018-05-09 16:20:58 +01:00
Oliver Jowett 44e8913c2d Whitespace cleanups 2018-01-09 17:13:34 +00:00
Oliver Jowett 6986b3847f WIP on new faup1090 output, data aging, refactoring 2017-12-02 17:38:33 +00:00
Michael Tatarinov 196ef89aca Cleanup after removed internal webserver code.
Fixes: 52464b97c1
2017-07-28 11:35:26 +04:00
Oliver Jowett 2142d2edf5 Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
Oliver Jowett 888c939a75 Include enabled compile-time build options in the help header. 2017-02-03 00:36:46 +00:00
Oliver Jowett 417cda7061 Make SC16Q11-nodc conversions table-based for speed.
Add a mechanism for converters to initialize tables on demand.
Move UC8 table setup to the new lazy-setup path.
Fix uc8 lookup table allocation size.
2017-02-03 00:36:33 +00:00
Oliver Jowett 75b221c0e3 Lots of refactoring to move the SDR-type-specific bits out of the
main code and make them optionally buildable.
2017-01-27 17:30:40 +00:00
Oliver Jowett bfc4b742af Move {start,end}_cpu_timing into util.c 2017-01-27 12:33:43 +00:00
Oliver Jowett 52464b97c1 Remove internal webserver code entirely. 2016-12-29 18:35:35 +00:00
Oliver Jowett 6336611bc7 Turn on mode A/C if a Beast connection asks for it.
Add a --no-modeac-auto option to disable this.
2016-12-29 17:56:32 +00:00
Oliver Jowett 4bb070be50 Add support for radarcape type 5 (receiver position) messages. 2016-12-27 19:07:10 +00:00
Oliver Jowett cc47718a2d Measure mean signal level in the converters.
Rearrange the meaning of the measured power level to be consistent
with the signal level.
2016-11-12 14:07:58 +00:00
Oliver Jowett f6b1b94c7d Use ncurses for interactive mode (reduces flicker on slow connections a lot!) 2016-10-11 20:37:28 +01:00
Oliver Jowett 60f1f3bcb6 Table-ize the Mode A to C conversions, add a Mode C to Mode A conversion function. 2016-10-11 17:57:25 +01:00
Oliver Jowett 54ca2c7fb2 WIP big rewrite of message decoding / aircraft tracking. 2016-08-27 14:34:14 +01:00
Oliver Jowett 8d998b2525 Rename --hae to --gnss since it's not always HAE.
(In the baro+GNSS modes, the reported GNSS can be either HAE or geoid-corrected MSL;
in the pure GNSS mode it is HAE only)
2016-08-26 11:27:46 +01:00
Oliver Jowett e4ceea33da Disable the internal webserver at build time. 2016-07-10 11:56:31 +01:00
Oliver Jowett 8b341f39e5 Add some paranoia so we notice if the receive thread wedges. 2016-05-31 12:42:22 +01:00
Oliver Jowett 8f82e61f17 Remove the 2MHz demodulator.
Now that the 2.4MHz demodulator does 3A/C there's no real reason
to keep the old demodulator around.
2016-05-31 12:23:58 +01:00
Oliver Jowett b8dc3973d1 Always measure noise power, silently ignore --measure-noise if given. 2016-05-31 11:54:34 +01:00
Oliver Jowett d419b62a65 Always use phase enhancement; silently ignore --phase-enhance if given. 2016-05-31 11:47:57 +01:00
Oliver Jowett 03c29a3721 Handle errors from rtlsdr_get_device_usb_strings.
Fixes #106.
2016-03-21 22:13:22 +00:00
Oliver Jowett f6bdb61b13 Experimental 2.4MHz Mode A/C demodulator. 2016-03-20 19:49:37 +00:00
Oliver Jowett 8f58d0621c Revert the accidental change of default values for raw in/out ports.
This only affects standalone installs as the init.d script always
supplies all ports, overriding the compiled-in defaults.

Should fix #99
2016-02-08 21:39:21 +00:00
Oliver Jowett 2b466535de Support multiple listening ports per listener type.
Beast input defaults to listening on both 30004 and 30104.
Drop the FATSV listener entirely (use faup1090 for that)
Ignore --net-beast.
2016-01-24 18:47:58 +00:00
Oliver Jowett 5c3692a513 Require an explicit #define at build time to enable --aggressive. 2016-01-21 17:45:27 +00:00
Oliver Jowett 9479a5c9be If --hae is passed, report altitudes as HAE where available, with a H suffix.
This affects interactive mode and SBS output.
2016-01-01 15:15:28 +00:00
Oliver Jowett 457761f060 Don't spam stats reports if the system clock jumps. 2015-12-19 18:28:12 +00:00
maxried 3d4455948f Update dump1090.c 2015-09-14 21:05:27 +02:00
maxried f8c6513294 Update dump1090.c 2015-09-14 20:48:17 +02:00
maxried f66420b275 Update dump1090.c 2015-09-14 20:47:30 +02:00
maxried 392054a27b Add --html-dir option 2015-09-14 19:58:59 +02:00
Oliver Jowett 1c80d1b784 OS X compatibility cleanups.
Reattach the licenses for the compat stuff to the source.
Only build/link the compat stuff when it's needed.
Rename compat/util.h so it's not confused with util.h.
Move all the platform specific defines inside compat/compat.h.
2015-09-07 12:58:49 +01:00
David Stipp ae126d1009 Add back Darwin/Mach/Apple portability
Quite a few of the changes against the MalcolmRobb/dump1090 fork are
incompatible with OSX.  This patch adds back that cross platform support
back.
2015-09-05 14:42:11 -04:00