Commit graph

15 commits

Author SHA1 Message Date
Oliver Jowett 4f861f653a Track age of heading/speed/altitude; use this when deciding what to emit in FATSV format. 2015-06-15 23:13:04 +01:00
Oliver Jowett 03ba828f8d Rearrange position cleanup to be a bit more obvious.
Previously it forgot to advance to the next aircraft and only
happened to work because it cleared the position bitflags and so
the next iteration (on the same aircraft) would advance.
2015-06-07 12:07:08 +01:00
Oliver Jowett 8f3be2cd79 Decode aircraft category, export in aircraft.json.
Closes #2.
2015-02-22 12:15:26 +00:00
Oliver Jowett f6d2f3dfff More CPR stats. 2015-02-19 18:53:11 +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 967a3e9558 If maxRange is >= 360NM, don't do receiver-centered local CPR at all. 2015-02-11 12:10:40 +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 f19eee898b Use the right inter-CPR max interval for surface position messages. Fixes #18. 2015-02-09 14:17:31 +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 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 1584955080 Be more aggressive about removing aircraft where we have seen only 1 message. 2015-02-08 14:37:35 +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