Commit graph

953 commits

Author SHA1 Message Date
Oliver Jowett
ecd22d82a2 Make non-pbuilder debuild happier. 2015-02-19 12:03:08 +00:00
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 , closes .
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 .
2015-02-17 21:41:40 +00:00
Oliver Jowett
342eafd438 Include timestamps on USB connect/disconnect logging.
Fixes .
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 .
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 .
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 . 2015-02-09 14:17:31 +00:00
Oliver Jowett
9fd0c822f6 Extract NUCp from message type; needed for . 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 
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 from jburgess777/add-view1090-to-gitignore
Add view1090 to gitignore
2015-02-08 18:08:26 +00:00
Oliver Jowett
bdefa42956 Merge pull request 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 ) 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 .
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