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
Oliver Jowett
45d645a864
Default to not forwarding mlat messages. Add --forward-mlat option to enable it.
2015-07-03 21:56:23 +01:00
Oliver Jowett
5fa039a2d4
Only require librtlsdr headers while we're compiling dump1090,
...
not the other helpers that don't use the dongle.
2015-06-26 17:49:21 +01:00
Oliver Jowett
656df98a76
Add --stats-range
2015-06-19 17:29:14 +01:00
Oliver Jowett
e7e9cecc1a
Add --throttle option.
...
This gives access to the existing throttling behaviour when reading
from a file with --interactive, without needing to actually have
--interactive.
This is useful when testing, as without --throttle samples will be
processsed much faster than real-time, which can produce different
results with e.g. aircraft/filter expiry times and position/speed checks.
2015-06-18 11:24:01 +01:00
Oliver Jowett
21bdc45bf0
Tweaks to noise measurements.
2015-06-16 10:13:25 +01:00
Oliver Jowett
03b53c2d29
Factor out the sample -> magnitude conversion code and make everything a little less sample-rate-dependent.
...
Add optional noise measurement (cheaper than the old version)
Add optional DC filter (expensive, not really needed with rtlsdr input)
2015-06-15 22:14:37 +01:00
Oliver Jowett
079de99eec
Add --iformat option that controls the format of the data read from --ifile.
...
This currently understands:
UC8 (original rtl_sdr format, 8-bit unsigned complex);
SC16 (16-bit signed complex, full width);
SC16Q11 (bladeRF native format: 16-bit signed complex with 11 bits of magnitude)
2015-05-29 18:22:41 +01:00
Oliver Jowett
ff094519a6
Fix interactive-mode delay timing when using --ifile.
2015-04-09 19:18:49 +01:00
Oliver Jowett
15ea5ba3da
Rearrangements to the receive thread.
...
Magnitude conversion now happens immediately when sample data is
received, so there is no risk of newly received data clobbering old
data under CPU overload.
2015-04-09 18:51:31 +01:00
Oliver Jowett
e6c81251bf
Fix timestamp correction when sample blocks are dropped.
...
(Fixes #43 )
2015-04-08 19:13:40 +01:00
Oliver Jowett
e1d262d992
Add --show-only for extracting messages from a single plane.
2015-02-22 23:01:54 +00:00
Oliver Jowett
38845c2447
Rearrange main loop so that --net-only isn't quite such a special case.
2015-02-17 21:44:30 +00:00
Oliver Jowett
0a055c34d0
Log timestamped messages on startup/shutdown.
2015-02-17 21:43:17 +00:00
Oliver Jowett
dcdfd2acab
Catch SIGTERM, log on signals.
...
Fixes #22 .
2015-02-17 21:41:40 +00:00
Oliver Jowett
342eafd438
Include timestamps on USB connect/disconnect logging.
...
Fixes #21 .
2015-02-17 21:40:26 +00:00
Oliver Jowett
03e096475c
Wait for at most 100ms for more data from the rx thread, so that we do not starve background tasks if the rx thread blocks (e.g on USB disconnect).
...
Fixes #20 .
2015-02-17 21:07:36 +00:00
Oliver Jowett
7849e1019d
Init start/end on all stats so the json output looks sensible for the first minute.
2015-02-11 01:14:21 +00:00
Oliver Jowett
f9ed7e4a97
More time_t -> milliseconds conversions.
...
This lets us support fractional net flush times among other things, which is handy.
2015-02-10 22:24:22 +00:00
Oliver Jowett
7053ad02da
Make aircraft tracking use milliseconds everywhere.
2015-02-10 21:49:37 +00:00
Oliver Jowett
bdefa42956
Merge pull request #11 from jburgess777/add-oversample-to-help
...
Add --oversample option to help text
2015-02-08 18:07:23 +00:00
Oliver Jowett
4e177c2d64
Store computed reception time in the message struct so we don't rely on
...
the message being emitted immediately.
Fix computation of reception time so it's more sensible (the block timestamp
is some time after reception of the _end_ of the block, not the start) - this
means that message-emission times are always later than message-reception
times in SBS output, which is a bit more sensible.
Use clock_gettime in preference to ftime.
2015-02-08 17:46:01 +00:00
Oliver Jowett
899c51ce85
Only emit network messages once we have seen two of them
...
(except in --net-verbatim mode, where we emit them all)
Move aircraft tracking into track.[ch].
Clean up references to "interactive mode" when tracking
aircraft - we always track aircraft, even in non-interactive
mode.
2015-02-08 14:27:03 +00:00
Jon Burgess
e1e5acbdbc
Add --oversample option to help text
2015-02-07 23:15:12 +00:00
Oliver Jowett
5b40377b98
Measure CPU for demodulator, read thread, and background tasks individually.
2015-01-23 01:22:22 +00:00
Oliver Jowett
9deac8d894
Continuing to try to work around libusb/librtlsdr problems.
2015-01-23 01:20:22 +00:00
Oliver Jowett
008ae926e7
Add --net-verbatim, which forwards the original uncorrected message to net clients,
...
not the corrected version. Then the client can make its own policy decisions about
whether to accept and correct the damaged messages.
2015-01-22 19:56:38 +00:00
Oliver Jowett
7c64f27c22
Remove unused user latitude/longitude defines.
2015-01-21 11:53:45 +00:00
Oliver Jowett
0433ed3f5d
icao_filter.[ch] from the experimental branch.
2015-01-20 23:53:26 +00:00
Oliver Jowett
270a22e06a
CRC reimplementation to be byte-at-a-time table-driven.
...
Also be smarter about error correction, avoiding ambiguous cases
when --aggressive is specified.
2015-01-20 23:04:05 +00:00
Oliver Jowett
b9b76da02d
Stats rearrangement, based on experimental branch changes.
2015-01-20 17:16:35 +00:00
Oliver Jowett
e02a2cdd44
GPL.
2015-01-20 16:49:01 +00:00
Oliver Jowett
f753c2d9fe
Separate 2.4MHz demodulator into its own file.
2015-01-19 23:50:25 +00:00
Oliver Jowett
a6542b505b
Separate out 2MHz demodulator + support functions to a separate file.
2015-01-19 23:47:51 +00:00
Oliver Jowett
971e5754ff
Try to work around a libusb crash on exit after SIGINT.
2015-01-17 19:23:57 +00:00
Oliver Jowett
e68949bdb3
Write an accurate value for the history count, so the progress bar is correct.
...
(cherry picked from commit 0919700293e34f5a93a4407d33e1e56c0ae0d13c)
2015-01-16 20:33:40 +00:00
Oliver Jowett
1db63ebc65
Add generation of history JSON.
...
Add support for URL handlers that match a path prefix.
(cherry picked from commit 38faa510cb881cbf9d2a0a85bbde61130b5259e7)
2015-01-16 20:31:59 +00:00
Oliver Jowett
b1bfb4d520
Rationalization of JSON output. Pass actual URL path to URL handler.
...
(cherry picked from commit becce8d69a6e6cee38d4fdb78b5a4e25d570baea)
2015-01-16 20:30:41 +00:00
Oliver Jowett
10c372f528
Display stats on exit in --net-only mode.
...
(cherry picked from commit ec252d77deb2b345a8561cba13965d5ef8ab0a83)
2015-01-16 20:27:48 +00:00
Oliver Jowett
e701f883b3
Do tuner gain setting properly.
...
(cherry picked from commit c06a537c8143af8e363fde677043053cefff1612)
2015-01-16 20:25:45 +00:00
Oliver Jowett
62ec7796d0
Require that the JSON refresh interval is at least 1, as it is used
...
to control the webmap refresh rate even if JSON files are not being written.
2015-01-14 01:15:54 +00:00
Oliver Jowett
72bfc31458
Display message rate (30 sec average) on the webmap.
...
(cherry picked from commit 848af78be685c6e2a26d0b30e9f385696201a2c4)
2015-01-13 22:01:53 +00:00
Oliver Jowett
fefce7b4bd
Add --max-range parameter. Use it for relative position limits, and to discard bad position results.
...
(cherry picked from commit 0d725508f78cb2fd7759efbb66b45b867d6f7722)
2015-01-13 21:53:12 +00:00
Oliver Jowett
165f98a567
Fix hanging exit on control-C.
...
(cherry picked from commit e6f8283946cc3150bcba2d8b3cbab11f5d509308)
2015-01-13 21:37:45 +00:00
Oliver Jowett
f72fc3dbee
Fix a couple of problems found by valgrind.
2015-01-12 00:56:51 +00:00
Oliver Jowett
43ec58c78e
Remove dead tracking code related to the removed PlanePlotter feed.
2015-01-04 20:09:38 +00:00
Oliver Jowett
76474f58ab
Fix warnings. Add -Werror so they break the build in future.
2015-01-04 20:08:33 +00:00
Oliver Jowett
85eee61358
Oops, one unsaved file.
2015-01-02 22:34:35 +00:00
Oliver Jowett
07bc762055
Notice if we lose the RTLSDR device and reconnect.
...
Fix some of the more glaring pthread bugs.
2015-01-02 22:29:29 +00:00
Oliver Jowett
2db9d62c1c
Warn if --modeac is used together with --oversample.
2014-12-27 21:25:32 +00:00
Oliver Jowett
727a59e8eb
Oversampling is now less scary.
2014-12-27 21:22:43 +00:00
Oliver Jowett
58dfbdcb6b
Add support for controlling the accuracy of the receiver location
...
written in the JSON metadata used by the webmap.
2014-12-27 20:52:56 +00:00
Oliver Jowett
fc45eded0b
Removing COAA/PlanePlotter stuff (+ binary-only object file) that I can't support or test.
2014-12-27 20:16:56 +00:00
Oliver Jowett
48986c48cc
Remove half-implemented --no-decode option.
2014-12-27 20:11:10 +00:00
Oliver Jowett
9fa09e0e92
receiver.json support, internal webserver cleanup.
...
Add data/receiver.json (generated once) and support for it in script.js.
Internal webserver rearrangement to support multiple json files.
2014-12-10 17:05:22 +00:00
Oliver Jowett
f707f2cdce
More version reporting tweaks.
2014-12-10 12:44:00 +00:00
Oliver Jowett
c6077b1e6c
Use the package version as the version number compiled into the binary.
2014-12-10 12:25:43 +00:00
Oliver Jowett
2dcc8e3524
Add direct support for FATSV-format output.
...
This is adapted from the FlightAware fork, with some cleanup and
modifications needed to work with the net-cleanup changes.
Inclusion of "verbatim" TSV data read from an AVR-format input
connection is not supported.
2014-12-08 19:56:45 +00:00
Oliver Jowett
9e72eb64be
Merge branch 'write-json-files' into oversampling
2014-11-23 17:22:58 +00:00
Oliver Jowett
2abc386895
Off-by-one error in the json interval calculation.
2014-11-23 17:22:34 +00:00
Oliver Jowett
e0bc89e542
Merge branch 'write-json-files' into oversampling
2014-11-23 16:34:18 +00:00
Oliver Jowett
d0174994cb
Fix path buffer size
2014-11-23 16:32:22 +00:00
Oliver Jowett
7bd2ee5510
Merge branch 'write-json-files' into oversampling
...
Conflicts:
dump1090.c
dump1090.h
2014-11-23 16:03:35 +00:00
Oliver Jowett
6910a4bf4d
Experimental json changes
2014-11-23 16:02:11 +00:00
Oliver Jowett
8246df8b2d
Merge branch 'master' into oversampling
2014-10-31 19:42:15 +00:00
Oliver Jowett
bbd5a13030
Merge branch 'net-cleanups'
2014-10-31 19:38:06 +00:00
Oliver Jowett
29d1e53f9f
Merge remote-tracking branch 'upstream/master' into net-cleanups
2014-10-31 17:58:03 +00:00
Malcolm Robb
a9cd75ded1
More Updates to Pull #54
...
Pull #54 breaks the Windows version of dump1090 due to a bug in the
inet_aton() windows function.
1) Fix the bug in the windows inet_aton()
2) Modify the command line code to strdup() the command line string.
3) Leave the Modes.net_bind_address pointer NULL if no command line
specified
2014-10-30 12:06:03 +00:00
demonx
5b4d811c7d
Ability to assign bind address for services
2014-10-25 21:33:45 +02:00
Oliver Jowett
cd3efe2d63
Merge branch 'net-cleanups'
...
Conflicts:
dump1090.c
2014-10-03 23:15:06 +01:00
Oliver Jowett
22f2a8db37
Merge branch 'net-cleanups' into oversampling
...
Conflicts:
dump1090.c
dump1090.h
2014-10-03 23:04:09 +01:00
Oliver Jowett
1769ac9006
Restructuring of network output side.
...
Mostly refactoring the common code that was duplicated
between the different output types so that there aren't
many copies floating around.
This introduces "struct net_writer" to store the state of a
particular type of output service - buffers, time of last write,
connection count etc. prepareWrite() / completeWrite() give access
to the buffer and handle the actual writes and flushing when needed.
Heartbeat and time-based flushing move into a generic periodic-work
function.
Update the SBS output code to use the new infrastructure. This makes
a big different to CPU use when under load.
2014-10-03 22:55:21 +01:00
Oliver Jowett
8d4f1a396c
Merge branch 'fix-net-list-corruption' into net-cleanups
2014-10-03 20:58:52 +01:00
Oliver Jowett
4a4fed2b37
Merge branch 'fix-net-list-corruption' into oversampling
2014-10-02 21:18:50 +01:00
Oliver Jowett
1cf0097dac
Merge branch 'fix-net-list-corruption'
2014-10-02 21:18:35 +01:00
Oliver Jowett
a2f49f2bb8
Fix a crash when an outbound client is closed in response to reading a remote message.
...
When we read from some client A, we may end up forwarding a message to other
clients. If we forward to some client B and there is a write error, then
we close B and remove it from the client list. However, if before this happened
A->next == B, then the read loop will still be holding on to a pointer to B,
and we crash.
As it's unpredictable what clients could be closed at what point, the simplest
approach is to retain closed clients in the list until we are at a point where
we know there are no stray pointers on stack, and only then modify the list.
This also simplifies anything that has to loop over clients, as it doesn't need
to worry about the current client being freed under it.
2014-10-02 21:06:10 +01:00
MalcolmRobb
bc496fbcad
Merge pull request #43 from mutability/more-stats
...
Add --stats-every option, add sample block counters
2014-10-02 20:51:13 +01:00
Oliver Jowett
e008f0fc3f
Resync with master.
2014-10-01 12:44:07 +01:00
Oliver Jowett
622b158367
Merge branches 'fix-obinary', 'net-client-eof-handling' and 'report-bind-errors'
2014-10-01 12:41:28 +01:00
Oliver Jowett
98c7c73d06
Only use O_BINARY on Win32
2014-10-01 12:17:51 +01:00
Oliver Jowett
9691e7bf79
Merge upstream.
2014-10-01 12:05:04 +01:00
Oliver Jowett
864660bf27
Use uint64_t in load stats to avoid overflow with large intervals.
2014-10-01 01:43:37 +01:00
Oliver Jowett
c11eca44bb
Try all phases if --oversample --phase-enhance is on.
...
If we demodulate a message in 2.4MHz mode and it has a bad, uncorrectable CRC,
and --phase-enhance is on, then retry with the other possible phases until
we get a good CRC or run out of phases to try.
This is very expensive in AGC mode (lots of candidates that are not real
messages) but relatively cheap otherwise. It yields another 10% messages.
Also factor out some common stats code to avoid lots more copy/paste.
2014-09-30 17:02:22 +01:00
Malcolm Robb
e3bbf7b266
Read Files are binary
...
When replaying recordings, the read files are binary, so the file open
needs to reflect this so that spurious end of file characters aren't
misinterpreted.
2014-09-30 16:36:56 +01:00