Commit graph

746 commits

Author SHA1 Message Date
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 af4f81caf7 Include timezone in stats output. 2015-02-17 21:35:23 +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 aee837c903 Start with --nicelevel -5 to reduce the chance of dropped buffers, except in --net-only mode.
Closes #19.
2015-02-11 21:20:31 +00:00
Oliver Jowett 967a3e9558 If maxRange is >= 360NM, don't do receiver-centered local CPR at all. 2015-02-11 12:10:40 +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 6fbeae070c Handle long refresh rates better, don't draw all tracks as dotted. 2015-02-11 00:15:48 +00:00
Oliver Jowett 2ba56231a6 Do an initial data fetch immediately (useful if the refresh interval is long). 2015-02-11 00:15:21 +00:00
Oliver Jowett 849697f84c Fix integer overflow in stats output. 2015-02-11 00:14:28 +00:00
Oliver Jowett af382ac79c Fix max flush interval to be in milliseconds. 2015-02-10 23:43:48 +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 686d433b1f Prune dead timestamp fields from aircraft state. 2015-02-10 21:33:01 +00:00
Oliver Jowett 474fe45256 Don't mark undecodable altitudes as ALTITUDE_VALID when decoding. 2015-02-09 22:53:18 +00:00
Oliver Jowett 54677f3ae0 Don't try to correct >1 error in DF11.
We already do this check when scoring a message for the demodulator,
but there are other paths that can feed us a message so also do the
check in the main decode path.
2015-02-09 22:51:34 +00:00
Oliver Jowett f19eee898b Use the right inter-CPR max interval for surface position messages. Fixes #18. 2015-02-09 14:17:31 +00:00
Oliver Jowett 9fd0c822f6 Extract NUCp from message type; needed for #16. 2015-02-09 14:14:12 +00:00
Oliver Jowett e7e7f9e7c2 Only display altitude when dumping position messages if it is valid. 2015-02-09 14:11:04 +00:00
Oliver Jowett 07a39331c9 Changelog mostly to bump the version to reduce confusion. 2015-02-08 23:11:50 +00:00
Oliver Jowett 25ac2d044d Increase the onehit TTL a bit, 30s is a bit too aggressive. 2015-02-08 22:46:44 +00:00
Oliver Jowett b313834338 Make the is_number regex accept numbers beginning with -0
Also ends up simpler, too - originally I was trying to avoid accepting
e.g. "+0" or "-0" but that's not really a big deal.

Fixes #14
2015-02-08 22:44:02 +00:00
Oliver Jowett a49b5b8830 Add stats for total aircraft tracks and tracks that have only a single message. 2015-02-08 18:47:39 +00:00
Oliver Jowett f1201a0069 Third time lucky? 2015-02-08 18:17:33 +00:00
Oliver Jowett b31709a278 Whoops, remove stray debugging that was left in. 2015-02-08 18:16:49 +00:00
Oliver Jowett 1e817ab9e4 Merge pull request #12 from jburgess777/add-view1090-to-gitignore
Add view1090 to gitignore
2015-02-08 18:08:26 +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 4ecd6958a1 If we squelch the first message from an aircraft, emit it when we see a second message.
This is possible now that the SBS output doesn't rely on the global block timestamp;
the output will look like this:

MSG,8,111,11111,4AC954,111111,2015/02/08,17:57:53.917,2015/02/08,17:57:53.936,,,,,,,,,,,,0
MSG,7,111,11111,392AEB,111111,2015/02/08,17:57:53.744,2015/02/08,17:57:53.936,,15375,,,,,,,,,,0
MSG,8,111,11111,392AEB,111111,2015/02/08,17:57:53.917,2015/02/08,17:57:53.936,,,,,,,,,,,,0
MSG,6,111,11111,800387,111111,2015/02/08,17:57:53.919,2015/02/08,17:57:53.936,,,,,,,,4745,0,0,0,0

where the "receive timestamp" (first time column) goes backwards to reflect the original reception
time of the delayed message, but the "forwarded timestamp" (second time column) reflects the actual
forwarding time.
2015-02-08 18:00:18 +00:00
Oliver Jowett c0af448efa uint64_t (even at 12MHz) isn't going to overflow any time soon, don't worry about wrapping. 2015-02-08 17:59:20 +00:00
Oliver Jowett 9c2f236463 Object files depend on *.h 2015-02-08 17:58:46 +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 1584955080 Be more aggressive about removing aircraft where we have seen only 1 message. 2015-02-08 14:37:35 +00:00
Oliver Jowett 20407e5378 Don't emit SBS output with non-ICAO addresses (fixes #9) 2015-02-08 14:30:10 +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 b246bdcab4 Add view1090 to gitignore 2015-02-07 23:25:43 +00:00
Jon Burgess e1e5acbdbc Add --oversample option to help text 2015-02-07 23:15:12 +00:00
Oliver Jowett 704d8aaffb Don't try to log signal peak power if no peaks recorded. 2015-02-06 13:27:47 +00:00
Oliver Jowett 965ac96493 Update bestscore even if decoding fails so we register the number of "unknown ICAO" messages correctly. 2015-02-06 13:11:41 +00:00
Oliver Jowett 9381a20198 Support more DF18 message formats. Test for the IMF bit where appropriate.
Fixes #4.
2015-01-29 23:08:33 +00:00
Oliver Jowett ffd6690063 Update README-json.md 2015-01-28 20:44:41 +00:00
Oliver Jowett f593d8672d Document some of the json 2015-01-28 20:15:14 +00:00
Oliver Jowett 4dbedecc1e Fix history loading if receiver.json says history:0 2015-01-25 21:54:40 +00:00
Oliver Jowett 02f07ac7bf Release changelog. 2015-01-25 16:45:05 +00:00
Oliver Jowett 4b0bc4cee9 Make 2.4MHz sampling the default for new installs. 2015-01-25 16:11:34 +00:00
Oliver Jowett 09b6b3aa8c Fix some lintian warnings. 2015-01-24 01:08:05 +00:00
Oliver Jowett c1ac4d1036 Update GPL coverage. 2015-01-24 01:04:45 +00:00
Oliver Jowett 26feb1d078 Add some testing code that looks for ambiguous syndromes that
could confuse the partial correction used in DF11.

That code shows that yes, there are ambiguous syndromes in the
2-bit correction case only, so disable corrections of more than
1 bit in DF11.
2015-01-23 21:59:31 +00:00
Oliver Jowett 5ac90e30a8 Changelog. 2015-01-23 21:26:57 +00:00
Oliver Jowett dcd9f0b1e7 Link ICAO to airframes.org (complete with horrible javascript form-submission workaround) 2015-01-23 19:17:07 +00:00
Oliver Jowett 245bbd8b97 Report total, not latest-minute, message count in aircraft.json so that
the webmap value doesn't jump around over a reset.
2015-01-23 17:40:03 +00:00