Commit Graph

64 Commits

Author SHA1 Message Date
Oliver Jowett ea9f81c605 Remove first_message field as it's now unused. 2019-11-28 13:56:11 +08:00
Oliver Jowett b2e9153653 Add stats for unreliable tracks 2019-11-27 21:41:33 +08:00
Oliver Jowett ce89cd08d9 Groundwork to track "reliable" messages & aircraft.
A "reliable" message is a DF17 or DF11 with good CRC.
A "reliable" aircraft is one that's probably real - we decide it's reliable when
we've seen enough reliable messages, or just enough messages in total, that it's unlikely
to be noise.
2019-11-27 20:51:23 +08:00
Oliver Jowett f46640a5c2 Track and report autopilot FMS/MCP separately; also report autopilot altitude source. 2019-03-19 18:44:09 +00:00
Oliver Jowett c8501cb41c Compute ADS-B v0 NACp/SIL from position message type 2018-09-19 17:09:11 +01:00
Oliver Jowett 3c02e8419d Fix another Rc decoding error. Fix Rc comments. 2018-09-19 17:05:39 +01:00
Oliver Jowett b327848d75 Fix Rc comparison logic 2018-09-17 22:40:48 +01:00
Oliver Jowett 39b008472f Disable 7x00 -> emergency status translation.
This doesn't add information and it can actually obscure the true
source of the data (ADS-B emergency vs ADS-B squawk).
2018-07-06 19:54:58 +01:00
Oliver Jowett 60c762c843 Version bump to 3.6.1~dev.
Fix tracking of NICbaro.
2018-06-12 01:13:03 +01:00
Oliver Jowett 7749316540 Fix 10NM Rc value 2018-05-09 14:57:52 +01:00
Oliver Jowett d5eccc30a4 If we see a bad NIC supplementary bits combination, return RC_UNKNOWN 2018-05-09 14:57:29 +01:00
Oliver Jowett a8fe04f856 Derive emergency status from squawk if not otherwise provided. 2018-02-23 19:02:33 +00:00
Oliver Jowett f323745ead Don't track icao 000000 as an aircraft
(but do still decode messages for it)
2018-02-23 18:10:26 +00:00
Oliver Jowett 44e8913c2d Whitespace cleanups 2018-01-09 17:13:34 +00:00
Oliver Jowett 2ce2af1685 Tweak when we allow updates to air/ground status. 2018-01-09 14:47:08 +00:00
Oliver Jowett ea1e9c336b Decode/emit emergency/priority status 2018-01-09 14:43:58 +00:00
Oliver Jowett 079061df3c SIL stuff 2017-12-07 13:36:07 -06:00
Oliver Jowett 161d2d8ded More WIP 2017-12-07 10:34:08 -06:00
Oliver Jowett 6986b3847f WIP on new faup1090 output, data aging, refactoring 2017-12-02 17:38:33 +00:00
Oliver Jowett c6d7f1ec6f Expire tracked true_heading, intent_modes 2017-06-16 11:42:41 +01:00
Oliver Jowett 382554a250 Tweak tracking of AP modes, emit in json & faup1090 output 2017-06-16 10:39:01 +01:00
Oliver Jowett 1ec32903ba Rework heading/track to include HRD/TAH.
Clean up TIS-B flag output.
2017-06-15 21:07:53 +01:00
Oliver Jowett 27b0e9c40f Rename TARGET_* -> INTENT_ALT_*
Rearrange the intent tracking a bit.
2017-06-15 18:23:28 +01:00
Oliver Jowett 2142d2edf5 Whitespace changes only: cleaning up trailing whitespace at EOL 2017-06-15 18:17:07 +01:00
Oliver Jowett 98d64483d6 WIP: More Comm-B & ADS-B decoding. 2017-06-15 18:07:40 +01:00
Oliver Jowett d3fad32d5e Merge remote-tracking branch 'upstream/master' into dev 2016-10-14 21:35:31 +01:00
Oliver Jowett 4cb17c194c More tweaking to A/C tracking. 2016-10-11 21:29:39 +01:00
Oliver Jowett 25ea6d398b Overhaul mode A/C matching to be much cheaper.
The old matching process which tracked mode A values as pseudo-aircraft
got very, very expensive with a large number of mode A/C messages (and
with lots of single-bit errors, which seems common with a Beast doing
the reception)

