Commit graph

852 commits

Author SHA1 Message Date
Oliver Jowett 8fa7209aa1 Changelog updates for 1.14. 2015-02-19 12:02:45 +00:00
Oliver Jowett 7cc9438b2d Speed check improvements. Entirely invalidate position messages that look wrong. 2015-02-18 18:26:23 +00:00
Oliver Jowett 44302bb199 Fix NaN in greatcircle calc if positions are identical.
Bail out early if there's a global CPR decoding error so we don't try
to do range/speed checks on a position of (0,0)
2015-02-18 01:53:47 +00:00
Oliver Jowett bfe2cb0336 NUCp tracking and CPR position sanity checks.
Track NUCp when we compute positions.

Do speed checks when we have an updated position with the same or worse NUCp
before accepting the new position. Don't do speed checks on new postions if
they improve NUCp - assume that the new position is better.

Include NUCp in aircraft.json

Gather stats on reasons for rejecting CPR data due to range/speed check failures.

Expire old positions if we have had no updates for 60 seconds.

Closes #16, closes #17.
2015-02-18 00:12:35 +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 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