Instead just count A/C messages directly into a 4096-entry array (which
is very fast) and periodically scan the mode S aircraft list to see if
we can match anything up (which is fixed overhead + cost proportional
to the number of mode S aircraft)
2016-10-11 18:00:11 +01:00
Oliver Jowett 52fe01c860 Track CPR encoding type directly rather than inferring it from airground.
(airground can change even while airborne if SPI/Alert status gets set)
2016-10-02 00:16:29 +01:00
Oliver Jowett dda5411882 faup1090: Track Comm-B ACAS RA separately to ES ACAS RA as it's useful to see both reported.
Fix repeated reporting of ES ACAS RA reports.

(cherry picked from commit 14a003710e)
2016-10-01 15:22:32 +01:00
Oliver Jowett 14a003710e faup1090: Track Comm-B ACAS RA separately to ES ACAS RA as it's useful to see both reported.
Fix repeated reporting of ES ACAS RA reports.
2016-09-24 16:09:38 +01:00
Oliver Jowett 8d8443f3dc Track the "best" addrtype we ever saw for an aircraft. 2016-09-14 16:54:00 +01:00
Oliver Jowett 2636353e4a Fix aircraft-relative position validity check. 2016-09-02 18:41:59 +01:00
Oliver Jowett 954034855a Make faup1090 emit some interesting messages when they occur. 2016-08-28 01:29:37 +01:00
Oliver Jowett 54ca2c7fb2 WIP big rewrite of message decoding / aircraft tracking. 2016-08-27 14:34:14 +01:00
Oliver Jowett 08c14484cd Use the haversine formula for small greatcircle distances, rather
than clamping to zero.
2016-08-26 11:36:29 +01:00
Oliver Jowett 308b928f8c If maxrange is 0, we cannot do receiver-relative CPR at all. 2016-08-26 11:31:32 +01:00
Oliver Jowett 43906f994b Limit aircraft-relative CPR to 50km. 2016-08-26 11:30:46 +01:00
Oliver Jowett 7a58e3cdc5 Move Mode C altitude calc into mode A/C message decoding.
If SPI is set, it cannot be mode C.
2016-03-20 19:47:27 +00:00
Oliver Jowett 214bc0e587 Treat zero-or-missing signal levels as "no information" and don't include them in RSSI. 2016-02-24 11:55:01 +00:00
Oliver Jowett e101351b6e Enforce max-range on mlat results (but still skip the speed check)
Fixes #97
2016-02-05 15:42:34 +00:00
Oliver Jowett d9eec668cf Track what data we got via TIS-B, report it as such. 2016-01-21 19:42:37 +00:00
Oliver Jowett efd6b94310 Track HAE altitude separately to baro altitude where possible. 2016-01-01 13:42:30 +00:00
Oliver Jowett c55c71b57c Fix off-by-one error that would ignore maxRange if it was exactly 360NM. 2015-09-30 23:59:01 +01:00
Oliver Jowett de4e233969 When considering whether to suppress altitude messages, ignore mlat DF17s. 2015-06-29 12:45:50 +01:00
Oliver Jowett 98a55c8dec Tweak CPR rules for mlat messages, add some debug. 2015-06-29 12:43:58 +01:00
Oliver Jowett 12a7d45e75 Mlat synthetic message detection.
Notice synthetic mlat messages by looking for messages with a magic
timestamp value. If they arrive, tag the derived data as mlat-derived.

Don't include mlat-derived output in FATSV output to avoid loops.
2015-06-28 20:04:09 +01:00
Oliver Jowett 8d1df036ae Don't use DF0/4/16/20 altitudes when DF17/18 altitudes are available.
The DF17/18 values are generally more trustworthy as they have full
CRC coverage. Errors in the CRC bits of a DF0/4/16/20 message can
result in the contained altitude being attributed to the wrong aircraft.
2015-06-26 20:43:46 +01:00
Oliver Jowett 656df98a76 Add --stats-range 2015-06-19 17:29:14 +01:00
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